没有合适的资源?快使用搜索试试~ 我知道了~
我参加的课题实训是嵌入式方向的,开课的内容主要是嵌入式开发方面的,C语言,数据结构,LINUX基本操作,网络编程,操作系统和汇编语言,这些都是嵌入式不可缺少的。
资源推荐
资源详情
资源评论
合肥工业大学
计算机与信息学院
课程设计
课 程:嵌入式系统课程设计
专业班级:
学 号:
姓 名:
2
一、设计题目及要求:
【课题 1】 单个按键控制 LED 灯
设计要求:
根据单个按键输入情况控制 LED 灯的不同显示效果。K1 连续按下偶数次时,四
个 LED 灯(LED1~LED4)
按 1 秒(定时器中断实现)的间隔同时闪烁对应的次数,然后保持 LED1 和 LED2
常亮,LED3 和 LED4 熄灭;K1
连续按下奇数次时,四个灯按 0.5 秒(定时器中断实现)的间隔同时闪烁对应的
次数,然后保持 LED1 和 LED2
熄灭,LED3 和 LED4 常亮。K2 按下时,四个灯按 1 秒(定时器中断实现)的
间隔逐一点亮(同一个时刻只有
一个灯亮),并循环显示。K3 按下时,四个灯按 0.5 秒(定时器中断实现)的
间隔逐一点亮(同一个时刻
只有一个灯亮),并循环显示。K4 按下时,所有灯熄灭,系统进入初始状态。
� 说明:程序需要区分连续按键与间隔时间按键。连续按键的间隔时间自行确
定,合理即可。
二、设计思想:
通过软件程序判断的方法进行按键的选择和判断以此来实现对 LED 灯的控制,
K1~K4 按键对应不同的功能。开机后程序以一定时间(2500000 次循环)为周期
进行按键检测,在 K1 被按下后且延时一定时间后判断 K1 依然处于被按下状态
后(实现按键防抖)刷新此周期计数器并将按键计数器加一,重复此过程直到周
期计数器归零前未检测到 K1 再次被按下,结束该周期进入状态 1;K2 和 K3 是
切换到状态 3 和状态 4;而 K4 本质上是初始化所有参数。
按键的汇总功能在 main.c 当中,通过接受不同的按键信息并进行判断实现按
键的计数和进入不同的状态,而主要的亮灯功能的实现在 timer.c 当中,通过计
时器中断进行当前的亮灯策略。当处于状态 1 且按键计数为偶数时,定时器中断
周期为 0.5s,每中断一次对 LED 灯寄存器中的参数进行一次取反操作,在判断
3
LED 灯闪烁次数与按键按下次数相同后退出此次循环停止定时器中断并保持
LED1 和 LED2 常亮;当处于状态 1 且按键计数为奇数时,定时器中断周期为 0.25s,
每中断一次对 LED 灯寄存器中的参数进行一次取反操作,在判断 LED 灯闪烁次
数与按键按下次数相同后退出此次循环停止定时器中断并保持 LED3 和 LED4 常
亮;当处于状态 2 时,定时器中断周期为 0. 5s,利用循环将 8 个定时器中断周
期设为一个流水灯周期,在一个流水灯周期内根据当前的定时器中断周期标志点
亮或熄灭对应的 LED 灯;当处于状态 3 时,定时器中断周期为 0.25s,流水灯周
期同状态 2;当处于状态 4 时,不执行定时器中断。
其中中断功能的实现使我们能够进行不同亮灯状态间的转换,是我们程序要
求能够实现的基础。
三、功能流程图:
剩余14页未读,继续阅读
资源评论
zh222333
- 粉丝: 24
- 资源: 296
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功