单片机用C语言设计跑表,由按键控制(用中断).docVIP

单片机用C语言设计跑表,由按键控制(用中断).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机用C语言设计跑表,由按键控制(用中断).doc

单片机用C语言设计跑表,由按键控制(用中断) 2009-07-08 16:50 是四个数码管,跑表程序,硬件上按键为三行四列,从上往下从右往左依次为 ?????????? * 7 4 1 ?????????? 0 8 5 2 ?????????? # 9 6 3 跑表设计 1.按*开始时钟计数格式,第一格10S,第二格1S,第三格0.1S,第四格0.01S,前两者为60进制,后两者为100进制 2.当按0——9中任何一个数,即把当前的时钟值存储下来 3.按#停止计时,此时按0——9键即可查看10组时间值 #include reg52.h void display(unsigned char time[]); void display0(unsigned char data0[]); void display1(unsigned char data1[]); void display2(unsigned char data2[]); void display3(unsigned char data3[]); void display4(unsigned char data4[]); void display5(unsigned char data5[]); void display6(unsigned char data6[]); void display7(unsigned char data7[]); void display8(unsigned char data8[]); void display9(unsigned char data9[]); void key(void); unsigned char code seg[13]= { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39 }; unsigned char code sel[4]= { 0x10,0x20,0x40,0x80 }; unsigned char time[4]={0,0,0,0}; unsigned char data1[4]={0,0,0,0},data2[4]={0,0,0,0},data3[4]={0,0,0,0}, ?????????????? data4[4]={0,0,0,0},data5[4]={0,0,0,0},data6[4]={0,0,0,0}, ????? data7[4]={0,0,0,0},data0[4]={0,0,0,0},data8[4]={0,0,0,0}, ????? data9[4]={0,0,0,0}; unsigned char count; unsigned char keytmp; unsigned char begin=0; void timeinit(void) interrupt 1 { count=1; TH0=0xd8; TL0=0xf0; } void main(void) { unsigned char a,b,c,d,i; count=0; TMOD=0x01; TH0=0xd8; ??? TL0=0xf0; ET0=1; TR0=1; EA=1; while(1) { ??? P1 = 0xfe; keytmp = P1; ??? if(keytmp==0xf6) ??? { ?? begin=1; ?? a=0; ?? b=0; ?? c=0; ?? d=0; }while(P1==0xf6); if(begin==1) { ????? if(count==1) {a++;count=0;} ?? if(a==10) {b++;a=0;} ?? if(b==10) {c++;b=0;} ?? if(c==10) {d++;c=0;} ?? time[0]=a; ?? time[1]=b; ?? time[2]=c; ?? time[3]=d; ?? display(time); } P1 = 0xfe; keytmp = P1; switch(keytmp) { ?? ??? case 0xee: {data7[0]=a;data7[1]=b;data7[2]=c;data7[3]=d;}while(P1==0xee); ?????? break; ??? case 0xde: {data4[0]=a;data4[1]=b;data4[2]=c;data4[3]=d;}while(P1==0xde); ???????? break; ??? case 0xbe: {data1[0]=a;data1[1]=b;data1[2]=c;data1[3]=d;}while

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档