输出三角波+锯齿波+方波+正弦波.doc
文本预览下载声明
一、目的与要求
进一步掌握并行接口芯片8255A和微机接口的连接及其编程方法;
进一步熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法;
掌握汇编语言程序设计方法;
掌握接口芯片的应用,提高综合运用所学知识解决实际问题的基本方法;
提高硬软件调试的方法。
二、实验内容或题目
(1)8255A相关部分
实验原理与8255A相关部分如图11.4所示,PC口8位仅使用PC0,PC1两位接2个开关K1、K2,PB口8位接2个发光二极管(L1、L2),从PC口读入2位开关量送PB口显示。拨动K1、K2,PB口上接的2个发光二极管L1、L2对应显示K1、K2的状态。
此外,随着PC0、PC1输入的四种开关状态(00、01、10、11)的改变,实时改变:
2个发光二极管(L1、L2)的显示;
8个LED数码管的显示(显示要求:0832――0x)x为0、1、2、3中的1个数;
DAC0832的输出波形。具体要求:
00-输出方波; 01-输出锯齿波;
10-输出三角波; 11-输出正弦波。
(2)DAC0832相关部分
实验原理如图11.5所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与 8088CPU 总线直接接口。图中是只有一路模拟量输出,且为单极型电压输出。DAC0832工作于单缓冲方式,它的ILE接+5V,CS#和XFER#相接后作为0832芯片的片选0832CS。这样,对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器、模拟量输出随之而变化。
(3)实验线路连接
图11.4 图11.5
8255A芯片PC0、PC1插孔依次接K1、K2;
8255A芯片PB0、PB1插孔依次接L1、L2;
8255A的CS插孔接译码输出060H-06FH插孔;
将0832片选信号0832CS插孔和译码输出070H~07FH插孔相连。
三、实验步骤与源程序
按图11.4、11.5连好线路(共6根线);
使用示波器,检测DAC0832的电压输出;
使用DVCC86H调试软件,选择新建源文件或者在某个源文件基础上修改;
完成源文件输入后,选择编译-编译连接传送;定位程序起始地址选择默认的1000H;
编译错误,修改源程序;
调试程序,拨动K1、K2,观察L1、L2显示、数码管显示、示波器波形;
纪录各种波形的周期、幅值。
源程序:
CODE SEGMENT
ASSUME CS:CODE
DAPORT EQU 0070H ;DAC0832端口
CONTPORT EQU 00DFH ;8279控制口
DATAPORT EQU 00DEH ;8279数据口
IOCONPT EQU 0063H ;8255A的控制口
IOCPT EQU 0062H ;8255A的PC口(输入)
IOBPT EQU 0061H ;8255A的PB口(输出)
DATA EQU 0500H ;显示RAM偏移地址,8位段码存放在CS:[500H]~CS:[507H]
JUMP EQU 0600H ;判断转移偏移量
VAL EQU 0604H ;数据量
START: JMP DACONTORL
SIN DB 0, 2, 4, 7, 9, 11, 13, 16, 18, 20 ;0-9
DB 22,24,27,29,31,33,35,37,39,42 ;10-19
DB 44,46,48,50,52,54,56,58,60,62 ;20-29
DB 64,66,68,69,71,73,75,77,78,80 ;30-39
DB 82,84,85,87,89,90,92,93,95,96 ;40-49
DB 98,99,100,102,103,104,106,107,108,109 ;50-59
DB 110,112,113,114,115,116,116,117,118,119 ;60-69
DB 120,121,121,122,123,123,124,124,125,125 ;70-79
DB 126,126,126,127,127,127,127,127,127,127,127,127 ; 80-89+90
DACONTORL: CALL FORMAT
CALL LEDDISP
C
显示全部