资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验十一,综合实验,实验软件框图,实验线路连接,实验内容,实验环境,实验目的要求,1,2,3,4,5,6,实验步骤,一、,实验目的要求,1、进一步掌握并行接口芯片8255A和微机接口的连接及其编程方法;,2、进一步熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法;,3、掌握汇编语言程序设计方法;,4、掌握接口芯片的应用,提高综合运用所学知识解决实际问题的基本方法;,5、提高硬软件调试的方法。,硬件:PC机+DVCC8086H 实验箱。,示波器,软件:MASM5.0,二、实验环境,三、实验内容,(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数码管的显示(显示要求:08320x)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寄存器、模拟量输出随之而变化。,图11.4 实验线路,图11.5 实验线路,四、实验线路连接(6根),8255A芯片PC0、PC1插孔依次接K1、K2;,8255A芯片PB0、PB1插孔依次接L1、L2;,8255A的CS插孔接译码输出060H06FH插孔;,将0832片选信号0832CS插孔和译码输出070H07FH插孔相连。,五、实验软件框图,六、实验步骤,按图11.4、11.5连好线路(共6根线);,使用示波器,检测DAC0832的电压输出;,使用DVCC86H调试软件,选择新建源文件或者在某个源文件基础上修改;,完成源文件输入后,选择编译编译连接传送;定位程序起始地址选择默认的1000H;,编译错误,修改源程序;,调试程序,拨动K1、K2,观察L1、L2显示、数码管显示、示波器波形;,纪录各种波形的周期、幅值。,提示:端口说明,DAPORTEQU 0070H;DAC0832端口,;=,CONTPORT EQU 00DFH;8279控制口,DATAPORT EQU 00DEH;8279数据口,;=,IOCONPT EQU 0063H;8255A的控制口,IOCPTEQU 0062H;8255A的PC口(输入),IOBPTEQU 0061H;8255A的PB口(输出),;=,DATAEQU 0500H;显示RAM偏移地址,8位段码存放在CS:500HCS:507H,JUMPEQU0600H;判断转移偏移量,VALEQU0604H;数据量,DS:0604H存放当前D/A数据,提示:显示部分程序说明,;-FORMAT-,;功能:将0832-01八个段码送DS:0500H开始的连续8个单元,供LEDDISP过程调用,;入口参数:无;出口参数:无,;说明:程序中3F为0的段码;7FH为8的段码;4F为3的段码;5BH为2的段码;40H为-的段码06H为1的段码,;DP,G,F,E,D,C,B,A八段中DP段为D7,A段为D0(数据低位),;-LEDDISP-,;功能:将DS:0500H开始的8个显示段码送8279显示,;入口参数:无;出口参数:无,;说明:程序中BX用于计数(07),向8279控制口写90H控制字的含义为:8279显示RAM自动+1,提示:,三角波,三角波:,;-trigonal-,;功能:根据当前计数X,计算采用增量/减量的方式计算D/A数值(0-255增量;256-512减量);保存得到的D/A数值,将得到的值送D/A转换,计数+1,;入口参数:无,;出口参数:无,;说明:DS:0602H存放当前计数,CX用于暂存度数;DS:VAL存放当前D/A数值。,0255,255512周期变化。0255增,255512减,提示:,正弦波,正弦波:,0-360度周期变化,;-sinusoid-,;功能:根据当前度数X,查表得到增量127.5*SIN(X),根据度数所在象限,确定127.5加或者减查表得到的增量;将得到的值送D/A转换,度数+1,;入口参数:DI:SIN函数表头 ;出口参数:无,;说明:DS:0602H存放当前度数,CX用于暂存度数;SI指向当前度数增量的绝对值在表中的位置。,关于查表的相关说明:SI:表指针;DI:表首指针;CX:当前度数;,在第一象限:SI=DI+CX;,D/A数值127.5+(SI),在第二象限:SI=(DI+90)-(CX-90)DI+180-CX;,D/A数值127.5+(SI),在第三象限:SI=DI+(CX-180);,D/A数值127.5-(SI),在第四象限:SI=(DI+90)-(CX-270)=DI+360-CX;,D/A数值127.5-(SI),实验十一讲解结束,实验开始,内容总结,实验十一综合实验。实验十一综合实验。2、进一步熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法。4、掌握接口芯片的应用,提高综合运用所学知识解决实际问题的基本方法。图中是只有一路模拟量输出,且为单极型电压输出。8255A的CS插孔接译码输出060H06FH插孔。将0832片选信号0832CS插孔和译码输出070H07FH插孔相连。使用DVCC86H调试软件,选择新建源文件或者在某个源文件基础上修改。完成源文件输入后,选择编译编译连接传送。IOCONPT EQU 0063H。DATAEQU 0500H。显示RAM偏移地址,8位段码存放在CS:500HCS:507H。VALEQU0604H。功能:将DS:0500H开始的8个显示段码送8279显示。说明:程序中BX用于计数(07),向8279控制口写90H控制字的含义为:8279显示RAM自动+1,
展开阅读全文