微机原理实验.docx
《微机原理实验.docx》由会员分享,可在线阅读,更多相关《微机原理实验.docx(25页珍藏版)》请在冰豆网上搜索。
微机原理实验
试验一存储器读写实验
一、存储器读写实验目的
1、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。
2、掌握静态RAM读写数据编程方法。
二、实验内容
对指定地址区间的RAM(2000H~27FDH)先进行写数据55AAH,然后将其内容读出再写到3000H~33FEH中。
三、实验步骤(运行实验程序)
1、运行实验程序;
2、稍后按RESET键退出,用存贮器读方法检查2000H~27FDH中的内容和3000~33FF中的内容应都是55AA。
四、实验程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAX,0H
MOVDS,AX
MOVBX,2000H
MOVAX,55AAH
MOVCX,03FFH
RAMW1:
MOVDS:
[BX],AX
ADDBX,0002H
LOOPRAMW1
MOVAX,2000H
MOVSI,AX
MOVAX,3000H
MOVDI,AX
MOVCX,03FFH
CLD
REPMOVSB
RAMW2:
JMPRAMW2
CODEENDS
ENDSTART
实验二继电器控制实验
一、实验目的:
掌握用继电器控制的基本方法和编程。
二、实验内容
1、利用8255APB0输出高低电平,控制继电器的开合,以实现对外部装置的控制。
2、硬件线路原理如图5-23所示
3、实验预备知识:
现代自动化控制设备中都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机、电磁铁、电灯等);一方面又要为电子电路的电气提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。
三、连线方法
1、8255A的PB0连JIN插孔。
2、将CS-8255连到Y6。
四、实验步骤
1、按图连好实验线路图。
2、运行实验程序,继电器应循环吸合,L-13和L-14交替亮灭。
五、硬件线路接线图
六、试验程序
CODESEGMENT
ASSUMECS:
CODE
IOCONPTEQU0063H
IOCPTEQU0061H
START:
MOVAL,80H
MOVDX,IOCONPT
OUTDX,AL
NOP
NOP
NOP
IOLED1:
MOVDX,IOCPT
IODE2:
MOVAL,01H
OUTDX,AL
CALLDELAY
MOVAL,00H
OUTDX,AL
CALLDELAY
JMPIODE2
DELAY:
MOVCX,0FFFFH
DELY:
LOOPDELY
RET
CODEENDS
ENDSTART
实验三小直流电机调速实验
一、实验目的
1、掌握直流电机的驱动原理。
2、了解直流电机调速的方法。
二、实验内容
1、用DAC0832D/A转换电路的输出,经放大后驱动直流电机。
2、编制程序,改变DAC0832输出经放大后的方波信号的占空比来控制电机转速。
三、连接方法
1、DAC0832的片选信号CS-0832连到译码输出Y6。
2、用二芯连接线将2个DM插座相连。
3、将0832输出经放大后的模拟电压输出端OUT2连到DM插座旁边的DJ插孔上。
四、实验步骤
1、确认连线正确性。
2、从起始地址开始连续运行程序。
3、观察直流电机的转速(应有正转和反转)。
五、硬件线路接线原理图
六、实验程序
CODESEGMENT
ASSUMECS:
CODE
DAPORTEQU0060H
START:
MOVAL,0FFH
DACON1:
MOVDX,DAPORT
OUTDX,AL
MOVCX,1000H
DACO2:
LOOPDACO2
DECAL
JNZDACON1
DACO3:
MOVDX,DAPORT
OUTDX,AL
MOVCX,0800H
DACO4:
LOOPDACO4
INCAL
JNZDACO3
JMPSTART
CODEENDS
ENDSTART
实验四步进电机控制实验
一、实验目的
1、了解步进电机控制的基本原理。
2、掌握步进电机转动编程方法。
二、实验内容
1、用74LS273挂接在数据总线上,输出控制脉冲,由UN2003驱动步进电机转动。
2、硬件线路原理图如图5-22。
3、实验预备知识
步机电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,用微电脑控制步进电机最适合。
三、连接方法
1、用五芯连接线将2个J1插座相连。
2、将CS-273连到Y6。
四、实验步骤
1、按图5-22连好实验线路图。
2、运行实验程序,观察步进电机转动情况
五、实验硬件线路原理图
六、实验程序
CODESEGMENT
ASSUMECS:
CODE
IOBPTEQU0060H
START:
JMPIOLED1
IOLED1:
MOVDX,IOBPT
MOVAL,03H
OUTDX,AL
CALLDELAY
MOVAL,06H
OUTDX,AL
CALLDELAY
MOVAL,0CH
OUTDX,AL
CALLDELAY
MOVAL,09H
OUTDX,AL
CALLDELAY
JMPSTART
DELAY:
MOVCX,08000H
DELA:
LOOPDELA
RET
CODEENDS
ENDSTART
实验五A/D转换0809应用
一、实验目的
加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
二、实验内容
1、实验原理
本实验采用ADC0809做A/D转换实验。
ADC0809是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为±1/512,适用于多路数据采集系统。
ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。
图中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转换只需如下三条命令:
MOVDX,ADPORT ;ADPORT为ADC0809端口地址。
MOVAL,DATA ;DATA为通道值。
OUTDX,AL;通道值送端口。
读取A/D转换结果用下面二条指令:
MOVDX,ADPORT
INAL,DX1
2、实验线路的连接
在原理图5-2中,粗黑线是学生需要连接的线,粗黑线两端是需连接的信号名称。
(1)IN1插孔连WA51的输出V1插孔。
(2)CS-0809连译码输出Y6插孔。
(3)CLK-0809连脉冲输出1MHZ。
3、调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。
用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5V-FFH,2.5V-80H,0V-00H。
三、实验步骤
1、正确连接好实验线路
2、理解实验原理
3、仔细阅读,弄懂实验程序
4、运行实验程序
实验软件参考程序存放在两个地方:
一是放在随机软盘中,二是部份放在系统监控中。
每个实验程序所对应的起始地址见附一、二。
(a)运行系统监控中的实验程序
■在系统接上电源,显示"DVCC-86H"后,按任意键,显示器显示"-"。
■按GO键,显示"1000XX"
■输入F000:
B000
■再按EXEC键,在DVCC-8086JHN上应显示"0809-XX"。
■调节电位器WA51,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。
用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5V-FFH,2.5V-80H,0V-00H。
(b)运行随机软件中的实验程序
四、硬件电路原理图
五、实验程序
CODESEGMENT
ASSUMECS:
CODE
ADPORTEQU0061h
CONTPORTEQU00DFH
DATAPORTEQU00DEH
START:
JMPADCONTORL
DATA1EQU0580H
DATA2EQU0500H
ADCONTORL:
CALLFORMAT
MOVAX,0H
MOVDS,AX
MOVBX,DATA1
MOVDS:
[BX],AL
ADDBX,01H
MOVDS:
[BX],AL
ADDBX,01H
MOVAL,40H
MOVDS:
[BX],AL
ADDBX,01H
MOVAL,40H
MOVDS:
[BX],AL
ADDBX,01H
MOVAL,6fH
MOVDS:
[BX],AL
ADDBX,01H
MOVAL,3fH
MOVDS:
[BX],AL
ADDBX,01H
MOVAL,7fH
MOVDS:
[BX],AL
MOVAL,3fH
ADDBX,01H
MOVDS:
[BX],AL
ADCON:
MOVAX,00
MOVDX,ADPORT
OUTDX,AL
MOVCX,0500H
DELAY:
LOOPDELAY
MOVDX,ADPORT
INAL,DX
MOVCL,AL
CALLCONVERS
CALLLEDDISP
JMPADCON
CONVERS:
MOVBH,0H
ANDAL,0FH
MOVBL,AL
MOVAL,CS:
[BX+DATA2]
MOVBX,DATA1
MOVDS:
[BX],AL
INCBX
PUSHBX
MOVAL,CL
MOVCL,04H
SHRAL,CL
MOVBL,AL
MOVBH,0H
MOVAL,CS:
[BX+DATA2]
POPBX
MOVDS:
[BX],AL
RET
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,DS:
[BX+DATA1]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
FORMAT:
MOVBX,0
MOVWORDPTRDS:
[BX+0500H],063FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4F5BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6D66H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],077DH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6F7FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7C77H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],5E39H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7179H
RET
CODEENDS
ENDSTART
实验六D/A转换0832
(一)
一、实验目的
熟悉DAC0832数模转换器的特性和接口方法,掌握D/A输出程序的设计和调试方法。
二、实验内容
1、实验原理
实验原理如图5-5所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与8088CPU总线直接接口。
图中是只有一路模拟量输出,且为单极型电压输出。
DAC0832工作于单缓冲方式,它的ILE接+5V,/CS和/XFER相接后作为0832芯片的片选0832CS。
这样,对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器、模拟量输出随之而变化。
2、实验线路的连接
将0832片选信号CS-0832插孔和译码输出Y7插孔相连。
3、实验软件编程提示
本实验要求在OUT1端输出方波信号,方波信号的周期由延时时间常数确定。
根据
Vout=-〔VREF×(输入数字量的十进制数)〕/256,当数字量的十进制数为256(FFH)时,由于VREF=-5V,Vout=+5V。
当数字量的十进制数为0(00H)时,由于VREF=-5V,Vout=0V。
因此,只要你将上述数字量写入DAC0832端口地址时,模拟电压就从OUT1端输出。
三、实验步骤
1、根据原理图正确连接好实验线路
2、正确理解实验原理
3、运行实验程序
在DVCC-8086JHN显示器上显示"0832-1"。
用示波器测量DAC0832下方OUT1插孔,应有方波输出,方波的周期约为1ms。
四、硬件实验原理图
五、实验程序
CODESEGMENT
ASSUMECS:
CODE
DAPORTEQU0070H
CONTPORTEQU00DFH
DATAPORTEQU00DEH
DATAEQU0500H
START:
JMPDACONTORL
DACONTORL:
CALLFORMAT
CALLLEDDISP
MOVDX,DAPORT
MOVAL,00H
DACON1:
OUTDX,AL
MOVCX,0400H
DACON2:
LOOPDACON2
NOTAL
JMPDACON1
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,CS:
[BX+DATA]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
FORMAT:
MOVBX,0
MOVWORDPTRDS:
[BX+0500H],4006H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4040H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4F5BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],3F7FH
ADDBX,2
RET
CODEENDS
ENDSTART
实验七D/A转换0832应用
(二)
一、实验目的
进一步掌握数/模转换的基本原理。
二、实验内容
1、实验原理
实验原理如图5-5所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与8088CPU总线直接接口。
图中是只有一路模拟量输出,且为单极型电压输出。
DAC0832工作于单缓冲方式,它的ILE接+5V,/CS和/XFER相接后作为0832芯片的片选0832CS。
这样,对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器、模拟量输出随之而变化。
2、实验线路的连接
将DAC片选信号CS-0832CS插孔和译码输出Y7插孔相连。
3、实验软件编程提示
本实验在OUT1端输出锯齿波。
根据Vout=-〔VRFE×(输入数字量的十进制数)〕/256即可知道,只要将数字量0~256(00H~FFH)从0开始逐渐加1递增直至256为止,不断循环,在OUT1端就会输出连续不断的锯齿波。
三、实验步骤
1、根据原理图正确连接好实验线路。
2、运行实验程序
在DVCC-8086JHN显示器上显示"0832-2",用示波器测量DAC0832下方OUT1插孔,应有锯齿波输出。
四、硬件实验原理图
五、试验程序
CODESEGMENT
ASSUMECS:
CODE
DAPORTEQU0070H
CONTPORTEQU00DFH
DATAPORTEQU00DEH
DATAEQU0500H
START:
JMPDACONTORL
DACONTORL:
CALLFORMAT
CALLLEDDISP
MOVDX,DAPORT
MOVAL,00H
DACON1:
OUTDX,AL
INCAL
MOVCX,08H
DACON2:
LOOPDACON2
JMPDACON1
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,CS:
[BX+DATA]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
FORMAT:
MOVBX,0
MOVWORDPTRDS:
[BX+0500H],405BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4040H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4F5BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],3F7FH
RET
CODEENDS
ENDSTART
实验八并行口8255A实验
(一)
一、实验目的
1.掌握8255A和微机接口方法。
2.掌握8255A的工作方式和编程原理。
二、实验内容
1、实验原理
如实验原理图5-8所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。
拨动K1~K8,PB口上接的8个发光二极管L1~L8对应显示K1~K8的状态。
2、实验线路连接
(1)8255A芯片PC0~PC7插孔依次接K1~K8。
(2)8255A芯片PB0~PB7插孔依次接L1~L8。
(3)8255A的CS插孔CS-8255接译码输出Y7插孔。
三、实验步骤
1、按图5-8连好线路。
2、运行实验程序。
在DVCC-8086JHN显示"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。
四、实验硬件电路原理图
五、实验程序
CODESEGMENT
ASSUMECS:
CODE
IOCONPTEQU0073H
IOCPTEQU0072H
IOBPTEQU0071H
CONTPORTEQU00DFH
DATAPORTEQU00DEH
DATA1EQU0500H
START:
JMPIOLED
IOLED:
CALLFORMAT
CALLLEDDISP
MOVAL,89H
MOVDX,IOCONPT
OUTDX,AL
NOP
NOP
NOP
IOLED1:
MOVDX,IOCPT
INAL,DX
MOVDX,IOBPT
OUTDX,AL
MOVCX,0FFFFH
DELAY:
LOOPDELAY
JMPIOLED1
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,CS:
[BX+DATA1]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
FORMAT:
MOVBX,0
MOVWORDPTRDS:
[BX+0500H],4006H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4040H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6D6DH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7F5BH
RET
CODEENDS
ENDSTART
实验九并行口8255A实验
(二)
一、实验目的
掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容
1、实验原理
实验原理图如图5-9所示,PB4~PB7和PC0~PC7分别与发光二极管电路L1~L12相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:
设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~PB7对应黄灯,PC0~PC3对应红灯,PC4~PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
2、实验线路连接
(1)CS-8255插孔连译码输出Y7插孔。
(2)L1-PC4L4-PC5L7-PC6L10-PC7L2-