基于单片机控制的数字电压表课程设计内容摘要:
C0809的接口 ADC0809与 MCS51单片机的连接如图 图 8 ADC0809与 MCS51的连接 单片机部分 单片机选用的是 ATMEL 公司新推出的 AT89S51,AT89C51 是一个低电压,高性能 CMOS 8 位单片机,片内含 4k bytes的可反复擦写的 Flash 只读程序存储器和 128 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8 位中央处理器和Flash 存储单元,内置功能强大的微型计算机的AT89C51 提供了高性价比的解决方案。 AT89C51 是一个低功耗高性能单片机, 40个引脚, 32个外部双向输入 /输出( I/O)端口,同时内含 2个外中断口, 2个 16位可编程定时计数器 ,2个全双工串行通信口。 AT89S51还有以下主要特点: ① 采用了 ATMEL公司的高密度、 非易失性存储器 图 9 单片机的引脚图 ( NVSRAM)技术; ② 其片内具有 256字节 RAM, 8KB的可在线编程( ISP) FLASH存储器; ③ 有 2种低功耗节电工作方式:空闲模式和掉电模式 ④ 片内含有一个看门狗定时器( WDT), WDT 包含一个 14 位计数器和看门狗定时器复位寄存器 (WDTRST),只要对 WDTRST按顺序先写入 01EH,后写入 0E1H, WDT便启动,当 CPU由于扰动而使程序陷入死循环或 “ 跑飞 ” 状态时, WDT即可有效地使系统复位,提高了系统的抗干扰性能。 数字电压表系统原理图 A D 7A D 0A D 1A D 2A D 6A D 5A D 4A D 3A D 0A D 1A D 2A D 0A D 7A D 6A D 5A D 1A D 3A D 2A D 4A L EE O CE O CA L EAHBCDEFG162345A HB C D E F G 1 62 3 4 5X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115U18 0 C5 1D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U27 4 L S 3 7 3O UT 121A DD B24A DD A25A DD C23V RE F ( + )12V RE F ( )16I N31I N42I N53I N64I N75S T A RT6O UT 58E O C7OE9CLO C K10O UT 220O UT 714O UT 615O UT 817O UT 418O UT 319I N228I N127I N026A L E22U3A DC 0 8 0 8231U 4 : A7 4 L S 0 2564U 4 : B7 4 L S 0 2VCCG NDG NDU3( CLO CK )12U 5 : A7 4 L S 0 446%R V 11kV o lt s+ 2 . 3 0 显示接口用来显示系统的状态,命令或采集的电压数据。 本系统显示部分 用的是 LED数码管显示模块。 采用 4个七段数码管分别显示每个通道的电压及被测电压所在的通道。 七段数码管都是采用的共阳极,具体的电路是采用了把数码管的字型码段与单片机的输出端口 P1相连接。 而公共端通过一个三极管与电源相连接。 当单片机的输出端口不停的把8个通道经过处理的数字电压信号逐个的送出时,通过对每个数码管公共端的控制就可以选择使数码管亮或者灭。 具体的字型由单片机的输出口送出的代码决定。 从而实现了数字电压表的轮流动态的显示。 并且有一位代表了被测电压的通道数,方便了人们对电压的确认。 程序设计 (1) 主程序模块 主程序主要完成初始化、开 CPU 中断、开外部中断、调用启动转换子程序、调用 A/D转换子程序和调用显示子程序等等。 主程序的流程图如图 10 所示。 ( 2。基于单片机控制的数字电压表课程设计
相关推荐
子程序 、 1个定时器子程序、 3个延时子程序和 2个显示子程序 组成。 主程序主程序是一个循环程序,其主要思路是由单片机 口生数据送到 PWM信号发生电路,然后用 PID 算法输出控制系数给 PWM 发生电路改变波形的占空比进而控制电机的转速。 主程序流程图如图 31所示: 图 31 智能仪器综合设计用纸 18 : void main() { P1=0x00。 SCON=0x40。
特殊功能寄存器 实质上是一些具有特殊功能的片内 RAM 单元 ,字节地址范围为 21 个 ,离散的分布在该区域中 ,其中有些 SFR还可以进行位寻址。 并行 I/O 口 MCS51单片机共有 4个双向的 8 位并行 I/O 端口( Port),分别记作 P0P3,共 32 根口线。 各口的每一位均由锁存器、输出驱动器和输入缓冲器 组成。 实际上 P0P3 已被归入特殊功能寄存器。
平保持为高或者为低超过了定时的时间,就会产生复位信号。 CS 引脚上的一个下降沿将会复位看门狗定时器。 由于这是一个开漏型的输出引脚,所以使用时必须接上拉电阻。 8 VCC 正电源。 X5045 的状态寄存器描述 了 器件的当前状 态, 各位意义如 下 所 示。 表 24 X5045 状态寄存器各位定义 7 6 5 4 3 2 1 0 0 0 WD1 WD0 BL1 BL0 WEL WIP 其中
vN O TOEOEP P 图 211 显示 电路和 38译码电路 图中通过单片机的 P0 端口向数码管送显示的数据,通过 、 三根地址线经过 38 译码器选择显示的位置。 其中最后一个 Y7 可以 作 为 P0 端口送数据到数码管还是从 AD0809 读取数据的选择信号。 辅助电路设计 辅助电路虽然比较简单,但却是每个系统中必不可少的部分。 有些时候
在 ST 端给出一个至少有 100ns 宽的正脉冲信号。 是否转换完毕,我们根据 EOC 信号来判断。 当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片机。 ADC0809 工作原理 8 路模拟信号由 ADC0809 的 IN0~ IN7 端输入, AT89S51 单片机的 ALE 端口 输出的脉冲信号送 ADC0809 的 10 脚作为 ADC 的时钟信号( 产生
端在寻址片内 16KB FLASH 程序存储器时,必须连到 VCC,如果将此端连到 GND 端,将迫使单片机寻址外部 0000H1FFFH 范围的程序存储器。 如果加密位被编程 STC89C54RD+了, CPU 将对 EA 的状态进行采样并锁存,EA 的状态不得与实际使用的内部或外部程序存储器的状态发生矛盾。 167。 外部晶振的选用 晶振包括有源晶振和无源晶振晶振在单片机中提供时钟源