完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include #include #define uchar unsigned char #define uint unsigned int uchar codeDSY_CODE1[]={0xbf,0xbf,0x09,0x06,0xc7,0xc7,0x40,0xbf};//,,0x46,0x21,0x06,0x0e0xbf,0xbf,,0xbf ,0xbf uchar codeDSY_CODE2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //延时 void DelayMS(uint xms) { uinti,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } //主程序 void main() { while(1) {uint num,num2; for(num2=0;num2<8;num2++) { P2=0xff; DelayMS(10); P2=DSY_CODE2[num2]; //wei for(num=0;num<8;num++) { P0=DSY_CODE1[num]; //duan DelayMS(10); P0=0xff; P2=_crol_(P2,1); } } } |
|
相关推荐
7个回答
|
|
这种问题,很有可能和延时有关。,改小或者改大调试下
|
|
|
|
嗯嗯,要多试试扫描数码管的延时,多用几个值试试,
|
|
|
|
恩 应该是延时参数的问题 我看了有的视频教程上1ms参数是148 楼主也可以单步运行仿真一下 或者可以弄个仿真芯片 一步一步看结果
|
|
|
|
改成1ms试一试,可能是延时时间太长了
|
|
|
|
{uint num,num2; //这个为什么在这里定义,每次循环还重新定义下,建议放在while外面
for(num2=0;num2<8;num2++) { P2=0xff; DelayMS(10); P2=DSY_CODE2[num2]; //wei //这里定义了位码 for(num=0;num<8;num++) { P0=DSY_CODE1[num]; //duan DelayMS(10); P0=0xff; P2=_crol_(P2,1); //这里又移动位码 你要实现什么样的功能,是一个数码管里面来回滚动显示数字,还是一个数码管显示一个数字,数码管和数字都滚动显示? } } 建议改成 uint num,num2; P2 = 0xfe; while(1) { for(num=0;num<8;num++) { P0=DSY_CODE1[num]; //duan DelayMS(10); P0=0xff; P2=_crol_(P2,1); } } 或者 for(num2=0;num2<8;num2++) { P2=0xff; DelayMS(10); P2=DSY_CODE2[num2]; //wei for(num=0;num<8;num++) { P0=DSY_CODE1[num]; //duan DelayMS(10); P0=0xff; } } |
|
|
|
这个只有一个原因扫描速度不够
|
|
|
|
延时改成1~3MS左右最佳
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
736 浏览 0 评论
935 浏览 0 评论
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
2276 浏览 0 评论
1901 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
701 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11407 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-6 22:18 , Processed in 0.758337 second(s), Total 85, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号