完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用了两个外部中断,想用其中一个做计数,数码管显示不正常,还有按键消抖不会用,请指点,谢谢
#include #include #define uint unsigned int #define uchar unsigned char ***it bai=P2^2; ***it shi=P2^1; ***it ge=P2^0; ***it RST_0 = P3^0; uint num; void dispiay(); uchar code DIS_SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void display( num) { P0=DIS_SEG7[num/100]; bai=0; delay(3); P0 = DIS_SEG7[num%100 / 10]; //输出段码 shi=0; //显示位置 delay(3); //显约3ms P0 = DIS_SEG7[num % 10]; ge =0; delay(3); }void display(uint num) { P2 = 0; P0 = DIS_SEG7[num/100]; P2=0xfb; delay(3); P2 = 0; P0 = DIS_SEG7[num%100 / 10]; //输出段码 P2=0xfd; //显示位置 delay(3); //显约3ms P2 = 0; P0 = DIS_SEG7[num % 10]; P2=0xfe; delay(3); } void main() { P1=0xfb;P2=0xf8;num=0; EA=1;IT0=1;IT1=1;EX0=1;EX1=1;while(1); } if (RST_0 == 0) { delay(10); if (RST_0 == 0) num = 0; while(RST_0== 0) delay(10);} void k1() interrupt 0 { P1=0xfc;delay(250);P1=0xfb; num++; display(num); if (num >= 1000) num = 0;delay(10);} void k2() interrupt 2 { P1=0xf7;delay(250); P1=0xfb;delay(400); P1=0xef;delay(250); P1=0xfb; } |
|
相关推荐
4个回答
|
|
main后面大括号错了,延时函数呢
|
|
|
|
还不熟悉时建议先买本质量好的书,先学别人成熟的代码。
|
|
|
|
延时函数没有啊!
|
|
|
|
先好好看看别人的代码
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11977 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 18:16 , Processed in 0.624766 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号