简易电压表毕业设计Word文档下载推荐.docx
- 文档编号:18326691
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:26
- 大小:435.85KB
简易电压表毕业设计Word文档下载推荐.docx
《简易电压表毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易电压表毕业设计Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
撰写设计论文;
第八周:
指导老师对设计报告进行检查、修改,设计论文定稿,准备答辩。
指导教师(签名):
摘要
在现实生活中,电是非常重要的,电与我们息息相关。
因此,电压的测量是非常重要的,在一些工业生产,电力的传输,家用电器的维修等方面,电压的测量极其重要。
近年来,随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。
设计中主要由单片机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位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。
2.数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
(1)静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
(2)动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。
3.数码管的结构
由a、b、c、d、e、f、g、dp组成的八段数码管示意图如图2.7所示。
图2.7八段数码管
LED数码管显示器可以分为共阴极和共阳极两种结构。
(1)共阴极结构:
如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图2.8所示。
(2)共阳极结构:
如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图2.9所示。
图2.8共阴极图2.9共阳极
(3)LED动态显示接口:
LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。
对每位数码管来说,每隔一段时间点亮一次,如此循环。
利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。
在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。
不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。
但也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。
采用动态显示方式比较节省I/O接口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
用MCS-51单片机构建七段数码管动态显示系统时,4位数码管均采用共阴极LED,P0接口作为段选码输出口,8路驱动采用74LS244总线驱动器作为字形驱动芯片,经过8路驱动电路后接至数码管的各段,字形驱动输出0时发光。
P2接口作为位选码输出口,4路驱动采用74LS07(OC门驱动器),当C接口线输出1时,选通相应位的数码管工作。
2.5显示控制
按键J1和J2分别用来选择测量RV1和RV2的电阻。
当按下J1时,测量的是RV1的电压;
当按下J2时,测量的是RV2的电压。
在LED数码管上显示电压值,数码管采用动态显示。
LED数码管在多位显示时,通常是将所有位上名称相同的字段连接在一起,然后再由1个8位的I/O口驱动控制,而不同位上数码管的COM端分别引出由其他不同的I/O口控制,如图2.10就是一个6位的LED数码管动态显示电路。
数码管动态显示时,采用的是扫描显示方式,即在某一个扫描周期内,显示一位数码管,在下一个扫描周期内显示另外一位,以后逐位轮流循环显示。
可以看出,该显示方式在某一时刻,多位数码管只显示一位。
将循环扫描的周期缩短到足够小,人们肉眼看到的将不是多个数码管轮流显示,而是各位数码管“同时”显示的效果,这是利用人眼的视觉暂留效应。
图2.106位数码管动态扫描显示
3软件设计
3.1设计思路
简易数字电压测量电路主要由A/D转换、数据处理及显示控制等组成。
P0端口作A/D转换数据读入用。
本次设计主要是通过A/D转换模块的转换将检测到的外部电压以二进制的形式传给单片机,经过单片机的处理显示在LED显示器上,本次软件设计的主要任务就是按照时序将A/D转换模块的数据读出来并进行加减乘除运算,以十进制的形式显示在LED上,软件设计主要包括初始化,LED显示,A/D初始化以及数据调整子程序。
初始化主要是对要用的A/D,定时器等进行初始化,使其能正常工作,数调整主要是进行加减乘除运算然后经过LED显示子程序将其显示出来。
3.2主程序流程图
主程序主要是调用初始化,LED显示,A/D初始化子程序。
主程序流程图如图3.1所示。
图3.1主程序流程图
3.3初始化子程序
主要对LED显示单元给初值,设置定时器初值等。
初始化子程序流程图如图3.2所示。
图3.2初始化子程序流程图
3.4A/D初始化
ADC0808的模拟输入电压进行A/D转换后在数码上显示。
A/D初始化流程图如图3.3所示。
图3.3A/D初始化流程图
3.5LED显示
采集得到的数据通过ADC0808转换成十进制BCD码,在LED数码管中以XX.XX的形式显示出来。
4系统调试
完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。
系统调试包括硬件调试和软件调试两个部分。
不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。
程序的调式应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;
最后逐步将各个子程序连接起来总调。
联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。
调试使用WAVE软件。
4.1WAVE软件
Wave软件的调试步骤:
1.设置仿真器
打开伟福软件,进行仿真器的设置,首先点击菜单栏中的仿真器按钮,选择仿真器设置,分别选择仿真器为E6000/L,仿真头选择P0D-8X5XP,CPU选择8751,然后点击“好”按钮,具体操作如图4.1所示。
图4.1仿真器的设置
2.新建文件
点击菜单栏中的“文件”按钮,选择“打开文件”将文件保存在E盘中,命名为“电压表.ASM”,出现如图4.2所示的界面。
图4.2打开文件
3.输入程序
点击打开,在新建的文件夹“电压表.ASM”中输入目标程序,如图4.3所示。
图4.3新建文件
4.编译
程序输入完成以后点击菜单栏中的“编译”按钮进行编译,如果程序有错误则需重新审核程序,如果程序无误则会在下方信息栏中显示全部为对勾,如图4.4所示。
图4.4编译成功
4.2PROTEUS软件
1.PROTEUS软件简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
支持ARM7,PIC,AVR,HC11以及8051系列的微处理器CPU模型交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等;
强大的调试功能,内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型;
DLL界面为应用提供特定的模式;
基于工业标准的SPICE3F5混合模型电路仿真器14种虚拟仪器:
示波器、逻辑分析仪、信号发生器、规程分析仪等。
2.PROTEUS软件的应用
(1)实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(2)支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(3)提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;
同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
(4)具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
本章介绍ProteusISIS软件的工作环境和一些基本操作。
3.PROTEUS软件的使用方法及调试步骤
(1)首先点击启动界面区域中的“P”按钮(PickDevices,拾取元器件)来打开“PickDevices”(拾取元器件)对话框从元件库中拾取所需的元器件。
在对话框中的“Keywords”里面输入要检索的元器件的关键词,比如要选择项目中使用的AT89C52,就可以直接输入。
输入以后就能够在中间的“Results”结果栏里面看到所要搜索的元器件的结果。
在对话框的右侧,还能够看到所要选择的元器件的仿真模型、引脚以及PCB参数,如图4.5所示。
图4.5拾取元件
这里有一点需要注意,可能有时候选择的元器件并没有仿真模型,对话框将在仿真模型和引脚一栏中显示“NoSimulatorModel”(无仿真模型)。
那么就不能够用该元器件进行仿真了,或者只能做它的PCB板,或者选择其他的与其功能类似而且具有仿真模型的元器件。
搜索到所需的元器件以后双击元器件名来将相应的元器件加入到文档中,接着用相同的方法来搜索并加入其他的元器件。
如果已经将所需的元器件全部加入到文档中时,点击“OK”按钮来完成元器件的添加。
(2)添加好元器件以后,就是将元器件按照需要连接成电路。
首先在元器件浏览区中点击所需要添加到文档中的元器件,此时就可以在浏览区看到所选择的元器件的形状与方向,如果其方向不符合要求,可以通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。
接着按相同的操作即可完成所有元器件的布置,如图4.6所示,元件数量及参数如表4.1所示。
图4.6元件的放置
表4.1元件汇总
类别
数量
元件
参数
MicroprocessorIcs
U1
AT89C52
TTL74LSseries
U2
74LS245
DataConverters
U3
ADC0808
Optoelectronics
7SEG-MPX4-CA
Resistors
3
R
RES
POT-LOG
Capacitors
2
CAP
CAP-ELEC
Miscellaneous
CRYSTAL
Switches&
Relays
J
BUTTON
(3)接下来是连线。
布线时单击选择起点,然后在需要转弯的地方单击一下,按照所需走线的方向移动鼠标到线的终点单击即可,如图4.7所示。
图4.7元件的连接
Proteus中单片机芯片默认已经添加电源与地,所以可以省略。
首先点击“模式”,选择终端模式,然后在元器件浏览区中点击POWER(电源)来选中电源,通过区域中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。
连接好电路图以后还需要做一些修改。
修改方法如下:
首先双击电阻图标,这时软件将弹出“EditComponent”对话框对话框中的“ComponentReferer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;
“Resistance”就是电阻值了,可以在其后的框中根据需要填入相应的电阻值。
填写时需注意其格式,如果直接填写数字,则单位默认为Ω;
如果在数字后面加上K或者k,则表示kΩ之意。
比如:
填入270,表示270Ω。
(4)修改好各组件属性以后就要将程序(ASM文件)载入单片机了。
首先双击单片机图标,系统同样会弹出“EditCompo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电压表 毕业设计