单片机课程设计数字电压表的设计_第1页
单片机课程设计数字电压表的设计_第2页
单片机课程设计数字电压表的设计_第3页
单片机课程设计数字电压表的设计_第4页
单片机课程设计数字电压表的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、一、实验题目:数字电压表的设计二、实验目的 深入了解mcs51系列单片机的功能以及应用,学会用单片机制作简单的仪表。三、设计要求模块进行组合,设计数字电压表,将每一个部分工作原理介绍清楚,系统软件设计时针,对每一个模块的设计应明确。主程序应明确各部分的组成及采用的连接方式。通过调节输入信号的大小,观察自己设计的数字电压表的输出与另一块数字电压表测量的输出比较,达到了解、理解数字电压表设计的步骤、方法的目的(0-5v,led输出)。四、数字电压表设计的总体方案通过一个a/d(adc0809模拟数字转换)芯片采集后将外测电压信号转换为数字信号,再由单片机(at89s52)处理信号,输出信号,由数码

2、管显示各路电压。更改程序使能用按键进行复位、通道选择、单路循环选择;并在超过设定报警电压(4.7v)时以led灯发光报警。4.1单片机部分芯片介绍 单片机采用at89s52,它是一个低功耗,高性能cmos 8位单片机,片内含8k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s52可为许多嵌入式控制应用系统提供高性价比的解决方案。单片

3、机基础电路如下:图1 单片机部分功能特性概述:40个引脚,8k bytes flash片内程序存储器,256 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s52设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形

4、式,以适应不同产品的需求。引脚功能:vcc:电源电压gnd:地p0口:p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对断口p0写“1”时,可作为高阻抗输入端使用。在访问外部数据存储器或程序存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。p1口:p1口是一个带内部上拉电阻的8位双向i/o口,p1的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部上拉电阻

5、把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(in)。与at89c51不同之处是,p1.0和p1.1还可分别作为定时/计数器2的外部计数输入(p1.0/t2)和输入(p1.1/t2ex)。第二功能:p1.0:t2(定时/计数器2外部计数脉冲输入),时钟输出p1.1:t2ex(定时/计数2捕获/重新载触发和方向控制)p2口:p2是一个带内部上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,

6、某个引脚被外部信号拉低时会输出一个电流(iil)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movxri指令)时,p2口输出p2锁存器的内容。p3口:p3口是一组带有内部上拉电阻的8位双向i/o口。p3口输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的p3口将用上拉电阻输出电流。p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能端口引脚 第二功能:p3.0 rxd(串行输入口)p3.1 txd

7、(串行输出口)p3.2 int0(外中断0)p3.3 int1(外中断1)p3.4 to(定时/计数器0)p3.5 t1(定时/计数器1)p3.6 wr(外部数据存储器写选通)p3.7 rd(外部数据存储器读选通)rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。如有必要,可通过对特殊功

8、能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen:程序存储允许psen输出是外部程序存储器的读选通信号,当at89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp:外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态

9、。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。xtal1:振荡器反相放大器的内部时钟发生器的输入端。xtal2:振荡器反相放大器的输出端。4.2、ad采样方案 采用8位ad转换器adc0809,编程简单方便,价格便宜。采样电路如图2。图2 adc0809采样电路adc0809是带有8位a/d转换器、8路多路开关以及微处理机兼容的控制逻辑的cmos组件。它是逐次逼近式a/d转换器,可以和单片机直接接口。 adc0809由一个8路模拟开关、一个地址锁存与译码器、一个a/d转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行

10、转换。三态输出锁器用于锁存a/d转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。1 产生ad 变换器的控制信号:adc0809 是cmos 的8 位a/d 转换器,片内有8 路模拟开关,可控制8 个模拟量中的一个进入转换器中。adc0809 的分辨率为8 位,转换时间约100us,含锁存控制的8 路多路开关,输出有三态缓冲器控制,单5v 电源供电。主要控制信号说明:start 是转换启动信号,高电平有效;ale 是3 位通道选择地址(addc、addb、adda)信号的锁存信号。当模拟量送至某一输入端(如in1 或in2 等),由3 位地址信号选择,而地址信号由al

11、e 锁存;eoc是转换情况状态信号,当启动转换约100us 后,eoc 产生一个负脉冲,以示转换结束;在eoc 的上升沿后,若使输出使能信号oe 为高电平,则控制打开三态缓冲器,把转换好的8 位数据结果输出至数据总线。至此adc0809 的一次转换结束了。对于adc0809 芯片的其他介绍请参阅其数据手册。芯片adc0809的控制时序图。在实验仪器中cs 与wr 相与后接在了ale 和start 端,cs 与rd 相与后接在了oe 端,通过对时序和电路的综合考虑,建议使用如下的ad 控制时序。由图可知,当cs 和wr 同时为高电平时,adc0809 开始转换,当转换 完成后,在int 脚输出高

12、电平,等待读数据;当cs 和rd 同时为高电平时,通过数据总d70从adc0809 读出数据。从图我们可将整个控制气分成4 个步骤状态:s0、s1、s2、s3,各状态的动作方式如下:状态s0:cs=1、wr=1、rd=0(由控制器发出信号要求adc0809 开始进行模/数信号的转换)。状态s1:cs=0、wr=0、rd=0 (adc0809 进行转换动作,转换完毕后int将低电位升至高电位)。状态s2: cs=1、wr=0、rd=1(由控制器发出信号以读取adc0809 的转换资料)。状态s3: cs=0、wr=0、rd=0(由控制器读取数据总线上的数字转换资料)。由上述的四个状态可以归纳出整

13、个控制器的动作功能有:负责在每个步骤送出所需的cs、wr、rd 控制信号。在状态s1 时,监控int 信号是否由低变高,如此以便了解转换动作结束与否。在状态s3,读取转换的数字资料。2编码转换电路:计算转换后的数字电压信号与bcd 码的对应关系:对8 位的adc0809 而言,它的输出准位共有28 =256 种,即它的分辨率是1/256,假设输入信号为05v 电压范围,参考电压(vref/2)为2.56v 时,则它最小输出电压是5v/256=0.01953v,这代表adc0809 所能转换的最小电压值,我们在该实验中取最小电压准位为0.02v。当adc0809 收到的信号是01110110(7

14、6h),则其对应的电压值为:76h0.02v = 2.36v要实现电压值与bcd 码的对应关系用多种方法(如查表法、比较法等)。查表法需要写大量的数据,比较麻烦,在示例程序中作者使用了比较法。3输出7 段数码管显示电路:该电路的功能是将转换好的bcd 码显示在3 位数码管上,在最高为的数码管上要显示小数点。这个电路在前面的实验中多次用到,此处不再叙述。 4 用并行adc0809 实现电压表。 nintr,nrd,ncs,nwr,din7.0分别接并行adc0809 模块中的相应接口。sel1.0和seg6.0分别接7 段数码管的扫描端sel1.0和ga,dp 接小数点输入端dp,adc0809

15、 的时钟输入端接625khz,建议clkg 接8khz 左右时钟,clk 接高于16hz 时钟。vref-接地;vref+接+5v;a0,a1,a2 接拨码开关;a0,a1,a2 八种状态分别对应in0.7,手动dctuner 控制 dcout 输出,dcout 接a0,a1,a2 八种状态中的一种。(2) 控制系统硬件电路设计(显示采用四位数码管); (3) 软件流程图设计,汇编程序编写;4.4显示方案显示部分(采用共阴4位八段数码管显示。如图3所示:)图3 数码管电路图显示部分与单片机连接图如图4:图4 显示与单片机连接图4.5程序描述1 主程序流程图:a) 把“单片机系统”区域中的p1.

16、0p1.7与“动态数码显示”区域中的abcdefgh端口用8芯排线连接。 b) 把“单片机系统”区域中的p2.0p2.7与“动态数码显示”区域中的s1s2s3s4s5s6s7s8端口用8芯排线连接。 c) 把“单片机系统”区域中的p3.0与“模数转换模块”区域中的st端子用导线相连接。 d) 把“单片机系统”区域中的p3.1与“模数转换模块”区域中的oe端子用导线相连接。 e) 把“单片机系统”区域中的p3.2与“模数转换模块”区域中的eoc端子用导线相连接。 f) 把“单片机系统”区域中的p3.3与“模数转换模块”区域中的clk端子用导线相连接。 g) 把“模数转换模块”区域中的a2a1a0

17、端子用导线连接到“电源模块”区域中的gnd端子上。 h) 把“模数转换模块”区域中的in0端子用导线连接到“三路可调电压模块”区域中的vr1端子上。 i) 把“单片机系统”区域中的p0.0p0.7用8芯排线连接到“模数转换模块”区域中的d0d1d2d3d4d5d6d7端子上。 4.6、软件设计程序采用汇编编程,程序如下:table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90htable1:db 040h,79 h,024h,030h,19h,12h,02h,78h,00h,10h org 0000hajmp startorg 0003hljmp

18、 cint0org 0100hw1: mov r1, a inc r1 djnz r2, w1 retstart: mov r1, #78h mov r2, #02h mov a, #00h call w1 mov a, #80h mov dptr, #0efffh movx dptr, a clr a mov r2, #0f0h call dispmain: mov psw, #00h setb ea setb ex0 setb it0mov a, #00h mov dptr, #0cff8h movx dptr, al2: jnb f0, l2acall tunbcd lcall disi

19、nt0 sjmp maintunbcd: mov a,r0 mov b, #51 div abmov 79h, a mov a, b clr f0 subb a,#1ah mov f0, c mov a, #10 mul ab mov b, #51 div ab jb f0, loop2 add a, #5loop2: mov 78h, a ret disp: mov dptr, #table movc a,a+dptr mov dptr, #0effch movx dptr, a mov a, r2 inc dptr movx dptr, a call delay retdisp1:mov dptr,#table1 movc a,a+dptr mov dptr, #0effch movx dptr, a mov a, r2 inc dptr movx dptr, a call delay retdisint0:mo

温馨提示

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

评论

0/150

提交评论