基于单片机的亮度可调流水灯 论文_第1页
基于单片机的亮度可调流水灯 论文_第2页
基于单片机的亮度可调流水灯 论文_第3页
基于单片机的亮度可调流水灯 论文_第4页
基于单片机的亮度可调流水灯 论文_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课课 程程 设设 计计 报报 告告 2009 2010 年度年度 第第 二二 学期 学期 题 目 基于单片机的亮度可调流水灯 院 系 物理与电子信息工程学院 姓 名 徐维波 学 号 061234235 专 业 电子信息工程 指导老师 方天红 2009 年 4 月 25 日 2 一 设计任务及要求一 设计任务及要求 设计任务设计任务 设计一个亮度可调的流水灯 要要 求求 1 流水灯的显示效果可以比较简单 比如闪动 亮灭显示 或者其他效 果 2 流水等的亮度级别要达到 10 级 3 亮度级别要通过一个共阴型数码管显示 显示数字 0 9 年 月 日 二 指导教师评语二 指导教师评语 指导教师签名 年 月 日 三 成三 成 绩绩 年 月 日 3 目目 录录 1 设计要求设计要求 4 2 设计的作用 目的设计的作用 目的 4 3 设计的具体实现设计的具体实现 4 3 1 系统概述 4 3 2 单元电路设计与分析 4 3 2 1 电路的选择 4 3 2 2 电路的工作原理 4 3 2 3 电路的仿真 5 3 3 电路的安装与调试 5 3 3 1 电路的安装 5 3 3 2 电路的调试 5 3 3 3 调试结果 6 4 系统软件设计系统软件设计 6 4 1 主程序流程图 6 4 2 键盘扫描子程序 6 4 3 定时器 0 中断服务程序 6 4 4 定时器 1 中断服务程序 7 5 心得体会及建议心得体会及建议 7 5 1 心得体会 7 5 2 建议 7 6 附录附录 7 参考文献参考文献 8 附录 1 实验源程序 9 附录 2 系统电路图 11 4 基于单片机的亮度可调流水灯设计报告 1 1 设计要求设计要求 设计一个亮度可调的流水灯控制系统 具体要去如下 1 流水灯的显示效果可以比较简单 比如闪动 亮灭显示 或者其他效果 2 流水等的亮度级别要达到 10 级 3 亮度级别要通过一个共阴型数码管显示 显示数字 0 9 2 2 设计的作用 目的设计的作用 目的 通过此次的设计 能够初步掌握 PWM 控制 能够熟练的运用 Keil Proteus 等软件 了解单片机在实践设计中的运用 3 3 设计的具体实现设计的具体实现 3 1 系统概述系统概述 本设计采用 AT89S52 作为微控制器 用共阳型八段数码管显示亮度等级 同时控制八 个 LED 来显示流水灯的工作状态 原理图如图 1 所示 图 1 系统原理图 3 2 单元电路设计与分析单元电路设计与分析 3 2 1 电路的选择 方案一 采用 AT89S52 74LS373 和共阴型数码管设计系统 利用 74LS373 驱动数码管点亮 方案二 由于到 AT89S51 的拉电流较小 灌电流较大 采用 AT89S52 和共阳型数码管设计 系统 考虑到系统简明扼要 节约成本本文 本设计采用方案二 3 2 2 电路的工作原理 本设计采用 AT89S52 作为微控制器来控制 LED 的亮度等级 通过对 P1 0 口 P1 1 口 的按键循环扫描修改定时器 1 中断的中断时间 从而实现脉宽控制 当系统确定 P1 0 口 5 按下弹起后 系统让中断初值减少 28 亮度等级降低一个等级 当降到 0 等级时就不再 降低 当系统确定 P1 1 口按下弹起后 系统让中断初值增加 28 亮度等级增加一个等级 当增加到 9 时就不再增加 在系统亮度调节期间 流水灯并不受影响 仍然正常工作 共 阳型八段数码管原理结构如图 2 a 八段数码管结构 b 共阳型数码管 图 2 八段 LED 数码显示管原理和结构 3 2 3 电路的仿真 系统仿真情况如图 3 所示 图 3 系统仿真电路图 3 3 电路的安装与调试电路的安装与调试 3 3 1 电路的安装 将仿真号后的电路连接到面包板上 3 3 2 电路的调试 下载程序到 AT89S52 中 运行整个系统 再对单独对 LED 的显示进行调试 LED 正常 显示后再对数码管的显示进行调试 最后运行整个系统 6 3 3 3 测试结果 对系统的测试如表1所示 表表1 1 测试结果测试结果 项目现象结果 流水灯模式各种模式依次显示正常流水 灯显 示 亮度模式10种亮度可调正常 数码管显示显示0到9正常数码 管显 示 按键数字减一或加一正常 4 4 系统软件设计系统软件设计 4 1 主程序流图主程序流图 主程序开启定时器 0 和定时器 1 中断 分别完成键盘扫描和 1ms 倒计时功能 流程图 如图 4 程序见附录一 图 4 主程序流程图 图 5 键盘扫描子程序流程图 4 2键盘扫描子程序键盘扫描子程序 键盘扫描程序完成对 Key Key1 两按键的扫描 从而实现亮度等级的控制 流程图如 图 5 所示 程序见附录一 4 3 定时器定时器 0 0 中断服务程序中断服务程序 定时器 0 中断实现 1ms 的中断 并对 LED 输出 流程图如图 6 所示 程序见附录一 开始 初始化 循环扫描 Key 0 开中断 增加亮度等级 Key1 0 降低亮度等级 否 是 否 是 开始 Key 0 Key1 0 延时消抖 Key 0 Key1 0 脉宽控制 跳出 亮度等级显示 跳出 跳出 否 是 是 延时消抖 7 4 4 定时器定时器 1 1 中断服务程序中断服务程序 定时器 1 中断实现对 LED 结束输出 流程图如图 7 所示 程序见附录一 图 6 定时器 0 中断服务程序流程图 图 7 定时器 1 中断服务程序流程图 5 心得体会及建议心得体会及建议 5 1 心得体会心得体会 在系统的研制过程中 我深切体会到 实践是理论运用的最好检验 本次设计是对我 所学知识的一次综合性检测和考验 无论是动手能力还是理论知识运用能力都得到了提高 同时加深了我对网络资源认识 大大提高了查阅资料的能力和效率 使我有充足的时间投 入到电路设计当中 5 2 建议建议 鉴于本系统在实验室条件下研制 实际应用中在功能和稳定性方面仍有待提高和改进 对于亮度可控 可以改进到能对八个 LED 分别控制 6 附录附录 系统源程序见附录一 系统原理图见附录二 实物图见附录三 以下为系统所用元器件明 细表 AT89S52 一片 共阳型八段数码管 两个 LED 八个 1N4007 一个 150 电阻 一个 T0中断程序 暂停T1中断 T0中断赋初值 调节T1中断初值 启动T1中断 开始输出 跳出 T1中断程序 暂停T1中断 结束输出 跳出 8 参考文献参考文献 1 丁元杰 单片微机原理及应用 M 北京 机械工业出版社 2001 1 2 纪宗南 单片机外围器件实用手册 M 北京 北京航空航天大学出版社 1998 3 康华光主编 电子技术基础 模拟部分 M 第四版 北京 高等教育出版社 1999 4 高吉祥 模拟电子线路设计 M 北京 电子工业出版社 2007 5 谢自美 电子线路综合设计 M 武汉 华中科技大学出版社 2005 6 SPLC501使用说明书 DB PDF 凌阳科技大学计划教育推广中心 2008 7 周勇 付大鹏 刘刚强 新型家用密码锁的研究 J 机械 2002 8 候振鹏 嵌入式 C 语言程序设计 M 北京 人民邮电出版社 2006 年 9 当方 微型计算机控制技术 M 中国水利水电出版社 2001 年 10 李钟实 实用电子报警器精选百例 M 北京 科技技术文献出版社 2002 年 11 夏路易 石宗义 电路原理图与电路板设计教程Protel 99SE M 北京 北京希望电子出版社 2002 12 张齐 单片机应用系统设计技术 基于 C 语言编程 M 北京 电子工业出版社 2006 3 9 附录一 源程序附录一 源程序 include include define uchar unsigned char define uint unsigned int define Mode data P3 define Light P0 uchar mode 0 uchar PWM 0 xfc 赋初值 uint times 0 uchar m 0 uchar code LED 72 0 xFE 0 xFD 0 xFB 0 xF7 0 xEF 0 xDF 0 xBF 0 x7F 0 xBF 0 xDF 0 xEF 0 xF7 0 xFB 0 xFD 0 xFE 0 xFF 0 xFE 0 xFC 0 xF8 0 xF0 0 xE0 0 xC0 0 x80 0 x00 0 x80 0 xC0 0 xE0 0 xF0 0 xF8 0 xFC 0 xFE 0 xFF 0 xFC 0 xF9 0 xF3 0 xE7 0 xCF 0 x9F 0 x3F 0 x9F 0 xCF 0 xE7 0 xF3 0 xF9 0 xFC 0 xFF 0 xE7 0 xDB 0 xBD 0 x7E 0 xBD 0 xDB 0 xE7 0 xFF 0 xE7 0 xC3 0 x81 0 x00 0 x81 0 xC3 0 xE7 0 xFF 0 xAA 0 x55 0 x18 0 xFF 0 xF0 0 x0F 0 x00 0 xFF 0 x00 0 xFF sbit Key P1 0 sbit Key2 P1 1 延时子程序 void Delay uint z uint x y for x z x 0 x for y 110 y 0 y 亮度等级显示子程序 void Data uchar m uchar shu 10 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 Mode data shu m 主程序 void main Light 0 xff 关灯 TMOD 0 x21 T0 模式 2 T1 模式 1 TH0 0 xfc 1ms 中断 TL0 0 x17 TH1 PWM 脉宽调节 TL1 0 EA 1 开总中断 ET0 1 开 T0 T1 中断 10 ET1 1 TR0 1 暂停 T0 中断 Data mode while 1 键盘扫描程序 if Key 0 按键按下 Delay 5 延时消抖 if Key 0 确定按下 if PWM 0 x00 循环等级 PWM 28 亮度等级增加 mode Data mode 显示等级 while 1 跳出消抖 if Key 1 Delay 5 if Key 1 break if Key2 0 按键按下 Delay 5 延时消抖 if Key2 0 确定按下 if PWM 0 xfc 循环等级 PWM 28 亮度等级减小 mode Data mode 显示等级 while 1 跳出消抖 if Key2 1 Delay 5 if Key2 1 break 定时器 0 中断服务程序 void timer0 interrupt 1 times 11 TR1 0 暂停 T0 中断 TH0 0 xfc TL0 0 x17 TH1 PWM 调节脉宽 更改亮度等级 TR1 1 启动 T1 中断 等待结束输出 P0 0 x00 开始输出 if times 300 m times 0 if m 72 m 0 P0 LED m 定时器 1 中断服务程序 void timer1 interrupt 3 TR1 0 P0 0 xff 结束输出 附录二 系统电路图附录二 系统电路图 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论