毕业论文多量程电压表.doc

上传人:仙人指路1688 文档编号:3973127 上传时间:2023-03-30 格式:DOC 页数:14 大小:581KB
返回 下载 相关 举报
毕业论文多量程电压表.doc_第1页
第1页 / 共14页
毕业论文多量程电压表.doc_第2页
第2页 / 共14页
毕业论文多量程电压表.doc_第3页
第3页 / 共14页
毕业论文多量程电压表.doc_第4页
第4页 / 共14页
毕业论文多量程电压表.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《毕业论文多量程电压表.doc》由会员分享,可在线阅读,更多相关《毕业论文多量程电压表.doc(14页珍藏版)》请在三一办公上搜索。

1、成都电子机械高等专科学校电气与电子工程系毕业论文论文题目: 多量程电压表 指导老师: 学生姓名: 张 扬 专 业: 应 用 电 子 技 术 2010年 2月20日摘 要: 为了进一步了解51单片机,在此对AT89C51单片机在对电压的测量上进行了研究;整个系统采用ADC0809作为数据采集,以AT89C51作为整个系统的控制核心,用LED进行显示;整个系统以ADC0809对电压信号进行采集,(仿真时以滑动变阻器的变化来代表电压的变化,在实际测量中,滑动变阻器调到最大阻值,将被测电压接在相应量程的接头上),将结果在LED上进行显示;按动三刀开关,就可以改变量程,关键词: AT89C51;ADC0

2、809;汇编;第1章 绪论1.1本设计的要求:(1)基于51单片机的电压表;(2) 有三个量程,2伏20伏200伏 可以软件仿真;(3) 用LED显示实时电压值;1.2 关于AT89C51单片机 AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的M

3、CS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.2.1 主要技术指标和特性 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 1.2.2 外部引脚VCC:供电电压。

4、GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻

5、的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入

6、。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚

7、被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 1.3

8、 关于ADC0809转换器 ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。1.3.1 主要技术指标和特性(1)分辨率: 8位。(2)总的不可调误差: ADC0808为LSB,ADC 0809为1LSB。(3)转换时间: 取决于芯片时钟频率,如CLK=500kHz时,TCONV=1

9、28s。(4)单一电源: +5V。(5)模拟输入电压范围: 单极性05V;双极性5V,10V(需外加一定电路)。(6)具有可控三态输出缓存器。(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。(8)使用时不需进行零点和满刻度调节。1.3.2 内部结构和外部引脚ADC0808/0809的内部结构和外部引脚分别如图一和图二所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下: 图一 ADC0808/0809内部结构框图(1)IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2

10、)D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表一所示。(4)VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。图二 ADC0808/0809外部引脚图表一 地址信号与选中通道的关系地 址选中通道ADDCADDBADDA0000111100110011010

11、10101IN0IN1IN2IN3IN4IN5IN6IN7(5)ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。(6)STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。(7)EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。

12、在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。(8)OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。1.3.3 工作时序与使用说明ADC 0808/0809的工作时序如图三所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2s加8个时钟周期内(不定),EO

13、C信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。图三 ADC 0808/0809工作时序模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2s+8个时钟周

14、期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。第2章 系统设计2.1系统硬件设置2.1.1 设计思路 用ADC0809转换的信号从AT89C51的P1口送入,将收集到得数据用算法处理后从AT89C51的P0口输出,在LED上的显示。用刀开关决定量程的选择。图四 系统原理图2.2系统软件设计2.1.1 设计思路 程序主要有四部分组成: 主程序:进行初始化,以及对各类子程序进行调用; 算法子程序:将外部收集的信息进行折算; 显示子程序:将折算后的结果在LED上显示; 延时子程序:是显示正常进行;2.2.2 程序框图MAIN1调用显示

15、子程序调用算法子程序进行AD转换显缓初始化开始图五 程序框图2.2.3 具体程序ORG 0000HLJMP MAINMAIN: MOV 30H,#00H ;缓存初始化 MOV 31H,#00H MOV 32H,#00H MOV 33H,#00HMAIN1: CLR P2.0 ;选择AD转换器 CLR P3.6 ;启动AD转换 SETB P3.6 SETB P3.3 ;等待AD转换HERE: JB P3.3,HERE CLR P3.7 ;将转换结果输出 MOV P1,#0FFH ;将P1写为高电平,以便外部信号写入 MOV A,P1 SETB P3.7 LCALL PROC ;调用算法子程序 L

16、CALL DISP ;调用显示子程序 LJMP MAIN1 ;返回继续执行 SJMP $DISP: MOV A,30H ;输出第一位 MOV DPTR,#SGTR MOVC A,A+DPTR JB P3.0,PORT1 ;进行小数点位置的判断 ORL A,#80H ;加小数点 PORT1: MOV P0,A MOV A,#0EFH MOV P2,A LCALL DEL ;调用延时子程序MOV P2,#0FFH ;将P2口写一,防止相互干扰MOV A,31HMOV DPTR,#SGTRMOVC A,A+DPTRJB P3.1,PORT2ORL A,#80H PORT2: MOV P0,AMOV

17、A,#0DFHMOV P2,ALCALL DELMOV P2,#0FFH MOV A,32HMOV DPTR,#SGTRMOVC A,A+DPTRJB P3.2,PORT3ORL A,#80H PORT3: MOV P0,AMOV A,#0BFHMOV P2,ALCALL DEL MOV P2,#0FFHMOV A,33HMOV DPTR,#SGTRMOVC A,A+DPTRMOV P0,AMOV A,#7FHMOV P2,ALCALL DEL MOV P2,#0FFHRETSGTR: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH;延时子程序DEL

18、: MOV 40H,#14H D0: MOV 41H,#19HD1: DJNZ 41H,D1 DJNZ 40H,D0 RET;算法子程序PROC: MOV B,#127 ;最大结果为2,即#0FF(255)除以127 DIV AB MOV 30H,A ;将结果送入最高位显缓中 XCH A,B MOV B,#4 ;余数乘以4最大为504,高8位存B,低8位存A MUL AB JB OV,BCD1 ;有益处就跳,就算有益处,B的值也只能为一,因为乘以10后最大值才504(1 F8) MOV B,#51 ;无进位就除以51,上最大为5 DIV AB MOV 31H,A ;将商存入第二位中 XCH A

19、,B AJMP BCD2 NOP NOP NOPBCD1: MOV B,#51 DIV AB ;直接用低八位除以51,商最大为4 ADD A,#5 ;因为有溢出,溢出最大值为1,所以在此基础上加5即可,使A中最大值为9 MOV 31H,A XCH A,B ADD A,#1 ;减小误差BCD2: MOV B,#10 ;将余数乘以10,以下的算法同上 MUL AB JB OV,BCD3 MOV B,#51 DIV AB MOV 32H,A AJMP BCD4 NOP NOP NOPBCD3: MOV B,#51 DIV AB ADD A,#5 MOV 32H,A XCH A,B ADD A,#1B

20、CD4: MOV B,#10 MUL ABJB OV,BCD5MOV B,#51DIV ABMOV 33H,ASJMP EDBCD5:MOV B,#51 DIV AB ADD A,#5 MOV 33H,AED :RET END2.3仿真结果图六 仿真一(2V满量程状态)注释:为了在仿真是方便,系统以一个滑动变阻器的组织改变模拟电压的变化,但要注意的是,在实际测量中要将滑动变阻器跳到最大值,将被测电压接在相应量程的端口上即可,如图七。图七 仿真二(将1.5V的被测电压接在端口上) 图八 仿真图三注释:搬动开关,就可以设定量程,如图八所示。 图九 仿真图四注释:搬动开关,跳到200V量程,跳动滑动变阻器,得到的结果如图九所示。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号