完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
看不出什么毛病啊,程序也很简单,怎么就是不行啊!已经验证板子没有问题。
#include #include void init(); int a; void main() { init(); P1=0xfe; while(1) { if(a==20) { a=0; P1=_crol_(P1,1); } } } void init() { TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { a++; TH0=(65535-50000)/256; TL0=(65535-50000)%256; } |
|
相关推荐
31个回答
|
|
我的电子发烧友 发表于 2014-8-4 09:34 直接写也可以 在我的板子上运行正常 你看一下是不是板子问题 |
|
|
|
可以用FOR 循环语句来写
|
|
|
|
|
|
|
|
就像你要 ***it 某某 而不是直接拿哪一个端口来写
|
|
|
|
|
|
|
|
|
|
|
|
不用这么麻烦,就他这样更好。 |
|
|
|
|
|
|
|
首先,已经仿真,楼主程序是正确的,没有问题,
关于a=0;需要赋初值的问题,建议在定义时赋初值,是正确的, 如果不进行赋初值,(系统可能会随机给一个值,也有可能会给0,) 那么定时器中断会在此基础上对a进行++,直到a溢出变为0; 这样就又可以按楼主的思路进行了, 搭建Protues仿真,按楼主的代码(一句未改)是可以运行的, 推测是硬件出了问题,请参考附件
|
|
|
|
非常感谢……却是硬件有点毛病,现在也正常工作了只是不能对P1口数据直接进行左循环,那样出现的不是流水灯,而是LED逐个被点亮!!! 给一个中间赋值变量就安全没问题了,这个问题我一直没有搞懂,理论上应该是没有问题的…… |
|
|
|
流水灯怎么写这么多,P1=0Xfe;P1=_crol_(P1,1)感觉就完全可以了,为么还要加中断呢。。
|
|
|
|
学习阶段,用中断试一试 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
250 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
473 浏览 2 评论
571 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
260 浏览 0 评论
400 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11974 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 01:25 , Processed in 0.856770 second(s), Total 94, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号