单片机C语言程序设计题 20

1。设有100个符号数,存放在数组A[]中,试编程统计其中正数、负数、零的个数并分别存放在x、y、z、三个变量中。2.计算数组unsignedcharA[10]中的最大值... 1。设有100个符号数,存放在数组A[]中,试编程统计其中正数、负数、零的个数并分别存放在x、y、z、三个变量中。
2.计算数组 unsigned char A[10]中的最大值,存放在变量x中
3.P1.0 P1.1 P1.2分别接有三个开关,P2.0 P2.1 P2.2分别接有三个灯泡。INT0上接有一个按钮,没按一次按钮则会产生一个负脉冲作用于INT0,作为中断请求信号。单片机每响应一次中断请求,就从开关读入数据,然后送到发光二极管显示(开关合上使对应的灯亮)。
会的帮忙编程下哈谢谢啦
展开
 我来答
爬行的山羊
2011-03-09 · TA获得超过3026个赞
知道大有可为答主
回答量:6449
采纳率:70%
帮助的人:1169万
展开全部
这是两个题啊。哈哈好做,第一个有C语言的冒泡法排序,第二个用中断,读,输出就可以
追问
不会做啊,基本的都不懂呀。大哥会做吗,帮做做啊
beatorwin
2011-03-15 · TA获得超过332个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:119万
展开全部
#include <reg52.h>

#define LED0 0
#define LED1 1
#define LED2 2
#define LEDPORT P2

sbit SW0 = P1^0;
sbit SW1 = P1^1;
sbit SW2 = P1^2;

char a[100]={0};

void INT0_Init(void)
{
EA = 1;
EX0 = 1;
IT0 = 1; //负脉冲 =0电平
}

void main()
{
unsigned char x = 0;
unsigned char y = 0;
unsigned char z = 0;
unsigned char A[10]={0};
unsigned char i = 0;
unsigned char temp = 0;

INT0_Init();

for (; i<100; i++)
{
if (a[i] > 0)
{
x++;
}
else if (a[i] == 0)
{
y++;
}
else
{
z++;
}
}
for(i=0; i<10; i++)
{
if (a[i] > temp)
{
temp = a[i];
}
}
while(1);

}

void INT0_ISR(void) interrupt 2 //外部中断程序
{
#if 1 //只需把1变成0就可以完成切换
LEDPORT &= ~((1<<LED0) | (1<<LED1) | (1<<LED2)); //高电平点亮
if (SW0 == 0)
{
LEDPORT |= 1<<LED0;
}
if (SW1 == 0)
{
LEDPORT |= 1<<LED1;
}
if (SW2 == 0)
{
LEDPORT |= 1<<LED2;
}
#else
LEDPORT |= (1<<LED0) | (1<<LED1) | (1<<LED2); //低电平点亮
if (SW0 == 0)
{
LEDPORT &= ~(1<<LED0);
}
if (SW1 == 0)
{
LEDPORT &= ~(1<<LED1);
}
if (SW2 == 0)
{
LEDPORT &= ~(1<<LED2);
}
#endif
}

给分咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌托邦之神
2011-03-09 · TA获得超过163个赞
知道答主
回答量:197
采纳率:0%
帮助的人:66.2万
展开全部
我也想帮你,不过这东西已经一年没碰过了,当时弄的很明白,现在不行了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式