微机原理及接口技术实验讲义Word文档格式.docx
- 文档编号:5846783
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:29
- 大小:115.88KB
微机原理及接口技术实验讲义Word文档格式.docx
《微机原理及接口技术实验讲义Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验讲义Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
⒌单脉冲电路
采用RS触发器产生±
单脉冲。
实验者每按一次AN按钮,即可以从两个插座上分别输出一个正脉冲SP及负脉冲/SP,供“中断”、“CLR”、定时器/计数器等实验使用。
⒍继电器及驱动电路
⒎直流电机及驱动电路及电子音响及驱动电路
如图所示,系统中设计有一个+5V直流及相应的驱动电路。
小直流电机的转速是由加到其输入端“DJ”的脉冲电平及占空比来决定的,正向占空比越大转速越快,反之越慢。
驱动电路输出接直流电机。
⒏步进电机及驱动电路
微电脑控制步进电机最适宜系统中设计使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由四相组成。
如下图所示,即A、B、C、D四相。
驱动电路由脉冲信号控制,所以调节脉冲信号的频率便可改变步进电机的转速。
图中BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。
9.系统资源分配
实验系统寻址范围定义如下:
系统数据区
F000:
0000~00FFH
系统堆栈区
0100~01FFH
系统程序区
0200~07FFH
用户程序区
用户数据区
0000:
1000~0FFFFH
用户堆栈区
0600~0400H
中断向量区
0000~03FFH
系统已定义的I/O地址如下:
接口芯片
口地址
用途
74LS273
FFDDH
字位口
FFDCH
字形口
74LS245
FFDEH
键入口
8255A口
FFD8H
EP总线
8255B口
FFD9H
EP地址
8255C口
FFDAH
EP控制
8255控制口
FFDBH
控制字
10.8259中断向量表
中断序号
1
2
4
5
7
变量地址
20~23h
24~27h
28~2Bh
2C~2Fh
30~33h
34~37h
38~3Bh
3C~3Fh
第二部分接口实验
16液晶显示接口实验
一、实验目的
1.掌握8088与液晶显示器之间接口设计与编程。
2.初步了解汇编语言的格式及子程序的概念。
二、实验内容
1、编制程序,在液晶显示器上显示:
2、修改程序将自己名字字母、生日显示到合适的位置。
三、实验电路
四、实验连线
1.连接译码电路,将138译码单元的A、B、C、G分别与地址总线A2、A3、A4、A15相连;
2.LCD实验板的E信号与02门电路的第1脚相连;
3.将138译码单元的Y0与02门电路的第2脚相连;
4.将08门电路的第3脚与02门电路的第3脚相连;
5.将08门电路的第2脚、第1脚分别与系统控制信号IOR、IOW相连;
五、程序清单
;
**************硬件地址定义************************
LCDEQU7FE0H
WRICODEEQULCD+0;
写命令
WRDATAEQULCD+1;
写数据
RDSTATEQULCD+2;
读状态
RDDATAEQULCD+3;
读数据
*************代码区******************************
codesegment
assumecs:
code
org1000h
------------定义内存变量--------------------------
lindb0
coldb0
numdb0
dis_numdb0
temp0db0
temp1db0
countdb0
start:
moval,02h;
光标归位
callinit_lcd
callsend_com
calldelay;
延时
movbx,offsetNMGTAB;
显示"
InnerMongolia"
movlin,0
movcol,1
movnum,14
calldis_english
movbx,offsetDXTAB;
University"
movlin,1
movcol,2
movnum,10
moval,20
calldelay2
callclose_lcd
movbx,offsetDZTAB;
Electronic"
movbx,offsetZDHTAB;
AUTO"
movcol,5
movnum,4
movbx,offsetXXTAB;
Information"
movnum,11
movbx,offsetGCTAB;
Engineering"
callclose_lcd
movbx,offsetXYTAB;
College"
movnum,7
movbx,offsetWDTAB;
Temperature"
lgs1:
movlin,1;
显示数字
movcol,4
moval,count
movdis_num,al
calldis_number
addal,1
movcount,al
moval,10
jmplgs1
--------------------------
在指定的行、列显示一个字节数字(0~255)
参数:
行lin(0~1);
列col(0~15)dis_num中放要显示的数字
dis_numberproc
pushax
moval,lin;
以下18条为根据行、列值定位显示英文起始坐标
cmpal,0
jnznu0
moval,80h
jmpnu1
nu0:
cmpal,1
jnznuret
moval,0C0h
nu1:
addal,col
movah,0;
以下10条为把3位十进制数的个位、十位、百位分离
moval,dis_num
movbl,10
divbl
movtemp0,ah
movah,0
movtemp1,ah
addal,30h;
转为ASC码
callsend_data;
百位送LCD显示
moval,temp1
十位送LCD显示
moval,temp0
个位送LCD显示
popax
nuret:
ret
dis_numberendp
在指定的行、列显示英文。
每行可显示16个英文字符,共2行
列col(0~16)英文个数num(0~15);
表地址bx
dis_englishproc
以下8条为根据行、列值定位显示英文起始坐标
jnzch0
jmpch1
ch0:
jnzchret
ch1:
movah,num
ch2:
moval,[bx]
incbx
callsend_data
decah
jnzch2
chret:
dis_englishendp
清LCD屏
close_lcdproc
moval,01h;
清除命令
close_lcdendp
初始化LCD
col0123456789101112131415
lin0:
808182838485868788898a8b8c8d8e8f
lin1:
C0C1C2C3C4C5C6C7C8C9CaCbCcCdCeCf
init_lcdproc
movdx,LCDWI;
启动LCD
moval,30h
outdx,al;
第1次启动LCD
第2次启动LCD
第3次启动LCD
moval,38h;
设置工作模式:
汇流、2行、5*7点阵
moval,08h;
关显示
outdx,al
moval,01h;
LCD清屏
moval,0eh;
开显示、光标不闪烁
callchkbusy;
检测LCD状态
lcd_p:
moval,06h;
光标右移且地址加1
init_lcdendp
-----------------------
读LCD忙闲状态
chkbusyproc
pushdx
movdx,LCDRS
rechk:
inal,dx
movcl,al
rolcl,1
jcrechk
popdx
chkbusyendp
----------------------
写LCD命命
send_comproc
callchkbusy
movdx,LCDWI
send_comendp
写LCD数据
send_dataproc
movdx,LCDWD
send_dataendp
延时子程序
delayproc
pushcx
movcx,1000h
loop$
popcx
delayendp
delay1proc
movcx,0080h
delay1endp
AL是延时参数
delay2proc
movah,0
movcx,ax
dloop:
movcx,65535
loopdloop
delay2endp
LCD初始化字符
NMGTAB:
DB"
DXTAB:
DZTAB:
XXTAB:
GCTAB:
XYTAB:
ZDHTAB:
WDTAB:
codeends
endstart
实验二可编程定时器/计数器
掌握8253的基本工作原理和编程方法,用示波器观察不同模式下的波形。
1、完成编程,将定时器0设为模式3(方波),定时器l设为模式2(分频)。
,在示波器中观察定时器0和l的输出波形及其关系,并在纸上画出(CLK、GATE、OUT)波形。
2、分别修改程序中将定时器0的计数初值为4和5,与主时钟同步观察奇数、偶数波形的变化。
3、修改程序在液晶屏显示“定时器零为模式三”,“定时器一为模式二”。
1.译码电路,与实验一相同。
2.将138译码单元的Y1与8253CS相连;
3.将数据D0~D7用10芯排线与8253上方的IDC10座相连;
4.将实验一电路连好;
TIM_CTLEQU7FE7H
TIMER0EQU7FE4H
TIMER1EQU7FE5H
MODE03EQU36H
MODE12EQU74H
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3490H
main:
callD8253
JMP$
D8253PROC
MOVDX,TIM_CTL
MOVAL,MODE03
OUTDX,AL
MOVDX,TIMER0
MOVAL,0F4h
MOVAL,01H
MOVAL,MODE12
MOVDX,TIMER1
MOVAL,0aH
MOVAL,00
RET
D8253endp
CODEENDS
ENDmain
实验三8259中断控制器实验
一、实验目的 1、掌握8259中断控制器的接口方法。
2、掌握8259中断控制器的应用编程。
二、实验内容 1、编制程序,利用8259芯片的IR7作为中断源,产生单一中断,LCD显示中断号“7”,中断次数。
2、修改一些必要的参数,改变中断源。
1、译码电路,与实验一相同。
2、将138译码单元的Y2与8259CS相连;
3、将数据D0~D7用10芯排线与8259右方的IDC10座相连;
4、将实验一电路连好;
1、在实验一的程序中添加如下定义
硬件地址定义:
Port0EQU7FE8H
Port1EQU7FE9H
变量定义
IRQ_numdb0
IRQ_countdb0
2、在实验一的程序中添加如下子程序及中断服务程序;
------------------------------------
中断7的服务程序
INT8259:
cli
MOVAL,20H;
写OCW2命令,使ISR相应位复位即发EOI命令
MOVDX,Port0
movIRQ_num,7
moval,IRQ_count
movIRQ_count,al
STI
IRET
-------------------------------
初始化8259
init_8259proc
CLI
MOVAX,OFFSETINT8259
MOVBX,003CH;
中断入口地址(8+7)*4=60(3cH),7中断号
MOV[BX],AX
MOVBX,003EH;
3ch,3dh放指令指针IP。
3eH,3fH放指令段码
MOVAX,0000H
MOVAL,13H;
设置ICW1,1级8259,需设置ICW4,边沿触发
MOVAL,08H;
写ICW2,中断类型号从8开始
MOVDX,Port1
MOVAL,09H;
写ICW4,缓冲工作方式,8088配置
MOVAL,7FH;
IRQ7写OCW11屏蔽,0允许中断
movsi,0000h
init_8259endp
3、在实验一的程序中修改汉字表;
TAB3DB"
IRQ_num:
"
TAB4DB"
IRQ_count:
4、在实验一的程序中修改主程序;
moval,3
movIRQ_count,0
movIRQ_num,0
---------------------------
movbx,offsettab3;
中断号:
movcol,0
movnum,8
movbx,offsettab4;
中断数"
movnum,9
callinit_8259
movlin,0;
显示中断号
movcol,10
moval,IRQ_num
movlin,1;
显示中断数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 讲义