基于单片机串口控制显示系统--袁蜀怀_第1页
基于单片机串口控制显示系统--袁蜀怀_第2页
基于单片机串口控制显示系统--袁蜀怀_第3页
基于单片机串口控制显示系统--袁蜀怀_第4页
基于单片机串口控制显示系统--袁蜀怀_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课 程 设 计 课程名称:单片机原理与应用 课题名称:基于串口控制的显示系统设计 专业: 测控技术与仪器 班级: 测控1102班 学号: 姓名: 袁蜀怀 指导老师: 李凤玲 设计日期: 2014.01.052014.01.18 1前言(引言) 1.设计背景随着MCS-51单片机的发展,它的应用已经从单机逐渐转向多机,而串行通信是一种能把二进制数据按位传送的通信,所需传输线少,特别适用于分级、分层和分布式控制系统以及远程通信中,是单片机之间的主要通信方式。51单片机除了含有4个并行I/O接口外,还有一个全双工的串行接口。在计算机技术和电子技术的飞速发展和广泛应用的同时,电器设备的输出显示技术也

2、变得复杂多样,诸如CRT显示、LCD显示、多位LED显示及发光二极管显示等应运而生。在这些显示当中,LED显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。在数码管数目较少时,我们通常用单片机并口控制,但是当显示需要较多的数码管时,如果改用串口控制,就会使系统硬件电路得以简化,降低了传送的成本,体积也会相对减小,而可靠性也会得到提高。同时系统的更改和扩充也更为容易。通过我们所学的MCS-51单片机的相关知识,综合其他软件的学习,设计一个基于单片机串口控制的显示系统(基于所学知识以及实际情况,决定采用数码

3、管来做显示系统)。模拟还原并显示传感器传输的数据。让我们所学的知识能够得到应用,同时也能锻炼我们的动手和解决实际问题的能力,也为以后的学习做好准备。 2. 设计的功能以及技术指标设计功能:本次设计主要由五个模块组成。包括:AT89C51单片机,8位数码管,74HC595锁存器,74HC573锁存器,按键模块。利用单片机的串口将单片机内的段选信号发送,经74HC595锁存器将串口转化为并口,并将MCS-51发送的段选信号输入至8位数码管的段选端。与此同时,利用MCS-51的P0口控制8位数码管的位选端。使得8位数码管能够显示随着电阻值增大的电压值。电压表最大量程为5V,精度为0.02V。P1.0

4、和P1.1分别和按键K1和K2连接,按键K1表示电阻值增大,按键K2表示电阻值减小。技术指标:(1) 数码管能够准确显示电阻值以及最小精度。(2) 要求显示最大量程为5V,最小精度为0.02V。(3) 可以通过调整实现电阻值快速或减缓变化。(4) 电路设计以及驱动程序均要求简洁方便。3.硬件系统设计 3.1根据设计功能及要求,硬件系统主要由四个模块组成:AT89C51单片机,8位数码管,74HC595移位寄存器,74HC573锁存器,按键模块。经过构思和实际过程中的实验,得到系统的硬件连接关系,可以画出系统的硬件框图如下:AT89C51 时钟和复位电路8位数码管74HC57374HC595按键

5、模块3.2单片机的选择本次设计采用8位字 长的MCS-51单片机,内含一个片内振荡时钟周期和一个时钟电路,4KB的片内程序ROM和128B RAM,4个I/O端口,5个中断源,且具有很强的拓展功能。 本次主要用到P0端口和P3.0、P3.1以及P3.5等引脚。每个IO均有两种读入方法,即读锁存器和读引脚,其中P3口具有第二功能。在本次设计中,我们主要用到的就是P3.0和P3.1的串行数据通信功能。 3.3复位电路和时钟电路的设计复位是指单片机的初始化操作,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成的CPU工作环境不正常,并给外部提供

6、一个复位的CPU的接口。MCS-51单片机的复位电路有上电复位和按键复位两种形式,由于按键上电复位比较适合于样品制作和实验调试,所以我们在本次设计中采用按键上电复位。MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是反相放大器的输入端和输出端,通常经由片外晶体振荡器或陶瓷谐振器与两个匹配的电容一起构成一个自激振荡电路,为单片机提供时钟电源,即内部时钟方式。本次设计我们所采用的时钟电路就是内部时钟方式。 3.4 数码管显示电路 数码管显示电路由8位数码管和74HC573锁存器组成。3.4.1数码管简介 常用的LED显示器由8个发光二极管组成,也称8段L

7、ED显示器。它由7个字符段和一个小数点段组成,其中字符段发光二极管亮暗的不同组合可以显示多种数字、字母以及其他符号,小数点段dp用于显示小数点。为了使LED显示器显示不同的数字或符号,就要将不同段的发光二极管点亮,这样就要为LED显示器提供显示字形代码。这些代码可使LED相应的段发光,从而显示不同的字形,简称段码(或称为字形码)LED显示器中的发光二极管共有两种连接方法:共阳极接法和共阴极接法。在本次设计中我们使用的是8个共阴极的发光二极管。3.4.2 74HC573简介 74HC573包含八进制3态非反转透明锁存器,是一种高性能的硅门器件。74HC573包含八路D 型透明锁存器,每个锁存器具

8、有独立的D 型输入,以及适用于面向总线的应用的三态输出。所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。OELEDQLHHHLHLLLLXQ0HXXZ当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。当OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。OE端的操作不会影响锁存器的状态。74HC573与以下型号逻辑功能相同:74HC563,但输出为反相74HC373,但引脚布局不同 如上图所示,数码管的

9、段选信号通过74HC573锁存器与寄存器74HC595相连,串行数据通过74HC595传输至该锁存器中,而上拉电阻则使得数输入端为高电平。当数据输入使得数码管电位变化,当输入为1时,共阴极数码管有电位差,从而将数码管点亮。通过数码管每一段亮灭不同,从而显示数字或字符。3.5 74HC595简介 74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHcp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STcp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总

10、是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。它能将串行输入的8位数字,转变为并行输出的8位数字。 在本设计中,由于串口工作在方式0,所以将74HC595的SER数据输入端口与P3.1(RXD)连接,SRCLK端口与P3.1端口连接。数码管位选数据通过P3.1引脚从单片机输出,经该寄存器转化为并行数据,输入到数码管的位选端。3.6 按键模块 独立键盘为非编码键盘,单片机可以通过按键闭合检测高低电平。在本次设计中我们将按键K1和

11、K2分别和单片机P1端口的P1.0和P1.1引脚连接,其中K1和K2分别模拟电路中电阻值的增大和减小。由于电阻值的变化而影响电阻上分压的变化。 3.7整体电路图4.软件系统设计 4.1 初始化程序 #include<reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intvoid buttom();sbit RCLK=P35;/P3.0接P3.4 P3.1接P3.6sbit K0=P20;sbit K1=P21;uchar LEDW=0xfe,0xfd,0xfb,0x

12、f7,0xef,0xdf,0xbf,0x7f; / 数码管位选uchar LEDD=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar i,j;int k,R;定义P3.5为同步脉冲输入端,P3.0为段选数据输入端,由于实验板将SER连接P3.4 ,故将P3.0接P3.4 。P3.1为移位脉冲输入端,同理接P3.6。K0和K1均为独立按键。LEDD为数码管段选编码表,LEDW为数码管位选编码表。其中i,j为延时子程序变量。4.2 独立按键驱动程序 void buttom()u

13、char d=300;if(K0=0) delay(70); while(K0=0&&d-);k+;if(k=255)k=0; if(K1=0) delay(70); while(K1=0&&d-);k-;if(k=-1)k=255;R=(int)(100*k/51);按键驱动流程图: 开始设定按键检测时间以及延时时间检测按键是否输入?定时已满?输入K加1超出设定范围置0计算电阻分压值 4.3延时子程序 void delay(int z)int i,j;for(i=0;i<100;i+)for(j=0;j<z;j+); 4.3 主程序void main()SCON = 0x00; /REN=1允许串行接受状态,串口工作模式0 while(1) buttom();SBUF=LEDDR/100|0x80; /SUBF接受/发送缓冲器 百位while(TI=0); /判断数据是否发送完成TI=0; /关闭发送端RCLK=0; /提供一个上升沿,使595工作_nop_();_nop_();RCLK=1; P0=LEDW5; /数字表的百位del

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论