关键词不能为空

当前您在: 主页 > 英语 >

用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灯周期闪烁的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文