河北建筑工程学院本科毕业设计(论文)学科专业机械电子工程班级机电102班姓名冯立岗指导教师张东辉摘要本设计是基于51系列的单片机进行的单片机实验仿真系统设计,可以进行键盘输入显示、计数器、流水灯、LCD显示字符、抢答器等八个实验的仿真。
单片机实验仿真系统的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,4×4键盘阵列,七段数码管显示,8×8LED显示模块,16×16LED点阵显示模块,流水灯模块,LCD液晶模块,以及抢答器按键电路等组成,系统通过LED及LCD显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
由于本设计实验项目有多个,考虑到汇编语言并不适于比较繁琐的程序的编写,故本系统以单片机的C 语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现实验的选取及显示功能。
所有程序在Keil软件编写完成后调试编译最后生成hex格式的文件导入到Proteus 软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:AT89C51;流水灯;抢答器;键盘ABSTRACTIt is a design of single chip experimental simulation system based on the 51 series single chip. It can perform eight experimental simulations including the keyboard input display, counter, water lights, LCD display character, responder.This design’s process is designed to synchronize the hardware and software aspects. The hardware part is mainly composed of AT89C51 microcontroller,4*4 keyboard array, seven segment LED display, 8*8 LED display module, 16*16 dot matrix display module, water light module, LCD liquid crystal module and responder key circuit and other components. The system displays the data via LED and LCD, so it has humanized operation and intuitive display effect. The software includes a clock procedure, the keyboard procedure and the display procedure. Since there are many experimental projects in this design, assembly language does not take into account the relatively cumbersome procedures for the preparation, and the system is designed of the microcontroller C language. In order to facilitate the expansion and change, the software is designed with modular structure, so that the logic programming is more concise and easier to realize the experimental selection and display. All the programs are debugged and compiled after the completion of the written of the keil software. And the final completed files of hex form are debugged in the Proteus software. When there is no problem, embedded the microcontroller into the Proteus software to simulate.Key words: AT89C51;water lights;responder;keyboard目录第1章前言 (1)1.1 单片机现状及发展概述 (1)1.2 单片机的性能特点 (2)1.3 AT89系列单片机简介 (2)1.4 单片机实验仿真系统 (3)第2章 Proteus和Keil软件 (4)2.1 Proteus与Keil的历史及联合仿真 (4)2.2 Proteus与Keil的联合仿真的优势 (5)2.3 Proteus与Keil的使用 (6)2.3.1 Keil C软件的使用 (6)2.3.2 Proteus仿真软件的使用 (9)第3章系统总体设计及方案的确定 (10)3.1 单片机实验仿真系统实验项目的设计 (10)3.2 系统总体设计 (11)3.3 系统总线的设计 (11)3.3 系统设计用到的元件 (12)第4章硬件及电路原理图的设计 (12)4.1 单片机最小系统设计 (12)4.2 流水灯的设计 (14)4.3 4×4矩阵键盘扫描与显示 (14)4.3.1键盘处理 (14)4.3.2 LED显示 (16)4.4 INT0中断三位计数器演示实验 (18)4.5 LCD液晶屏的字符显示实验 (19)4.5.1 液晶显示简介 (20)4.5.2 1602字符型LCD简介 (21)4.5.3 1602LCD的指令说明及时序 (21)4.5.4 1602LCD的指令说明及时序 (23)4.5.5 1602LCD的RAM地址映射及标准字库表 (25)4.5.6 1602LCD的一般初始化(复位)过程 (26)4.6 点阵显示字符实验 (27)4.6.1 LED简介 (28)4.6.2 LED点阵 (29)4.6.3点阵显示原理 (29)4.6.4 显示屏的原理图及结构 (30)4.6.5 显示屏的实验内容 (31)4.7 数码管动态显示实验 (32)4.8 8位计数器实验 (33)第5章系统的软件设计 (34)5.1 系统软件设计流程图 (34)5.2 单片机实验仿真系统原理图 (35)5.3 系统主程序 (36)第6章单片机实验仿真系统的仿真与调试 (38)6.1 利用Keil进行源程序的编译及调试 (38)6.2 利用Proteus调试电路检查系统的运行情况 (39)6.3 单片机实验仿真系统的运行及调试结果 (40)第7章毕业设计小结 (44)参考文献 (46)附录 (47)附:英文原文英文翻译毕业实习报告指导教师:张东辉设计项目计算与说明结果2.3.1 KeilC软件的使用创建工程: Keil C 把用户的每个工程都当作一个项目。
当打开一个项目时,所有相关联的程序也进入了调试窗口。
即使是只有一个源程序,没有工程也不能进行编译、链接和仿真。
图2-1新建keil项目图2-2选择目标CPU编辑源程序文件:1)选择【文件】菜单下的【新建】或者单击工具栏中的图标,出现文本编辑窗口。
2)在该窗口输入所要设计的源程序。
3)选择【文件】菜单下的【保存】,弹出“另存设计项目计算与说明结果为”对话框,选择要保存的路径并输入文件名。
注意一定要输入扩展名。
图2-3 保存源程序对话框将源程序加入到项目中:图2-4 加入文件菜单最后要设置编译生成的HEX文件:设计项目计算与说明结果2.3.2 Proteus仿真软件的使用图2-5 设置【输出】对话框2.3.2 Proteus仿真软件的使用Proteus软件界面的介绍:图2-6 ISIS的工作窗口1)编辑窗口编辑区用来绘制原理图和编辑电路的。
该窗口没有滚动条。
2)预览窗口该窗口显示两个内容:当单击对象选择框中的某个对象,它显示该元件的预览图;当单击工具栏中的按钮,它显示整张原理图的缩略图。
设计项目计算与说明结果3.1 单片机实验仿真系统实验项目的设计3)对象选择器用来选择元器件、终端、标注、图表、虚拟仪器和信号发生器。
对象选择器的上方有一个标签,其中左上角的“P”为对象选择按钮,通过此按钮可以在库中找到自己需要的对象。
常用工具按钮的功能图2-7常用工具按钮的功能建立并保存设计文件:在PROTEUS ISIS 的编辑环境中,选择【File 】菜单下的【New Design 】选项,则弹出新建设计的对话框。
对话框中提供了多种模板,选择所需模板,即可进入新文件的编辑状态。
将所需元器件加入到对象选择器窗口:从元件库中选取单击元件区列表上的“P” 按钮:或者菜单中的【Library 】下的【Pick Device/Symbol 】选项,弹出元器件选择页面,则在预览区可看到所选择的元件列表,选中所需元件,所选中的元件将加入到ISIS 元件列表中。
第3章 系统总体设计及方案的确定3.1 单片机实验仿真系统实验项目的设计根据设计任务书要求可实现的实验项目可包括抢设计项目计算与说明结果3.2 系统总体设计3.3 系统总线的设计答器、4x4矩阵式键盘的输入及显示、三位计数器、流水灯、LCD液晶屏显示、8x8LED点阵显示。
3.2 系统总体设计考虑到AT89C51系列单片机只有3个并行口,故在设计电路的时候并不能满足各个实验同时连接到单片机,造成了其他的实验项目没有接口可用,所以本设计采用三总线结构来连接各个实验到单片机,以实现根据不同的输入情况运行不同的实验。
同时对各个实验进行分开设计,即对各个实验的电路进行独立设计,最后通过总线与单片机相连,可实现根据需要通过总线与单片机接通实现其功能。
图3-1 系统各模块连接图3.3 系统总线的设计本设计采用总线连接各实验相关模块,数据总线采用P0口来实现数据的读操作与写操作,用P2口作为地址总线的高8位地址,P0口接74HC373锁存器来锁存低8位地址信号,本设计实验项目有8个故为了方便从低8位开始排址,即第一个模块的地址接P0.0口(地址标号:A0)第二个模块依次排列,P1口作为机动控制线,即根据各个实验的不同要求使用。