有标注“*”号的控制字,标注“*”号的控制字就是说:当实验装置开机或复位时,标注“*”号的控制字已由监控程序写入。因此程序中我们就不用再写了。其实我们对8279内容只是部分掌握,因为好多事生产厂家已为我们做好。 当我们需要在数码管上显示数字时,可直接用下面语句:
MOV MOV
OUT MOV MOV OUT L:MOV
DX,00DFH AL,90H DX,AL DX,00DEH AL,显示代码 DX,AL
DX,0DFH ;0DFH 8279控制端(或状态)口
当我们需要从键盘获取键值时,可直接用下面语句:
IN AL,DX AND AL,01H JZ L
MOV CX,0FFFH
LOOP $ MOV DX,0DEH ;0DEH 8279数据口 IN
AL,DX
;AL寄存器里的内容即键值
二.实验内容:
写一程序,要求按什么键就将其键值在数码管最右边2位上显示出来。
三.实验器材:
DVCC—8086实验装置一台; 微机一台;
电源线一根及通讯电缆各1根;
四.实验要求:
先编写一简单的程序,在数码管上任意显示8个数字。然后再将8279的“写显示控制(或命令)字”从90H-97H进行改动,看看程序运行后的状态。通过实验将有关“写显示控制字”弄懂。
记住从键盘获取键值的程序,获取键值的过程。
学会从数据段中查寻数据的编程方法(变址寻址或用XLAT指令)。
弄清显示值和显示代码的区别。写一程序,要求按什么键就将其键值在数码管最右边2位上显示出来。
五.实验步骤(对实验内容而言):
本实验不需连线。
打开实验装置电源,进入DVCC实验系统窗口。
点“新建程序”键,出现“新文件0”编辑窗口。在此窗口中将你所写程序按规定写入。保存时不要用“新文件0”或其他中文名作为文件名,而只能用字符或数字作为文件名保存。文件名不要超过8个字符。文名夹也不能用中文,其长度也不要超过8个字符。 程序编好后,点击 “调试”键,在点“调试”键时,会出现传送起始地址错误信息,只
25
要选“YES”后选默认值“1000”,就可以了。如果程序前有ORG 1000H,点击 “调试”键后,就不会出现传送起始地址错误信息,可直接进行下面操作。
在动态调试菜单中点“连续执行”键后,屏幕上显示“程序正在运行中”。当从装置小键盘键入任意键时(除Reset、Intr键外),装置上的八位LED数码管最右二位将显示出其相应的键值。
当你要停止执行这个程序时,可按屏幕上提示按Reset、Intr键作相应操作。
六.实验报告:(只写一个最右边2位上显示的试验) 实验内容。
程序流程框图。
源程序(加注释。注释时不要每句注释,只需对程序段进行功能注释)。
附原理图:
图3-1 8279A可编程键盘显示接口实验原理图
26
实验二 A/D转换实验
一.实验内容:
1 、实验原理
本实验采用 ADC0809 做 A/D 转换实验。ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us以上,转换精度为±1/512,适用于多路数据采集系统。ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。
图5-1 A/D 转换实验原理图
图中ADC0809的CLK信号接CLK=2.385MHZ,基准电压Vref(+)接Vcc。一般在实际应用系统中应该接精确+5V,以提高转换精度,ADC0809片选信号0809CS和/IOW、/IOR经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。ADC0809的转换结束信号EOC未接, 如果以中断方式实现数据采集,需将EOC信号线接至中断控制器8259A的中断源输入通道。本实验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADD-A、ADD-B、ADD-C 接系统数据线的低3位,因此ADC0809的8个通道值分别为00H、01H、02H、03H、04H、05H 、06H、07H。 启动本A/D转换只需如下三条命令:
MOV DX,ADPORT ;ADPORT为ADC0809端口地址。 MOV AL,DATA ;DATA为通道值。
OUT DX, AL ; 通道值送端口。 MOV CX, 200
LOOP $ ;延时100us以上
读取A/D转换结果用下面二条指令: MOV DX,ADPORT IN AL,DX
2 、实验线路的连接
在原理图中,粗实线是学生需要连接的线, 粗实线两端是需连接的信号名称。
27
①、IN0插孔连W1的输出V1插孔。
②、0809CS连译码输出000H~01FH、060H~06FH或070H~07FH任意一插孔。
③、调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5V-FFH,2.5V-80H,0V-00H。(注意:由于所接基准电压不等于5V,是5V左右。所以,实际情况是5V左右-FFH,2.5V左右-80H,0V-00H)
二.实验器材:
DVCC—8086实验装置一台; 微机一台;
电源线一根及通讯电缆各1根; 专用实验细导线2根。
三.实验要求:
在做实验前,首先要熟悉DVCC—8086实验装置的结构、各单元电路的位置以及实验中要用到的各个插孔、插座的位置,并注意其用途。
根据原理图及接线,编写一程序,要求调节电位器W1时,这时装置上的八位LED数码管最右二位不断显示A/D转换结果。
四.实验步骤:
按原理图粗实线,将实验细导线插到相应插孔中(注意在插、拔线时一定要关掉装置电源开关,插、拔COM1、COM2插头前,一定要关掉微机电源,切记! 另外,插、拔细接线时一定要用手捏住手枪式插头,千万不要直接拉细线,要轻轻插入,避免插得太紧拔不出)。
打开实验装置电源,进入DVCC实验系统窗口。
程序编好后,点击 “调试”键,在点“调试”键时,会出现传送起始地址错误信息,只要选“YES”后选默认值“1000”,就可以了。如果程序中开始写入ORG 1000H,点击 “调试”键后,就不会出现传送起始地址错误信息,可直接进行下面操作。 在动态调试菜单中点“连续执行”键,屏幕上显示“程序正在运行中”,同时装置的八位LED数码管最右二位显示出A/D转换结果(两位16进制数,最大为FF,对应电压5V;最小为00,对应电压0V)。调节W1,改变输入电压大小,显示数据也跟着改变。
当你要停止执行这个程序时,可按屏幕上提示按Reset、intr键即可。
五.思考题
如接IN0的电压从0—5V变化时,数码管显示从00—99,如何修改程序?
28
六.实验报告:
实验题目。 原理简图。
程序流程框图。 源程序(加注释)。
七.编程提示:
A/D转换程序编写较简单,转换结果显示编程稍微复杂些。因为,转换结果显示要用到8279A可编程键盘显示接口电路。所以,编写程序时,请参阅8279实验程序。
29