单片机课程设计报告
题 目: 控流水灯
摘
单片机种集成电路芯片采超规模技术具数处理力微处理器机存取数存储器读程序存储器输入输出电路包括定时计数器串口通信口显示驱动电路脉宽调制电路模拟路转换器AD转换器等电路集成块芯片构成完善计算机系统电路软件控制准确迅速高效完成程序设计者事先规定务控流水灯设计通编写代码实现8LED灯5种流水灯显示方式设计中采80C51款芯片作控制体发光二极作显示灯钮切换流水灯发光方式时外接七段显示发光二极显示流水灯发光模式系统通P2口外接8发光二极P1口接3键键进行方式选择数码显示方式编号两键控制流水灯流动速度数码接80C51P0口流水灯放光二极排阻接P2口设计中辅简单设备必电路设计款流水灯终达预期目
关键词 单片机80C51 发光二极 流水灯
目 次
1 引言 1
2 课题综述 1
21课题源意义 1
22面问题 1
3 系统设计 1
31总体设计 1
32模块设计 2
33硬件设计 5
4 代码编写 6
5 系统调试 7
6 系统运行结果分析 7
结 9
致 谢 10
参 考 文 献 11
附录 12
1 引言
单片机控制系统够取代前利复杂电子线路者数字电路构成控制系统软件控制实现够实现智化现单片机控制范畴例通信产品家电器智仪器仪表程控制专控制装置等等单片机应领域越越广泛
2 课题综述
21课题源意义
着济发展科技突飞猛进芯片业迅速发展单片机技术种民工业控制等领域更广泛应单片机低成高性代优势已成微电脑 控制力军学单片机效方法理实践重通单片机控流水灯设计研究鼓励学生熟悉基原理前提实际应相联系提出方案完善设计更掌握单片机应
22面问题
次课程设计求8LED灯设计5种流水灯显示方式键进行方式选择数码显示方式编号两键控制流水灯流动速度
解决问题流水灯显示方式设计LED灯驱动问题七段显示数码驱动问题系统外界钮相应问题面问题展开述
3 系统设计
31总体设计
实现课题80C51作控制体八阳极发光二极作LED显示流水灯七段显示数码显示流水灯显示方式外接三钮中键进行方式选择数码显示方式编号两键控制流水灯流动速度外接晶振提供外接时钟脉系统外连接串口美信公司MAX232芯片完成
模块图:
体控
制模块
流水灯模块
时钟模块
显示模块
串口模块
钮控制模块
图31 系统模块图
流程图:
开始启动
选择模式
结束
流水灯发光
数码显示模式
图32系统流程图
32模块设计
321体控制模块
芯片80C51核心P0P1P2P3口均作IO口数码拉电阻接80C51P0口P2口外接8发光二极P1口接3键键进行方式选择数码显示方式编号两键控制流水灯流动速度
图33体控制模块图
322键控制模块
键控制模块采独立式键接口设计独立式键键占根IO端线特点:键相互独立电路配置灵活键数量较时IO端线耗费较电路复杂软件结构简单
键抖动问题:键盘抖动时间般5~10ms抖动现象会引起CPU次键操作进行次处理产生错误
软件抖动:检测键执行延时子程序确认否确实消抖动影响
图34钮控制模块图
323时钟模块
时钟电路产生单片机工作时需时钟信号芯片外部通18脚19脚接晶体振荡器微调电容形成反馈电路构成稳定激振荡器电路中C1C2取30Pf左右二晶体振荡器频率范围通常1212MHZ晶体振荡器频率越高振荡频率越高
图35时钟模块图
324 显示模块
显示模块体八段显示数码阳极数码8发光二极阳极(二极正端)连接起通常公阳极接高电(般接电源)脚接段驱动电路输出端某段驱动电路输出端低电时该端连接字段导通点亮根发光字段组合显示出种数字字符
图34显示模块图
325流水灯模块
发光二极LED种磷化镓等半导体材料制成直接电转换成光发光显示器件部定电流通时发光发光二极具功耗低体积性高寿命长相应快等优点
流水灯模块采8LED发光二极通代码编写实现五种流水移动中电阻作保护二极提供较电流防止二极电流烧毁
设计中发光二极阳极接法需初值断左移会LED轮流点亮实现流水灯功种模式应初值:#0FEH #0FCH#0F8H#0FAH#0F5H
图35流水灯模块图
326 串口模块
MAX232芯片美信公司专门电脑RS232标准串口设计单电源电转换芯片+5v单电源供电
图36串口模块图
33硬件设计
图37硬件连接图
4 代码编写
方式1:灯亮左移
FS1 MOV A#0d7H
SETB P13
MOV P0A 数码显示数字1
CLR P13
MOV R2#08H
MOV A#0FEH
LOOP1 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP1
LCALL WAIT
流水灯流水功:发光二极阳极接法初值断左移会LED轮流点亮实现流水灯功15种模式应初值:#0FEH #0FCH#0F8H#0FAH#0F5H
数码方式显示:
MOV A#0d7H
SETB P13
MOV P0A 数码显示数字1
CLR P13
中方式1中数码显示数字1方式25中段码分:#04CH#045H#87H#25H数码分显示2’3’4’5’
调延时程序DELAY
DELAY
MOV R7#0FFH 1S
DELAY1MOV R6#0FFH
DELAY0
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6DELAY0
DJNZ R7DELAY1
RET
调WAIT程序判断否第键果开始进行流水灯流水功
WAIT
FDG MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLET判断S1否
JMP FDG
LET LCALL DE
MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLEFT 判断S1否
JMP FDG
LEFT MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLEFT 判断S1否
RET
5 系统调试
通编写代码keil进行编译编写时候中英文输入切换导致空格全角符号编译错误语句MOV A#0FEH’中没加0编译出错程序烧入单片机中时直成功老师帮助更换芯片终成功烧入程序运行数码正常显示段码值应终修改#0d7H#04CH#045H#87H#25H正常显示1 2 3 4 5
6 系统运行结果分析
通USB线接通提供电源数码led灯正常显示第键数码显示1led灯灯亮形式开始左移显示完毕次第键数码显示2led灯两灯亮形式开始左移类似够显示5种方式程序完善外控制速度键没实现功已显示方式时候第种时进行中时候第键想进行第二种方式时候起作需等第种方式显示完毕键效需改进代码完善程序
结
通次课程设计学知识认识问题时意识重问题课程设计前准备工作重包括提前预设计题目网图书馆查阅资料清楚知道资料重否新颖题目面前手通准备工作样保正设计时候充足准备会真正开始课程设计时候着题目发呆没什进展觉学种态度学中直种态度
外发现次控流水灯设计前学数码显示led灯等知识仅次运次花心思复前学知识点运初相互结合知识点知识点联系起学处
程序设计程中遇问题刚开始代码调试时候直会存错误失时候通老师帮助次修改终程序代码改代码烧入芯片中数码显示等问题面花费时间没头绪终老师帮助帮代码进行修改完成控流水灯基功
总说次设计获益胜次课程设计团队合作仅团结合作学知识更加学会沟通仅培养实践力培养设计思维时锻炼动手实际操作力摸索该设计电路实现需功程中锻炼运学知识灵活性加深知识理解提高解决问题力体会设计电路艰辛时更体会成功喜悦快乐
次设计中学享受中乐趣次课程设计中解流水灯设计玩前路夜景中流水灯复杂现编程知道原理相信器件允许完成种效果
致 谢
次课程设计首先感谢淮阴工学院计算机工程工程学院正提供次实践机会锻炼机会进步学巩固学知识点觉次难机会相信学校者专业学定机会
然感谢担单片机课程设计老师金鹰 戴峻峰 王福德 张粤老师天会课程设计教室指导设计课程设计中遇问题总会认真帮助解答疑难老师会懂时候放弃手头工作旁边指导提醒遍遍直弄懂止真十分感谢更加令感动编写程序时候会碰问题老师细心帮解答纠正直接说明错误间接引导找出错误设计中进行感受老师心认真通老师帮助次修改终程序代码改代码烧入芯片中数码显示等问题面花费时间没头绪终老师帮助帮代码进行修改完成控流水灯基功觉真应该感谢老师付出时间精力较耐心指导没见耐烦真行动感动
然会忘记学遇疑难时候总会乐意帮助解答难题会动资料庆幸学感谢
感谢实践点工作员提供环境舒服环境中做程序种享受
必须感谢提供帮助参考文献作者编书籍受益匪浅真感谢帮助
参 考 文 献
1 康华光电子技术基础数字部分(第五版)高等教育出版社2006
2 严天峰单片机应系统设计仿真调试北京北京航空航天学出版社2005
3 李广弟朱秀月冷祖祁单片机基础(第三版)北京北京航空航天学出版社2007
4 胡汉单片机原理系统设计 北京清华学出版社2002
5 南建辉熊鸣王军茹MCS51单片机原理应实例 北京清华学出版社2004
附录
ORG 0000H
START MOV AP1 读入P1口状态
ANL A#10H 屏蔽效位
MOV P0#0FFH
CLR P13
LCALL WAIT
FS1 MOV A#0d7H
SETB P13
MOV P0A 数码显示数字1
CLR P13
MOV R2#08H
MOV A#0FEH
LOOP1 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP1
LCALL WAIT
FS2 MOV A#04CH
SETB P13
MOV P0A 数码显示数字2
CLR P13
MOV R2#8H
MOV A#0FCH
LOOP2 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP2
LCALL WAIT
FS3 MOV A#045H
SETB P13
MOV P0A 数码显示数字3
CLR P13
MOV R2#8H
MOV A#0F8H
LOOP3 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP3
LCALL WAIT
FS4 MOV A#87H
SETB P13
MOV P0A 数码显示数字4
CLR P13
MOV R2#8H
MOV A#0FAH
LOOP4 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP4
LCALL WAIT
FS5 MOV A#25H
SETB P13
MOV P0A 数码显示数字5
CLR P13
MOV R2#8H
MOV A#0F5H
LOOP5 MOV P2A
LCALL DELAY
RL A
DJNZ R2LOOP5
LJMP START
DELAY MOV AP1 读入P1口状态
ANL A#60H
CJNE A#20HDELAY2 S2否
MOV R7#0FFH 1S
DELAY1MOV R6#0FFH
DELAY0
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6DELAY0
DJNZ R7DELAY1
RET
WAIT
FDG MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLET判断S1否
JMP FDG
LET LCALL DE
MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLEFT 判断S1否
JMP FDG
LEFT MOV AP1 读入P1口状态
ANL A#10H
CJNE A#10HLEFT 判断S1否
RET
DELAY2CJNE A#40HERR 断S3否
MOV R7#0FFH 时1S
DELAY3MOV R6#0FFH
DELAY4
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6DELAY4
DJNZ R7DELAY3
RET
DE
MOV R7#28H
LP6 MOV R6#064H
DJNZ R6
DJNZ R7LP6
RET
ERR
END
指导教师评语
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档