led调光灯亮度自动控制系统课程设计(编辑修改稿)内容摘要:

编程器编程,否则有可能将单片机内部已固化的 ISP 系统引导程序擦除,造成无法使用 STC 提供的 ISP 软件下载用户的程序代码。 LED 执行部件 如下图 23 所示, 输出 PWM 输出控制信号。 根据输出电压占空比不同,灯的亮度也不一样。 占空比越大,说明输出电压越大,灯就越亮;反之,占空比越小,即说明输出电压越小,灯就越暗。 图 25 LED 执行部件原理图 3 软件设计 按键的软件设计 键盘的监测方 式 : 查询方式 : 查询方式是指 CPU 不断的判断 I/O 口 (按键接口)的状态,就像扫描一样,扫描哪个按键式是处于被按下状态,扫描到了就可以确定是哪个按键了。 在查询方式下不管有没有按键, CPU 都需要不断地进行查询操作,以判断是否有键按下,这不利于提高 CPU 的效率。 在一些任务繁重或者低功耗应用场合,尤其不适合使用。 如果采用中断方式,只有在每次有键按下, CPU 才去响应键盘,这样能够大大减轻 CPU 的任务量。 中断方式 : 中断方式相比查询方式要好很多,当然它多占用了单片机的一个资源,当检测到有按键按下时,就进入到中断里面判断是哪个按键,换句话可以理解为在中断中扫描按键值。 用中断方式恰恰就解决了查询方式中的问题。 沈阳理工大学课程设计专用纸 7 键盘抖动原因: 由于按键多为机械弹性开关,它是利用了机械触点的合、断作用。 所以按键开关在闭合和断开的瞬间均有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为 5~10ms,这是一个很重要的参数。 抖动过程引起电平信号的波动,有可能令 CPU 误解为多次按键操作,从而引起误处理。 通常避免该问题是通过消抖来实现的,而消抖的方式也有两种,软件方式和硬件方式。 按键 消抖方法: 硬件消抖方法 : 可以用电路来实现,如加 RS 触发器,使其产生单次手动脉冲;此外,也可以利用积分电 路来吸收抖动带来的干扰脉冲,只要选择好适当的参数也能达到较好的效果。 软件消抖方法 : 多采用软件延时的方法:在第一次检测到有键按下时,执行一段延时 10ms 的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下。 释放一个键时,方法相同。 这种消除抖动影响的软件措施是切实可行的。 一般串行下 载 介绍 ISP: 在系统编程,一般目标芯片内包含了专用的接口电路,上位机发送编程命令码及编程控制信息后由芯片硬件自动完成编程。 比如通过 JTAG 口升级就是其中的一种,现在推出的许多新的芯 片比如 ARM 都采用此模式。 ATMEL 公司的 AT89S5x 系列的单片机的下载模式虽然不属于 JTAG 模式,但很类似,应该属于 ISP 类。 IAP: 一般叫做在应用编程。 MCS51 系列单片机中采用比较多的 sst、 stc两家公司的单片机就属于这种模式,与上面的模式是有区别的。 二者比较: ISP 编程属于纯硬件操作,只要 FLASH 的物理特性未损坏,就可以实现串口升级,但升级模式是固定的。 IAP 模式属于属于软件操作,如果 8K 区并无物理损坏但软件有问题,就只能使用编程器来编程,无法实现串口升级。 但正是由于这种可更改性,可 以扩展多种升级方式,更灵活。 其实物理损坏的可能性不大,所以我个人认为还是IAP 更好些。 沈阳理工大学课程设计专用纸 8 LCD1062 显示介绍 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图所示: 1602LCD 的指令说明及时序 : 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入 模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM或 DDRAM) 1 0 要写的数据内容 11 从 CGRAM或 DDRAM读数 1 1 读出的数据内容 沈阳理工大学课程设计专用纸 9 LCD1064 驱动软件代码在后面附录部分 PWM 控制 具体 过程 脉冲宽度调制( PWM)是一种对模拟信号电平进行数字编码的方法。 通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM 信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有 (ON),要么完全无 (OFF)。 电压或电流源是以一种通 (ON)或断 (OFF)的重复脉冲序列被加到模拟负载上去的。 通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。 只要带宽足够,任何 模拟值都可以使用 PWM 进行编码。 许多微控制器内部都包含有 PWM 控制器。 占空比是接通时间与周期之比;调制频率为周期的倒数。 执行 PWM 操作之前,这种微处理器要求在软件中完成以下工作: 设置提供调制方波的片上定时器 /计数器的周期 在 PWM 控制寄存器中设置接通时间 设置 PWM 输出的方向,这个输出是一个通用 I/O 管脚 启动定时器 使能 PWM 控制器 目前几乎所有市售的单片机都有 PWM 模块功能,若没有,也可以利用定时器及 GPIO 口来实现。 更为一般的 PWM 模块控制流程为: 使能相关的模块( PWM 模块以及对应管教的 GPIO 模块)。 配置 PWM 模块的功能,具体有: 沈阳理工大学课程设计专用纸 10 ① 设置 PWM 定时器周期,该参数决定 PWM 波形的频率。 ② 设置 PWM 定时器比较值,该参数决定 PWM 波形的占空比。 ③ 设置死区( deadband),为避免桥臂的直通需要设置死区,一般较高档的单片机都有该功能。 ④ 设置故障处理情况,一般为故障是封锁输出,防止过流损坏功率管,故障 一般有比较器或 ADC 或 GPIO 检测。 ⑤ 设定同步功能,该功能在多桥臂,即多 PWM 模块协调工作时尤为重要。 设置相应的中断,编写 ISR,一般用于电压电流采样,计算下一个周期的占空比,更改占空比,这部分也会有 PI 控制的功能。 使能 PWM 波形发生。 流程图设计 控制现场主程序流程图设计如下: ① ① 4 系统调试 LED 执行部分调试 装好元件,接通电源,观察 LED 是否发光。 若发光,说明 LED 部 分连接正确;若不发光,则说明此部分线路连接有问题,应该用万用便检查 STC 第五脚,其电压应在 05V;还要检查三极管三个脚是否连接正确。 开始 LCD 初始化 按键按下 延时 设第一行显示位置 显示第一行内容 显示第二行内容 设第二行显示位置 AD 初始化 单片机 PWM 控制 LCD1062 显示 按键初始化 按键扫描 沈阳理工大学课程设计专用纸 11 串口下载部分调试 把编好的程序通过次串口下载到 STC,若可以下载,则说明此部分连线正确;若不能下载,则检查 RS232 各脚电压是否正常。 LED 显示部分调试 将一个正确的显示程序下载到单片机,观察 LCD 是否按要求显示。 若按要求显示,说明此部分可以正常工作;若不能显示,则先检查显示器的好坏,其次检查其各脚的连接是否正确。 按键部分调试 按下按键,观察 LED。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。