




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课课 程程 设设 计计 课程名称 单片机原理与接口技术 题目名称 可调灯光系统程序设计 2015 年 1 月 16 日 目 录 课程设计任务书 1 系统总体设计 3 软件系统设计 3 程序流程图 3 九级调光源程序代码 4 无级调光源程序代码 7 调试结果 10 设计感想与体会 11 1 广东工业大学课程设计任务书广东工业大学课程设计任务书 题目名称 基于单片机与基于单片机与 PWMPWM 技术的可调技术的可调 灯光系统程序设计灯光系统程序设计 学生学院信息工程学院信息工程学院 专业班级 信息工程 应用电子方向 信息工程 应用电子方向 1212 1 1 班班 姓 名翁桂林翁桂林 学 号 一 课程设计的内容 本次课程设计的内容从下面两个方面任选一个 一是在学院的单片机实验平台上进行 开发一 个基于单片机与 PWM 技术的灯光调节系统 主要开发内容为按键定义 输入与防抖动技术 PWM 调 节技术以及显示技术等程序设计 二是利用 51 系列单片机及必要的外围芯片 输入输出等接口电路 设计开发一个简易的单片机系统 在此基础上 自行设计一个单片机应用程序来实现一些实用的功 能 通过这些内容的设计 开发 安装 调试等一系列工作 熟练掌握单片机系统的开发流程与工 作机理 加深对所学课程知识的理解与把握 为将来相关的研究开发工作打下坚实的基础 二 课程设计的要求与数据 1 全面掌握硬件结构与电路原理 2 自行设计开发 编辑 调试应用程序 3 必须有完善的功能介绍与调试过程说明 4 提供完整的软件流程框图 5 提供完整的程序清单 三 课程设计应完成的工作 1 硬件理解与安装调试 2 软件设计与开发 调试 3 软硬件联合调试与实验 4 按照学校要求撰写并上交完整的课程设计报告 5 完成课程设计答辩 2 四 课程设计进程安排 序号设计各阶段内容地点起止日期 1 查找资料 熟悉硬件电路或实验平台的资源 图书馆或实验 1 号馆 404 2015 年 1 月 5 日 7 日 2 整体方案设计 输入输出通道定义 方案一 或硬件安装 调试与检查 方案二 宿舍或 实验 1 号馆 404 1 月 8 日 9 日 3 软件设计与流程图编写 宿舍或 实验 1 号馆 404 1 月 10 日 4 程序编写 宿舍 实验 1 号馆 404 1 月 11 日 12 日 5 软件调试 与硬件联合调试 宿舍或 实验 1 号馆 404 1 月 13 日 6 撰写课程设计报告 宿舍或 实验 1 号馆 404 1 月 14 日 7 课程设计答辩 实验 1 号馆 404 1 月 15 日 16 日 五 应收集的资料及主要参考文献 1 吴宁 80X86 Pentium 微型计算机原理及应用 M 北京 电子工业出版社 2004 1 249 2 蔡美琴 MCS 51 系列单片机系统及其应用 M 北京 高等教育出版社 2003 1 169 3 段晨东 单片机原理与接口技术 M 北京 清华大学出版社 2013 1 333 4 吴黎明等 单片机实验指导书 M 广州 广东工业大学教材科 2014 发出任务书日期 发出任务书日期 20152015 年年 1 1 月月 5 5 日日 指导教师签名 指导教师签名 计划完成日期 计划完成日期 20152015 年年 1 1 月月 1616 日日 基层教学单位责任人签章 基层教学单位责任人签章 主管院长签章 主管院长签章 3 一 系统总体设计系统总体设计 设计背景设计背景 现当今 单片机的应用无处不在 利用单片机控制灯具的实例也不胜枚举 可控制灯具的芯片也相当之多 而利用单片机控制灯具 达到人们预想效果的方法最 为广泛 它有功能多 价格优 外部电路简单的特点 深受单片机爱好者及灯具控制制造商 的青昧 用 80C51 单片机及少数外部电路控制灯光 使灯具产生明暗效果 本次课设基于 AMC51 单片机综合开发系统 利用单片机的定时中断生成不同的 PWM 波 形 通过调整 PWM 的周期 PWM 的占空比从而控制输出平均电压 进而达到对电灯进行光 度亮暗的控制调节的效果 实现对电灯的 PWM 调光控制 完成的功能及效果与目标 完成的功能及效果与目标 电灯 9 级 PWM 亮度调节 设计思路 设计思路 AMC51 单片机综合开发系统 利用单片机的定时中断生成不同的 PWM 波形 设置为手动控制 分三个按键 九级调光 通过输出不同的 PWM 占空比对电灯进行控制 从 而实现对光度的调节 进行电灯的亮度调节 其中 K1 键增加亮度 K2 键降低亮度 K3 档实 现电灯的开关控制 工作原理 工作原理 对于控制电灯由亮到暗或由暗到亮 采用的是脉宽 PWM 法 它是把每一脉冲 宽度均相等的脉冲列作 PWM 波形 通过改变脉冲占空比可以调压 采用适当控制方法即可使 电压与频率协调变化 可以通过调整 PWM 的占空比而达到控制电流的目的 PWM 简介 简介 脉冲宽度调制 PWM 是英文 Pulse Width Modulation 的缩写 简称脉宽调制 是利 用 微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术 广泛应用在从 测 量 通信到功率控制与变换的许多领域中 2 软件系统设计软件系统设计 1 源程序流程图源程序流程图 4 2 源程序源程序 九级调光源程序九级调光源程序 DIRLOP EQU 38H 显示字节数 LDAN EQU 58H 电灯亮度档值 T2H EQU 59H T1 高 8 位定时值存储器 T2D EQU 5AH T1 低 8 位定时值存储器 LAMP EQU P1 2 电灯控制位 ORG 0000H AJMP START ORG 000BH LJMP TIME1 T0 中断程序 产生 PWM 基频 ORG 001BH LJMP TIME2 T1 中断程序 控制脉冲宽度 ORG 0030H 5 START SETB LAMP 程序初始化 MOV A 0 MOV LDAN A MOV TMOD 11H 设定两定时器为 16 位定时器 MOV IE B 开启两定时器的中断请求 MOV TH0 0FCH 设定 PWM 基频 500Hz MOV TL0 18H SETB TR0 启动计数器 T0 MAIN ACALL KEY 调动键扫描子程序 ACALL TRANS 调动显示拆字子程序 ACALL DISP 调动串行显示子程序 ACALL DLYK 调动 20ms 延时程序 NOP NOP SJMP MAIN KEY MOV P2 0FFH 向 P2 口写 1 准备读取数据 NOP NOP KEY1 JNB P2 0 K1 判断电灯变亮或变暗 JNB P2 1 K2 JNB P2 2 K3 BACK ACALL DONE 调用亮度值到 PWM 定时值转换程序 RET K1 ACALL DLYK 按键防抖动延时 JB P2 0 BACK J1 JNB P2 0 J1 亮度档值加 1 INC LDAN MOV A LDAN CJNE A 9 BACK 限定最高档值为 8 DEC LDAN SJMP BACK K2 ACALL DLYK 按键防抖动延时 JB P2 1 BACK J2 JNB P2 1 J2 亮度档值减 1 MOV A LDAN CJNE A 0 J22 SJMP BACK J22 DEC LDAN 按键防抖动延时 SJMP BACK K3 ACALL DLYK JB P2 2 BACK J3 JNB P2 2 J3 开关电灯 CPL TR0 NOP 6 NOP SETB LAMP SJMP BACK DLYK MOV R4 4AH 20ms 定时程序 DLYK1 MOV R5 62H DLYK2 DJNZ R5 DLYK2 DJNZ R4 DLYK1 RET DONE MOV A LDAN 亮度值到 PWM 定时值转换程序 CJNE A 0 DJ0 RET DJ0 CJNE A 1 DJ1 设定 1 档定时值 MOV T2H 0FFH MOV T2D 83H RET DJ1 CJNE A 2 DJ2 设定 2 档定时值 MOV T2H 0FFH MOV T2D 06H RET DJ2 CJNE A 3 DJ3 设定 3 档定时值 MOV T2H 0FEH MOV T2D 89H RET DJ3 CJNE A 4 DJ4 设定 4 档定时值 MOV T2H 0FEH MOV T2D 0CH RET DJ4 CJNE A 5 DJ5 设定 5 档定时值 MOV T2H 0FDH MOV T2D 8FH RET DJ5 CJNE A 6 DJ6 设定 6 档定时值 MOV T2H 0FDH MOV T2D 12H RET DJ6 CJNE A 7 DJ7 设定 7 档定时值 MOV T2H 0FCH MOV T2D 95H DJ7 RET TIME1 MOV TH0 0FCH 定时中断 0 MOV TL0 18H PUSH ACC 7 PUSH PSW MOV A LDAN CLR P1 2 开灯 CJNE A 0 TM1 0 档时立刻关掉电灯 SETB P1 2 SJMP TBACK TM1 CJNE A 8 TM2 8 档时亮度调到最大 CLR TR1 关闭定时器 1 SJMP TBACK TM2 MOV TH1 T2H 1 至 7 档时输入 T2 定时值控制脉冲宽度 MOV TL1 T2D SETB TR1 启动定时器 1 TBACK POP PSW POP ACC RETI TIME2 SETB P1 2 关掉电灯 CLR TR1 关闭定时器 1 RETI TRANS MOV 3CH LDAN 亮度档值显示拆字 MOV 3EH 16 MOV 3FH 17 RET DISP MOV DIRLOP 4 串行显示程序 4 位数码管 MOV R0 3FH 3CH 到 3FH 是显示缓冲区 DL0 MOV A R0 MOV DPTR TAB MOVC A A DPTR 查得相应的七段代码 MOV SBUF A 串行发送 DL1 JNB TI DL1 CLR TI DEC R0 DJNZ DIRLOP DL0 RET TAB DB 0FCH 60H 0DAH 0F2H 66H 0B6H 共阴七段数码管代码表 DB 0BEH 0E0H 0FEH 0E6H 0EEH 03EH 9CH DB 7AH 9EH 8EH 02H 1CH END 无级调光源程序无级调光源程序 DIRLOP EQU 38H 显示字节数 DISP0 EQU 39H 串行显示寄存器 0 DISP1 EQU 3AH 串行显示寄存器 1 DISP2 EQU 3BH 串行显示寄存器 2 8 LDAN EQU 58H 电灯亮度档值 T2H EQU 59H T1 高 8 位定时值存储器 T2D EQU 5AH T1 低 8 位定时值存储器 LAMP EQU P1 2 电灯控制位 ORG 0000H AJMP START ORG 000BH LJMP TIME1 T0 中断程序 产生 PWM 基频 ORG 001BH LJMP TIME2 T1 中断程序 控制脉冲宽度 ORG 0030H START SETB LAMP 程序初始化 MOV A 0 MOV LDAN A MOV DISP0 A MOV DISP1 A MOV DISP2 A MOV TMOD 11H 设定两定时器为 16 位定时器 MOV IE B 开启两定时器的中断请求 MOV TH0 0FCH 设定 PWM 基频 500Hz MOV TL0 18H SETB TR0 启动计数器 T0 MAIN ACALL KEY 调动键扫描子程序 ACALL TRANS 调动显示拆字子程序 ACALL DISP 调动串行显示子程序 ACALL DELAY100 调动 20ms 延时程序 NOP NOP SJMP MAIN KEY MOV P2 0FFH 向 P3 口写 1 准备读取数据 NOP NOP KEY1 JNB P2 0 K1 判断电灯变亮或变暗 JNB P2 1 K2 JNB P2 2 K3 BACK ACALL DONE 调用亮度值到 PWM 定时值转换程序 RET K1 ACALL DELAY100 按键防抖动延时 JB P2 0 BACK J1 亮度档值加 1 INC LDAN MOV A LDAN CJNE A 0 BACK 限定最高档值为 255 DEC LDAN 9 SJMP BACK K2 ACALL DELAY100 JB P2 1 BACK J2 亮度档值减 1 MOV A LDAN CJNE A 0 J22 SJMP BACK J22 DEC LDAN SJMP BACK K3 ACALL DELAY100 JB P2 2 BACK J3 JNB P2 2 J3 开关电灯 CPL TR0 NOP NOP SETB LAMP SJMP BACK DLYK MOV R4 2AH 20ms 定时程序 DLYK1 MOV R5 32H DLYK2 DJNZ R5 DLYK2 DJNZ R4 DLYK1 RET DELAY100 MOV R4 7AH 小延迟程序 DLYK101 MOV R5 20H DLYK102 DJNZ R5 DLYK102 DJNZ R4 DLYK101 RET DONE MOV A LDAN 亮度值到 PWM 定时值转换程序 CJNE A 0 DJ0 RET DJ0 MOV B 2H 亮度值转化为定时器初始值 MUL AB CPL A MOV R1 A MOV A B CPL A MOV R2 A MOV T2H R2 MOV T2D R1 RET TIME1 MOV TH0 0FCH 定时中断 0 MOV TL0 18H 10 PUSH ACC PUSH PSW MOV A LDAN CLR P1 2 开灯 CJNE A 0 TM1 0 档时立刻关掉电灯 SETB P1 2 SJMP TBACK TM1 CJNE A 0 TM2 255 档时亮度调到最大 CLR TR1 关闭定时器 1 SJMP TBACK TM2 MOV TH1 T2H 输入不同的 T2 定时值控制脉冲宽度 MOV TL1 T2D SETB TR1 启动定时器 1 TBACK POP PSW POP ACC RETI TIME2 SETB P1 2 关掉电灯 CLR TR1 关闭定时器 1 RETI TRANS MOV A LDAN 将 LDAN 转化为十进制数 MOV B 64H DIV AB MOV DISP2 A MOV A 0AH XCH A B DIV AB MOV DISP1 A MOV DISP0 B MOV 3CH 16 RET DISP MOV DIRLOP 4 串行显示程序 4 位数码管 MOV R0 3CH 3CH 到 3FH 是显示缓冲区 DL0 MOV A R0 MOV DPTR TAB MOVC A A DPTR 查得相应的七段代码 MOV SBUF A 串行发送 DL1 JNB TI DL1 CLR TI DEC R0 DJNZ DIRLOP DL0 RET TAB DB 0FCH 60H 0DAH 0F2H 66H 0B6H 共阴七段数码管代码表 DB 0BEH 0E0H 0FEH 0E6H 0EEH 03EH 9CH DB 7AH 9EH 8EH 1CH 11 END 三 调试结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暑假新课预习练:填空题(含解析)-2024-2025学年人教版二年级数学下学期
- 人教版八年级英语上册Unit9达标测试卷(含答案)
- 老年人玩智能手机课件
- 老年人消费课件
- 醉翁亭记课件内容
- 期末专项训练:完形填空(含答案解析)-人教版八年级英语下册
- CN120199667A 一种x射线管组件装置
- 老干妈商业知识培训课件
- 老干妈商业知识培训内容课件
- CN120197918A 一种基于大数据的城市分布式储能调度方法及系统
- 2025-2030中医药大健康产业链整合与投资机会分析报告
- 2025年第九届“学宪法、讲宪法”知识竞赛题库及答案(中小学组)
- 2025年大型上市公司合同管理与合规制度
- 送瘟神教学课件
- 2025四川省公安厅招聘辅警(448人)笔试备考题库及答案解析
- 部编人教版小学语文六年级上册【课内外阅读理解专项训练(完整)】含答案
- 2025年内容分发网络(CDN)行业当前市场规模及未来五到十年发展趋势报告
- 故宫博物馆院课件
- 豌豆栽培种植技术
- 3.1生活在新型民主国家 教案 -2025-2026学年统编版道德与法治九年级上册
- 2025年低压电工理论考试1000题(附答案)
评论
0/150
提交评论