《基于单片机的微电压传感器信号测量仪设计》由会员分享,可在线阅读,更多相关《基于单片机的微电压传感器信号测量仪设计(19页珍藏版)》请在金锄头文库上搜索。
1、基于单片机的微电压传感器信号测量仪设计基于单片机的微电压传感器信号测量仪设计1、设计目的、设计目的设计并制作一个测量放大器,用单片机对采集的电压信号进行测量,并在 LCD 液晶显示,并用 Proteus 进行仿真实现。在此基础上,认真学习单片机及相关芯片知识,理解设计原理及程序流程,在一定的放大倍数下会计算相关元件参数,实现基于单片机的微电压传感器信号测量仪的硬件设计及软件编程。2、基于单片机的微电压传感器信号测量仪设计、基于单片机的微电压传感器信号测量仪设计2.1 设计原理设计原理图图 1 系统框图系统框图如图 1 所示,设计并制作一个测量放大器,用单片机对采集的电压信号进行测量,并在 LC
2、D 液晶显示。本次设计主要以 51 单片机为核心器件,通过集成运放将 mv 级的电压放大 1 200 倍,单片机采集此电压信号,并通过软件编程在液晶显示屏上显示,由此实现微电压传感器信号测量仪的设计。本次设计 Protel 原理图如图 2 所示。图图 2 原理图原理图R1R2R3单片机LCD 液晶 显示A/D 转换外围 电压 采集直流 电压 放大器VAVBR42.2 主要芯片介绍主要芯片介绍本次设计主要设计 80C51 系列单片机、AD620、PCF8591、LCD1602。2.2.1 80C51 系列单片机系列单片机80C51 单片机系列源于 MCS-51 系列。把所有厂家以 8051 为基
3、核推出的各种型号80C51 兼容型单片机统称为 80C51 系列。8051 是 MCS-51 系列中最基础的单片机型号,其供应状态有 8051(MaskROM)、8751(EPROM)、8031(ROMless)。 引脚功能 80C51 单片机采用 40 引脚双列直插封装(DIP)形式(采用 CHMO 工艺制造),也有用 44引脚的方型封装结构(QFP),其中 4 条(标有 NC)的引脚是不连线的,其引脚图如图 3 所示。图图 3 80C51 单片机引脚图单片机引脚图各引脚名称及功能:电源引脚:Vcc 和 Vss Vcc(40 脚):接+5V 电源;Vss(20 脚):接地。时钟电路引脚:XT
4、AL1 和 XTAL2 XTAL1(19 脚):片内反相放大器的输入端。接外部石英晶体和微调电容的一端。若使用外部时钟时,对于 HMOS 单片机,该引脚必须接地;对于 CHMOS 单片机,该引脚作为驱动端。XTAL2(18 脚):片内反相放大器的输出端。接外部石英晶体和微调电容的另一端。振荡电路的频率是晶体振荡频率。若使用外部时钟时,对于 HMOS 单片机,该引脚输入外部时钟脉冲;对于 CHMOS 单片机,此引脚应悬浮。控制信号引脚: ALE/PROG、EA/Vpp、PSEN 和 RST/Vpd ALE:(30 脚):地址锁存允许信号端/EPROM 编程输入端。 PSEN(29 脚):程序存储
5、允许输出端。片外程序存储器的读选通信号,低电平有效。 EA/Vpp(31 脚):内部/外部 ROM 地址选择信号/固化编程电压输入端。EA:为高电平,CPU 访问 ROM 有两种情况,当 PC 中的值小于 0FFFH 时,执行片内ROM 指令;当 PC 中的值超过 0FFFH 时,将自动转向执行片外 ROM 指令。为低电平时,CPU 只执行片外 ROM 指令。对 80C31BH 单片机,必须接低电平。Vpp:用于 87C51BH 编程时输入编程电压。RST/Vpd(9 脚):复位信号输入端/备用电源正端输入。 RST:高电平有效,其复位信号都是靠外部电路实现。在此输入端保持两个机器周期的高电平
6、后,就可以完成复位操作。I/O(输入/输出)引脚:P0、P1、P2、P3 说明:P0P3 是 4 个寄存器,也称为 4 个端口,是 80C51 单片机与外界联系的 4 个 8位双向并行 I/O 口。P0 口(P0.0P0.7)(3239 脚):一个 8 位的准双向 I/O 口。在访问片外存储器时,它分时作为 8 位地址线和 8 位双向数据线;不作总线使用时,可作普通 I/O 口;其每位的负载能力为 8 个 LSTTL。P1口(P1.0P1.7)(18脚):一个带内部上拉电阻的8位准双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端
7、口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P2 口(P2.0P2.7)(2128 脚):一个带内部上拉电阻的 8 位准双向 I/O 口。在访问片外存储器时,它作为高 8 位地址线;不作总线使用时,也可做普通 I/O 口 。其每位的负载能力为 4 个 LSTTL。在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中 R2 寄存器的内容),在整个访问期间不改变。P3 口(
8、P3.0P3.7)(1017 脚):一个带内部上拉电阻的 8 位准双向 I/O 口;P3 口除了作为一般准双向口使用外,每脚还具有第二功能,其每位的负载能力为 4 个 LSTTL。 定时/计数器51系列单片机内部设有两个可编程的16位定时/计数器T0、T1。它们均可用作定时控制、延时以及对外部事件计数。定时/计数器结构与工作原理两个16位定时/计数器:T0和T1。分别由两个8位专用寄存器组成,即T0由TH0和TL0构成,T1由TH1和TL1构成,地址分别为8AH8DH。这些寄存器是用于存放定时或计数初值,它们都是以加“1”方式计数,每个定时/计数器都可以由软件设置成定时工作方式或计数工作方式。
9、TMOD主要用于选定定时器的工作方式,TCON主要用于控制定时器的启动与停止。其逻辑结构图如图4所示。图图4 80C51定时定时/计数器逻辑结构图计数器逻辑结构图定时器 当工作在定时方式时,计数输入信号来自内部振荡器信号,在每个机器周期内定时器的计数器作一次“1”运算,所以,可视为计算机器周期的计数器。因一个机器周期等于12个振荡脉冲,所以定时器 的计数频率Fcount=(1/12)*fosc。如晶振为12MHz,则计数周期为:若定时器的计数器“1”产生溢出,则标志定时间到。定时/计数器被设定为某种工作方式后,它就会按设定的工作方式独立运行,直到加1计数器计满溢出,才向CPU申请中断。计数器当
10、工作在计数方式时,外部输入信号来自引脚T0(P3.4)或T1(P3.5)。外部输入信号的下降沿将触发计数,计数器在每个机器周期的S5P2期间采样外部输入信号,若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1,故识别一个从1到0的跳变需2个机器周期。对外部输入信号最高的计数速率是(1/24)*fosc。对外部计数脉冲的要求:外部输入信号的高电平与低电平保持时间均需大于一个机器周期。若计数产生溢出,表明计数终止。 定时/计数器工作方式及控制定时/计数器在其工作之前必须将控制字写入工作方式寄存器和控制寄存器。 工作方式寄存器TMOD功能:用于控制T0和T1的工作方式,格式如表1所示。
11、表表1 TMOD格式格式TMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1MO定时器1定时器0各位含义:M0、M1:工作方式控制位,可构成下表的4种工作方式,见表2。表表2 M0、M1工作方式控制位选择工作方式控制位选择M1 M0工作方式功能描述0 0方式013位计数器0 1方式116位计数器1 0方式2自动再装入8位计数器1 1方式3T0:分成两个8位计数;T1:停止计数C/T:功能选择位。C/T=0为定时器方式,C/T =1为计数器方式。 GATE:选通控制位。当GATE=0时,只用软件对TR0(或TR1)置1即可启动定时器开始工作。当GATE=1时
12、,只有在INT0(或 INT1)引脚为1,且用软件对TR0(或TR1)置1才能启动定时器工作。TMOD不能位寻址,只能用字节方式设置工作方式。复位时,TMOD所有位均为0。控制寄存器TCON 作用:控制定时器的启动、停止以及标志定时器的溢出和中断情况,TCON的格式如表3所示。表表3 TCON格式格式TCON8FH8EH8DH8CH8BH8AH89H88H(88H)TF1TR1TF0TR0IE1IT1IE0IT0各位含义:TF1:T1溢出标志,T1溢出时由硬件置1,并申请中断,CPU响应中断后,又由硬件清0。TF1也可由软件清0。TF0:T0溢出标志,功能与TF1相同。TR1:T1运行控制位,
13、可由软件置1或清0来启动或停止。TR0:T0运行控制位,功能与TR1相同。IE1:外部中断1请求标志。IE0:外部中断0请求标志。IT1:外部中断1触发方式选择位。IT0:外部中断0触发方式选择位。复位时,TCON所有位均为0。TCON是可以位寻址的,因此可用位操作指令清溢出或启动定时器工作。中断系统 计算机在执行程序的过程中,由于CPU以外的某种原因,需中止当前程序的执行,而去执行相应的处理程序,待处理结束后,再回来继续执行被中止了的原程序的过程。它是通过硬件来改变CPU程序运行方向的。中断涉及的几个环节:中断源、中断申请、开放中断、保护现场、中断服务、恢复现场、中断返回。中断请求源51系列
14、单片机,提供了5个中断请求源,其有中断优先级及固有的入口地址,具体见表4所示。表表4 中断优先级及其入口地址中断优先级及其入口地址中断源同级自然中断优先级入口地址外部中断0最高级0003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断最低级0023H中断控制IE为中断允许寄存器,通过向IE写入中断控制字,控制CPU对中断源的开放与屏蔽,以及每个中断源是否允许中断,格式如表5所示。表表5 IE格式格式IEAFHACHABHAAHA9HA8H(A8H)EAESET1EX1ET0EX0各位含义:EA:CPU中断总允许位。当EA=1时,允许中断,每个中断源是允许还是禁止
15、,分别由各自的允许位确定,当EA=0时,CPU屏蔽所有的中断要求。ES:串行口中断允许位。ES=1,允许串行口中断,ES=0,禁止串行口中断。ET1:T1中断允许位。ET1=1,允许T1中断,ET1=0,禁止T1中断。EX1:外部中断1允许位。EX1=1,允许外部中断1中断,EX1=0,禁止外部中断1中断。ET0:T0中断允许位。ET0=1,允许T0中断,ET0=0,禁止T0中断。EX0:外部中断0允许位。EX0=1,允许外部中断0中断,EX0=0,禁止外部中断0中断。系统复位后,IE中各位均清“0”,禁止所有中断。IP为中断优先级寄存器,锁存各中断源优先级的控制位,用户可由软件设定,格式如表
16、6所示。表表6 IP格式格式IPBCHBBHBAHB9HB8H(B8H)PSPT1PX1PT0PX0各位含义: PS:串行口中断优先级控制位。PS=1,高优先级中断,PS=0,低优先级中断。PT1:T1中断优先级控制位。PT1=1,高优先级中断,PT1=0,低优先级中断。PX1:外部中断1中断优先级控制位。PX1=1,高优先级中断,PX1=0,低优先级中断。PT0:T0中断优先级控制位。PT0=1,高优先级中断,PT0=0,低优先级中断。PX0:外部中断0中断优先级控制位。PX0=1,高优先级中断,PX0=0,低优先级中断。系统复位后,IP中各位均清“0”。各中断源均为低优先级中断。中断响应的过程中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU查询。中断响应:在中断允许条件下响应中断。断点入栈撤除中断标志关