单片机电压检测系统1.docx
《单片机电压检测系统1.docx》由会员分享,可在线阅读,更多相关《单片机电压检测系统1.docx(29页珍藏版)》请在冰点文库上搜索。
![单片机电压检测系统1.docx](https://file1.bingdoc.com/fileroot1/2023-8/5/be9a5e27-5372-404d-b74e-a609e1b087ac/be9a5e27-5372-404d-b74e-a609e1b087ac1.gif)
单片机电压检测系统1
江西渝州科技职业学院
毕业论文
单片机电压检测系统
院系:
电子科技学院
专业班级:
09电信
(2)班
学生姓名:
XXX
学号:
1095030230
指导教师姓名:
张常友
指导教师职称:
技师
二O一一年十二月
目录
摘要I
AbstractII
第一章绪论1
1.1课题研究的背景1
1.2开发的意义1
1.3课题研究的方案2
第二章芯片选用说明2
2.1AT89S52AT89C2051DAC0832ADC08322
2.1.1相关芯片及其引脚分析2
2.1.2引脚功能说明3
第三章系统硬/软件设计10
3.1硬件电路的设计10
3.1.1硬件平台总体设计10
3.1.2被测电压信号产生电路的设计10
3.1.3A/D转换与单片机接口电路的设计11
3.2软件程序设计14
3.2.1电压检测系统下位机程序:
14
3.2.2随机电压产生程序17
第四章调试18
4.1硬件调试18
4.2软件的调试18
第五章:
总结与展望20
5.1工作总结20
5.2展望20
致谢21
参考文献:
22
附页23
单片机电压检测系统
电子科技学院2009级谢志鹏指导教师张常友
摘要
随着信息化、数字化在各行各业的迅猛发展,武器系统中的信息化、数字化也将成为未来的发展趋势。
武器系统中,司乘人员在空间狭小的操作仓里,经常要面对功能众多、大小不等、量程各异的仪表盘,这些仪表盘不仅占用空间,而且不够直观,在分秒必争的战场中,情况紧急时,容易造成司乘人员的误操作或反应滞后,给操作带来不必要的麻烦。
本文提出一种进行交流电频率、电压测量的方法,以简化武器系统的操作仓,节省了空间,使司乘人员更加直观地进行系统供电频率、电压的监测,而不用先找位置,再进行各种仪表体积、量程的对比确认,最后才进行观测参数的读取,简化了过程,节省了时间。
同时为了能够融会贯通所学电子技术和单片机知识,设计开发了适合学生学习的基于单片机的电压测量的实验平台。
从实验平台硬件电路设计和单片机软件系统设计两个主要方面对设计进行了深入的分析。
介绍了实验平台由220V市电转换成被测电压信号的过程及电路以及信号通过A/D转换器MC14433接入单片机进行按键控制和LED显示的过程,实现了单片机测量直流电压并显示,并且该实验平台在学生的学习实践中取得了良好效果。
关键词:
单片机、电压测量、A/D转换器、AT89S52、AT89c2051
Singlechipvoltagedetectionsystem
Abstract
Alongwiththeinformationization,digitalizationinallwalksofswiftandviolentdevelopment,weaponsystemininformatization,digitalizationwillbecomethedevelopmenttrendofthefuture.Weaponsystem,driverandpassengerinthespaceisnarrowoperationbarns,oftenhavetofacemanyfunctions,rangingfromthesize,rangeofdifferentinstrumentpanel,thepanelnotonlytakeupspace,andnotintuitive,thecounteveryminuteandsecondbattle,incaseofemergency,easytocausetheDepartmenttotakestaffmisoperationorreactionlag,totheoperationbroughtunnecessarytrouble.Thispaperproposesaalternatingcurrentfrequency,voltagemeasurementmethod,tosimplifytheweaponsystemoperationstorehouse,savesthespace,makedriversmoreintuitivesystempowersupplyfrequency,voltagemonitoring,withoutfirstlookingforalocation,andthenvariousinstrumentvolume,rangecontrastconfirmation,finallyobservationparameterread,simplifiestheprocess,savestime.Atthesametimeinordertobeabletolearntheelectronictechnologyandsinglechipcomputerknowledge,designsuitableforthedevelopmentofthestudents'learningbasedonmonolithicintegratedcircuit'svoltagemeasurementexperimentalplatform.Fromtheexperimentalplatformofhardwarecircuitdesignandsoftwaresystemdesigntwomajoraspectsofthedesignareanalyzed.Describestheexperimentalplatformby220VcityelectricityintothemeasuredvoltagesignalprocessandcircuitandsignalthroughA/DconverterMC14433accesssinglebuttoncontrolandLEDdisplayprocess,toachieveasinglechiptomeasureDCvoltageanddisplay,andtheexperimentalplatformforstudents'learninginpracticeandachievedgoodresults.
Keywords:
SCM,voltagemeasurement,A/Dconverter,AT89S52,AT89c2051
第一章绪论
1.1课题研究的背景
随着现代科技的飞速发展,单片机已经在各个领域得到越来越广泛的应用。
单片机由于体积小,功耗低两个基本特征,在通讯,家电,工业控制,仪器仪表,汽车等产品中都可以看到单片机的身影。
单片机技术也随着集成电路技术的进步在近几年飞速的发展,这种发展可以分为两方面
:
一方面在硬件上单片机内部集成了越来越多的功能部件,如A/D,D/A,PWM,WATCHDOG,LCD驱动,串行口,大容量FLASH存储器等;另一方面在开发手段上从汇编语言向高级C语言过度,计算机仿真调试,IAP,ISP技术的应用使单片机开发周期大大的缩短,为各类产品更新,软件的升级提供了可靠的技术保障。
在设计单片机应用系统时,由于历史的原因,目前在国内仍然以8051系列单片机为主。
作为电子专业的学生,非常有必要通过实际产品的设计和制作,了解现代IT产品的开发全流程。
全面提高机,电,光,算知识的综合应用能力,掌握从系统级,电路级,到芯片级各个层次的设计和实现手段。
基于上述原因,选择此设计课题,在此设计过程中,我们将会用到多门学科的理论知识,将对以前所学的知识做一个全面的复习和巩固,更重要的是培养了发现问题,分析问题,解决问题的能力,还有动手能力,也是一次很好的实践,对以后的学习和工作也会有所帮助。
1.2开发的意义
科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用范围日益广泛,已远远超出了计算机科学的领域。
小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机,此设计正是单片机的一个典型应用。
而此设计可以通过实现智能电源监控,通过对电压的检测,由单片机来控制其反应情况,使其变得智能化,使人的手解放出来,此系统还可以应用到电压检测,能满足社会的需要。
1.3课题研究的方案
本选题是用单片机介绍一种使用AT89C2051单片机联合AT89S52制作的电压智能控制器,采用两开两关的工作模式,即在天黑后自动开灯,过4小时后关灯;在天亮前1小时开灯,天亮后自动关灯。
天黑后开灯的持续时间和天亮前提前开灯的时间可通过程序进行调整。
由于本系统采用单片机对电压检测的判断并进行计算,因此电路能随着季节的变化自动调节每天的开关灯的时间,从而达到自动节约电能的目的。
第二章芯片选用说明
2.1AT89S52AT89C2051DAC0832ADC0832
2.1.1相关芯片及其引脚分析
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.1.2引脚功能说明
图151系列单片机40引脚图
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL
逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
表1P1口的第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑
电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表
(2)所示。
在flash编程和校验时,P3口也接收一些控制信号。
表2P3口第二功能
引脚号
第二功能
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
INT0(外部中断0)
P3.3
INT0(外部中断0)
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器写选通)
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO
位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端
特殊功能寄存器:
特殊功能寄存器(SFR)的地址空间映象所示。
并不是所有的地址都被定义了。
片上没有定义的地址是不能用的。
读这些地址,一般将得到一个随机数据;写入的数据将会无效。
用户不应该给这些未定义的地址写入数据“1”。
由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。
定时器2寄存器:
寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。
中断寄存器:
各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。
T2CON:
定时器/计数器2控制寄存器
T2CON地址为0C8H复位值:
00000000B
位可寻址:
表3中断寄存器
TF2
EXF2
RLCLK
TCLK
EXEN2
TR2
7
6
5
4
3
2
1
0
AT89C2051:
先介绍本系统中的核心器件AT89C2051。
它是一带有2K字节闪速可编程可擦除只读存储器的低压、高性能8位CMOS微型计算机。
它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。
ATMELAT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。
AT89C2051提供以下标准功能:
2K字节闪速存储器,128字节RAM,15根I/O引线,两个16位定时器/计数器,六个中断源,一个全双工串行口,一精密模拟比较器以及片内振荡器和时钟电路。
此外,AT89C2051是用可降到0频率的静态逻辑操作设计的并支持两种可选的软件节电工作方式。
空闲方式停止CPU工作但允许RAM,定时器/计数器,串行口和中断系统继续工作。
掉电方式保存RAM内容但振荡器停止工作并禁止所有其它部件的工作直到下一个硬件复位。
AT89C2051共有20条引脚,详见下图2:
图2AT89C2051引脚图
各引脚功能如下:
RST(Pin1):
复位输入。
RST一旦变成高电平所有的I/O引脚就复位到“1”。
当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。
OSC2(Pin4):
作为振荡器反相放大器的输出。
OSC1(Pin5):
作为振荡器反相放大器的输入和内部时钟发生器的输入。
GND(Pin10):
地。
VCC(Pin20):
电源电压。
P1口(Pin12~Pin19):
P1口是一8位双向I/O口。
口引脚P1.2~P1.7提供内部上拉电阻。
P1.0
和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。
P3口:
是带有内部上拉电阻的双向I/O口。
它还用于实现AT89C2051的其它特殊功能。
P3.0为串行输入端口
P3.1为串行输出端口
P3.2为外中断0
P3.3为外中断1
P3.4为定时器0外部输入
P3.5为定时器1外部输入
DAC0832内部结构资料:
芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换
等)。
D/A转换结果采用电流形式输出。
要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。
运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。
该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,下面是芯片电路原理图
图:
点击可放大。
或下载放大。
图3DAC0832引脚图和内部结构电路图
DAC0832引脚功能说明:
DI0~DI7:
数据输入线,TLL电平。
ILE:
数据锁存允许控制信号输入线,高电平有效。
CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
WR2:
为DAC寄存器写选通输入线。
Iout1:
电流输出线。
当输入全为1时Iout1最大。
Iout2:
电流输出线。
其值与Iout1之和为一常数。
Rfb:
反馈信号输入线,芯片内部有反馈电阻.
Vcc:
电源输入线 (+5v~+15v)
Vref:
基准电压输入线 (-10v~+10v)
AGND:
模拟地,摸拟信号和基准电源的参考地.
DGND:
数字地,两种地线在基准电源处共地比较好.
ADC0832引脚功能:
图4ADC0832引脚功能图
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
ADC0832具有以下特点:
●8位分辨率;
●双通道A/D转换;
●输入输出电平与TTL/CMOS相兼容;
●5V电源供电时输入电压在0~5V之间;
●工作频率为250KHZ,转换时间为32μS;
●一般功耗仅为15mW;
●8P、14P—DIP(双列直插)、PICC多种封装;
●商用级芯片温宽为0°Cto+70°C?
,工业级芯片温宽为40℃to+85℃
第三章系统硬/软件设计
3.1硬件电路的设计
3.1.1硬件平台总体设计
本设计是要对该交流电路的电压参数进行监测本章主要介绍项目化教学实验平台的各个主要组成部分的基本原理、基本电路分析。
单片机监测电路硬件设计以监测的参数要求为依据,结合理论课程学习内容的特点,不追求过高的性能指标,达到学习和研究单片机开发的目的,寻求最简最优的设计方案。
图5电压检测实验平台系统框图
3.1.2被测电压信号产生电路的设计
单片机电压检测综合实验平台,在设计中被测电压信号由市电220V,50Hz的交流信号经过变压、整流、滤波转换得到的。
如图2所示,被测电压信号产生的电路框图,是将一个220V的市电交流电源通过变压器转换成一个15V的交流信号源作为被研究的对象(待测信号源)。
为了能够适合A/D转换电路的输入要求,再将信号源经过一个1/10的分压电路进行分压,经过精密整流电路整流再经LC滤波电路滤波输出待测的直流电压信号。
图6被测电压产生电路框图
3.1.3A/D转换与单片机接口电路的设计
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择。
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
我们看看在实验板上它是怎么连接的。
图7
ADC0832的控制引脚CS、CLK、DO、DI占用了P20、P36、P37三个个IO口。
其中,DO和DI共用一条数据线。
象前二课一样,我们来通过它的时序图来学习对它进行控制。
与DS1302非常相似,CS作为选通信号,在时序图中可以看到,以CS置为低电平开始,一直到置为高电平结束。
CLK提供时钟信号,我们要注意看CLK的信号的箭头指向,向上为上升沿有效,向下为下降沿有效。
DI、DO作为数据端口。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据(SGL、Odd)用于选择通道功能,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。
当2位数据为“1”、“1”时,只对CH1进行单