文档介绍:【一】设计任务与要求
设计一个具有如下要求的数字电压表:
1、、量程为10V的测量直流电压的数字电压表,能够自动切换量程并且利用语音系统播报所测的电压值
2、当电压超过范围时有提示语音:所测电压已超出量程。
3、在不测量电压时能有可调节数字时钟并且利用温度传感器系统显示周围温度等功能
4、具有输入的保护作用。
【二】方案设计与论证
采用增强型单片机STC12C5410AD,此单片机自带AD,省去搭建AD转换电路,调试简单。
本次采用增强型单片机STC12C5410AD电子设计所用到的功能说明:(参考STC12C5410AD系类单片机器件手册)
1、增强型单片机STC12C5410AD的AD转换器。
(1)AD转换器的结构
(2)本次设计中与AD装换相关的寄存器
P1口模拟配置寄存器P1M0和P1M1
表1 P1口模拟配置寄存器P1M0和P1M1
AD转换结果寄存器ADC-DATA、ADC-LOW2
与AD中断有关的寄存器
AD转换的典型应用电路
2、增强型单片机STC12C5410AD的中断系统
表2中断查询次序
增强型单片机STC12C5410AD的中断系统结构示意图
表3 中断触发
本次电子设计重要用到了定时器/计数器中断和AD转换的中断
(1)定时器/计数器控制寄存器TCON中断
(2)AD转换控制器ADC-CONTR中断。
(3)外部中断
3、定时器/计数器
(1)定时器/计数器控制寄存器TCON
(2)定时器/计数器工作模式寄存器TMOD
(3)本次电子设计采用增强型单片机STC12C5410AD中计数器/定时器的工作模式0。
(二)按设计任务的要求各个模块的设计。
1、首先能自动切换量程,由于单片机只能处理5V以下的电压,所以要搭建合适的电路将所测电压的范围检测出来,然后决定合适的衰减,将衰减量再程序里补上。本设计将量程设置为两个档位:0~5V与5V~10V。经查阅新片手册LM339能很好的完成电压范围的检测,电压范围检测出来后就据此决定是否衰减,最简单的方法就是电阻分压。,由于STC12C5410AD单片机的AD有十位完全能满足要求。
2、其次是实时播报的功能,本设计采用ISD1420语音芯片,它采用直接模拟存储技术,只要按新片手册所写搭建电路并编写程序能很好的完成芯片的录放音功能。
3、接着数字时钟的设计,本设计是直接利用STC12C5410AD单片机的定时器采用中断法设计的。考虑到实时性要求,定时中断应该是优先级最高的,这样可以尽量减少时钟误差,但不可避免,因为中断延迟现像的存在,如果要避免中断延迟现像,只能另外设计电路,采用专门的时钟芯片,不如:DS1302、DS12C887等。
4、温度技的设计采用DS18B20集成数字温度芯片,硬件简单,但增加了软件的开销,这种设计是合理的
5、具有输入保护作用,可以在模拟电压输入端搭建二极管限幅电路将电压限制在一定范围内,但是这个电路并不是意味着你的输入电压可以无限大,当超过一定范围时,你的二极管照烧不误,考虑本设计的电压表主要是用于低压的测量,所以没有考虑设计复杂的前头保护电路。
6、最后是整个系统显示电路,考虑显示内容并不复杂,可以采用1602液晶,利用STC12C5410AD单片机的SPI功能能很好的减少线路,同时将SPI的数据用74LS164转换成并行数据送给1602显示。
【三】硬件电路设计
1、最小系统电路设计:包括复位电路、晶振时钟电路、电源电路、编程下载