完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uchar unsigned char ***it wei1=P3^0; ***it wei2=P3^1; ***it wei3=P3^6; ***it wei4=P3^7; uchar code numh[11]={ 0xbf,//0 0x86,//1 0xdb,//2 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef,//9 0x00 }; uchar code numl[11]={ 0x3f,//0 0x06,//1 0x5b,//2 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,//9 0x00 }; uchar i,num,f,shu1,shu2,shu3,shu4,temp=50; void delay(uchar j) { uchar i=0; for(j;j;j--) for(i=0;i<110;i++); } display() { P2=numh[shu1]; wei1=0;wei2=wei3=wei4=1; delay(10); P2=0; P2=numl[shu2]; wei2=0;wei1=wei3=wei4=1; delay(10); P2=0; P2=numl[shu3]; wei3=0;wei1=wei2=wei4=1; delay(10); P2=0; P2=numl[shu4]; wei4=0;wei1=wei2=wei3=1; delay(10); P2=0; } void main() { f=0; shu1=shu2=shu3=shu4=0; num=0x00; while(1) { P1=0xfe; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); if(temp!=0xf0) switch(temp) { case 0xe0:num=1;f++;while(P1==0xee); break; case 0xd0:num=2;f++;while(P1==0xde); break; case 0xb0:num=3;f++;while(P1==0xbe); break; case 0x70:num=0x0c;f++;while(P1==0x7e); break; } } P1=0xfd; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); if(temp!=0xf0) switch(temp) { case 0xe0:num=4;f++;while(P1==0xed) ; break; case 0xd0:num=5;f++; while(P1==0xdd) ; break; case 0xb0:num=6;f++; while(P1==0xbd) ; break; case 0x70:num=0x0d;f++;while(P1==0x7d) ; break; } } P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); if(temp!=0xf0) switch(temp) { case 0xe0:num=7;f++;while(P1==0xeb) ; break; case 0xd0:num=8;f++; while(P1==0xdb) ; break; case 0xb0:num=9;f++;while(P1==0xbb) ; break; case 0x70:num=0x0e;f++;while(P1==0x7b) ; break; } } P1=0xf7; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) switch(temp) { case 0xe0: num=0x0a;f++ ;while(P1==0xe7) ; break; case 0xd0: num=0;f++; while(P1==0xd7) ; break; case 0xb0: num=0x0b;f++; while(P1==0xb7) ; break; case 0x70: num=0x0f;f++; while(P1==0x77) ; break; } } if(num==0x0c){shu1=shu2=shu3=shu4=0;display(); f=0;wei4=1;} else if(f==1) { shu1=num;P2=numl[shu1];wei1=0;wei2=wei3=wei4=1;delay(10); } else if(f==2) { if(num==0x0a) { P2=numh[shu1]; wei1=0;wei2=wei3=wei4=1; delay(10); P2=0; } else if(num!=0x0a)f--; } else if(f==3) {shu2=num; P2=numh[shu1]; wei1=0;wei2=wei3=wei4=1; delay(10); P2=0; P2=numl[shu2]; wei2=0;wei1=wei3=wei4=1; delay(10); P2=0;} else if(f==4) {shu3=num; P2=numh[shu1]; wei1=0;wei2=wei3=wei4=1; delay(10); P2=0; P2=numl[shu2]; wei2=0;wei1=wei3=wei4=1; delay(10); P2=0; P2=numl[shu3]; wei3=0;wei1=wei2=wei4=1; delay(10); P2=0;} else if(f==5) {shu4=num; P2=numh[shu1]; wei1=0;wei2=wei3=wei4=1; delay(10); P2=0; P2=numl[shu2]; wei2=0;wei1=wei3=wei4=1; delay(10); P2=0; P2=numl[shu3]; wei3=0;wei1=wei2=wei4=1; delay(10); P2=0; P2=numl[shu4]; wei4=0;wei1=wei2=wei3=1; delay(10); P2=0;} else if(f==6&num==0x0b) { delay(10); f=0; display(); if(shu3>=5){shu2++; P0=shu1*10+shu2; shu2--;} P0=shu1*10+shu2; } else if(f==0){display();} } } |
|
相关推荐
11个回答
|
|
直接用c语言不是更好?????
|
|
|
|
C不会啊,而且老师说只能用汇编
|
|
|
|
悄悄的告诉你,其实KEIL 里面在编译的时候回生产汇编的哦,我没有亲自弄过,你可以百度一下
|
|
|
|
我知道,弄过了不过转过来的汇编都看不懂啊 |
|
|
|
这么长的程序,不停的跳转,改成汇编,闲着没事了!
|
|
|
|
现在汇编都快忘了,只偶尔用用
|
|
|
|
|
|
|
|
我觉得 对于 平时计算一百以内的加减法 你将它转换成二进制再计算,然后再转化成 十进制来理解是很蛋疼的一件事。你说是不。LZ
|
|
|
|
同意9楼的说法
|
|
|
|
{:soso_e110:}不会啊~等高人
|
|
|
|
生成SRC文件,SRC文件里面每一小段C语言都有对应的汇编代码,很直观的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12031 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 19:32 , Processed in 0.793871 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号