微型计算机控制技术实验报告.docx
- 文档编号:2180995
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:28
- 大小:67.51KB
微型计算机控制技术实验报告.docx
《微型计算机控制技术实验报告.docx》由会员分享,可在线阅读,更多相关《微型计算机控制技术实验报告.docx(28页珍藏版)》请在冰豆网上搜索。
微型计算机控制技术实验报告
微型计算机控制技术实验报告
学院信息工程学院
班级电气 0901 班
学号200907260230
姓名叶孝璐
2011 年 11 月 20 日
实验一 系统认识及程序调试练习
实验目的
1.掌握 TD-ACC+实验教学系统联机软件中的各菜单功能,熟练掌握其中的程序编辑、
编译、链接、加载及调试方法。
2.了解 TD-ACC+实验教学系统的系统资源及硬件操作环境。
实验设备
PC 机一台,TD-ACC+实验系统一套
实验内容
1.阅读“第一部分 i386EX 系统板介绍”,了解TD-ACC+实验教学系统的构成;
2.读懂实验程序,对实验程序进行编辑、编译、链接、加载及调试练习。
实验原理
调试下列程序:
在显示器上显示一行 26 个英文字母,换行后重复进行。
第一种实现方法:
显示两行字母之间的延时时间采用软件延时方式。
实验程序1(采用软件延时方式)
CODESEGMENT
ASSUMECS:
CODE
START:
MOVCX,001AH;显示字符个数(26)→CX
MOVAH, 01
MOVAL, 13
INT10H;显示换行
CALLDELAY;调用延时子程序
MOVAL,41H;送字符‘A’的ASCⅡ码
AGAIN:
MOVAH,01;显示一个字符
INT10H
INCAL;下一显示字符的ASCⅡ码
LOOPAGAIN;连续显示26个字母
JMPSTART;重复进行
DELAY:
PUSHCX;延时子程序
MOVCX,0FFFFH
DEL1:
PUSHAX
POPAX
LOOPDEL1
POPCX
RET
CODEENDS
ENDSTART
OUT1
IRQ7
i386EX CPU
TMROUT1
INT3
第二种实现方法:
显示两行字母之间的间隔
时间用内部定时器8254进行控制,时间到由定时
器的OUT端发出脉冲信号到中断控制器8259的中
断信号输入端,向CPU请求中断,在中断程序中
完成显示一行字母的功能。
硬件接线如图1-1,用排线将i386内部1#定时
1M
24MHz
TMRCLK1
CLK2
图1-1
器输出OUT1连接到8259的一个中断请求端IRQ7。
8254 与 8253 类似,它们的编程方式是兼容的,其控制字格式如下:
D7D6D5D4D3D2D1D0
SC1SC0RW1RW0M2M1M0BCD
SC1 SC0——所选计数器
0 0计数器 0
0 1 计数器 1
1 0 计数器 2
1
位
1 1 无意义
RW1 RW0——读/写格式
0 0 锁定当前计数值(供 CPU 读取)
0 1 只读/写低 8 位
1 0 只读/写高 8 位
1 1 先读/写低 8 位,后读/写高 8
M2 M1M0——工作方式选择
0 0 0 方式 0
0 0 1 方式 1
X 1 0 方式 2
X 1 1 方式 3
1 0 0 方式 4
1 0 1 方式 5
BCD——计数格式
0 计数器按二进制格式计数
1 计数器按 BCD 码格式计
数
实验程序2(采用定时中断方式)
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAX,OFFSET IRQ7;填写8259的7号中断矢量入口地址的偏移
量
MOVSI,003CH;填写8259中断7的中段矢量
MOV[SI],AX;填偏移量矢量
MOVAX,CS;填写8259中断矢量入口地址的段地址
MOVSI,003EH;填写7号中断段地址矢量
MOV[SI],AX
CLI;关系统总中断
CALLSYSINTI;调用系统初始化子程序
MOVDX,0F043H
MOVAL,076H;初始化1#定时器
OUTDX,AL
MOVDX,0F041H
MOVAL,10H;定时10ms时间常数低8位
OUTDX,AL;写1#定时器定时常数的低字节
MOVX,0F041H
MOVAL,27H;定时10ms时间常数高8位
OUTDX,AL;写1#定时器定时常数的高字节
MOVBX,64H
MOVAH, 01
MOVAL, 13
INT10H;显示换行
AGAIN:
STI;打开系统总中断
HLT;停机等待直到有中断产生
JMPAGAIN;继续
IRQ7:
DECBX
JNZFINISH
MOVBX,64H
MOVCX,001AH
MOVAL,41H
2
AGAIN1:
MOVAH,01
INT10H
INCAL
LOOPAGAIN1
MOVAH, 01
MOVAL, 13
INT10H
FINISH:
MOVAL,20H;中断结束
OUT20H,AL
IRET;中断返回
SYSINTI:
MOVAX,8000H;系统初始化子程序(已保存在机器中)
OUT23H,AL;扩展IO使能
XCHGAL,AH
OUT22H,AL
OUT22H,AX
MOVDX,0F822H;初始化管脚配置P2CFG,配置CS0#
MOVAL,70H
OUTDX,AL
MOVDX,0F824H;初始化管脚配置P3CFG,配置主片IRQ7
MOVAL,0B2H
OUTDX,AL
MOVDX,0F832H;初始化管脚配置INTCFG
MOVAL,0AH
OUTDX,AL
MOVDX,0F834H;初始化管脚配置TMRCFG
MOV AL,15H;将GATE1接VCC
OUTDX,AL
MOV AL,11H;初始化主片8259
OUT20H,AL
MOV AL,08H
OUT21H,AL
MOV AL,04H
OUT21H,AL
MOV AL,01H
OUT21H,AL
MOVAL,6FH;写主片8259的中断屏蔽字,允许主片的
IRQ7(用
OUT21H,AL户程序使用)和IRQ4(系统通讯用)
MOV AL,11H;初始化从片8259
OUT0A0H,AL
MOV AL,30H
OUT0A1H,AL
MOV AL,02H
OUT0A1H,AL
MOV AL,01H
OUT0A1H,AL
3
MOV AL,0FFH
OUT0A1H,AL
RET
CODEENDS
ENDSTART
实验步骤
1.打开微机及实验系统电源。
2.如提示联机有问题,检查 USB 及串口通讯线是否正常连接,并按复位按钮(置
于实验面板上的 i386EX 系统小板上)。
3.编辑程序 1。
然后编译链接并加载,如中间出现错误,则按提示进行修改,直至
加载成功。
4.按工具栏上的“RUN”按钮执行程序。
5.观察输出窗口的显示内容并记录。
如结果不正确,使用单步、跳过、断点方式运
行调试程序。
6.试用单步、跳过、断点方式运行调试程序,记录运行中间寄存器变化及显示结果。
7.编辑程序 2。
其中系统初始化子程序已保存在机器上,文件名:
c:
\shiyan\csh.asm。
打开该文件,将该文件复制粘贴到编辑程序 2 中。
8.用排线连接控制计算机上的 IRQ7 与 OUT1 信号。
9.同步骤 5。
10.改变编辑程序 2 中软件计数器 BX 的值,调整两行字母之间的显示时间间隔,
重复以上步骤。
实验结果
实验1-1实验结果
实验1-2实验结果
结论:
改变编辑程序2中软件计数器BX的值,即调整两行字母之间的显示时间间隔,时
间调大,两行字母之间的显示时间间隔变长。
4
实验二D/A 转换实验
实验目的
1.学习掌握 D/A 转换的基本原理及 TLC7528 芯片的性能。
2.学习利用 DAC 产生连续波形的编程方法。
实验设备
PC 机一台,TD-ACC+实验系统一套
实验内容
编写实验程序,实现D/A转换产生周期性同步的锯齿波和方波(如图2-1),并用虚拟
示波器观察波形。
图2-1
实验原理
本实验采用TLC7528 芯片,它是8 位、并行、两路、电压型输出数模转换器。
其主
要参数如下:
转换时间100ns,满量程误差1/2 LSB,参考电压-10V ~ +10V,供电电压
+5V~+15V,输入逻辑电平与TTL 兼容。
方法一:
软件延时
控制计算机按一定规律连续输出数据到DAC转换器,转换后产生相应的连续波形。
实验中的锯齿波由数据00H~FFH连续循环输出产生,上升幅度为01个数据量,即每输出
一次后数据加一,数据输出的时间间隔由软件延时控制;方波由两个数据00H和FFH交替
输出产生,每当锯齿波数据由FFH变到00H(用加一指令即可)时方波变换为另一个数据
(00H变为FFH或FFH变为00H),从而实现两波形的同步效果。
实验平台中的TLC7528 的八位数据线、写信号线和通道选择控制线已接至控制计算
机的总线上。
片选线预留出待实验中连接到相应的I/O 片选上,具体如图2-2。
图2-2
以上电路是TLC7528 双极性输出电路,输出范围-5V ~ +5V。
“W101”和
“W102”分别为A路和B路的调零电位器,实验前先调零,用DEBUG命令直接往
5
TLC7528 的A口和B口中送入数字量80H,分别调节“W101”和“W102”电位器,用万
用表分别测“OUT1”和“OUT2”的输出电压,应在0mV 左右。
控制计算机-IOW→ 数模转换器-WR:
IOW 为 D/A 的写信号;
控制计算机-IOY1→数模转换器-CS:
IOY1 为 D/A 转换器片选信号,其地址可选为
0640H~0641H;
控制计算机-XD0~XD7→数模转换器- D0~D7:
控制计算机的八位数据线接至 D/A 转
换器的八位数据输入端;
控制计算机-A0→数模转换器- A0:
A0 为 0 选中通道 A,为 1 选中通道 B。
参考流程:
开始
变量 1、2=0
变量 2 送 D/A 通道 B
变量 1 送 D/A 通道 A
调用延时子程序
变量 1 加一
变量 1 是否为
N
Y
0?
变量 2 取反
图2-3
程序2-1
codesegment
assume cs:
code
mov bl,0h
mov bh,0h
start:
mov dx,0640h
mov al,bl
out dx,al
mov dx,0641h
mov al,bh
out dx,al
call delay
inc bl
jnz start
not bh
6
jmp start
delay:
push cx
mov cx,0ffh
del1:
push ax
pop ax
loop del1
pop cx
ret
codeends
end start
方法二:
利用定时器控制输出间隔时间。
同实验一,对控制计算机内的1#计数器编
程,定时时间1ms,时间到由定时器OUT1产生的信号接到控制计算机的中断请求IRQ7申
请中断,在中断程序中进行D/A数据输出。
自行设计接线图及程序流程图。
图2-3
程序2-2:
DA1_ADDR EQU0640H
DA2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 控制 技术 实验 报告