完善资料让更多小伙伴认识你,还能领取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后面大括号错了,延时函数呢
|
|
|
|
还不熟悉时建议先买本质量好的书,先学别人成熟的代码。
|
|
|
|
延时函数没有啊!
|
|
|
|
先好好看看别人的代码
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
425 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
413 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之VMware Tools安装
373 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu系统安装
590 浏览 0 评论
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
648 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10669 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-15 06:27 , Processed in 0.641208 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191