电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

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

用C语言编写程序实现通过按键使LED灯周期闪烁_第1页
1/7
用C语言编写程序实现通过按键使LED灯周期闪烁_第2页
2/7
用C语言编写程序实现通过按键使LED灯周期闪烁_第3页
3/7
用C 语言编写程序实现通过按键使LED 灯周期闪烁(2010-02-24 21:12:44) 标签:循环闪烁周期led 灯按键杂谈 一、设计题目 二、程序功能: 开机复位后,LED0 到 LED7 全部点亮,所有 LEDPort 持续 2S 后熄灭,然后等待按键,按0 键LED7 以 0.8S 周期闪烁,按1 键LEDPort 以 1S 周期闪烁。 三、总体设计思想 用中断方式实现定时器的定时,然后通过键盘中断程序实现通过对按键的操作来实现相应的周期闪烁。 在我编写的实验程序中我用到了定时器中断和外部中断。程序共分为两个模块,一个为定时器模块,一个为键盘中断程序模块,在主函数中,首先实现所有 LEDPort 点亮,然后通过中断方式实现定时 2S,在定时器 num==20 时,设定全局变量为标志位 flag=1,然后再主函数中设定条件,通过标志位的变化实现所有 LEDPort 持续 2S 后熄灭。然后进入循环,等待按键,在按键中断服务程序中使用switch 语句实现通过改变 num1 的值来实现LED7的闪烁周期。设定标志位 b=0,在主函数中使用if 语句通过判断 b 的值来改变 LED7 的亮灭情况,同时相应的 b 值会取反。 四、程序具体实现 实验要求开机复位后,LED0到LED7全部点亮2S后熄灭。在主函数中使用LEDPort=0x00;这条语句实现所有灯都亮,使用中断方式实现定时器定时 2S,因为实验要求 20ms 溢出,所以设定 num=100,在定时器中断服务程序中使用if 语句判断条件,当 num 加到 100,也就是说 2S 时间到时,执行 flag=1;语句(先设定全局变量 flag=0)。然后在主函数中使用while 语句规定只有在 flag=0 时才执行所有 LEDPort 点亮的操作。2S 时间到后,所有灯熄灭。然后进入 while 循环,等待用户按键。用户按键后,通过使用switch 语句,实验按0 键,num1=20,按1 键,num1=50,。而在主函数中,当按下 0 键或者 1 键时,num1 就有了固定的值,通过if 语句判断是否到达所要求的时间后,执行相应操作。在本实验中,要求实现LED7 的周期闪烁,我先设定一个标志位 b=0;默认 LED7 灭,;然后在主函数中在定时时间到达 后,通过判断和改变 b 的值来实现LED7 的亮灭情况。然后使num=0;使定时器继续从新定时,不停循环实现LED7 的周期闪烁。 程序附录: #include #include #include"7279.h" #define uchar unsigned char #define uint unsigned int sbit ad_busy = P3^2; sbit key=P3^3; uchar n...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

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

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部