关键词不能为空

当前您在: 主页 > 英语 >

用C语言编写程序实现通过按键使LED灯周期闪烁

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-01 23:55
tags:

-

2021年2月1日发(作者:越洋电话)



C


语言编写程序实现通过按键使


LED


灯周期闪烁


(2010-02-24 21:12:44)


标签:循环闪烁周期


led

< p>
灯按键杂谈



一、设计题目




二、程序功能:



< br>开机复位后,


LED0



LED 7


全部点亮,所有


LEDPort


持续


2S


后熄灭,然后等待按键,按


0



LED7



0. 8S


周期闪烁,按


1



LEDPort



1S


周期闪 烁。




三、总体设计思想




用中断方式实现定时器的定时,


然后通过键盘中断程序实现通过对按键的操作来 实现相应的


周期闪烁。



< p>
在我编写的实验程序中我用到了定时器中断和外部中断。


程序共分为两个模 块,


一个为定时


器模块,一个为键盘中断程序模块,在主函数中 ,首先实现所有


LEDPort


点亮,然后通过


中断方式实现定时


2S


,在定时器

num==20


时,设定全局变量为标志位


flag=1,


然后再主


函数中设定条件,通过标志位的变化实现所有


LEDPort


持续


2S


后熄灭。然后进入循环,


等待按键,在按键中断服务程序中使用


switch


语句实现通过改变


num1

的值来实现


LED7


的闪烁周期。设定标志位


b=0


,在主函数中使用


if


语句通过判断


b


的值来改变


LED7


的亮


灭情况,同时相应的


b

< p>
值会取反。




四、程序具体实现




实验要求开机复位后,


LED0


LED7


全部点亮


2S


后熄灭。< /p>


在主函数中使用


LEDPort=0x00;

这条语句实现所有灯都亮,使用中断方式实现定时器定时


2S


,因为实验要求


20ms


溢出,


所以 设定


num=100,


在定时器中断服务程序中使用

< p>
if


语句判断条件


,


当< /p>


num


加到


100




就是说


2S

时间到时,执行


flag=1;


语句(先设定全局变量


flag=0



。然后在主函数中使



while


语句规定只有在


flag=0


时才执行所有


LEDPort

< p>
点亮的操作。


2S


时间到后,所

< br>有灯熄灭。然后进入


while


循环,等待用户按键。用 户按键后,通过使用


switch


语句,


实验按


0


键,


num1=20,



1


键,


num1 =50,


。而在主函数中,当按下


0


键 或者


1


键时,


num1


就有了固定的值,通过


if


语句判断是否到达所要求的 时间后,执行相应操作。在本


实验中,


要求实现


LED7


的周期闪烁,


我先设定一个标志位

< p>
b=0;


默认


LED7


灭 ,


;


然后在主


函数中在定时时间到达< /p>



后,


通过判断和改变

< br>b


的值来实现


LED7


的亮灭情 况。


然后使


num=0;


使定时器继续 从新定


时,不停循环实现


LED7


的周 期闪烁。




程序附录:






#include



#include



#include



#define uchar unsigned char



#define uint unsigned int



sbit ad_busy = P3^2;



sbit key=P3^3;



uchar num;



uchar num1;







bit b;



uchar flag=0;





uchar keynumber;



#define LEDPort XBYTE[0x9000] //







void Init(void)



{



IE|=0x04;



TCON=0x01;



}



void Time0_Init(void)


端口地址




{



TMOD|=0x01;



TH0=0xB8;



TL0=0x00;



ET0=1;



TR0=1;



}



void Time0(void) interrupt 1



{



TH0=0xB8;



TL0=0x00;



num++;



if(num==100)





flag=1;





}



void ISR_INT1(void) interrupt 2



{ keynumber=Read7279();



while(!key);





switch(keynumber)

-


-


-


-


-


-


-


-



本文更新与2021-02-01 23:55,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/595959.html

用C语言编写程序实现通过按键使LED灯周期闪烁的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文