- 14
- 0
- 约4.29千字
- 约 6页
- 2019-07-17 发布于湖北
- 举报
#includereg51.h
#includeintrins.h
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
uchar data tab[2];
uchar ws[2]={0,0};
uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7};
uchar code tablewei[]={0x0e,0x0d};
sbit dula=P1^5;
sbit dawr=P2^6;//DA写数据段
sbit dacs=P2^7;//DA始能段
uchar num1,f,f1,f2,f3,f4,f5,f6,keynum;
//f为数字键标志位;f1为DA转换标志位;f2,f4分别为+,-0.1标志位;f3为清零标志位
void delay(uint z)//延时子程序
{
uint x,y;
for(x=z;x0;x--)
for(y=110;y0;y--);
}
void display(uint number)//显示LED
{
uchar i,j;
tab[0]=number%10;
tab[1]=number/10;
for(i=0,j=0;i2;i++,j++)
{
dula=1;
P2=tablewei[j];
if(i==0)
P0=table[tab[i]];
else
P0=table2[tab[i]];
dula=0;
delay(5);
}
}
keyscan()//键盘扫描
{
uchar num,tt;
P1=0xfe;
tt=P1;
tt=tt0xf0;
while(tt!=0xf0) // 检查按键是否被摁下
{
delay(50);
tt=P1;
tt=tt0xf0;
while(tt!=0xf0) // 检查按键是否被摁下
{
tt=P1;
switch(tt)
{
case 0xee: num=7,f=1;
break;
case 0xde: num=8;f=1;
break;
case 0xbe: num=9;f=1;
break;
case 0x7e: num=0;f3=1;//清零按键
break;
default:break;
}
while(tt!=0xf0)
{
tt=P1;
tt=tt0xf0;
}
}
}
P1=0xfd;
tt=P1;
tt=tt0xf0;
while(tt!=0xf0) // 检查按键是否被摁下
{
delay(50);
tt=P1;
tt=tt0xf0;
while(tt!=0xf0) // 检查按键是否被摁下
{
tt=P1;
switch(tt)
{
case 0xed: num=4;f=1;
break;
case 0xdd: num=5;f=1;
break;
case 0xbd: num=6;f=1;
break;
case 0x7d: num=14;f4=1;//减0.1按键
break;
您可能关注的文档
最近下载
- 《变幻的空间》 课件 2026浙美版美术八年级下册.ppt
- 2026年中国豆制品市场深度分析与发展动向研究报告.docx
- 学位论文___土木工程(结构工程)中学学生宿舍楼.doc VIP
- 初中生数学学习困难学生的心理辅导与教育干预策略教学研究课题报告.docx
- 2026浙美版美术八年级下册第二单元第4课《黑白的魅力》课件.pptx
- 职业病诊断医师考试题库及答案.docx VIP
- 火力发电厂典型事故案例汇编.pdf VIP
- 语文学习困难学生帮扶方案.docx VIP
- 2025年四川省广安市高考物理二诊试卷(含详细答案解析).docx VIP
- 全国大学生数学建模竞赛b题全国优秀论文.docx VIP
原创力文档

文档评论(0)