完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
#include
***it ADDR0 = P1^0; ***it ADDR1 = P1^1; ***it ADDR2 = P1^2; ***it ADDR3 = P1^3; ***it ENLED = P1^4; void main() { unsigned char cnt = 0; unsigned int i=0; ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; while(1) { P0 = ~(0x01 < for(i=0; i<30000; i++); cnt++; if(cnt>=8) { cnt = 0; } } } 注释:此板子是P0口控制LED 问题一、加粗部分是什么含义? 问题二、怎样实现LED向左再向右循环移动? |
|
相关推荐
11个回答
|
|
|
希望有大神回复一下,谢谢!
|
|
|
|
|
|
|
|
|
|
|
|
楼主可以悬赏求助啊,问题会解决的更快,更深入
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
楼主问题解决了没?
|
|
|
|
|
|
***it ADDR0 = P1^0;
***it ADDR1 = P1^1; ***it ADDR2 = P1^2; ***it ADDR3 = P1^3; ***it ENLED = P1^4; 是给寄存器定义变量名 便于写程序 ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; 是给给寄存器赋初值 cnt=0 p0=1110 cnt=1 p0=1101 cnt=2 p0=1011 cnt=3 p0=0111 不是就四位吗 那while(1) { P0 = ~(0x01 < for(i=0; i<30000; i++); cnt++; if(cnt>=4) { cnt --; } } } 不就行了吗 |
|
|
|
|
|
一个流水灯的程序,你网上谁便一艘就有,手机不方便搜了,自己搜吧,你先弄明白往哪移,移动几位,还有你这样移的话,每次都要从0x01开始移动不好!
|
|
|
|
|
|
在while循环中,右移完成后,再写个左移函数就行了啊注意中间的延时
|
|
|
|
|
|
前面那部分加粗是对引脚名定义,后面那部分就是赋值
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1053 浏览 1 评论
1874 浏览 0 评论
1853 浏览 1 评论
3277 浏览 5 评论
3606 浏览 9 评论
1054浏览 1评论
1875浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1383浏览 1评论
1874浏览 0评论
1198浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 11:03 , Processed in 3.636852 second(s), Total 96, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
8822