完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include #define uint unsigned int #define uchar unsigned char uchar ww; uchar num; void delayms(uint); void main() { TMOD=0x01; TH0=(65535-49000)/256; TL0=(65535-49000)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1) { ww=0xfe; P1=ww; ww=_crol_(ww,1); delayms(7); } } void TO_time() interrupt 1 { if(num>7) { P1=ww; ww=_cror_(ww,1); delayms(7); num++; } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } 实际效果是只有一个灯亮,我还是新手,大家帮帮忙!! |
|
相关推荐
5个回答
|
|
把
while(1) { ww=0xfe; P1=ww; ww=_crol_(ww,1); delayms(7); } 改成 ww=0xfe; while(1) { P1=ww; ww=_crol_(ww,1); delayms(7); } 让ww=0xfe;在while的前面来执行,不然你每次都给WW赋同样的值,当然只有一个灯亮了{:soso_e113:} |
|
|
|
{:soso_e179:} 谢谢啦,其中一个问题解决了。不过的写这个程序的目的是想借助定时器中断实现LED的左右来回点亮,但实际上是只有一个方向的点亮。如果可以的话,可以帮帮我吗?
|
|
|
|
{:soso_e179:} 谢谢啦,其中一个问题解决了。不过的写这个程序的目的是想借助定时器中断实现LED的左右来回点亮,但实际上是只有一个方向的点亮。如果可以的话,可以帮帮我吗? |
|
|
|
while(1) { unsigned char m; for(m = 8, m>0, m--) { P1=ww; ww=_crol_(ww,1); delayms(7); } for(m = 8, m>0, m--) { ww=_cror_(ww,1); delayms(7); } } |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11794 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:18 , Processed in 0.521073 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号