四位拨动开关控制数码管显示系统设计书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四位拨动开关控制数码管显
示系统设计书
1.设计背景
单片机具有人机对话功能,开关,键盘是实现人机对话的主要输入设备,也是最常用的设备,通过它能发出各种控制指令和数据到单片机。而二极管,数码管,LED显示器是常用的输出设备,单片机接受一系列指令到,执行一定功能后,可通过这些设备输出。为了更好的掌握单片机的硬件特性以及用汇编语言进行编程设计,我们运用目前所学的知识,来设计了一个单片机最小系统——用拨码开关控制数码管显示系统。
2.设计方案
2.1方案一
使用单片机P1口,由4位DIP开关从P1口低四位输入,高四位输出,译码部
分采用74LS247译码器,送往共阳极数码管显示。本方案编程简单,占用I/O端口少,但电路设计较复杂,硬件增多,成本增高。
2.2方案二
本方案的译码部分由单片机编程实现,P1口接共阳数码管,由4位DIP开关从P0口低四位输入,经软件译码,送往P1口,在数码管显示相应的数字。由于译码部分采用了软件实现,省去了译码电路,成本降低,电路设计简单,但编程较方案一复杂,而且占用I/O端口多,占用系统资源。
综合考虑,确定采用方案二实现。
3.方案实施
3.1输入输出电路设计
该设计以AT89S52单片机为核心部件,AT89S52单片机有4个双向的8位并行I/0口,分别记为P0、P1、P2和P3口。本次设计中主要使用P0作为输入口,P1作为输出口。
P0口:P0口为一个8位漏级开路双向I/O口,每个脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
本次设计中主要使用P0作为输入口,P1作为输出口,P1.0~P1.7分别接数码管的a~f及dp,P0.0~P0.3分别与拨码开关的4位相连,P0.4~P0.7接地屏蔽。同时P0口和P1口都要接上拉电阻。电路如图3-1所示。
3.2电源电路设计
本设计中需要用直流电源提供能量,而把交流电源变换为直流稳压电源一般需要经过变压、整流、滤波和稳压四个工作步骤。
设计中采用220V~12V变压器提供12V交流电。
本设计通过2W10桥堆单相桥式整流电路将交流电压变成脉动的直流电压,整流主要利用二极管的单向导电作用来实现的。
由于整流后的电压还有较大的交流成分,因此必须通过滤波电路加以滤除,从而得到比较平滑的直流电压。常见的有电容滤波、电感滤波等电路形式。本设计中采用1000uF 的电容C1并联在负载两端进行滤波。
经过滤波后得到的输出电压还会随电网电压波动、负载和温度的变化而变化,因此,在整流、滤波电路之后,还需要稳压电路,以维持输出电压的稳定。本设计中采用三端集成稳压器7805进行稳压,C3用于防止稳压器自激,取0.1uF,C2和C5用于抑制稳压器的纹波,D1为电源指示灯。
电源电路如图3-2所示。
图3-2 电源电路
3.3时钟电路设计
AT89S52单片机各功能部件的运行都以时钟控制型号为基准,有条不紊、一拍一拍地工作。该设计中的时钟电路采用部时钟方式。AT89S52部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片19引脚XTAL1,输出端为18引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器,图3-3是AT89S52部时钟方式电路。
图3-3 AT89S52部时钟方式电路
电路中的电容C1和C2的选择典型值30pF。该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体振荡器的频率选择12MHz,晶体振荡器的频率越高,系统的时钟频率越高,单片机的运行速度越。另外,在连接电路时,晶体与电容尽可能安装的与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。
3.4复位电路设计
AT89S52的复位是由外部的复位电路实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平有复位电路采样一次,然后才能得到部复位操作所需要的信号。
本设计采用的是按键电平复位方式。通过AT89S52的9引脚RST段经电阻与电源VCC 接通来实现,具体电路如图3-3所示。复位电路中的R和C参数的选取要统一考虑,以保证可靠复位。即要要给AT89S52的复位引脚RST加大于两个时钟周期的高电平信号。本设计中电容C取22uF,R取1K,就可保证单片机可靠复位。
图3-4 按键电平复位电路
3.5软件设计
根据要求:程序先给数码管送数字“8”,然后拨动DIP开关,数码管显示对应的数字“0”-“F”。程序流程图如图3-5所示:
图3-5 程序流程图
根据要求,用汇编语言编写的程序如下:
A_BIT EQU 20H
B_BIT EQU 21H
YI EQU 22H
ER EQU 23H
SI EQU 24H
BA EQU 25H
P1_BUF EQU 26H
ORG 00H
LJMP POWER_ON
ORG 30H
POWER_ON: ;上电程序从此处开始进行
MOV A_BIT,#00H ;初始化寄存器
MOV B_BIT,#00H