标题:
下面这个程序不太懂
[打印本页]
作者:
风火轮
时间:
2015-7-28 20:53
标题:
下面这个程序不太懂
#include<reg52.h>
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;//138译码器的数据输入端
sbit ADDR3=P1^3;
sbit ENLED=P1^4;//138译码器的使能端
sbit KEY1=P2^4;
sbit KEY2=P2^5;
sbit KEY3=P2^6;
sbit KEY4=P2^7;
unsigned char code LedChar[] = {0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
void main()
{
bit backup=1;
unsigned char cnt=0;
ENLED=1;
ADDR3=0;
ADDR2=1;
ADDR1=1;
ADDR0=0;
P2=0xf7;
P0=LedChar[cnt];
while(1)
{
if(KEY4!=backup)//backup 在上面定义是1
{
if(backup==0)//backup 是如何等于0的?
{
cnt++;
if(cnt==10)
{
cnt=0;
}
P0=LedChar[cnt];
}
backup=KEY4;
}
}
}
作者:
admin
时间:
2015-7-28 21:45
楼主有电路图吗?看起来像是一个数码管显示程序
作者:
ahshmj
时间:
2015-7-29 11:36
楼主也太吝啬字了吧?那地方“不太懂”?
作者:
ahshmj
时间:
2015-7-29 11:43
本帖最后由 ahshmj 于 2015-7-29 11:48 编辑
backup=KEY4;是读键,如果有键按下backup就会=0。
但是感觉程序有点不妥呢?
作者:
腾飞的龙
时间:
2015-7-29 13:07
if(KEY4!=backup)//backup 在上面定义是1
{
if(backup==0)//backup 是如何等于0的?//应该是按键的次数
{
cnt++;//显示的数自加
if(cnt==10)//当加到9
{
cnt=0;//从0开始
}
P0=LedChar[cnt];//显示
}
backup=KEY4;
复制代码
//按得次数等于按键
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1