完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想写一个八位数码管每个数码管依次移动显示0,1,2,3,4,5,6,7(只每次显示一个),但是不懂什么原因,无法显示。。。。然后我做了一些尝试主程序中,如果while(1)替换delay(10),则第一个显示0,此时i替换成0,1,2,···是可以在对应位置显示数字的;如果while(1)不替换delay(10),数码管无显示。然后重点是怎么让八位数码管每个数码管依次移动显示0,1,2,3,4,5,6,7(只每次显示一个)?
程序如下 #include #include #define uchar unsigned char #define uint unsigned int #define smgen_set PORTB |= BIT (7) #define smgen_clr PORTB &=~BIT (7) #define rs_set PORTB |=BIT (6) #define rs_clr PORTB &=~BIT (6) unsigned char table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; unsigned char table2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(); void main() { uint i; DDRB = 0XFF; PORTB = 0X00; DDRC = 0XFF; PORTC = 0X00; while(1) { for(i = 0;i < 8;i++) { rs_set; PORTC = table2; rs_clr; smgen_set; PORTC = table1; smgen_clr; // while(1);//如果while(1)替换delay(10),则第一个显示0,此时i替换成0,1,2,···是可以在对应位置显示数字的。 delay(10);//如果while(1)不替换delay(10),数码管无显示。 } } } void delay(uint k) { uint x,j; for(x=0;x { for(j=0;j<570;j++); } } 仿真电路图:
|
|
相关推荐
2个回答
|
|
已解决,谢谢大家
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
182 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1207 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
493 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
420 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
957 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11735 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 19:20 , Processed in 0.623199 second(s), Total 89, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号