完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求解:该程序为什么缺少while语句后数码管点亮后很暗而且显示不对是什么原因,while语句在这除了循环外在这还有什么作用?
#include ***it dula=P2^6; ***it wela=P2^7; void main() { wela=1; P0=0xfe; wela=0; dula=1; P0=0x7f; dula=0; while(1); } 谢谢! |
|
相关推荐
7个回答
|
|
你写程序的顺序有问题,本来是这样的:
#include ***it dula=P2^6; ***it wela=P2^7; void main() { wela=1;//位锁开 P0=0xfe;//P0赋值0xfe,就是最后一个数码管点亮 wela=0;//位锁关,锁定0xfe,锁定最后一个数码管亮 dula=1;//段锁开 P0=0x7f;//P0赋值0x7f,就是显示8 dula=0;//段锁关,锁定0x7f,锁定显示8 while(1);//while的空循环,程序停在这里不动了,不改变P0,也不改变位锁和段锁 }这样,程序貌似是正常的 但是去掉while(1)之后,程序不会停止在某一处,程序运行完后单片机会重复跑程序 #include ***it dula=P2^6; ***it wela=P2^7; void main() { wela=1;//位锁开,第一次运行是没什么,但第二次运行呢?P0赋值任然是0x7f,位的值给了0x7f,所以出现乱码 P0=0xfe;//改变P0口赋值 wela=0;//位锁关 dula=1;//段锁开,注意,P0值任然是0xfe,段的值给了0xfe,所以数码管变暗 P0=0x7f;//改变P0口赋值 dula=0;//段锁关 }出现问题了 所以我一般不这样写程序。建议改成: #include ***it dula=P2^6; ***it wela=P2^7; void main() { while(1)//while循环写到这是因为while循环比程序重新运行要快,可以试一试把while去掉 { P0=0xfe;//改变P0口赋值 wela=1;//位锁开,位的值赋给0xfe wela=0;/位锁关,位的值锁定0xfe P0=0x7f;//改变P0口赋值 dula=1;//段锁开,段的值赋给0x7f dula=0;//段锁关,段的值锁定0x7f } }这样,不管你让程序停在某处还是让程序循环都不会出现错误 |
|
|
|
|
|
|
|
|
|
|
|
你写程序的顺序有问题,本来是这样的:
#include ***it dula=P2^6; ***it wela=P2^7; void main() { wela=1;//位锁开 P0=0xfe;//P0赋值0xfe,就是最后一个数码管点亮 wela=0;//位锁关,锁定0xfe,锁定最后一个数码管亮 dula=1;//段锁开 P0=0x7f;//P0赋值0x7f,就是显示8 dula=0;//段锁关,锁定0x7f,锁定显示8 while(1);//while的空循环,程序停在这里不动了,不改变P0,也不改变位锁和段锁 }这样,程序貌似是正常的 但是去掉while(1)之后,程序不会停止在某一处,程序运行完后单片机会重复跑程序 #include ***it dula=P2^6; ***it wela=P2^7; void main() { wela=1;//位锁开,第一次运行是没什么,但第二次运行呢?P0赋值任然是0x7f,位的值给了0x7f,所以出现乱码 P0=0xfe;//改变P0口赋值 wela=0;//位锁关 dula=1;//段锁开,注意,P0值任然是0xfe,段的值给了0xfe,所以数码管变暗 P0=0x7f;//改变P0口赋值 dula=0;//段锁关 }出现问题了 所以我一般不这样写程序。建议改成: #include ***it dula=P2^6; ***it wela=P2^7; void main() { while(1)//while循环写到这是因为while循环比程序重新运行要快,可以试一试把while去掉 { P0=0xfe;//改变P0口赋值 wela=1;//位锁开,位的值赋给0xfe wela=0;/位锁关,位的值锁定0xfe P0=0x7f;//改变P0口赋值 dula=1;//段锁开,段的值赋给0x7f dula=0;//段锁关,段的值锁定0x7f } }这样,不管你让程序停在某处还是让程序循环都不会出现错误 |
|
|
|
相当于虽然赋值了却没有给显示的机会,你查查静态显示与动态显示就明白了
|
|
|
|
一个数码管的开关和一个显示两个不会都是P0,有一个应该是P2吧
|
|
|
|
不错的资料,值得收藏
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
704 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
948 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1141 浏览 0 评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试
1136 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之传参
644 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11063 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 22:21 , Processed in 0.890094 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191