微型计算机控制技术实验报告.docx

上传人:b****8 文档编号:10871782 上传时间:2023-02-23 格式:DOCX 页数:34 大小:372.01KB
下载 相关 举报
微型计算机控制技术实验报告.docx_第1页
第1页 / 共34页
微型计算机控制技术实验报告.docx_第2页
第2页 / 共34页
微型计算机控制技术实验报告.docx_第3页
第3页 / 共34页
微型计算机控制技术实验报告.docx_第4页
第4页 / 共34页
微型计算机控制技术实验报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

微型计算机控制技术实验报告.docx

《微型计算机控制技术实验报告.docx》由会员分享,可在线阅读,更多相关《微型计算机控制技术实验报告.docx(34页珍藏版)》请在冰豆网上搜索。

微型计算机控制技术实验报告.docx

微型计算机控制技术实验报告

微型计算机控制技术实验报告

学院信息工程学院

班级电气0901班

学号200907260230

姓名叶孝璐

2011年11月20日

实验一系统认识及程序调试练习

实验目的

1•掌握TD-ACC+实验教学系统联机软件中的各菜单功能,熟练掌握其中的程序编辑、

编译、链接、加载及调试方法。

2.了解TD-ACC+实验教学系统的系统资源及硬件操作环境。

实验设备

PC机一台,TD-ACC+实验系统一套

实验内容

1•阅读“第一部分i386EX系统板介绍”,了解TD-ACC+实验教学系统的构成;

2•读懂实验程序,对实验程序进行编辑、编译、链接、加载及调试练习。

实验原理

调试下列程序:

在显示器上显示一行26个英文字母,换行后重复进行。

第一种实现方法:

显示两行字母之间的延时时间采用软件延时方式。

RET

CODE

ENDS

END

START

第二种实现方法:

显示两行字母之间的间隔

;显示字符个数(26CX

;显示换行

;调用延时子程序

;送字符’A'的ASCn码

;显示一个字符

;下一显示字符的ASCn码

;连续显示26个字母

;重复进行

;延时子程序

时间用内部定时器8254进行控制,时间到由定时器的OUT端发出脉冲信号到中断控制器8259的中断信号输入端,向CPU请求中断,在中断程序中完成显示一行字母的功能。

i386EXCPU

图1-1

硬件接线如图1-1,用排线将i386内部1#定时器输出OUT1连接到8259的一个中断请求端IRQ7。

8254与8253类似,它们的编程方式是兼容的,其控制字格式如下:

D7D6D5D4D3D2D1Do

SC1

SC0

RW1

RW0

M2

M1

M0

BCD

SC1SC0所选计数器

计数器1

计数器2

00计数器0

11无意义

RW1RW0——读/写格式

00锁定当前计数值(供CPU读取)

01只读/写低8位

10只读/写高8位

11先读/写低8位,后读/写高8

M2M1M0——工作方式选择实验程序2(采用定时中断方式)CODESEGMENT

ASSUMECS:

CODE

START:

MOV

000方式0

001方式1

X10方式2

X11方式3

100方式4

101方式5

BCD——计数格式

0计数器按二进制格式计数

1计数器按BCD码格式计数

AX,OFFSETIRQ7;填写8259的7号中断矢量入口地址的偏移

MOVSI,003CH

MOV[SI],AX

MOVAX,CS

MOVSI,003EH

MOV[SI],AX

CLI

CALLSYSINTI

MOVDX,0F043H

;填写8259中断7的中段矢量;填偏移量矢量

;填写8259中断矢量入口地址的段地址

;填写7号中断段地址矢量

MOV

AL,076H

;初始化1#定时器

OUT

DX,AL

MOV

DX,0F041H

MOV

AL,10H

;定时10ms时间常数低8位

OUT

DX,AL

;写1#定时器定时常数的低字节

MOV

X,0F041H

MOV

AL,27H

;定时10ms时间常数高8位

OUT

DX,AL

;写1#定时器定时常数的高字节

MOV

BX,64H

MOV

AH,01

MOV

AL,13

INT

10H

;显示换行

AGAIN:

STI

;打开系统总中断

HLT

;停机等待直到有中断产生

JMP

AGAIN

;继续

IRQ7:

DEC

BX

JNZ

FINISH

MOV

BX,64H

MOV

CX,001AH

MOV

AL,41H

;关系统总中断

;调用系统初始化子程序

 

AGAIN1:

MOV

AH,01

INT

10H

INC

AL

LOOP

AGAIN1

MOV

AH,01

MOV

AL,13

INT

10H

FINISH:

MOV

AL,20H

;中断结束

OUT

20H,AL

IRET

;中断返回

SYSINTI:

MOV

AX,8000H

;系统初始化子程序(已保存在机器中)

OUT

23H,AL

;扩展IO使能

XCHG

AL,AH

OUT

22H,AL

OUT

22H,AX

MOV

DX,0F822H

;初始化管脚配置P2CFG,配置CSO#

MOV

AL,70H

OUT

DX,AL

MOV

DX,0F824H

;初始化管脚配置P3CFG,配置主片IRQ7

MOV

AL,0B2H

MOV

AL,30H

OUT

0A1H,AL

MOV

AL,02H

OUT

0A1H,AL

MOV

AL,01H

OUT

0A1H,AL

MOV

AL,0FFH

OUT

0A1H,AL

RET

CODE

ENDS

END

START

实验步骤

1•打开微机及实验系统电源。

2•如提示联机有问题,检查USB及串口通讯线是否正常连接,并按复位按钮(置

于实验面板上的i386EX系统小板上)。

3•编辑程序1。

然后编译链接并加载,如中间出现错误,则按提示进行修改,直至加载成功。

4.按工具栏上的“RUN”按钮执行程序。

5•观察输出窗口的显示内容并记录。

如结果不正确,使用单步、跳过、断点方式运行调试程序。

6•试用单步、跳过、断点方式运行调试程序,记录运行中间寄存器变化及显示结果。

7•编辑程序2。

其中系统初始化子程序已保存在机器上,文件名:

c:

\shiyan\csh.asm。

打开该文件,将该文件复制粘贴到编辑程序2中。

&用排线连接控制计算机上的IRQ7与OUT1信号。

9.同步骤5。

10・改变编辑程序2中软件计数器BX的值,调整两行字母之间的显示时间间隔,重复以上步骤。

实验结果

iriCDbKiHunNOIXJUSTCLIfc卜(;hUKLMNUF'OHSlU^WWZABCDfcHiHUKlUNUl

实验1-1实验结果

实验二D/A转换实验

实验目的

1.学习掌握D/A转换的基本原理及TLC7528芯片的性能。

2.学习利用DAC产生连续波形的编程方法。

实验设备

PC机一台,TD-ACC+实验系统一套

实验内容

编写实验程序,实现D/A转换产生周期性同步的锯齿波和方波(如图2-1),并用虚拟示波器观察波形。

图2-1

实验原理

本实验采用TLC7528芯片,它是8位、并行、两路、电压型输出数模转换器。

其主要参数如下:

转换时间100ns,满量程误差1/2LSB,参考电压一10V~+10V,供电电压

+5V~+15V,输入逻辑电平与TTL兼容。

方法一:

软件延时

控制计算机按一定规律连续输出数据到DAC转换器,转换后产生相应的连续波形。

实验中的锯齿波由数据00H〜FFH连续循环输出产生,上升幅度为01个数据量,即每输出

一次后数据加一,数据输出的时间间隔由软件延时控制;方波由两个数据00H和FFH交替

输出产生,每当锯齿波数据由FFH变到00H(用加一指令即可)时方波变换为另一个数据

(00H变为FFH或FFH变为00H),从而实现两波形的同步效果。

实验平台中的TLC7528的八位数据线、写信号线和通道选择控制线已接至控制计算机的总线上。

片选线预留出待实验中连接到相应的I/O片选上,具体如图2-2。

W102”分别为A路和B路的调零电位器,实验前先调零,用DEBUG命令直接往

TLC7528的A口和B口中送入数字量80H,分别调节“W101”和“W102”电位器,用万用表分别测“0UT1”和“0UT2”的输出电压,应在0mV左右。

控制计算机-!

0Wt数模转换器-WR:

IOW为D/A的写信号;

控制计算机-lOYlt数模转换器-CS1OY1为D/A转换器片选信号,其地址可选为0640H~0641H;

控制计算机-XD0~XD7t数模转换器-D0~D7:

控制计算机的八位数据线接至D/A转

B。

换器的八位数据输入端;控制计算机-A0参考流程:

程序2-1

code

segmentassumecs:

code

movbl,Oh

movbh,0h

start:

movdx,0640hmoval,bloutdx,al

movdx,0641hmoval,bhoutdx,alcalldelayincbljnzstartnotbh

jmpstart

delay:

pushcxmovcx,0ffh

del1:

pushaxpopaxloopdel1popcxret

code

endsendstart

方法二:

利用定时器控制输出间隔时间。

同实验一,对控制计算机内的1#计数器编

程,定时时间1ms,时间到由定时器0UT1产生的信号接到控制计算机的中断请求IRQ7申

请中断,在中断程序中进行D/A数据输出。

自行设计接线图及程序流程图。

图2-3

程序2-2:

DA1_ADDREQU0640H

DA2_ADDREQU0641H

STACK1SEGMENTSTACK

DW256DUP⑺

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE

START:

CALLSYSINTI;调用系统初始化子程序

MOVBL,00H;赋D/A输出初值0

MOVBH,10H

AGAIN:

CALLDELAY

MOVAL,BL

MOVDX,DA1_ADDR;选择数模转换单元的OUT1端作为模拟量的输出

OUTDX,AL;D/A输出当前AL中的值

MOVAL,BH

MOVDX,DA2_ADDR

OUT

DX,AL

INC

BL

NOT

BH

;AL加一,准备下一次D/A输出值

JNZ

AGAIN

DELAY:

PUSHCX

;延时子程序

MOV

CX,0200H

DEL1:

PUSH

AX

POP

AX

LOOP

DEL1

POP

CX

RET

SYSINTI:

MOV

AX,8000H

;系统初始化子程序

OUT

23H,AL

扩展IO使能

XCHG

AL,AH

OUT

22H,AL

OUT

22H,AX

MOV

DX,0F822H

;初始化管脚配置

P2CFG,配置CS0#

MOV

AL,70H

OUT

DX,AL

MOV

DX,0F824H

;初始化管脚配置

P3CFG,配置主片IRQ7

MOV

AL,0B2H

OUT

DX,AL

MOV

DX,0F832H

;初始化管脚配置

INTCFG

MOV

AL,0AH

OUT

DX,AL

MOV

DX,0F834H

;初始化管脚配置

TMRCFG

MOV

AL,15H

;将GATE1接VCC

OUT

DX,AL

RET

CODEENDS

ENDSTART

实验步骤

1•按图接线,画“o”的线需自行连接,不带“o”的线电路板上已连好无须连接。

连接好后,请仔细检查,无误后方可接通电源。

2.D/A转换器调零。

在输出窗口区/调试窗口下的“>提示符后键入O064080/,用虚拟万用表测量数模转换单元OUT1端,调电位W101使该端输出电压为0.00V,同样

键入O064180/,用虚拟万用表测量数模转换单元OUT2端,调电位W102使该端输

出电压为0.00V。

3.编辑程序1,延时子程序文件名:

c:

\shiyan\yanshi.asm可以打开并粘贴到程序中。

然后编译链接并加载,如中间出现错误,则按提示进行修改,直至加载成功。

4.按工具栏上的“RUN”按钮执行程序。

5.点击虚拟示波器菜单,进入虚拟示波器界面,按“运行”按钮观察并记录OUT1、OUT2输出波形。

6.如示波器显示不正确,运用调试命令调试程序,找出程序中的问题,使之实现预期的结果。

7.完成方法二的接线,编辑程序2,重复步骤3〜6。

&改变计数器的定时时间,以改变锯齿波的周期,重复以上步骤,用示波器观察输出波形并记录。

实验结果

实验2-1

“1-■2.5?

&/

实验2-2

思考题

如实验中的8253计数器定时时间为1ms,则锯齿波的周期为多少?

如实验中的8253计数器定时时间为1ms,则锯齿波的周期为350ms。

实验三A/D转换实验

实验目的

1.学习掌握A/D转换的基本原理及ADC0809器件的性能。

2.掌握实验教学系统中A/D转换单元的电路原理。

3.了解模数转换器的采样作用及学习选择采样周期。

实验设备

PC机一台,TD-ACC+实验系统一套

实验内容

1•当输入电压为-5.00V到+5.00V之间变化时,由显示器上读取A/D转换数值。

2•当A/D输入为连续信号时,由A/D输入并由D/A直接输出,用示波器观察D/A端输出的相应信号。

改变采样周期观察波形何时失真,观察D/A器件的零阶保持器的作用。

实验原理

1.ADC0809芯片主要包括多路模拟开关和A/D转换器两部分,其主要特点为:

单电

源供电、工作时钟CLOCK最高可达到1200KHZ、8位分辨率,8个单端模拟输入端,TTL电平兼容等,可以很方便地和微处理器接口。

TD-ACC+教学系统中的ADC0809芯

片,其输出八位数据线以及CLOCK线已连到控制计算机的数据线及系统应用时钟

IMCLK(IMHz)上。

其它控制线根据实验要求可另外连接

(A、B、C、STR、/0E、EOC、IN0〜IN7)。

其中IN0~IN5的模拟量输入允许范围:

0V~4.98V,对应数字量00H~FFH,2.5V对应80H。

IN6和IN7两路由于接了上拉电阻,所以模拟量输入允许范围:

-5V~+4.96V,对应数字量00H~FFH。

0V对应80H。

模数转换单元原理图如图3-2。

根据实验内容一,可以设计出如图3-1所示的实验线路图。

-.00V至U

+5.00V的输入电压由单次阶跃单元电路的电位器进行调节获得,考虑模拟量输入允许范围(-5V~+4.96V)选取IN7为模拟量输入端,因而地址线A、B、C应接高电平(+5V),ADC0809转换器的启动信号START(STR)由内部1#定时器输出信号OUT1控制,转换结束后数据锁存在三态输出锁存器中,当计算机读取数据时,IN语句中的地址信号IOYO有

效,使得ADC0809输出允许信号OE有效,转换好的数据出现在ADC0809数据端口上供计算机读取。

图3-1

模数转换单元-A,B,Ct+5V:

选择A/D输入通道为INT7,地址码为“111”;

单次阶跃单元-Xt+5V,U14-Zt-5V:

使U14单元的Y端输出七V~+5V连续可调电压;控制计算机-分频器t模数转换单元-CLOCK:

提供给A/D器件的时钟信号,频率为1MHz;同时该信号提供给内部计数器作时钟。

控制计算机-OUT1t模数转换单元-

STR:

控制计算机的1#计数器输出定时信号,启动A/D转换器。

控制计算机-/IOY0t模

数转换单元-/OE:

控制计算机的端口有效地址/IOY0使模数转换ADC0809的输出允许控制OE有效,ADC0809三态输出锁存缓冲器中的数据可供计算机读取。

控制计算机-

A/D转换器的八位数据线。

XD0~XD7t模数转换单元-D0~D7:

控制计算机的数据线接

JKfCUK

fl

参考流程:

STR

EQC

>I-AB匸

74LS04

Op>O

o

V——1

^ILSCMi

AJLE

"AEJJT

21如1018鼻汁1417”

XD0-XD7f©

XD0-XD7

000000000

ING]M1N22

TN4

Z

图3-3

 

;调用系统初始化子程序

;初始化1#定时器

程序3-1:

CODESEGMENT

ASSUMECS:

CODE

START:

CALLSYSINTI

MOVDX,0F043H

MOV

AL,076H

OUT

DX,AL

TIME:

MOV

DX,0F041H

MOV

AL,0E8H

OUT

DX,AL

MOV

DX,0F041H

MOV

AL,03H

OUT

DX,AL

CALL

DELAY1

MOV

DX,0600H

INAL,DX

CALLDSPY

;写1#定时器

;1ms定时器低8位

;1ms定时器高8位

;调用延时子程序1(>1ms);读A/D采样值

;调用显示子程序

CALLDELAY2

JMPTIME

;调用延时子程序2(500ms

OUT

23H,AL

XCHG

AL,AH

OUT

22H,AL

OUT

22H,AX

MOV

DX,0F822H

MOV

AL,70H

OUT

DX,AL

MOV

DX,0F824H

MOV

AL,0B2H

OUT

DX,AL

MOV

DX,0F832H

MOV

AL,0AH

OUT

DX,AL

MOV

DX,0F834H

MOV

AL,15H

OUT

DX,AL

MOV

AL,11H

OUT

20H,AL

MOV

AL,08H

OUT

21H,AL

MOV

AL,04H

OUT

21H,AL

MOV

AL,01H

OUT

21H,AL

MOV

AL,6FH

OUT

21H,AL

MOV

AL,11H

OUT

0A0H,AL

MOV

AL,30H

OUT

0A1H,AL

MOV

AL,02H

OUT

0A1H,AL

MOV

AL,01H

SYSINTI:

MOVAX,8000H

;系统初始化子程序

;扩展IO使能

;初始化管脚配置

;初始化管脚配置

P2CFG,配置CSO#

P3CFG,配置主片IRQ7

;初始化管脚配置INTCFG

;初始化管脚配置TMRCFG;将GATE1接VCC

;初始化主片8259

;写主片8259的中断屏蔽字,允许主片的

;初始化从片8259

IRQ7

 

DSPY:

PUSH

AX

MOV

AX,0001

INT

10H

POP

AX

MOV

CL,04

MOV

DL,AL

SHR

AL,CL

CMP

AL,09

JNA

DLAY1

ADD

AL,07

NOP

DLAY1:

ADD

AL,30H

MOV

AH,01

INT

10H

AND

DL,0FH

CMP

DL,09

JNA

DLAY2

ADD

DL,07

DLAY2:

ADD

DL,30H

MOV

AL,DL

MOV

AH,01

INT

10H

RET

DELAY1:

PUSH

CX

MOV

CX,0FFFFH

DEL1:

PUSH

AX

POP

AX

LOOP

DEL1

POP

CX

RET

DELAY2:

PUSH

CX

PUSH

BX

MOV

BX,300

CZ:

MOV

CX,0FFFFH

DEL2:

PUSH

AX

POP

AX

LOOP

DEL2

DEC

BX

JZ

CZ

POP

CX

POP

BX

RET

CODE

ENDS

OUT0A1H,AL

MOVAL,0FFH

OUT0A1H,AL

RET

END

;延时子程序1

;延时子程序2

START

 

2•对连续信号进行采样,然后再还原输出为模拟信号。

由正弦波单元的“OUT”端输出

周期性的正弦波信号,通过模数转换单元的“IN7”端输入,系统用定时器作为基准时钟

(初始化为10ms),定时采集“IN7”端的信号,A/D转换结束信号EOC接中断控制器8259的IRQ7请求中断,响应中断后,在中断服务程序中读入转换好的数字量,再输出给数模转换单元,在数模转换单元的“OUT1”端输出相应的模拟信号。

实验线路图如图3-4所示。

oct

■o

-o-

0

-5V

-

D7

:

XD;

i-___

MIOt

A:

-

OTJTlDO

 

图3-4

采样周期T=TKX10ms,TK的范围为01~FFH,程序中将其定义在某个数据单元(如

2600H),相当于软件计数器,通过修改TK就可以灵活地改变采样周期。

定时器的工作方式可选择方式2分频器或方式3方波发生器(参考实验一程序)

,计数初值为10ms。

程序流程:

 

图3-5

程序3-2

CODESEGMENT

ASSUMECS:

CODE

IRQ7;初始化8259

;关总中断

;系统初始化

;初始化1#定时器

;写1#定时器

;10ms定时器低8位

;10ms定时器高8位

;相当于TK的值

;BL=O则D/A输岀,!

=0则跳转

;读A/D采样值

;采样值送通道A

;还原采样周期变量初值

;中断结束

使用)和IRQ4(系统通讯用)

CODEENDS

ENDSTART

实验步骤

内容一:

1•按图3-1接线。

用“短路块”分别将信号源单元中的ST插针与+5V插针短接;单

次阶跃单元中的X与+5V,Z与一5V用短路块短接。

其他画“o”的线需自

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

当前位置:首页 > 高中教育 > 高考

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

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