模拟汽车尾灯动作-单片机系统课程设计报告+51软件程序设计源码:
目 录
1 概述 1
1.1 课程设计内容和要求 1
1.2课程设计思路 1
1.3 开发环境 2
2硬件设计 3
2.1 PROTEUS电路设计 3
2.1.1复位电路 3
2.1.2 时钟电路 4
2.1.3 发光二极管显示电路 4
2.1.4 按键电路 5
2.1.5 数码管显示电路 6
2.1.6 总电路 6
2.2 主要芯片简介 7
3 软件设计 10
3.1 主程序设计 10
3.2 各子程序设计 11
3.2.1数码管显示子程序设计 11
3.2.2键盘扫描子程序设计 12
4 仿真与调试 13
4.1仿真测试 13
4.2 实验箱测试 16
参考文献 18
附录 关键部分程序清单 19
一共有6只尾灯,分别为左右各3只尾灯,当按下左转键后左侧3只尾灯依次点亮,同时数码管开始从0到9开始计时,从0到9数字显示完后,左侧3只数码管同时熄灭。当按下右转键后右侧3只尾灯依次点亮,同时数码管开始从0到9开始计时,从0到9数字显示完后,右侧3只数码管同时熄灭。当按下刹车键后6只数码管同时开始闪烁,同时数码管开始从0到9开始计时,从0到9数字显示完后,6只汽车尾灯同时熄灭。当按下正常行驶键后,6只汽车尾灯无任何变化,数码管显示数字0。
由要求可知,需要设置4个功能键,需要6个发光二极管,用3只表示左侧尾灯,3只表示右侧尾灯。
(2)课程设计要求
1.独立完成课程设计任务;
2.通过老师当场验收;
3.交出完整的课程设计报告。
1.2课程设计思路
程序由延时函数,计时中断函数,数码管显示函数,输出函数组成。
整个系统的电路包括单片机、按键电路、复位电路、时钟电路、发光二极管显示电路,数码管显示电路这六部分组成。需要的操作及现象为:按下功能键后,二极管出现相应现象,数码管计时或无现象。
1.3 开发环境
(1)硬件环境:伟福LAB8000实验箱。用于检验代码及Proteus仿真的正确性。
(2)软件环境:Keil、Proteus应用软件。Proteus是用于电路图仿真的软件,Keil用于编码,即能生成HEX文件,并将HEX文件添加进Proteus的单片机中实现仿真,也能将代码下载到实验箱。
(3)使用说明:
keil: 首先创建一个空文件夹,点击“project --- New uVision Project”新建一个工程;并为其命名为“汽车尾灯”,在出现的对话框的Search中输入Intel,点击“+”号在下拉菜单中选择8051AH,这就创建了一个工程,还需要创建文件,点击菜单栏中的File后点击New,出现一个白色界面,将之保存在“汽车尾灯”文件夹下,文件名的后缀为led.c。如果用汇编语言编程就用.ASM后缀,因为课设要求用C语言编程所以后缀选择led.c。
保存好文件后点击ADD将led.c文件添加进Test工程中。如此便可开始编程了。如需生产HEX文件,则右键点击Target 1,选择options for target“ Target 1”,后点击Output,将Create HEX File打钩。之后运行、编译程序后便会自动生成HEX文件。
Proteus:新建工程,画好电路图后双击80c51,在program file处选择led.hex,点击确定,点击左下角三角形处运行仿真。