P3广〔RD
P23(A11)
XTAL:
?
2.2(A10)
XT.AL1
?
2.1(A9)
GND
?
2(HAS)
4C
Is
38
21
2<
2?
图2.2.1单片机AT89C51的引脚图
2.3数据存储器扩展
89C51片内有128B的RAM存储器,在实际应用中仅靠这128B的数据存储器是远远不够的。
这种情况下可利用89C51单片机所具有的拓展功能,拓展外部数据存储器。
89C51单片机最大可拓展64KBRAM
13
J
14
?
15
4
16
5
17
6
18
7
19
8
6S卵阳励松制超雄IA14
LE-r'.db:
-LJ-J-['j
10
aJ
1-
WjO
21
P2.1
22
P22
P33
P2.4
皿
P26
P27
WC51
23
pen
迫
PO.l
JC2
?
7
P03
紡
w).4
POJ
弭
P3.㈣P0.7
1?
数据存储器空间地址由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据线。
数据存储器的读和写由RD和WR言号控制。
其拓展外部RAM的电路结构框图如图2.3.1所示:
2.4复位电路设计
在上电或复位过程中,控制CPU勺复位状态:
这段时间内让CPU呆持复位状态,而不是一上电或刚复位完毕就工作,防止CPU®出错误的指令、执行错误操作,也可以提高电磁兼容性能。
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。
而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。
许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
复位电路原理图如下:
1U5CV
图2.4.1
单片机系统的复位方式有:
手动按钮复位和上电复位。
1、手动按钮复位
手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
2、上电复位
AT89C51的上电复位电路,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。
对于CMO型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。
上电复位的工作过程是在加电时,
复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc
对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。
上电时,Vcc的上升时间约为10ms而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz起振时间为1ms晶振频率为1MHz起振时间则为10ms在复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“I”态。
如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
2.5时钟电路设计
时序电路,它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。
时序电路的特点是:
输出不仅取决于当时的输入值,而且还与电路过去的状态有关。
它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、移位寄存器、储存器等电路都是时序电路的典型器件。
2.6CPU最小系统图
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对于89C51来说,最小系统包括:
单片机、晶振电路、复位电路、按键输入、显示输出等。
其原理图如下图所示:
第3章电量计量仪输入输出接口电路设计
3.1电流电压互感器的作用
一、电压互感器和电流互感器的作用:
1、将一次系统的电压、电流信息准确的传递到二次侧相关设备;
2、将一次系统的高电压、大电流变换为二次侧的低电压(标准值100V100/根号3V)、小电流(标准值5A、1A),使测量、计量仪表和继电器等装置标准化、小型化,并降低了对二次设备的绝缘要求;
3、将二次测设备以及二次系统与一次系统高压设备在电气方面很好地隔离,从而
保证了二次设备和人身的安全。
二、电压互感器和电流互感器的原理:
电流互感器的工作原理相当于2次侧短路的变压器,用来变流,在二次侧接入电流表测量电流(可以串联多个电流表)。
电流互感器的二次侧不能开路。
电压互感器的工作原理相当于2次侧开路的变压器,用来变压,在二次侧接入电压表测量电压(可以并联多个电压表)。
电压互感器的二次侧不能短路。
3.2电量计量仪检测接口电路设计
一、模数转换器:
即A/D转换器,或简称ADC通常是指一个将模拟信号转变为数字信号的电子元件。
通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。
由于数字信号本身不具有实际意义,仅仅表示一个相对大小。
故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。
而输出的数字量则表示输入信号相对于参考信号的大小。
本课题采用MAX197专换器,它是美国美信公司生产的多量程、12位数据采集系统(ADC,芯片工作电压仅为5V;即可接收高于电源电压的模拟信号,又可接收低于地电位的模拟信号;芯片有8个独立的模拟输入通道;对输入的模拟信号提供了4个可编程输入量程:
—10V,二5V,0〜+5V,0〜+10V,4个量程将有效的动态输入范围到了14位。
该模数转换器具有5MHZ勺带宽,100kSPS的吞吐率,由软件控制选择内/外部时钟,由软件控制内/外部启动采集,8+4并行数据接口,内部4.096V或外供参考电压。
二、MAX197特性
1、特性
(1)、12位分辨率,1/2LSB线性度。
(2)、单5V供电
(3)、软件可编程选择输入量程:
—10V,一5V,0〜+5V,0〜+10V。
(4)、输入多路选择器保护:
—16.5V。
(5)、8路模拟输入通道。
(6)、6uS转换时间,lOOkSPS采样速率
(7)、内/外部采集控制。
(8)、内部4.096V或外部参考电压。
(9)、俩种掉电模式。
(10)、内部或外部时钟
2、引脚图:
LKZ
XDl>
HI4
MAX/9'
HMISi
SIIDN
km
1M
C!
l*
CJIt*
IIP
U<:
CLl:
Clio
图3.2.1MAX197引脚图
三、模拟量检测接口电路图
:
C2
ii
OH
KLE
W
IB
M
Ct
U
MI
A3
in
SCL
ffik
OFF
EH-
P
IB
II山诅
11伽
7
c
1
J3
327
21@
209
U
18
11
TT"
IF
13
1J
T-
12鴨
LBD1盂DlIn
Em
MF
CTIZEPkDT
W_DffT
W
HEEtfEJ&HD
If
了
={=10*KFjLXz7
Li-rlTD
图3・2・2MAX197与CPU接口电路
MAX197为微处理器提供了非常简单的接口,转换从写入控制字开始。
控制字中的D5位决定采集控制模式:
置0时,为内部采集控制模式;置1时,为外部采集控制模式。
控制字中的D7、D6位控制芯片的时钟模式。
一旦选定了芯片的时钟模式,再进入待机或掉电模式时,时钟模式不会改变。
当D7=0,D6=0时,芯片选择外部时钟模式,外供时钟频率应介于100kHz至2.0MHz之间,时钟占空比应介于45%〜55%之间。
3.3人机对话接口电路设计
1、该部分主要是设计键盘和显示器,其模块图如下图所示:
图3.3.1显示电路的模块图
2、按键模块
最常用的键盘连接方式有了俩种:
(1)、独立式键盘模块:
这种键盘连接适用于按键数量比较少,单片机引脚比较富裕的情况,程序编写比较容易,方便控制。
(2)、4X4行列式键盘模块:
这种键盘连接适用于按键数量较多的连接,通过行列扫描来判断是哪个键按下,但程序编写比较复杂。
由于本设计只需要按键来调时间,通过设计只需要3个按键来完成,所以本设计米用独立式键盘模块。
KAI1KU2KU3
图332独立式键盘接法
本设计采用独立式键盘接法,按个案件的一端分别接单片机的三个引脚,另一端接地,这样就使得每当按键按下就会使单片机的相应引脚接到一个低电平。
3、显示模块
目前常见的电子式电量计量显示器件有三种:
液晶(LCD)、发光二极管
(LED)、荧光管(FIP)。
本次设计的显示器采用的是LCD显示器,它具有以下优点:
(1)、显示质量高:
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不详阴极射线管显示器(CRT)那样需要不断刷新
新亮点。
因此,液晶显示器画面质量咼且不会闪烁。
(2)、数字式接口:
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
(3)、体积小重量轻:
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
(4)、功耗低:
相对而言,液晶显示器的功耗主要在其内部的电极和驱动上,因而耗电量比其他显示器要少得多。
如下图所示:
1
图3.3.31602LCD原理图
1062LCD的基本参数及脚功能:
1602LCD分为带背光和布带背光俩种,其控制器大部分为HD44780,带背光的比布带背光的厚,是否带背光在应用中并无差别。
第1引脚:
VSS为低电源。
第2引脚:
VDD接+5V电源。
第3引脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地是对比度最高,对比度高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4引脚:
RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。
第5引脚:
R/W为读写信号端,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W
为高电平时可以读取信号,当RS为高电平R/W为低电平时可以写入数据。
第6引脚:
E端为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。
第7〜14引脚:
D0〜D7为8位双向数据线。
第15引脚:
背光源正极。
第4章电量计量仪软件设计
4.1软件实现功能综述
本设计是基于89C51单片机的电量计量仪的设计,通过电流互感器和分压电路采集到电流和电压数据,发送到双通道ADC083进行AD专换,在通过单片机进行相应运算算出消耗的电能,后通过LCD160显示出来。
4.2流程图设计
一、主程序流程图设计
主程序首先对数字钟的时钟秒钟清零,再对LCD160初始化和中断初始化,两个中断为定时器T0和T1,分别控制数字钟和数据采集的程序,最后进入一个死循环,对键盘不停地扫描,判断键盘是否按下。
图4.2.1主程序流程图
、按键程序流程图设计
由于本次采集数据的频率是50Hz,根据奈奎斯特采样频率定律选择采样频率
为200Hz=
单片机5mj产生一次数据采集中断程序,由于每次进行AD转换的时候,都必须对ADC083进行初始化,只有这样才能使ADC083正常运行,采集的数据从到单片
机的缓冲器中,进行判断这次是否是第四次采集,如果是把计数器清零,并进行有用功计算程序,最后显示到LCD160上。
其图如下图所示:
图4.2.2按键程序流程图
4.3电流电压有效值算法
电流流电压有效值的测量方法有很多种,对于低频以及超低频信号电压有效值的测量,目前比较常用的是基于采样计算的测量方法。
这主要是因为用常规的测量方法和模拟技术不但要求测量仪表本身具有极高的稳定性,而且仪表极长的响应时间和不合理的电路元件参数使得测量在某些场合很难实现。
采样计算的测量方法克服这些传统不利因素的同时也产生了新的问题,分析误差因素对测量结果的影响方式,就能够在实际测量时更有效的避免这些因素的影响,有利于减小测量的不确定度。
本文对影响采样计算方法的主要误差因素进行了定量分析。
1、电压有效值
根据有效值的定义,在一个信号周期内,通过某纯阻负载所产生的热量与一个直流电压在同一负载上产生的热量相等时,该直流电压的数值就是交流电压的有效值。
数学表达式如式
(1)所示:
(1)式中的T是交流信号的周期,u(t)为电压瞬时值。
通常把由
(1)式所确定的电压有效值称之为被测电压u(t)的真有效值。
2、电流有效值
定义:
将一直流电与一交流电分别通过相同阻值的电阻,如果相同时
间内两电流通过电阻产生的热量相同,就说这一直流电的电流值是这一交流
电的有效值。
数学表达式如
(2)所示:
4.4程序清单
程序如下:
#include
#include
#includevintrins.h>
sbitSDA=P1A3;
sbitSCL=PM4;
#defineucharunsignedchar
#defineIcdP0
sbitrw=P2A5
sbitrs=P2A2
sbite=P2A3
sbitbusy=ACCA7
unsignedcharcount
unsignedchartimer
unsignedcountA
unsignedcountB
本科生课程设计(论文)
unsignedcountl
unsignedcount2
unsignedcount
unsigneddecount
countA=O;
voidmain()
{
countB=ReadMemory();
decount=countB-countA;/
while(decount==0)
{
count++;
while(count<1OO)
{
timer=readbyte();
if(timer>12)
count1++;
else
count2++;
Remain=total-count1*0.5-count2*0.6;
write(count1);
write(count2);
write(Remain);
}
}
if(remian<5.0)
flag=1;