完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
6个回答
|
|
定时器中断里:
if(count==20){ i=0; count=0; flag=1; } 主程序里 while(1) { if(flag==1) { P1=TABLE[number]; if(number==4) number=0; flag=0; } } 需要定义两个全局变量flag和number
最佳答案
|
|
|
|
急等啊
|
|
|
|
|
|
定时器中断里要设一全局变量的标志,当定时到的时候这个标志有效。
在主程序的while里不用for,用if,同时设一个计算电灯序号的全局变量,if是判断定时器的标志是否有效,当定时器标志有效时,就可以执行P1=TABLE[i];其中的i就是电灯序号的全局变量,之后要判断这个变量是否超过了上限,这里是4个 |
|
|
|
人中狼 发表于 2017-11-26 16:20 能给我 写一下吗 新手不大明白 先谢谢了 |
|
|
|
这很简单,不要用for循环。代码如下:
#include #include unsigned char count,i=0,j=0; unsigned char code TABLE[]={0xe7,0xdb,0xbd,0x7e}; void main() { count=0; TMOD=0x01; TL0=0X00; TH0=0X4C; TR0=1; EA=1; ET0=1; while(1) { if(i==1) { i=0; switch(j) { case 0: P1=TABLE[0];j=1; break; case 1: P1=TABLE[1];j=2; break; case 2: P1=TABLE[2];j=3; break; case 3: P1=TABLE[3];j=0; break; } } // for(i=0;i<4;i++) // { // P1=TABLE[i]; // } } } void t0interrupt(void) interrupt 1 { TL0=0X00; TH0=0X4C; count++; if(count==20) { i=1; count=0; } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
stm32f407+ksz8863rlli概率性ping不通
50 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
185 浏览 0 评论
求助:辉芒微芯片 FDM B11GBMH 的信息及开发环境安装
192 浏览 0 评论
778 浏览 0 评论
嵌入式 学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之输入输出重定向
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11292 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 05:40 , Processed in 1.041447 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号