安徽工业大学微机原理与接口技术实验报告下Word下载.docx

上传人:b****6 文档编号:19683776 上传时间:2023-01-08 格式:DOCX 页数:25 大小:186.46KB
下载 相关 举报
安徽工业大学微机原理与接口技术实验报告下Word下载.docx_第1页
第1页 / 共25页
安徽工业大学微机原理与接口技术实验报告下Word下载.docx_第2页
第2页 / 共25页
安徽工业大学微机原理与接口技术实验报告下Word下载.docx_第3页
第3页 / 共25页
安徽工业大学微机原理与接口技术实验报告下Word下载.docx_第4页
第4页 / 共25页
安徽工业大学微机原理与接口技术实验报告下Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

安徽工业大学微机原理与接口技术实验报告下Word下载.docx

《安徽工业大学微机原理与接口技术实验报告下Word下载.docx》由会员分享,可在线阅读,更多相关《安徽工业大学微机原理与接口技术实验报告下Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

安徽工业大学微机原理与接口技术实验报告下Word下载.docx

START0:

CLD;

置方向位

CALLBUF1;

调用子程序BUF1

CALLWRINTVER;

WRITEINTRRUPT

MOVAL,13H;

写ICW1,边沿触发,单片,需要ICW4

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H;

ICW2,中断类型号高5位

MOVDX,INTPORT2

MOVAL,09H;

写ICW4,BUF位在缓冲方式下工作,8086/8088系统

MOVAL,0F7H

MOVintcnt,01H;

TIME=1

MOVDX,TCONTR0;

指向控制口

MOVAL,51H;

8253控制字,通道1,方式0,只读/写低字节,BCD码计数

OUTDX,AL;

送控制字

MOVDX,TCON1;

MOVAL,03;

计数值低字节

MOVDX,0FF23H;

指向8255A控制口

MOVAL,80;

A口方式0,输出,C口上半部输出,B口方式0,输出,C口下半部输出

STI;

开中断

WATING:

CALLDISP;

DISP825359

JMPWATING

WRINTVER:

MOVAX,0H

MOVES,AX

MOVDI,002CH;

目的地址

LEAAX,INTQ3;

INTQ3的偏移地址

STOSW;

存字

MOVAX,0000h;

清零

STOSW

RET;

中断返回

INTREEUP3:

pushax;

入栈

pushbx

pushcx

pushdx

MOVDX,TCON1;

MOVAL,INTCNT

CALLCONVERS

MOVBX,OFFSETBUF

MOVAL,10H

MOVCX,05H;

置循环数

INTRE0:

MOV[BX],AL;

将Al中的值存在[BX]中

INCBX;

BX加1

LOOPINTRE0;

循环

ADDINTCNT,01H;

循环数是五次

CMPINTCNT,06H

JNAINTRE2

CALLBUF2;

DISP:

good

INTRE1:

CALLDISP

JMPINTRE1

CONVERS:

ANDAL,0FH;

显示次数

MOVBX,offsetbuf

MOV[BX+5],AL

RET

INTRE2:

MOVAL,20H

popdx

popcx

popbx

popax

IRET;

软中断返回

MOVAL,0FFH;

00H

MOVDX,PA;

MOVCL,0DFH;

20H

MOVBX,OFFSETBUF

DIS1:

MOVDX,PC

OUTDX,AL

MOVAL,[BX]

MOVAH,00H

PUSHBX

MOVBX,OFFSETDATA1

ADDBX,AX

POPBX

MOVDX,PB

MOVAL,CL

MOVDX,PA

PUSHCX

DIS2:

MOVCX,00A0H

LOOP$

POPCX

CMPCL,0FEH;

01H

JZLX1

INCBX

RORCL,1;

SHRCL,1

JMPDIS1

LX1:

MOVAL,0FFH

BUF1:

MOVBUF,08H

MOVBUF+1,02H

MOVBUF+2,05H

MOVBUF+3,03H

MOVBUF+4,05H

MOVBUF+5,09H

RET

BUF2:

MOVBUF,09H

MOVBUF+1,00H

MOVBUF+2,00H

MOVBUF+3,0dH

MOVBUF+4,10H

MOVBUF+5,10H

CODEENDS

ENDSTART

思考:

如果计数器0方式0计数,计满5个数产生中断,中断3次后结束。

硬件软件如何修改?

硬件修改:

将连接在CLK1,GATE1,OUT1的连线改接到CLK0,GATE0,OUT0上。

程序修改:

将程序对应部分做如下修改

1、TCON1EQU0041H改为TCON1EQU0040H

2、将8253控制字由MOVAL,51H改为MOVAL,11H

3、计数值低字节将MOVAL,02改为MOVAL,04

4、将CMPINTCNT,06H改为CMPINTCNT,04H;

2、8253定时器实验

用8253定时器1通道定时,每隔1秒使PA口的指示灯的状态右移一位。

主程序反复游走显示8253-A。

8253定时器实验线路见图6-7:

图6-78253计数器实验电路图

CODESEGMENT;

ASSUMECS:

CODE

INTPORT1EQU0FF80H;

INTPORT2EQU0FF81H;

8259A的奇地址入口

INTQ3EQUINTREEUP3

TCONTR0EQU0043H;

TCON1EQU0041H;

IOCONPTEQU0FF2BH;

8255A 

的端口地址

IOBPTEQU0FF29H;

IOAPTEQU0FF28H;

ORG12D0H;

JMPSTART0

6字节缓冲区

1字节缓冲区

WEIKONGDB?

db0a1h,86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH

CALLBUF1

MOVAL,13H;

MOVDX,INTPORT2

MOVAL,09H;

MOVintcnt,50;

软件计数50(1秒=20ms*50)

MOVDX,TCONTR0

MOVAL,74H;

通道1,先读/写低字节,再读/写高字节,方式2,二进制数

MOVDX,TCON1;

计数器1定时20ms

MOVAX,40000

MOVAL,AH;

读入计数值的高字节

OUTDX,AL

MOVDX,0FF2BH

MOVAL,82H;

A口方式0,输出,C口上半部输出,B口方式0,输入,C口下半部输出

MOVWEIKONG,0FEH;

初始PA0对应位亮

MOVAL,WEIKONG

MOVDX,0FF29H

STI;

开中断

CALLDISP;

DISP8253-A

MOVAX,0000h

DECINTCNT;

INTCNT减1

JNZINTRE2

MOVINTCNT,50

ROLWEIKONG,1

MOVDX,IOAPT

MOVAL,WEIKONG

OUTDX,AL

IRET;

MOVAL,0FFH;

MOVCX,0000H

JZLX1;

相等转LX1

循环右移一位,指示灯又移变亮

MOVAL,0FFH;

指示灯全灭

MOVBUF+4,17H

MOVBUF+5,0AH

CODEENDS

ENDSTART

接在PB口的线与接在PA口的线互换。

软件修改:

按照下面对相应部分修改

2、将MOVAL,74H改为MOVAL,34H;

3、将MOVAL,82H改为MOVAL,90H

4、将MOVWEIKONG,0FEH改为MOVWEIKONG,07FH

5、将MOVINTCNT,50改为MOVINTCNT,100

6、将MOVAL,WEIKONG改为MOVAL,WEIKONG

7、将ROLWEIKONG,1改为RORWEIKONG,1

8、将RORCL,1改为ROLCL,1

9、将MOVBUF+5,0AH改为MOVBUF+5,0BH

五、本次实验总结

实验过程中把学过的计算机编译原理以及操作系统的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。

实验五A/D转换实验

一、实验目的

了解模/数转换基本原理,掌握ADC0809的使用方法;

掌握定时数据采集程序的编制方法。

二、实验内容

1、A/D转换实验

利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。

(1)实验接线图

ADC0809接线见图6-9

图6-9ADC0809接线图

(2)编程指南

ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:

MOVDX,ADPORT ;

 ADC0809端口地址

OUTDX,AL ;

发CS和WR信号并送通道地址

用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。

MOVDX,ADPORT;

 ADC0809端口地址

IN AL,DX

循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。

(3)实验程序框图

A/D转换流程见图6-10

图6-10A/D转换流程

(4)实验步骤

①将0809CS4插孔连到译码输出FF80H插孔。

②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。

③运行实验程序,系统上显示“0809XX”。

“XX”表示输入模拟量转换后的数字量。

④调节电位器Wl,显示器上会不断显示新的转换结果。

模拟量和数字量对应关系的典型值为:

0V→00H+2.5V→80H+5V→FFH

⑤按RST键退出。

(5)实验程序清单

CODESEGMENT;

ASSUMECS:

ADPORTEQU0FF80h;

8259A偶地址入口

PAEQU0FF20H;

PBEQU0FF21H;

PCEQU0FF22H;

ORG1000H;

JMPSTART0;

跳转到START0

BUFDB?

定义6字节缓冲区

data1:

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,

0c6h,0a1h;

定义七段码

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH

CALLBUF1;

调用BUF1子程序

ADCON:

MOVAX,00

MOVDX,ADPORT;

 ADC0809端口地址

OUTDX,AL;

MOVCX,0500H;

;

DELAY:

LOOPDELAY;

空循环,延时

MOVDX,ADPORT;

 ADC0809端口地址

INAL,DX

CALLCONVERS;

调用子程序CONVERS

CALLDISP;

调用显示子程序DISP

JMPADCON;

跳转到ADCON

MOVAH,AL;

将ax中的低字节赋给高字节

ANDAL,0FH;

保留al中的低四位

MOVBX,OFFSETBUF;

buf的偏移地址

MOV[BX+5],AL;

将al中的值给[Bx+5]

MOVAL,AH;

取al中的高四位

ANDAL,0F0H

MOVCL,04H;

值移位数

SHRAL,CL;

右移四位

MOV[BX+4],Al;

将Al中的值给[BX+4]

RET;

返回

MOVAL,0FFH;

PA端口全置1,使其灯无显示MOVDX,PA

MOVCL,0DFH;

将0DFH给CL

MOVBX,OFFSETBUF;

取BUF的偏移地址给BX

MOVAL,[BX];

将[BX]中的内容取出给Al

MOVAH,00H

PUSHBX;

BX入栈

MOVBX,OFFSETDATA1;

取DATA1的偏移地址给BX

ADDBX,AX;

BX与Ax相加

MOVAL,[BPBX];

将[BX]的内容取到AL中

POPBX;

BX出栈

MOVDX,PB;

Al中得内容在PB端口输出

MOVAL,CL;

显示

MOVDX,PA

PUSHCX;

CX入栈

MOVCX,00A0H;

循环00A0H次,延时

LOOP$

POPCX;

CX出栈

CMPCL,0FEH;

Cl与0FEH比较

JZLX1;

Cl与00A0H相等,则程序跳转到LX1

INCBX ;

BX自加1

RORCL,1;

Cl循环左移1位

JMPDIS1;

循环显示

PB端口清零

MOVDX,PB

RET;

MOVBUF,00H

MOVBUF+1,08H

MOVBUF+3,09H

MOVBUF+4,00H

MOVBUF+5,00H

ENDSTART

2、数据采集实验

要求:

用8253定时器1通道定时,每隔半秒使从ADC0809的0通道IN0采集一个数据,若模拟电压在0-2V范围内(0-102),则使LED显示器L7-L4亮;

若模拟电压大于2V,小于3V,则使L5-L2亮;

若模拟电压大于等于3V,则使LED显示器L3-L0亮。

(主程序重复所采集的数据)

(1)实验接线图

数据采集实验系统接线图见图6-11

图6-11数据采集系统接线图

(2)程序流程图

主程序流程见图6-12

图6-12主程序流程图

中断服务程序流程见图6-13

图6-13中断服务程序流程

(3)实验程序清单

INTPORT1EQU0FF80H;

INTPORT2EQU0FF81H;

8259A奇地址入口

INTQ3EQUINTREEUP3;

中断源IR3地址

TCONTR0EQU0043H;

TCON1EQU0041H;

IOCONPTEQU0FF2BH

IOBPTEQU0FF29H

IOAPTEQU0FF28H

PAEQU0FF20H;

PBEQU0FF21H;

PCEQU0FF22H;

ADPORTEQU0FE00H;

ADC0809端口地址

ORG12D0H;

源地址

JMPSTART0;

定义6字节的缓冲区

RESDB?

data1db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h

CLD;

CALLBUF1;

调用BUF1

CALLWRINTVER;

调用WRINTVER

MOVAL,13H;

初始化ICW1,单片,边沿触发,设置ICW4

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H;

写ICW2,允许IR3中断

MOVDX,INTPORT2

MOVAL,09H;

写ICW4,8259A在缓冲方式下工作,8086/8088系统

MOVAL,0F7H;

写OCW1,允许中断源IR3,其余均被屏蔽

MOVintcnt,25

MOVDX,TCONTR0

MOVAL,74H;

8253工作通道1,先读(写)低字节,再读(写)高字节,方式4,二进制计数

MOVDX,TCON1

MOVAX,40000;

8253初始值40000

MOVAL,AH;

写初值的高字节

OUTDX,AL

MOVDX,0FF2BH;

8255初始化,PA口方式0,输出

MOVAL,82H

STI;

CALLDISP;

调用显示程序

JMPWATING;

循环,延时

MOVAX,0H

MOVES,AX;

ES指向AX

MOVDI,002CH;

置DI初值为002CH

LEAAX,INTQ3;

取INTQ3的初值

MOVAX,0000h

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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