汤银彦毕业设计1225Word文档格式.docx
《汤银彦毕业设计1225Word文档格式.docx》由会员分享,可在线阅读,更多相关《汤银彦毕业设计1225Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
设计题目:
简易数字电压表的设计
设计要求:
1、设计一个具有可以测量0~5V的8路输入电压值,并在4个LED数码管上显示的数字电压表。
2、设计完成该功能的硬件电路;
3、设计完成上述功能的相应软件;
4、用proteus仿真软件调试出应有的效果。
设计进度要求:
第一周:
选定设计题目,查找、搜集相关资料,了解AT89C52、ADC0808模块的功能及使用方法。
第二周:
查资料,收集信息,写出初步设计方案;
第三周:
硬件电路设计;
第四周:
流程图的设计、程序设计;
第五周:
程序设计,并在PROTEUS中进行仿真调试;
第六周:
在PROTEUS中进行仿真调试;
第七周:
撰写设计论文;
第八周:
指导老师对设计报告进行检查、修改,设计论文定稿,准备答辩。
指导教师(签名):
摘要
在现实生活中,电是非常重要的,电与我们息息相关。
因此,电压的测量是非常重要的,在一些工业生产,电力的传输,家用电器的维修等方面,电压的测量极其重要。
近年来,随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。
设计中主要由单片机AT89C52、ADC0808模块和数码管显示块组成。
模拟电压信号串行AD转换后变为数字信号,将此信号线性调整为电压值,并转换为BCD码形式,依次送到数码管显示。
采用74LS245芯片进行BCD码与七段码(共阴极数码管)之间的解码,即将待显示的数字电压值(BCD码)通过74LS245驱动得到共阴极数码管显示所需的七段码。
关键词:
单片机,ADC0808,74LS245,数码管,段码
目录
设计任务书I
摘要II
目录III
1总体方案设计1
1.1系统框图1
1.2显示控制方案简介1
1.3电路原理1
2硬件设计2
2.1单片机AT89C522
2.2模/数转换器ADC08085
2.3驱动器74LS2457
2.4七段数码管8
2.5显示控制10
3软件设计12
3.1设计思路12
3.2主程序流程图12
3.3初始化子程序12
3.4A/D初始化13
3.5LED显示13
4系统调试14
4.1WAVE软件14
4.2PROTEUS软件16
致谢22
参考文献23
附录24
1总体方案设计
1.1系统框图
简易电压表设计框图如图1.1所示。
图1.1简易电压表设计框图
1.2显示控制方案简介
设计中采用的显示方案为动态LED显示,设计中采用74LS245驱动芯片,P3口被用作位码。
动态扫描的特点是速度快并且动作也快。
1.3电路原理
电路中的核心芯片为AT89C52单片机,在I/O口的分配中P1口作为LED的段码输入,P3口作为LED的位码输入,P2口作为A/D采样电路输入口,其中P1口给LED送数据,P3.4,P3.5,P3.6,P3.7作为位码输入口用于控制哪一位显示,P2.0,P2.1,P2.2用于A/D数据采样。
2硬件设计
2.1单片机AT89C52
1.AT89C52单片机的简介
由ATMEL公司生产的AT89C52是51系列单片机的一个型号,它是一个低电压,高性能CMOS8位单片机,自身带有8kbytes的可反复擦写的Flash存储器和256bytes的随机存取数据存储器(RAM),特点是密度高、非易失性存储,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
2.AT89C52单片机的内部结构
AT89C52中包含有:
8位的中央处理器、存储器、两个并行I/O接口、定时/计数器、可编程UART串行通道、2个外部中断源(共6个中断源)、2个读写中断口线(3级加密位)、低功耗空闲和掉电模式软件设置睡眠和唤醒功能。
单片机内部结构图如图2.1所示。
图2.1单片机的内部结构
(1)中央处理器
CPU是中央处理单元(CentralProcessingUnit)的缩写,它可以被简称做(Microprocessor),CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
(2)数据存储器
数据存储器AT89C52由读写存储器RAM组成。
其最大容量可扩展到64k,用于存储实时输入的数据。
内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。
实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。
因为将来在学习指令系统和程序设计时会经常用到它们。
8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H~7FH(即0~127)。
而用做特殊功能寄存器的地址为80H~FFH。
在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。
对于那些需要进行位操作的数据,可以存放到这个区域。
从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0~R7。
(3)特殊功能寄存器
在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),特殊功能寄存器的地址范围为80H~FFH。
在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。
其中5个是双字节寄存器,它们共占用了26个字节。
特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。
用于CPUPSW便是典型一例。
这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。
与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。
MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。
(4)并行输入输出(I/O)口
AT89C52有32个双向I/O口其中256x8bit是用于内部RAM。
3.AT89C52单片机的引脚
AT89C52有40个引脚,其引脚图如图2.2所示。
图2.2AT89C52的引脚图
(1)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路。
(2)P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
(3)P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
(4)P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。
(5)RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
(6)XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
(7)XTAL2:
振荡器反相放大器的输出端。
(8)VCC:
电源。
(9)GND:
地线。
(10)ALE:
地址锁存控制信号。
2.2模/数转换器ADC0808
1.ADC0808的主要特点
通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。
由于数字信号本身不具有实际意义,仅仅表示一个相对大小。
故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。
而输出的数字量则表示输入信号相对于参考信号的大小。
ADC0808是8位逐次逼近模数转换器,它的转换速度较快、精度较高。
2.ADC0808的内部结构
图2.3ADC0808的内部结构
3.ADC0808的引脚及功能
图2.4ADC0808引脚图
1)IN0~IN7:
模拟量输入通道。
2)A、B、C:
地址线。
A为低位地址,C为高位地址,用于对模拟通道进行选择。
图2.4中为ADD-A、ADD-B和ADD-C,其地址状态与通道对应的关系见表2.1。
表2.1地址状态与通道对应关系
C
B
A
选择的输入通道
IN0
1
IN1
IN2
IN3
IN4
IN5
IN6
IN7
3)ALE:
地址锁存允许信号。
在对应ALE上升沿,A、B、C地址状态送入地址锁存器中。
4)START:
转换启动信号。
START上升沿时,所有内部寄存器清0;
START下降沿时,开始进行A/D转换;
在转换期间,START应保持底电平。
5)OUT1~OT8:
数据输出线。
6)OE:
输出允许信号。
其用于控制三态输出锁存器向单片机输出转换得到的数据。
7)CLOCK:
时钟信号。
8)EOC:
转换结束状态信号。
EOC=0,正在进行转换;
EOC=1,转换结束。
9)VCC:
+5V电源。
10)Vref:
参考电源。
4.通道的选择
在设计中我选择了IN0和IN1两路通道,IN0用于测量滑动变阻器RV1的电阻,IN1用于测量RV2电阻。
2.3驱动器74LS245
1.74LS245的引脚
74LS245的引脚如图2.5所示。
图2.574LS245引脚图
2.74LS245的功能
74LS245是8路3态双向缓冲驱动,也叫做总线驱动门电路或线驱动。
主要使用在数据的双向缓冲,原来常见于51的数据接口电路,比如,早期电路中,扩展了很多的8255/8155/8251/8253/573等芯片的时候,担心8031的数据驱动能力不足,就使用一片245作为数据缓冲电路,增强驱动能力;
也常见与ISA卡的接口电路。
3.74LS245在电路中作用
74LS245用来驱动LED,设计的电路图中,74LS245的A0-A7接P1口,B0-B7接数码管的段码。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;
(接收)DIR=“1”,信号由A向B传输;
(发送)当/CE为高电平时,A、B均为高阻态。
在设计中,74LS245——CE接低电平,DIR=1即信号由A向B传输。
2.4七段数码管
1.数码管的简介
数码管是一种半导体发光器件,其基本单元是发光二极管LED显示器,数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码