完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
|
|
|
|
|
|
你算错了,你的晶振是多少HZ的
|
|
|
|
|
|
你定时器的时钟信号是多少,如果是1MHZ的话,就应该是50ms
|
|
|
|
|
|
|
|
|
|
#include #define uchar unsigned char #define uint unsigned int ***it P32=P3^2; ***it P33=P3^3; ***it P36=P3^6; uint k=0; uint n=0,a,z=0; uchar code disa[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /***************************************************************** 500us延时函数 ******************************************************************/ void delay500us() { uint j; for(j=0;j<60;j++); } /***************************************************************** 蜂鸣器函数 ******************************************************************/ void beep() { P36=0; delay500us(); P36=1; delay500us(); } /***************************************************************** 1ms基准延时函数 ******************************************************************/ void delay1ms(uint i) { uint j; while(i--) { for(j=0;j<120;j++) ; } } /***************************************************************** 数码管显示函数 ******************************************************************/ void display(uint k) { P2=0xfe; P0=disa[k/1000]; delay1ms(3); P2=0xfd; P0=disa[(k%1000)/100]-0x80; delay1ms(3); P2=0xfb; P0=disa[((k%1000)%100)/10]; delay1ms(3); P2=0xf7; P0=disa[((k%1000)%100)%10]; delay1ms(3); if(z<19998) { P2=0xef; P0=0xc0; delay1ms(3); P2=0xdf; P0=0xc0-0x80; delay1ms(3); P2=0xbf; P0=0x92; delay1ms(3); P2=0x7f; P0=0xc0; delay1ms(3); } else { P2=0xef; P0=disa[(k/2)/1000]; delay1ms(3); P2=0xdf; P0=disa[((k/2)%1000)/100]-0x80; delay1ms(3); P2=0xbf; P0=disa[(((k/2)%1000)%100)/10]; delay1ms(3); P2=0x7f; P0=disa[(((k/2)%1000)%100)%10]; delay1ms(3); } } /***************************************************************** 主函数 ******************************************************************/ void main() { EA=1; EX0=1; EX1=1; IT0=1; IT1=1; ET0=1; TMOD=0x10; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=0; TF0=0; P0=0x40; P2=0xf0; while(1) { display(n/2); } } /***************************************************************** 外部中断0函数 ******************************************************************/ void zd0() interrupt 0 { if(P32==0) { delay1ms(15); if(P32==0) { z=19998; TR0=0; P1=0xff; for(a=0;a<50;a++) { beep(); } } } } /***************************************************************** 外部中断1函数 ******************************************************************/ void zd1() interrupt 2 { if(P33==0) { delay1ms(15); if(P33==0) { z=n; TR0=1; P1=0x00; for(a=0;a<50;a++) { beep(); } } } } /***************************************************************** 内部定时器中断函数 ******************************************************************/ void nd() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; z=z+1; n=n+1; if(n>19998) { TR0=0; P1=0xff; EX1=0; for(a=0;a<50;a++) { beep(); } } } 第一次写程序,有点乱,见笑啦{:soso_e110:} |
|
|
|
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
1911 浏览 0 评论
【瑞萨RA2L1入门学习】+ MacOS安装e2studio
763 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-本地仓库管理之分支间的操作
798 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】3D 图形显示
670 浏览 0 评论
758 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12253 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 23:51 , Processed in 0.993832 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号