《新型单片式数字电压表毕业论文.doc》由会员分享,可在线阅读,更多相关《新型单片式数字电压表毕业论文.doc(48页珍藏版)》请在三一办公上搜索。
1、新型单片式数字电压表序 言随着我国国民经济的快速增长,产业结构也随之不断调整。先进的科学技术的出现为我国工业的快速发展提供了基础。近些年来,以计算机技术,通讯技术、消费电子技术为主的电子信息技术的高速发展和国际互联网络(Internet)的广泛应用已经改变了人们的生活方式,世界各国都在为发展以计算机技术,通讯技术、消费电子技术为主要内容的信息产业制定宏伟的发展规划,以期望在21世纪的政治、经济和技术竞争中处于主动有利的地位。信息技术对其他各产业的贡献越来越大,信息产业正逐渐成为其他产业的支柱。信息产业的发展程度、信息流通、畅通与否已成为评价各个国家的经济发展水平的一个重要标准。在人类步入全球信
2、息化社会的进程中,全球性电子信息技术正在发挥着巨大的作用。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,有精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由内部自带AD转换的单片机构成的数字电压表1,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提
3、高到崭新水平。本章重点介绍带A/D转换器的单片机构成的基于单片机的数字电压表的工作原理11,STC系列单片机的应用,此电路分三档测量,分别为10V档,100V档,1000V档23,并且误差小于3%,具有液晶显示的功能,液晶选用LCD1602。第 1章 总体电路设计1.1总体电路设计1.1.1方案论证方案一:利用FPGA作为主要核心器件,模拟电压值经过档位切换到不同的衰减电路后得到规定的数值2,然后通过A/D转换器将其送入FPGA中进行数据处理,只要通过改变内部的程序,就可以实现通道的利用。然后再把得到的数据送入数码管LED或液晶LCD中进行显示4。但是此方案费用需求大,不适合此时采用。 方案二
4、: 模拟电压值经过档位切换到不同的衰减电路后得到不同的电压值3,经隔离干扰后送到A/D转换芯片中进行A/D转换,然后送到不带AD转换的单片机中进行数据处理。处理后的数据送到数码管LED或液晶LCD中进行显示5。方案三:模拟电压值经过档位切换到不同的分压电路衰减后2,得到单片机规定的电压输入值后送入带A/D转换功能的STC系列单片机中进行A/D转换并且进行数据处理11。处理后的数据送到数码管LED或液晶LCD中进行显示。并且自己制作下载器。可以成功的下载程序。1.1.2方案选择经过比较以及思考,我选择了方案三,利用模拟电压值经过档位切换到不同的分压电路衰减后,得到规定值送到带A/D转换器的STC
5、(STC12C5410AD)系列单片机中进行A/D转换并且进行数据处理。单片机选用的是带十位AD转换的STC系列单片机12,经过单片机处理后的数据送到液晶LCD(LCD1602)中进行显示。自己制作MAX232下载器,把程序下载进入芯片中,进行调试,调试过程方便,而且费用最低,最经济。1.2电路总体框图 以单片机为核心,外围电路总体框图如下图1-1所示。图1-1 单片式数字电压表框图第 2 章 主要器件介绍2.1 STC单片机介绍2.1.1 STC12C5410AD系列单片机介绍 STC12C5410AD系列以及STC12C2052AD系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机
6、,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快812倍,内部集成MAX810专用复位电路。4路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。STC12C2052AD系列只有2路PWM,8路高速8位A/D转换11。1. 增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。2. 工作电压: STC12C5410AD系列工作电压:5.5V3.8V(5V单片机)/3.8V2.4V(3V单片机)。 STC12C2052AD系列工作电压:5.5V3.8V(5V单片机)/3.8V2.4V(3V单片机)。3. 工作频率范围:
7、035MHZ,相当于普通8051的 0420MHZ。实际工作频 率可达48MHZ。4. 用户应用程序空间12K/10K/8K/6K/2K/1K字节。5. 片上集成512字节RAM(STC12C5410AD系列),STC12C52AD系列单片机为256字节RAM。6. 通用I/O口(27/23/15个),复位后为: 准双向口/弱上拉(普通8051传统I/0口)。 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。 每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55MA7ISP(在系统可编程)IAP(在应用可编程),无需专用编程器,无需专用的仿真器。 可通过串口
8、(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。8. EEPROM功能9. 看门狗10.内部集成MAX810专用复位电路(外部晶振20M以下时,可省外部复位电路)。11.时钟源:外部高精度晶体/时钟,内部R/C振荡器。 用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部精度晶体/时钟。 常温下内部R/C振荡器频率为5.2MHZ6.8MHZ。 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,应认为是4MHZ8MHZ。12.共2个16位定时器/计数器,但可用PCA模块再产生4个定时器(2052系列只有两路PCA)。13.外部中断2路,下降沿中断或低电平触发中断,POW
9、ER DOWN模式可由外部中断唤醒。14.PWM(4路)/PCA(可编程计数器阵列,4路),5410系列是4路,2052系列只有两路 也可用来当4路D/A使用。也可用来再实现4个定时器。也可用来再实现4个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。15.A/D转换,10位精度ADC,共8路。STC12C5452AD系列只有8位精度。16.通用全双工异步串行口(UART),由于STC12系列是高速的8051,也可再用定时器软件实现多串口。17.SPI同步通信口,主模式/从模式。18.工作温度范围:075度/-40+85度。19.封装:SOP32/28/20,SKDIP28,PDIP20
10、,TSSOP20(超小封状6.4mm/6.4mm,定货)SOP32有27个I/O口,SOP28/SKDIP28有23个I/O口,SOP20/TSSOP20/PDIP20有15个I/O口,I/0口不够时,可用74HC165/74HC164串行扩展I/O口,或用双CPU,三线通信,还多了串口。图2-1 STC12C5410AD单片机的原理图2.1.2 STC12C5410AD单片机A/D转换介绍 STC12C5410AD系列带A/D转换的单片机的A/D转换口在P1口(P1.7P1.0),有8路10位高速A/D转换器,STC12C2052AD系列是8位精度的A/D,速度均可达到100KHZ(10万次
11、/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口作用。需作为A/D使用的口需先将其设置为开漏模式或高阻输入,在P1M0、P1M1 寄存器中对相应的位进行设置。表2-1 P1M1 P1M0寄存器模式设置P1M07:0地址:91hP1M17:0地址:92hI/O口模式(P1.X 如做A/D使用,需先将其设置成开漏或高阻输入)00准双向口(传统8051 I/O口模式)灌电流可达20MA,拉电流为230UA01推挽输出(强上拉输出,可达20
12、MA,尽量少用)10仅为输入(高阻),如果该I/O口需作为A/D使用,可选此模式11开漏(OPEN DRAIN),如果该I/O口需作为A/D使用,可选此模式表2-2 AD转换寄存器MnemonicAddName76543210ResetValueADC_CONTRC5hA/D转换控制寄存器ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS00XX00000ADC_DATAC6hA/D转换结果寄存器,高8位_XXXXXXXXADC_LOW2BehA/D转换结果寄存器,低2位_XXXXXXXX表2-3 ADC_CONTR 特殊功能寄存器:A/D转换控
13、制特殊功能寄存器A/D转换控制寄存器ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS00XX00000表2-4 CHS2/CHS1/CHS0:模拟输入通道选择,CHS2/CHS1/CHS0CHS2CHS1CHS0Analog Channel Select模拟输入通道选择000选择 P1.0 作为 A/D输入来用001选择 P1.1 作为 A/D输入来用010选择 P1.2 作为 A/D输入来用011选择 P1.3 作为 A/D输入来用100选择 P1.4 作为 A/D输入来用101选择 P1.5 作为 A/D输入来用110选择 P1.6 作为
14、A/D输入来用111选择 P1.7 作为 A/D输入来用ADC_START:模数转换器(ADC)转换启动控制位,设置“1”时,开始转换,转换结束后为0。ADC_FLAG:模数转换器转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清0。表2-5 SPEED1,SPEED:模数转换器转换速度控制位SPEED1SPEED0A/D转换所需时间11210个时钟周期转换一次,CPU工作频率20MHZA/D转换速度约100KHZ10420个时钟周期转换一次01630个时钟周期转换一次00840个时钟周期转换一次ADC_POWER: ADC电源控制位 0:关闭ADC电源;1:打开A/D转换器
15、电源,建议进入空闲模式前,将ADC电源关闭,ADC_POWER=0。启动A/D转换前一定要确认AD电源已打开,AD转换结束后关闭AD电源可降低功耗,也可不关闭建议启动A/D转换后,在A/D转换结束之前,比改变任何I/O口的状态,有利于高精度A/D转换表2-6 ADC_DATA/ADC_LOW2 特殊功能寄存器: A/D转换结果特殊功能寄存器ADC_DATAC6hA/D转换结果寄存器,全部8位有效,为10位A/D转换结果的高8位XXXXXXXXADC_LOW2BEhA/D转换结果寄存器,只有低2位有效,为10位A/D转换结果的低2位XXXXXXXXXXXXXX 模拟/数字转换结果计算公式如下:结
16、果(ADC_DATA7:0,ADC_LOW21:0)= Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。取ADC_DATA的8位为ADC转换的高8位,取ADC_LOW2的低2位为ADC转换的低2位,则为10位精度。如果舍弃ADC_LOW2的低2位,只用ADC_DATA寄存器的8位,则A/D转换结果为8位精度。 结果 ADC_DATA7:0=STC12C5410AD系列单片机的参考电压源是输入工作电压VCC,所以一般不用外接参考电压源。如7805的输出电压是5V,但实际电压可能是4.88V到4.96V,用户需要精度比较高的话,可在出厂时将实际测出的工作
17、电压值记录在单片机内部的EEPROM里面,以供计算。在本设计中,考虑现实条件,我们使用了7805作为电压源,给单片机提供5V电压。2.1.3 STC12C5410AD单片机口P口介绍表2-7 P3口设定P3M07:0P3M17:0I/0口模式00准双向口(传统8051 I/O口模式),灌电流可达20MA,拉电流为230UA,由于制造误差,实际为250UA150UA01推挽输出(强上拉输出,可达20MA,要加限流电阻)10仅为输入(高阻)11开漏(OPEN DRAIN),内部上拉电阻断开,要外加表2-8 P2口设定P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0P2
18、M07:0P2M17:0I/O口模式00准双向口(传统8051 I/O口模式)灌电流可达20MA,拉电流为230UA,由于制造误差,实际为250UA150UA01推挽输出(强上拉输出,可达20MA,要加限流电阻)10仅为输入(高阻)11开漏(OPEN DRAIN),内部上拉电阻断开,要外加表2-9 P1口设定 P1M07:0P1M17:0I/O口模式(P1.X 如做A/D使用,需先将其设置成开漏或高阻输入)00准双向口(传统8051 I/O口模式)灌电流可达20MA,拉电流为230UA,由于制造误差,实际为250UA150UA01推挽输出(强上拉输出,可达20MA,要加限流电阻)10仅为输入(
19、高阻),如果该I/O口需作为A/D使用,可选此模式11开漏(OPEN DRAIN),如果该I/O口需作为A/D使用,可选此模式注意: 虽然每个I/O口在弱上拉时都能承受20MA的灌电流(还是要加限流电阻,如1K,560欧等),在强推挽输出时都能输出20MA的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过55MA。即从MCUVCC流入的电流不超过55MA,从MCU-GND流入/流出都不能超过55MA。2.2 LCD1602液晶介绍2.2.1 LCD1602液晶的知识液晶显示器简称LCD显示器,它是利用液晶经过处理后改变光线的传输方向的特性实现显示原理的。液晶显示器具有体积小、重量轻、
20、功耗极低、显示内容丰富、无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点,在单片机应用中得到了日益广泛的应用。液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果910。字符型的液晶显示模块是一种专门用于显示字母、数字、符号等点阵式液晶显示模块,它是由若干个5*7或5*11等点阵符位组成的,每一个点阵字符位都可以显示一个字符。点阵字符位之间有一定点距的间隔,这样就起到了字符间距和行距的作用。要使用点阵式LCD液晶显示器,
21、必须有相应的LCD控制器、驱动器来对LCD显示器进行扫描、驱动,以及一定空间的ROM和RAM来存储写入的命令和显示字符的点阵。现在往往将LCD控制器、驱动器、RAM、ROM和LCD显示器连接在一起,称为液晶显示模块LCM。使用时只要向LCM送入相应的命令和数据就可以实现显示所须的信息。目前市场上常用的有16字1行,16字2行,20字2行和40字2行等的字符液晶显示模块。这些LCM虽然显示字数各个不相同,但是都有相同的输入输出界面。本设计中所用的液晶显示模块的显示容量为162字符型液晶显示模块;芯片工作电压:4.55.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符尺寸:
22、 2.954.35(WH)mm。1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表三所示:第1脚:VSS 电源地。第2脚:VDD接5V正电源。第3脚:VL液晶显示偏压信号,为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个电位器调整对比度。第4脚:RS为寄存器选择,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读/写选择端,高电平时进行读操作,
23、低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:BLA背光源正极。第16脚:BLK背光源负极。2.2.2 LCD1602的实物图图2-2 LCD1602的实物图2.2.3 LCD1602的内部结构以及显示原理液晶显示模块RT1602C的内部结构可以分成三部分:一为LCD控制器,二为LCD驱动器,三为LCD显示装置。图2-3 液晶显示模块RT1602C的内部结构控制器
24、采用HD44780,驱动器采用HD44100。HD44780是集控制器、驱动器于一体,专用于字符显示控制驱动集成电路。HD44100是作扩展显示字符位的。HD44780是字符型液晶显示控制器的代表电路。HD44780集成电路的特点:(1)可选择5*7或5*10点字符。(2) HD44780不仅可作为控制器,而且还具有驱动16*40点阵液晶像素的能力,并且HD44780的驱动能力还可通过外接驱动器扩展360列驱动。HD44780可控制的字符高达每行80个字,也就是5*80=400点,HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具有驱动16*40点阵LCD的能力(即
25、单行16个字符或两行8个字符)。如果在外部加一HD44100外扩展40路/列驱动,则可驱动16*2LCD。(3)HD44780的显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM全部内藏在芯片内。HD44780有80个字节的显示缓冲区,分两行,地址分别为00H27H,40H67H,它们实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT1602C的显示地址与实际显示位置的关系如图2-4所示。图 2-4 RT1602C的显示地址与实际显示位置的关系图HD44780内藏的字符发生存储器(ROM)已经存储了160个不同的点阵字符图形,如表2-10所示。表2-10
26、1602的标准字库UPPER4BIT0000001000110100010101100111101010111100110111101111LOWER4BITCGRAMXxxx0000 (1)0Ppp0001 (2)!1AQaq。q0010 (3)“2BRbr0011 (4)#3CScs0100 (5)$4DTdt、0101 (6)%5EUeu0110 (7)&6FVfv0111 (8)7GWgwg1000 (1)(8HXhx_1001 (2)9IYiy.y1010 (3)*:JZjzj千1011 (4)+;Kk万1100 (5),Nn_n1111 (8)/?O_o这些字符有阿拉伯数字、英文字
27、母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H),可以看出英文字母的代码与ASCII编码相同。要显示“1”时,只需将ASCII码31H存入DDRAM指定的位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,我们就能看到数字“1”了。(4) D44780具有8位数据和4位数据传输两种方式,可与4/8位CPU相连。(5) D44780具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。HD44780的工作原理:(1) 示数据存储器DDRAMDDRAM用
28、来存放要LCD显示的数据,只要将标准的ASCII码送入DDRAM,内部控制电路会自动将数据传送到显示器上。(2) 符发生器CGROMHD44780内藏的字符发生存储器(CGRAM),存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。(3) 字符发生器CGRAMCGRAM是供使用者储存自行设计的特殊造型的造型码RAM,CGRAM共有512BIT(64字节)。一个5*7点矩阵字型占用8*8BIT,所以CGRAM最多可存8个造型。(4)指令寄存器IR指令寄存器IR负责储存单片机要写给LCM的指令码。当单片机要发送一个命令
29、到IR时,必须要控制LCM的RS、R/W及E这三个引脚,当RS及R/W引脚信号为0,E引脚信号由1变为0时,就会把在D0D7引脚上的数据送如IR。(5)数据寄存器DR数据寄存器DR负责储存单片机要写到CGRAM或DDRAM的数据,或储存单片机要从CGRAM或DDRAM读出的数据,因此DR可视为一个数据缓冲区,它也是由LCM的RS、R/W及E这三个引脚来控制。当RS及R/W引脚信号为1,E引脚信号为1时,LCM会将DR内的数据由D0D7输出。以供单片机读取;当RS引脚信号为1,E引脚信号由1变为0时,就会把在D0D7引脚上的数据存如DR。(6)忙碌标志信号BF(忙标志)BF的功能是告诉单片机,L
30、CM内部是否正忙着处理数据。当BF=1时,表示LCM内部正在处理数据,不能接受单片机送来的指令和数据。LCM设置BF的原因为单片机处理一个指令的时间很短,只需几微秒的时间,而LCM需要40US-1.64MS的时间,所以单片机要写数据或指令到LCM之前,必须先查看BF是否为0。(7)地址计数器ACAC的工作是负责计数写到CGRAM、DORAM数据的地址,或从DDRAM、CGRAM读出数据的地址。使用地址设定指令写到IR后,则地址数据会经过指令解码器,再存入AC。当单片机从DDRAM或CGRAM存取资料时,AC依照单片机对LCM的操作而自动修改它的地址计数值。表2-11 HD44780接口部信号逻
31、辑功能组合表RSR/WED7-D0功能00下降沿输入态写指令代码01高电平输出态读忙标志和AC码10下降沿输入态写数据11高电平输出态读数据用单片机来控制LCM,方式十分简单,LCM其内部可以看成两组寄存器,一个为指令寄存器IR,一个为数据寄存器DR,由RS引脚来控制。所有对指令寄存器或数据寄存器的存取均需要检查LCM内部的忙标志BF,此标志用来告知正在工作,并不允许接受任何的控制命令。而此位的检查可以令RS=0,用读取D7来加以判断,当D7为0时,才可以写入指令或数据寄存器。LCM控制指令有11组,以下分别介绍。表2-12 清屏RSR/WD7D6D5D4D3D2D1D00000000001指
32、令代码为01H,将DDRAM数据全部填入“空白”的ASCII代码20H,执行此指令将清除显示器的内容,同时光标移到左上角。表2-13 光标归位RSR/WD7D6D5D4D3D2D1D0000000001X指令代码为02H,地址计数器AC被清0,DDRAM数据不变,光标移到左上角。X表示可以为0也可以为1。表2-14 输入方式设置RSR/WD7D6D5D4D3D2D1D000000001I/DS当I/D=1时,光标从左向右移动;I/O=0时,光标从右往左移动。当S=1时,内容移动,S=0时,内容不移动。表2-15 显示开关控制RSR/WD7D6D5D4D3D2D1D00000001DCB指令代码
33、为08H0FH。该指令控制字符、光标以及闪烁开与关,有3个状态位D、C、B,这3个状态位分别控制着字符、光标和闪烁的显示状态。D是字符显示状态位。当D=1时为开显示,D=0时为光标移动。光标为底线形式(5*1点阵),光标的位置由地址指针计数器AC确定,并随其变动移动。当AC值超出了字符的显示范围,光标将随之消失。B是光标闪烁显示状态位。当B=1时;B=0时,光标不闪烁。表2-16 光标、字符位移RSR/WD7D6D5D4D3D2D1D0000001S/CR/LXX执行该指令将产生字符或光标向左回向右滚动一个字符位。如果定时间隔地执行该指令,将产生字符或光标的平滑滚动。表2-17功能 设置RSR
34、/WD7D6D5D4D3D2D1D000001DLNF00设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。设置显示行数,当N=1时双行显示,N=0时单行显示。设置字形大小,当F=1时5*10点阵,F=0时为5*7点阵。表2-18 CGRAM地址设置RSR/WD7D6D5D4D3D2D1D00001A5A4A3A2A1A0设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴为063。表2-19 DDRAM地址设置RSR/WD7D6D5D4D3D2D1D0001A6A5A4A3A2A1A0该指令将7位的DDRAM地址写入地址指针计数器AC
35、内,随后,单片机对数据的操作是对DDRAM饿读/写操作。表2-20读BF及AC值RSR/WD7D6D5D4D3D2D1D001BFAC6AC5AC4AC3AC2AC1AC0读忙标志及地址计数器AC命令。当BF=1时表示忙,这时不能接受命令和数据:BF=0时表示不忙。低7位为读出的AC的地址,值为0127。表2-21写DDRAM或CGRAM命令RSR/WD7D6D5D4D3D2D1D010写入的数据 向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。表2-22 读DDRAM或CGRAM命令RSR/WD7D6D5D4D3D2D1D0
36、11读出的数据 从DDRAM或CGRAM当前位置中读出数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。第 3 章 硬件电路设计3.1输入电路的设计3.1.1单片机电源电路的设计为使系统能够稳定工作,必须有可靠电源,在此基础上综合考虑降低成本、硬件调试简单和设计维修方便等因素,本设计采用变压器整流的形式给单片机提供5V的电源,由变压器整流的形式的电源电路结构简单,成本较低,输出功率可以在选择变压器的时候确定,只要变压器的功率合适,完全可以使整个电路稳定工作。而且此方案经济实用,方便携带。电源方案的具体电路如图3-1所示12。图3-1 单片机5V电源的设计框图3.1
37、.2衰减电路的设计衰减电路的作用是把不同量程的被测的电压规范到单片机A/D转换所要求的输入的电压值。单片机规定的输入电压的最大值为5V电压,所以输入到单片机中的电压值为0-5V,在现实生活中,最简单的衰减电路就是用电阻进行分压,通过选取不同的电阻值使输入电压衰减后得到0-5V的电压值送入单片机中,本仪表设计是测量0-1000V的电压,灵敏度高所以可以不用加前置放大器,只需要加衰减器,如图3-2所示电路图是由1.8M、180K、10K、和10K电阻分别构成1/2、1/20、1/200的衰减器。衰减输入电路可由拨档开关来选择不同的衰减率,从而切换档位。拨档开关选择的是双向三联的开关,即拨档开关打到
38、那一档,那一档就导通,选用双向的开关是为了可以让单片机同时控制档位值的大小13。图3-2 输入衰减电路设计3.1.3 换档电路的设计本仪表设计是0-1000V电压测量,为了使电压测量值显示更加精确,使电路测量一共分为三档,分别是0-10V档,10-100V档,100-1000V档。当测量10V以下的电压时,拨档开关打在0-10V档,当测量10-100V档时,拨档开关打在10-100V档,当测量100V以上1000V以下的电压时,拨档开关打在100-1000V档。通过程序让单片机自动识别出哪个档位,以便得到更加精确的数值。如图3-3的硬件连接图。图3-3 换档电路的设计3.2 STC12C541
39、0AD单片机外围电路连接3.2.1 单片机复位电路的连接STC12C5410AD系列单片机的复位引脚RST是史密特触发输入脚,内部有一个上拉低电阻(值为80K300K)。当振荡器起振后,在RST引脚上输入2个机器周期以上的高电平,器件便进入复位状态,此时P1、P2、P3口输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作67。这里采用的是人工开关复位电路,应用系统除上电复位以外,还需人工复位,将一个按钮开关并联于上电复位电路,在系统运行时,按一下开关,就在RST端出现一段时间高电平,如图3-4所示:图3-4 单片机复位电路3.2.2单片机时钟电路的连接STC12C5410AD等CM
40、OS型单片机内部有一个可控的反相放大器,引脚XTAL1、XTAL2为反相放大器的输入端和输出端,在XTAL1、XTAL2上外接晶振(或陶瓷谐振器)和电容便组成振荡器78。电容C1、C2的典型值为30pFpF(晶振)或40pF10pF(陶瓷谐振器)。振荡器频率主要取决于晶振(或陶瓷谐振器)的频率,但必须小于器件所允许的最高频率。振荡器的工作受(PCON.1)控制,复位以后PD=0振荡器工作,可由软件置“1”PD,使振荡器停止振荡,从而使整个单片机停止工作,以达到节电目的。CMOS型单片机也可以从外部输入始终,接线如图3-5所示:图3-5 单片机时钟电路3.2.3单片机与液晶电路的连接图图3-6为液晶LCD1602和STC12C5410AD单片机的连接图,单片机的P2口和液晶的DB0-DB7相连接,并且电源和地需接通。图3-6单片机与液晶连接图第 4章 软件程序设计4.1软件设计要点4.1.1软件需求的分析软件设计就是把软件需求变换成软件的具体方案(即模块结构)的过程。结构化模块设计根据上述软件需求分析,到出软件模块,得到软件模块结构,包括模块之间的接口定义。软件设计的成果是软件设计说明书,它主要包括两部分内容:一是模块结构图(指出系统由哪些模块组成,模块间的调用关系),二是模块的功能说明(指出每个模块的输入、输出及模块的功