电容器组投切控制系统模拟设计课设报告大学论文.docx

上传人:b****7 文档编号:10409578 上传时间:2023-02-11 格式:DOCX 页数:53 大小:1.34MB
下载 相关 举报
电容器组投切控制系统模拟设计课设报告大学论文.docx_第1页
第1页 / 共53页
电容器组投切控制系统模拟设计课设报告大学论文.docx_第2页
第2页 / 共53页
电容器组投切控制系统模拟设计课设报告大学论文.docx_第3页
第3页 / 共53页
电容器组投切控制系统模拟设计课设报告大学论文.docx_第4页
第4页 / 共53页
电容器组投切控制系统模拟设计课设报告大学论文.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

电容器组投切控制系统模拟设计课设报告大学论文.docx

《电容器组投切控制系统模拟设计课设报告大学论文.docx》由会员分享,可在线阅读,更多相关《电容器组投切控制系统模拟设计课设报告大学论文.docx(53页珍藏版)》请在冰豆网上搜索。

电容器组投切控制系统模拟设计课设报告大学论文.docx

电容器组投切控制系统模拟设计课设报告大学论文

成绩

南京工程学院

课程设计说明书(论文)

 

题目电容器组投切控制系统模拟设计

课程名称计算机接口技术A

院系电力工程学院

专业智能电网信息工程

班级智网121

学生姓名唐卉

学号206120905

设计地点工程实验中心8-216

指导教师李升副教授

 

设计起止时间:

2015年5月18日至2015年5月22日

2.1.1硬件接线图……………………………………………………………32.1.2引脚连线说明……………………………………………………………4

2.2.1硬件接线图……………………………………………………………62.2.2引脚连线说明……………………………………………………………8

3.1.1系统流程图……………………………………………………………10

3.1.2程序代码………………………………………………………………12

3.2.1系统流程图……………………………………………………………21

3.2.2程序代码………………………………………………………………23

南京工程学院

课程设计任务书

 

课程名称计算机接口技术B

院(系、部、中心)电力工程学院

专业智能电网信息工程

班级智网121

起止日期2015年5月18日-5月22日

指导教师李升副教授

 

1.课程设计应达到的目的

1)通过课程设计加深理解课堂教学内容,掌握计算机接口技术的基本应用方法。

2)掌握常用接口电路的设计,掌握8255A、8253、8259A、8251A、ADC0809等接口芯片的应用和编程方法,做到理论联系实际。

2.课程设计题目及要求

一、课题名称:

电容器组投切控制系统模拟设计

二、课题要求

设计一个双机串行通信系统,以模拟电容器组投切控制系统,在星研实验系统上实现。

具体要求:

1)通过8251A实现甲、乙两台实验装置之间异步串行数据的收发。

甲机用ADC0809采集0~5V直流电压并送乙机数码管显示,乙机根据甲机发送来的电压值(数字量)进行判断并发控制信号给甲机的发光二极管显示。

发光二极管有关显示规律如下:

如果采集到的电压值低于2V,则从最低位开始按顺序使LEDi(i=1~8)亮(即模拟低压投电容操作);如果采集到的电压值高于3V,则从最先亮的LED开始按顺序使其灭(即模拟过压切电容操作)。

即先亮的先灭,后亮的后灭(即模拟电容器组的循环投切)。

如果采集到的电压值高于等于2V且低于等于3V,则维持LED现状。

如果无LED可亮(8个LED已全亮)或无LED可灭(8个LED已全灭),则维持。

2)8251A的发送/接收时钟信号由8253分频提供,波特率可选择9600b/s(供参考)或其他;数码管和LED分别通过8255A接入。

3)采用查询法和中断法(需使用8259A)两套方案实现(均要求)。

提示:

ADC0809电压采样问题。

电压采集时存在着抖动现象,从而使采集到的电压值不准。

为避免此现象,可连续采样200次电压值,取平均值后与上一次连续采样200次的平均值比较,直到相等,则可确定采样的电压值。

三、分组情况

需双机联合调试,因此2人1组(自由搭配)。

3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕

本次课程设计进行双机串行通信系统的设计。

预习要求:

1)热身实验:

ADC0809、8251A实验等。

2)预习本任务书,根据设计任务,预先画出电路原理图、程序流程图,初步编写实验程序。

设计报告要求:

1)画出接口部分电路原理图,并阐述系统工作原理。

2)绘制程序流程图(Visio绘制),给出源程序清单。

3)调试过程和结果分析。

4)心得体会。

5)要求用WORD撰写报告,上交打印版和电子稿(电子稿全班统一刻盘)。

 

4.主要参考文献

1、星研公司.StarES8688使用说明书.

2、李干林,李升.微机原理及接口技术实验指导书.北京:

北京大学出版社,2010.

3、李继灿.新编16/32位微型计算机原理及应用(第3版).北京:

清华大学出版社,2004.

4、周荷琴,吴秀清.微型计算机原理与接口技术(第三版).合肥:

中国科学技术大学出版社,2004.

 

5.课程设计进度安排

起止日期

工作内容

2015年5月18日前

5月18日~22日

5月22日

准备阶段(编写程序、复习实验内容等)

上机调试

验收答辩

6.成绩考核办法

上机调试表现占30%,验收答辩表现占30%,设计报告占40%。

教研室审查意见:

同意。

 

教研室主任签字:

鞠阳

2015年5月11日

院(系、部、中心)意见:

同意。

主管领导签字:

郝思鹏

2015年5月11日

一方案说明

1.1功能描述

本双机串行通信系统由甲、乙两台主机组成。

甲机将所采集到的模拟电压经模数转换后发送到乙机,并在乙机的数码管上显示出电压大小。

同时乙机在收到电压信号后发送一个反馈控制信号给甲机,在甲机LED上显示在某一电压范围内调整电压的次数。

如果电压小于2伏,则LED依次点亮,直到无灯可亮就保持全亮状态不变。

如果电压大于2伏小于3伏,则LED保持当前状态不变。

如果电压大于3伏,则LED从最先点亮的开始一次熄灭,直到无灯可灭就保持全灭状态。

1.2工作原理

各芯片功能分配如下:

8251:

串行异步通信

8253:

分频提供8251的发送/接收时钟信号

8255:

控制数码管或LED显示

ADC0809:

将模拟电压量转化为数字量

8259:

发送、接收中断控制(中断法使用)

为避免电压波动产生的干扰,系统采用多次采样(采样200次或100次)并求平均值的方法加以控制。

同时,为了消除电压调整过程中的中间变化量,程序将当前采样值与上一次发送的数字电压值(LastAD)比较,若不同说明电压发生了调整,这时将采样值送给LastAD,将发送标志FLAG置0,说明准备发送,但若采样值不是一个稳定值,则暂缓发送。

继续采样并求平均值,将平均值与LastAD比较,这时如果相同,则将发送标志FLAG置1,并发送结果。

甲机将发送的电压模拟量经AD0809转换成数字量后发送给乙机,乙机接收到甲机发来的数字量后,将其转化为BCD码,因为转换电路对输入模拟电压的分辨率为5V/255=19.5mV,所以数码管采用四位小数的精确度。

通过分别查表找出个位和小数点后各位对应的字型码,存入显示字符缓存,同时送给8255,采用动态扫描技术在数码管上显示对应的模拟电压电压大小。

乙机收到数字电压信号显示后,将发送一个反馈控制信号控制甲机LED(1-8)的显示,显示规律在功能概述部分已给出。

因为要循环显示,电压调整次数过多时会出现LED显示不规律的问题,解决方法如下:

建查询表TAB,其内容为01H,02H,04H,08H,10H,20H,40H,80H。

因为初始化时LED全灭则,所以控制信号为全1,当要点亮或熄灭LED只要依次减去或加上相应位的查表结果。

建立两个互不影响的指针FROUNT和REAR,当电压小于2伏时,判断FROUNT是否大于7,若大于则将FROUNT置0(表示第8个LED已经点亮,需要从第一个开始循环点亮),若小于7则判断LED是否已全亮,若全亮则不操作,若不是则点亮FROUNT所指的LED,FROUNT加1。

当电压大于3伏时,判断REAR是否大于7,若小于7则判断LED是否全部熄灭,若熄灭则不操作。

如果REAR大于7则将REAR置0(表示第8个LED已经熄灭,需要从第一个开始循环熄灭),并判断REAR是否与FROUNT相同,若相同则不操作,若不同则熄灭REAR所指位置的LED,REAR加1。

这样就保证了LED能按照要求的规律显示电压在一定范围内调整的情况。

本系统在控制串行通信方面,采用了查询法与中断法两套方案。

当采用查询法时,发送前先查TxRDY的值是否为1,若等于1则开始发送;接受前查RxRDY的值是否等于1,若等于1则开始接收。

采用中断法时,分别将TxRDY、RxRDY作为发送和接收的中断请求信号,通过8259向CPU申请中断,进而进入发送或中断服务子程序进行数据的发送接收。

二硬件设计

2.1双机串行通信系统(查询法)

2.1.1硬件接线图

①甲机连线图

②乙机连线图

2.1.2引脚连线说明

①甲机连线说明

 

C5区(8251):

CS

——

A3区:

CS2

C5区(8253):

CS

——

A3区:

CS1

C5区:

A0/A1/C/D

——

A3区:

A0/A1/A0

C5区:

OUT0

——

C5区(8251):

TxC/RxC

C5区:

GATE0

——

C1区:

VCC

C5区:

CLK0(8253)/CLK(8251)

——

B2区:

2MHz/4MHz

C5区:

RxRDY/TxRDY

——

B3区:

IR1/IR0

C5区:

RXD/TXD

——

乙机C5区:

TXD/RXD

B4区:

CS/A0/A1

——

A3区:

CS3/A0/A1

B4区:

GND

——

C1区:

GND

B4区:

PA口

——

G6区:

LED(1-8)

G4区:

CS/ADDA/ADDB/ADDC

——

A3区:

CS5/A0/A1/A2

G4区:

CLK

——

B2区:

500KHz

G4区:

IN0

——

D2区:

0-5V

甲机C1区:

GND

——

乙机C1区:

GND

 

②乙机连线说明

 

C5区(8251):

CS

——

A3区:

CS2

C5区(8253):

CS

——

A3区:

CS1

C5区:

A0/A1/C/D

——

A3区:

A0/A1/A0

C5区:

OUT0

——

C5区(8251):

TxC/RxC

C5区:

GATE0

——

C1区:

VCC

C5区:

CLK0(8253)/CLK(8251)

——

B2区:

2MHz/4MHz

C5区:

RxRDY/TxRDY

——

B3区:

IR1/IR0

C5区:

RXD/TXD

——

甲机C5区:

TXD/RXD

B4区:

CS/A0/A1

——

A3区:

CS3/A0/A1

B4区:

GND

——

C1区:

GND

B4区:

PA口

——

G6区:

LED(1-8)

B4区:

PA口/PB口

——

G5区:

C/B

 

2.2双机串行通信系统(中断法)

2.2.1硬件接线图

①甲机接线图

②乙机连线图

2.2.2引脚连线说明

①甲机连线说明

 

C5区(8251):

CS

——

A3区:

CS2

C5区(8253):

CS

——

A3区:

CS1

C5区:

A0/A1/C/D

——

A3区:

A0/A1/A0

C5区:

OUT0

——

C5区(8251):

TxC/RxC

C5区:

GATE0

——

C1区:

VCC

C5区:

CLK0(8253)/CLK(8251)

——

B2区:

2MHz/4MHz

C5区:

RxRDY/TxRDY

——

B3区:

IR1/IR0

C5区:

RXD/TXD

——

甲机C5区:

TXD/RXD

B4区:

CS/A0/A1

——

A3区:

CS3/A0/A1

B4区:

GND

——

C1区:

GND

B4区:

PA口

——

G6区:

LED(1-8)

G4区:

CS/ADDA/ADDB/ADDC

——

A3区:

CS5/A0/A1/A2

G4区:

CLK

——

B2区:

500KHz

G4区:

IN0

——

D2区:

0-5V

B3区:

CS/A0/A1

——

A3区:

CS4/A0/A1

B3区:

INT

——

ES8086:

INTR

B3区:

INTA

——

ES8086:

INTA

 

②乙机连线说明

 

C5区(8251):

CS

——

A3区:

CS2

C5区(8253):

CS

——

A3区:

CS1

C5区:

A0/A1/C/D

——

A3区:

A0/A1/A0

C5区:

OUT0

——

C5区(8251):

TxC/RxC

C5区:

GATE0

——

C1区:

VCC

C5区:

CLK0(8253)/CLK(8251)

——

B2区:

2MHz/4MHz

C5区:

RxRDY/TxRDY

——

B3区:

IR1/IR0

C5区:

RXD/TXD

——

甲机C5区:

TXD/RXD

B4区:

CS/A0/A1

——

A3区:

CS3/A0/A1

B4区:

GND

——

C1区:

GND

B4区:

PA口

——

G6区:

LED(1-8)

B4区:

PA/PB

——

G5区:

C/B

B3区:

CS/A0/A1

——

A3区:

CS4/A0/A1

B3区:

INT

——

ES8086:

INTR

B3区:

INTA

——

ES8086:

INTA

 

三软件设计

3.1双机串行通信系统(查询法)

3.1.1系统流程图

①甲机流程图

 

 

②乙机流程图

 

3.1.2系统程序清单

①甲机代码

;片选地址分布

;CS10F000H~0FFFFHCS50B000H~0BFFFH

;CS20E000H~0EFFFHCS60A000H~0AFFFH

;CS30D000H~0DFFFHCS709000H~09FFFH

;CS40C000H~0CFFFHCS808000H~08FFFH

DATASEGMENT

;8253

C_8253EQU0F003H

T0_8253EQU0F000H

;8251

C_8251EQU0E001H

D_8251EQU0E000H

;8255

C_8255EQU0D003H

PA_8255EQU0D000H

PB_8255EQU0D001H

;ADC0809

ADD_0809EQU0B000H

LastADDB0

FLAGDB0

DATAENDS

STASEGMENTSTACK

ST1DB100DUP(?

STAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STA

START:

MOVAX,DATA

MOVDS,AX

CALLINIT_8253

CALLINIT_8251

CALLINIT_8255

XORAL,AL

AD1:

MOVCX,200;采样200次

MOVBX,0;累计200次的采样值

AD2:

CALLDO_AD0809

XORAH,AH

ADDBX,AX

LOOPAD2

MOVAX,200

XCHGAX,BX

DIVBL;200次的平均值

CMPAL,LastAD

JZAD3

AD4:

MOVLastAD,AL

MOVFLAG,0

PUSHCX

MOVCX,0FFFH

AD5:

CALLDLTime;采样间隔延时

LOOPAD5

JMPAD1

AD3:

CMPFLAG,1

JZGOON

MOVFLAG,1

CALLSEND

GOON:

JMPAD1

DO_AD0809PROCNEAR

PUSHCX

MOVAL,0

MOVDX,ADD_0809

OUTDX,AL

MOVCX,200

LOOP$;延时,等待AD转换完成

MOVDX,ADD_0809

INAL,DX

POPCX

RET

DO_AD0809ENDP

SENDPROCNEAR

MOVDX,C_8251

WAIT2:

INAL,DX

ANDAL,01H;判断TxRDY是否为1

JZWAIT2

MOVAL,LastAD

MOVDX,D_8251

OUTDX,AL

CALLDLTIME

MOVDX,C_8251

WAIT1:

INAL,DX

ANDAL,02H;判断RxRDY是否为1

JZWAIT1

MOVDX,D_8251

INAL,DX

MOVDX,PA_8255

OUTDX,AL;将收到的控制量送8255显示

RET

SENDENDP

INIT_8253PROCNEAR

MOVDX,C_8253

MOVAL,37H;00110111B计数器0方式3BCD计数

OUTDX,AL

MOVDX,T0_8253

MOVAL,26H

OUTDX,AL

MOVAL,0

OUTDX,AL

RET

INIT_8253ENDP

INIT_8251PROCNEAR

CALLRESET_8251

MOVDX,C_8251

MOVAL,7EH;波特率系数168位数据一位停止偶校验

OUTDX,AL

CALLDLTIME

MOVAL,15H;允许接收和发送清除错误

OUTDX,AL

CALLDLTIME

RET

INIT_8251ENDP

RESET_8251PROCNEAR;复位8251

MOVDX,C_8251

MOVAL,0

OUTDX,AL

CALLDLTIME

OUTDX,AL

CALLDLTIME

OUTDX,AL

CALLDLTIME

MOVAL,40H

OUTDX,AL

CALLDLTIME

RET

RESET_8251ENDP

DLTIMEPROCNEAR

MOVBX,1

LP:

SUBBX,1

JNZLP

RET

DLTIMEENDP

INIT_8255PROCNEAR

MOVDX,C_8255

MOVAL,80H

OUTDX,AL;初始化8255均为基本输出方式0

RET

INIT_8255ENDP

CODEENDS

ENDSTART

②乙机代码

;片选地址分布

;CS10F000H~0FFFFHCS50B000H~0BFFFH

;CS20E000H~0EFFFHCS60A000H~0AFFFH

;CS30D000H~0DFFFHCS709000H~09FFFH

;CS40C000H~0CFFFHCS808000H~08FFFH

DATASEGMENT

;8253

C_8253EQU0F003H

T0_8253EQU0F000H

;8251

C_8251EQU0E001H

D_8251EQU0E000H

;8255

C_8255EQU0D003H

PA_8255EQU0D000H

PB_8255EQU0D001H

LastADDB0;接收缓存

LastCONDB0FFH;发送缓存

FROUNTDB0;队首指针

REARDB0;队尾指针

FLAGDB0

TABDB01H,02H,04H,08H,10H,20H,40H,80H

LEDMAPDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;LED字型码

BUFFERDB5DUP(?

DATAENDS

STASEGMENTSTACK

ST1DB100DUP(?

STAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STA

START:

MOVAX,DATA

MOVDS,AX

CALLINIT_8253

CALLINIT_8251

CALLINIT_8255

GOON:

MOVDX,C_8251

INAL,DX

ANDAL,02H;判断RxRDY是否为1

JZNEXT2

CALLRECV

NEXT2:

CALLDISLED

JMPGOON

CHANGE_CONPROCNEAR;修改控制信号

LP0:

MOVFLAG,0

CMPLastAD,66H;将接收的电压与2V门限比较

JANEXT0

CMPFROUNT,7

JBENEXT3

MOVFROUNT,0

NEXT3:

CMPLastCON,00H;判断当前8个LED是否为全亮

JZENND

LEABX,TAB

MOVAL,FROUNT

XLAT

SUBLastCON,AL

INCFROUNT

JMPENND

NEXT0:

CMPLastAD,99H;将接收的电压与3V门限比较

JANEXT1

JMPENND

NEXT1:

CMPREAR,7

JBENEXT4

MOVREAR,0

MOVAL,FROUNT

CMPREAR,AL;判断队首指针是否与队尾指针相同

JBENEXT4

JMPENND

NEXT4:

CMPLastCON,0FFH;判断当前8个LED是否为全灭

JZENND

LEABX,TAB

MOVAL,REAR

XLAT

ORLastCON,AL

INCREAR

ENND:

NOP

RET

CHANGE_CONENDP

DISLEDPROCNEAR;8255控制显示数码管

MOVBX,OFFSETBUFFER

MOVCL,5

STC

MOVAH,11101111B

DLOOP:

MOVDX,PA_8255

MOVAL,0FFH

OUTDX,AL

MOVAL,[BX]

MOVDX,PB_8255;输出字型码

OUTDX,AL

MOVAL,AH

MOVDX,PA_8255;输出位选码

OUTDX,AL

PUSHAX

MOVAH,1

CALLDEALY;显示延时

POPAX

RCRAX,1

INCBX

DECCL

JNZDLOOP

MOVDX,PA_8255

MOVAL,0FFH

OUTDX,AL

RET

DISLEDENDP

DEALYPROCNARE

PUSHAX

PUSHCX

MOVAL,0

MOVCX,AX

LOOP$

POPCX

POPAX

RET

DEALYENDP

RECVPROCNEAR

MOVDX,D_8251

INAL,DX

MOVLastAD,AL

CALLCHANGE_AD;修改字型码缓存区数据

CALLCHANGE_CON;修改控制码缓存区数据

MOVFLAG,1

MOVDX,C_8251

WAIT

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

当前位置:首页 > 求职职场 > 职业规划

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

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