基于单片的模拟电网数据采集系的设计毕业设计.docx

上传人:b****8 文档编号:29735185 上传时间:2023-07-26 格式:DOCX 页数:37 大小:269.15KB
下载 相关 举报
基于单片的模拟电网数据采集系的设计毕业设计.docx_第1页
第1页 / 共37页
基于单片的模拟电网数据采集系的设计毕业设计.docx_第2页
第2页 / 共37页
基于单片的模拟电网数据采集系的设计毕业设计.docx_第3页
第3页 / 共37页
基于单片的模拟电网数据采集系的设计毕业设计.docx_第4页
第4页 / 共37页
基于单片的模拟电网数据采集系的设计毕业设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于单片的模拟电网数据采集系的设计毕业设计.docx

《基于单片的模拟电网数据采集系的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片的模拟电网数据采集系的设计毕业设计.docx(37页珍藏版)》请在冰豆网上搜索。

基于单片的模拟电网数据采集系的设计毕业设计.docx

基于单片的模拟电网数据采集系的设计毕业设计

基于单片机的模拟

电网数据采集系统的设计

【摘要】

MCS-51是八位单片机的一个系列,其灵活性和可靠性受到了广大使用者的青睐。

本设计就是利用MCS-51系列单片机来模拟一个电网数据采集和当地显示的小系统,涵盖了MCS-51中断系统、内部定时器、键盘扫描和LED显示、并行I/O口、A/D变换等知识。

其主要四大硬件电路包括单片机对开关量的输入与显示,对A/D转换器的接线,对键盘和LED的接线,对继电器的超限控制;整个硬件电路连线简单,可靠性高。

【关键词】:

MCS-51系列单片机,四大硬件电路

ABSTRACT

MCS-51SCMisoneoftheeightseries,intheseriescontaindozensofspecificmodelsofthesetypesofsingle-chipmicrocontroller,verymuchthesame,andinternalstructurehasthesamecommandsystemandworkingprinciple,flexibilityandreliabilitybyboththeuser'sfavor.ThisdesignistousetheMCS-51seriesmicrocontrollertosimulateAgriddataacquisitionandlocalshowsmallsystem,coversMCS-51interruptsystems,internaltimer,keyboardscanandLEDdisplay,parallelI/Omouth,A/Dtransformationsuchknowledge.ItsmainfourhardwarecircuitincludingthemonolithicintegratedcircuittoswitchquantityinputanddisplayofA/Dconverterofwiring,thekeyboardandLEDthewiringoftheoff-gaugecontrol,ofrelays,Thewholehardwarecircuitattachmentissimple,highreliability.Thispapermainlyintroducesthedesignofhardwareandsoftwareofthedesign.

【KEYWORD】:

MCS-51seriesmicrocontroller,fourhardwarecircuit

 

三、硬件设计2

3.MCS-51的最小系统4

4.MCS-51的复位状态5

(二)输入与显示电路6

1.电路的原理图6

2.工作原理与实现功能6

(三)继电器的超限控制电路7

1.电路的原理图7

2.工作原理与实现功能7

(四)A/D转换电路7

1.电路的原理图7

2.工作原理与实现功能7

(五)键盘输入与LED显示电路……………………………………………………………………8

1.电路的原理图8

2.工作原理与实现功能8

四、软件设计9

(一)RAM单元的地址分配9

(二)总体程序流程框图10

(三)系统总程序11

总结20

附录一:

Protel图21

附录二:

PCB图22

参考文献23

致谢24

一、引言

(一)课题研究的背景、意义

随着社会生产力的发展,加快了信息社会的建设,电网数据的采集显得尤为重要。

可以用于满足电网安全监测的需要,分析电能在实际应用中的质量,用于一些数据的统计等。

模拟电网数据采集系统的设计涵盖了单片机、电路基础、数电、模电等学科,同时还得利用Protel软件制作印制电路板等。

其中单片机最重要,涵盖了MCS-51中断系统、内部定时器、键盘扫描和LED显示、并行I/O口、A/D变换、串行发送和接收等知识。

所以本课的题设计具有一定的参考价值,充分利用电能,服务于社会。

(二)国内外研究动态

2008年3月,美国科罗拉多州一座小城波尔得建成了美国第一座智能电网城市。

目前美国多个州都对此项技术表示出浓厚的兴趣,并开始设计智能电网系统,通用电气、IBM、西门子、谷歌、英特尔等信息产业龙头也瞄上了此间的商机,都已投入智能电网业务。

(三)课题主要研究内容

本课题是一个电网数据的模拟采集和当地显示的小系统,是MCS-51通过内部定时器、中断系统功能、键盘扫描和LED显示、并行I/O口、A/D转换器进行接口的综合性课题。

二、总体设计

(一)总体设计思想

以MCS-51系列单片机为核心,通过四大硬件电路——输入与显示电路、继电器超限控制电路、键盘输入与LED显示电路、A/D转换电路来达到控制的目的。

是MCS-51通过内部定时器、中断系统功能、键盘扫描和LED显示、并行I/O口、A/D转换器进行接口的综合性课题。

通过连接各个部分,从而达到对电网数据的采集。

(二)总体框图(如图2-1所示)

图2-1系统总框图

三、硬件设计

(一)MCS-51系列单片机

1.MCS-51的硬件结构

(1)CPU结构模块

该单片机中有一个高性能CMOS8位微控制器,包括运算器和控制器两部分。

(2)存储器结构模块

RAM:

片内为128B,片外最多可外扩至128B,共256B,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。

ROM:

片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器。

(3)定时器/计数器

片内有3个16位的定时器/计数器,具有四种工作方式。

(4)中断系统

5个中断优先级2层中断嵌套中断。

(5)串行口

2个全双工的串行口,具有四种工作方式。

可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。

(6)P1口、P2口、P3口、P4口

为4个并行8位I/O口。

2.MCS-51的引脚功能

MCS-51系列单片机都采用40个引脚的双列直插封装方式,引脚如图3-1所示,包括2个电源引脚、2个时钟引脚、4个控制引脚、32个I/O口。

 

 

 

图3-1MCS-51单片机引脚图

(1)电源引脚

Vcc(40脚):

接+5V电源正端。

Vss(20脚):

接地端。

(2)时钟引脚

XTAL1(19脚):

接外部晶振和微调电容的一端。

采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型而言,此引脚应该接外部时钟的输入端。

XTAL2(18脚):

接外部晶振和微调电容的另一端。

使用外部时钟时,对HMOS型的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。

(3)控制引脚

EA非/Vpp(31脚):

外部程序存储器地址允许输入端/编程电压输入端。

当EA非接高电平时,CPU执行片内ROM指令,但当PC值超过0FFFH时,将自动去执行片外ROM指令;当接低电平时,CPU只执行片外ROM指令。

该引脚的第二功能Vpp是对8751片内EPROM编程写入时,作为21V编程电压的输入端。

ALE/PROG非(30脚):

地址锁存有效信号输入端。

ALE在每个机器周期内输出两个脉冲。

在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。

对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。

PSEN非(29脚):

片外程序存储器读选信号输出端,低电平有效。

当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。

在访问片外数据存储器期间,PSEN非信号将不出现。

RST/Vpd:

RST即为RESET,Vpd为备用电源。

该引脚为单片机的上电复位或掉电保护端。

当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作使单片机回到初始状态。

上电时,考虑到振荡器有一定的起振时间,该引脚上的高电平必须持续10ms以上才能保证有效复位。

当Vcc发生故障时,降低到低电平规定时或掉电时,该引脚可接上备用电源Vpd(+5V)为内部RAM供电,以保证RAM中的数据不丢失。

(4)I/O引脚

P0口(P0.0~P0.7)(39~32脚):

P0口的8位双向I/O口线,P0口即可作为地址/数据总线使用,又可作为通用的I/O口使用。

当CPU片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。

P1口(P1.0~P1.7)(1~8脚):

P1口的8位准双向I/O口线,P1口作为通用的I/O口使用。

P2口(P2.0~P2.7)(21~28脚):

P2口8位准双向I/O口线,P2口即可作为通用的I/O口使用,也可作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。

P3口(P3.0~P3.7)(10~17脚):

P3口的8位准双向I/O口线。

P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能。

3.MCS-51的最小系统(如图3-2所示)

MCS-51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。

用MCS-51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图3-2MCS-51单片机最小系统所示。

由于集成度的限制,最小应用系统只能用作一些小型的控制单元。

其应用特点:

有可供用户使用的大量I/O口线;

内部存储器容量有限;

应用系统开发具有特殊性。

 

图3-2MCS-51最小系统图

(1)时钟电路

单片机的时钟信号用来提供单片机内部各种操作的时间基准。

单片机内部有一个高增益的反相放大器,其输入端XTAL1和XTAL2用于外接晶体和电容,以构成自激振荡器,其发出的脉冲直接送入内部的时钟电路,外接电路如图3-3(a)所示。

内部时钟方式是把外部已有的时钟信号引入单片机内,如图3-3(b)所示。

 

图3-3(a)内部方式时钟电路图3-3(b)外部方式时钟电路

本设计所采用外部方式时钟电路,当外加信号时,时钟电路会产生相应的基准信号,再按下EXEC键后进入“待命状态”,此时系统成为一个电脑时钟,LED显示相应的时间,外加信号正是通过外部方式时钟电路到达系统的。

(2)复位电路

MCS-51的复位是由外部的复位电路来实现的。

复位引脚RST通过一个施密特触发器用来抑制噪声,输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。

本设计采用按键手动复位电路,电路见图3-4。

时钟频率选用6MHZ时,C取22uF,Rs取200Ω,RK取1KΩ。

 

 

图3-4MCS-51的按键手动复位电路

4.MCS-51的复位状态如表3-1所示:

表3-1各特殊功能寄存器复位后的初始状态

特殊功能寄存器

初始态

特殊功能寄存器

初始态

ACC

00H

B

00H

PSW

00H

SP

07H

DPH

00H

TH0

00H

DPL

00H

TL0

00H

IP

XXX00000B

TH1

00H

IE

0XX000000B

TL1

00H

TMOD

00H

TCON

00H

SCON

00H

SBUF

XXXXXXXXB

P0~P3

11111111B

PCON

0XXXXXXXB

(二)输入与显示电路

该部分以单片机8255为核心,主要用8031和8255来连接开关组和发光二极管,8255各端口地址的分配也在其中指明,如图3-5所示。

8255端口的地址分配:

A口FF28H

B口FF29H

C口FF2AH

D口FF2BH

1.电路的原理图

 

图3-58255和开关组及二极管的连接

2.工作原理与实现功能

8255单片机利用MOS工艺,高速、高密度,当PB7-PC0分别与L8和L1相连以及PB7-PC0与K8-K1相连后,开启电源,在系统机上输入所编写的实验程序,机器汇编后装入DVCC-52S用户仿真区RAM,按下EXEC键执行程序,拨动K1-K8,观察L1-L8是否跟随点亮。

当闭上开关,信号进入单片机8255内部由相应的程序来控制,使之到达相应的二极管。

信号的复位由单片机8031来控制,电路图中二极管共阳极,高电平有效。

本系统共有三种工方式:

方式0、方式1、方式2,而本电路就是提供这三种工作方式,系统采集开关量(由K1~K8设定)并点亮相应的氖灯L1~L8,使系统工作在对应的状态下。

具体工作在何种状态下,由“键盘输入与LED显示电路”来进行选择与说明。

氖灯L1~L8就是分配给这三种工作方式的,可以从键盘来选择任意一种工作状态。

(三)继电器的超限控制电路

1.电路的原理图

利用8031与继电器M1来实现,对被采集的模拟电压进行超限控制,当超出范围时,继电器就会自动合上。

如图3-6所示:

 

图3-68031对继电器的超限控制

2.工作原理与实现功能

把模拟电压的范围设定在1V-4V,本电路就是当超出设定的范围时,图中开关S1就会自动吸合,当信号达到单片机8031时,内部程序会根据相应的要求来控制电压的大小。

此时继电器就会自动合上,来达到控制的目的。

8031单片机利用MOS工艺,高速、高密度且低耗能,把P1.0与JIN相连,把继电器的常开触点与L2相连,当P1.0为高电平时,继电器就会闭合,即达到控制的目的。

(四)A/D转换电路

1.电路的原理图

利用ADC0809与8031来实现,图中的译码器74LS138的连接在PCB中体现,电路连接如图3-7所示。

 

 

图3-7A/D转换电路

2.工作原理与实现功能

ADC0809是一种易于维护且操作简单的单片机,把W1与ADC0809的IN0相连,把译码器的输出端FE00与CS4相连,当输入程序后,调整变阻器W1观察LED2~LED0上是否会在0.00~5.00V之间变化,当超过0.00~5.00V,可以采用设置断点法来调试程序,即通过改变程序的初始值来达到满意的状态。

当继电器对电压进行限控时,由于产生的是模拟电压,不能达到控制的目的,此电路就是把对应的模拟量转换成相应的数字量。

进行转换的原式为:

5/255=X/数字量,X=数字量*5/255=数字量/33H

因为0.00<=X<=5.00V

所以100<=数字量*100/33H

对100X进行BCD转换,显示时通过加小数点将其缩小100倍,对100X进行BCD转换的方法为:

先对50X进行BCD转换,然后把得到的BCD码再扩大一倍。

(五)键盘输入与LED显示电路

1.电路的原理图

采用8155与8031来控制,本设计LED采用共阳字形码,电路如图3-8所示。

2.工作原理与实现功能

本电路就是对来自转换电路的数字量进行显示,以及提供输入与显示电路选择按键,如:

三个方式、待命状态等。

用于显示电脑时钟来进行时间的控制。

当有信号来的时候,从CE非进来以后,8155进行控制,再把对应的程序输入系统,然后手动按下每个键,观察LED低2位所显示的值。

令LED右边两位显示FF(8155的初始化)当按键扫描完子程序时,把A中的低四位送给79H,把A中的高四位送给7AH,再返回原有的程序中。

 

 

图3-8键盘输入与LED显示电路

四、软件设计

(一)RAM单元的地址分配

系统的时、分、秒和1/20秒存放单元、显示缓冲区单元、开关量存放单元、位控制用字节单元以及地址存放单元和被发送/接收的存放单元等规定如图4-1所示。

 

图4-1RAM单元的地址分配

(二)总体程序流程框图,如图4-2所示:

总体程序流程框图是本设计的主线,它对于程序的来源非常重要。

首先初始化,把2FH单元清零,询问2FH位是否为零,为零时送拆字程序,否则送暗码程序。

拆字程序方面:

当送往拆字程序后,通过功能选择键来哪一路电路即:

方式0、方式1、方式2,每一种方式电路都对应不同的显示。

在此过程中如果有电压超限,则继电器动作,之后在返回显示程序。

暗码程序方面:

不清零则通过开关作用使它清零,然后在通过A/D转换程序把相应的模拟量转化为对应的数字量,在把送到对应的显示程序。

F键为方式选择键,按下此键后系统进入方式选择状态。

 

 

图4-2总体程序流程框图

 

(三)系统总程序

ORG000BH

LJMPTINTSN

ORG0030H

TINTSN:

PUSHACC;保护现场

PUSHPSW

MOVTH0,#9EH;重送T0初值

MOVTL0,#63H

INC23H;1/20秒单元加“1”

MOVA,23H

CJNEA,#14H,RETN;若1s未到,则转RETN

MOV23H,#00H;否则,1/20秒单元清零

MOVA,22H;秒单元加“1”

ADDA,#01H

DAA

MOV22H,A

INC24H;1秒切换单元加“1”

CJNEA,#60H,RETN;若1min未到,则转RETN

MOV22H,#00H;否则,秒单元清零

MOVA,21H;分单元加“1”

ADDA,#01H

DAA

MOV21H,A

CJNEA,#60H,RETN;若60min未到,则转RETN

MOV21H,#00H;否则,分单元清零

MOVA,20H;时单元加“1”

ADDA,#01H

DAA

MOV20H,A

CJNEA,#24H,RETN;若24h未到,则转RETN

MOV20H,#00H;否则,时单元清零

RETN:

POPPSW;恢复现场

POPACC

RETI

ORG0100H

START:

MOV2FH,#00H;清零标志

MOVSP,#50H;令栈底地址为50H

MOVA,#03H;令8155的A、B口为输出,C口为输入

MOVDPTR,#0FF20H

MOVX@DPTR,A

MOVA,#89H;令8255的C口为输入,B口为输出

MOVDPTR,#0FF2BH

MOVX@DPTR,A

MOVTMOD,#01H;令T0定时50ms

MOVTH0,#9EH

MOVTL0,#58H

SETBEA;开T0中断

SETBET0

SETBTR0;启动T0工作

MAIN:

JB7FH,SBCODE;若(7FH)位=1,则SBC0DE

NEXT:

ACALLBCDEX;转拆字程序

NEXT1:

ACALLDISPLAY;转显示程序

MOVDPTR,#0FF21H

MOVA,#00H

MOVX@DPTR,A;令键盘所列为低电平

MOVDPTR,#0FF23H

MOVXA,@DPTR;读键盘行值

ANLA,#0FH;屏蔽高四位

CJNEA,#0FH,NEXT2;若有键按下,则转NEXT2

SJMPMAIN;若无键按下,则转MAIN

NEXT2:

ACALLKEYSCAN;转键扫描子程序

CJNEA,#0FFH,NEXT3;若有键按下,则转NEXT3

SJMPMAIN;若无键按下,则转MAIN

NEXT3:

CJNEA,#0AH,NEXT4;被按键是功能键吗?

NEXT4:

JNCFUNC;若被按键是功能键,则转FUNC

ANLA,#03H;否则,屏蔽高六位

JNZDIGIT;若非数字键0,则转DIGIT

SETB78H;若非数字键0,则(78H)位=1

CLR79H;(79H)位=0

CLR7AH;(7AH)位=0

SJMPMAIN

DIGIT:

JBACC.0,DIGIT1;若为数字键1,则转DIGIT

SETB7AH;若为数字键2,则转(7AH)位=1

CLR78H;(78H)位=0

CLR79H;(79H)位=0

SJMPMAIN

DIGIT1:

SETB79H

CLR78H;(78H)位=0

CLR7AH;(7AH)位=0

SJMPMAIN

FUNC:

CJNEA,#0FH,NOTF;若非F键,则转NOTF

MOV2FH,#00H;若是F键,则(2FH)=00H

SETB7FH

SJMPMAIN

NOTF:

MOV2FH,#00H

SJMPMAIN

SBCODE:

MOVR0,#79H;给79H~7EH送暗码10H

MOVR2,#06H

MOVA,#10H

LOOPPDS:

MOV@R0,A

INCR0

DJNER2,LOOPPDS

JB78H,MODE0;若为数字键0,则转MODE0

JB79H,MODE1;若为数字键1,则转MODE1

JB7AH,MODE2;若为数字键2,则转MODE2

MOV79H,#0FH;若为F键,则0FH=79H

SJMPNEXT1

MODE2:

MOVA,24H

ANLA,#03H

CJNEA,#02H,MNEXT1;若2S未到,则转嘛呢系统

CPL7EH;若2S以到,则7EH=7EH非

MOV24H,#00H;清2秒钟单元

MNEXT1:

JNB7EH,MODE0

SJMPMODE1

MODE0:

MOVA,#00H;显示缓冲区高位显示“0”

MOV7EH,A

SJMPMODE

MODE1:

MOVA,#01H;显示缓冲区高位显示“1”

MOV7EH,A

MODE:

ACALLREADAD

ACALLREADP1

MOVA,2EH

CJNEA,#33H,CX1

CX1:

JNCCX

CJNEA,#33H,CX2

CX2:

JCCX

SETBP1.0

SJMPSBCRET

CX:

CLRP1.0;继电器吸合

SBCRET:

AJMPNEXT1

 

BCDEX:

MOVR3,#03H;对时分秒单元内容拆字,并送显存

MOVR0,#79H

MOVR1,#22H

LOOP:

MOVA,@R1

ANLA,#0FH

MOV@R0,A

INCR0

MOVA,@R1

SWAPA

ANLA,#0FH

MOV@R0,A

INCR0

DECR1

DJNZR3,LOOP

RET

 

DISPLAY:

MOVR3,#00H;显示子程序

MOVR0,#7EH

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1