c51单片机程序-数码管秒表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(m=0;m<10;m++) for(k=0;k<10;k++) for(i=0;i<10;i++) for(j=0;j<20;j++) { P2=0x10; P0=d[i]; delayms(1); P2=0x20; P0=d[k]; delayms(1); P2=0x40; P0=d[m]; delayms(1); P2=0x80; P0=d[p]; delayms(1); presskey(); //检测按键 if(s60==1) while(!s61) { P2=0x10; P0=d[i]; delayms(1);
#include<reg51.h> //可暂停,继续的动态扫描,显示 000-9999 数字
unsigned char i,k,m,p;
unsigned int a,b,j;
unsigned char s60=0,s61=0;
unsigned char d[10]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
号整型变量
void delayms(unsigned int n) //自定义延时函数
{
for(a=10*n;a>0;a--)
for(b=70;b>0;b--); //1 ms
}
void main(void)
//主函数
{
void presskey(void);
for(;s61==0;) {
presskey(); // 检测按键 } //将 0-9 定义到数组中 while(1) //无限循环 { for(p=0;p<10;p++)
s60=0; s61=0; P3=0xb0; temp=P3&0x30; if(temp!=0x30)
{ delayms(10); if(temp!=0x30) { if(temp==0x20) s60=1; else s61=1; }
}Βιβλιοθήκη Baidu
}
// 定 义 无 符
P2=0x20; P0=d[k]; delayms(1); P2=0x40; P0=d[m]; delayms(1); P2=0x80; P0=d[p]; delayms(1); presskey(); //检测按键
} }
} } void presskey(void) //检测按键函数 {unsigned char temp;
#include<reg51.h> //可暂停,继续的动态扫描,显示 000-9999 数字
unsigned char i,k,m,p;
unsigned int a,b,j;
unsigned char s60=0,s61=0;
unsigned char d[10]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
号整型变量
void delayms(unsigned int n) //自定义延时函数
{
for(a=10*n;a>0;a--)
for(b=70;b>0;b--); //1 ms
}
void main(void)
//主函数
{
void presskey(void);
for(;s61==0;) {
presskey(); // 检测按键 } //将 0-9 定义到数组中 while(1) //无限循环 { for(p=0;p<10;p++)
s60=0; s61=0; P3=0xb0; temp=P3&0x30; if(temp!=0x30)
{ delayms(10); if(temp!=0x30) { if(temp==0x20) s60=1; else s61=1; }
}Βιβλιοθήκη Baidu
}
// 定 义 无 符
P2=0x20; P0=d[k]; delayms(1); P2=0x40; P0=d[m]; delayms(1); P2=0x80; P0=d[p]; delayms(1); presskey(); //检测按键
} }
} } void presskey(void) //检测按键函数 {unsigned char temp;