微机原理实验指导书资料.docx
- 文档编号:12718406
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:31
- 大小:971.97KB
微机原理实验指导书资料.docx
《微机原理实验指导书资料.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书资料.docx(31页珍藏版)》请在冰豆网上搜索。
微机原理实验指导书资料
实验一并行接口8255应用实验
一、实验目的
1.掌握8255工作方式0的使用方法;
2.掌握8255I/O口的输入输出使用方法;
3.了解8255、电平开关、LED发光二极管的电路连接。
二、实验内容
1、逻辑电平开关和LED显示电路如图1-1所示,8255的电路连接如图1-2所示。
2、利用8255C口作为并行数据的输入端(逻辑电平开关实现),A口作为并行数据的输出端(LED显示电路实现),当电平开关拨到上方时对应发光二极管亮,拨到下方时对应发光二极管灭,编写程序。
图1-1逻辑电平开关和LED显示电路
图1-28255接线电路
三、接线方案
PC0~PC7/8255接K0~K7/逻辑电平开关
PA0~PA7/8255接L0~L7/LED显示
CS/8255接Y1/IO地址
图1-3实验线路
四、编程提示及流程图
1、8255控制寄存器端口地址—28BH;A口地址—288H;B口地址—289H;C口地址—28AH。
2、参考程序流程图如图1-4所示。
图1-4参考程序流程图
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图1-3实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
;*******************************;
;*8255方式0的C口输入,A口输出*;
;*******************************;
datasegment
io8255aequ288h
io8255bequ28bh
io8255cequ28ah
dataends
codesegment
assumecs:
code
start:
movax,data
movds,ax
moves,ax
main:
movdx,io8255b;设8255为C口输入,A口输出
moval,();计算控制字
outdx,al
inout:
movdx,();从C口输入一数据
inal,dx
movdx,();从A口输出刚才自C口
outdx,al;所输入的数据
jmpinout;跳转,则继续自C口输入,A口输出
codeends
endstart
七、思考题
1、根据程序要求补充实验程序,并执行程序观察现象;
2、修改程序,电平开关拨到上方时发光二极管灭,拨到下方时发光二极管亮。
实验二交通灯模拟控制实验
一、实验目的
1.进一步掌握8255并行口的使用方法;
2.了解十字路口交通灯的模拟控制。
二、实验内容
分别利用三个发光二极管模拟南北路口和东西路口的红、黄、绿灯,通过编程使六个发光二极管按交通灯变化规律执行。
三、接线方案
PC0~PC7/8255接L0~L7/LED显示
CS/8255接Y1/IO地址
图2-1实验线路
四、编程提示及流程图
1、8255控制寄存器端口地址—28BH;A口地址—288H;B口地址—289H;C口地址—28AH。
2、交通灯变化规律要求:
(1)南北路口绿灯、东西路口红灯同时亮30秒左右;
(2)南北路口的黄灯闪烁若干次,东西路口红灯继续亮;(3)南北路口红灯、东西路口绿灯亮30秒左右;(4)南北路口红灯继续亮,东西路口黄灯闪烁若干次;(5)依次重复。
2、参考程序流程图如图2-2所示。
图2-3参考程序流程图
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图2-1实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
;***********************************;
;*十字路口红绿灯模拟演示程序*;
;*端口各灯的设置:
*;
;*1红1黄1绿002红2黄2绿*;
;***********************************;
datasegment
io8255aequ28ah
io8255bequ28bh
portc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能
db81h,82h,80h,82h,80h,82h,80h;的状态数据
db0ffh;结束标志
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,io8255b
moval,();8255控制字
outdx,al;设置8255为C口输出
movdx,io8255a
re_on:
movbx,0
on:
moval,portc1[bx]
cmpal,0ffh
jzre_on
outdx,al;点亮相应的灯
incbx
movcx,50;参数赋初值
testal,21h;是否有绿灯亮
jzde1;没有,短延时
movcx,500;有,长延时
de1:
movdi,9000;di赋初值9000
de0:
decdi;减1计数
jnzde0;di不为0
loopde1
jmpon;转到on
codeends
endstart
七、思考题
1、根据要求补充和修改实验程序,达到实验要求;
2、修改电路和程序,利用其他I/O实现交通灯功能;
3、若实现按键修改红绿灯时间,程序和硬件应该怎样设计。
实验三可编程定时器8254应用实验
一、实验目的
1.掌握8254各种工作方式的使用;
2.掌握8254的基本工作原理和编程方法。
二、实验内容
将8254的计数器0设置为工作方式2,计数器的计数初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用OUT0接LED发光二极管,观察电平的变化(当输入N+1个脉冲后OUT0变高电平)。
图3-18254接口线路
三、接线方案
GATE0/8254接+5V
CLK0/8254接单脉冲
CS/8254接Y0/IO地址
OUT0/8254接L0/LED
DI、RW、E/核心板接DI、RW、E/LCD液晶
D0~D7/核心板接D0~D7/LCD液晶
图3-2实验线路
四、编程提示及流程图
1、参考程序流程图如图3-3所示。
图3-3参考程序流程图
2、8254控制寄存器地址283H;
计数器0地址280H;
计数器1地址281H;
计数器2地址282H;
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图3-3实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
;*************************;
;*8254计数器0计数实验*;
;*************************;
io8253aequ283h
io8253bequ280h
codesegment
assumecs:
code
start:
moval,();8254计数器0为方式2,二进制计数
movdx,io8253a
outdx,al
movdx,io8253b;送计数初值为0FH
moval,0fh
outdx,al
lll:
inal,dx;读计数初值
calldisp;调显示子程序
movcx,0ffffh
s1:
loops1
jmplll
dispprocnear;显示子程序
pushdx
andal,0fh;首先取低四位
movdl,al
cmpdl,9;判断是否<=9
jlenum;若是则为'0'-'9',ASCII码加30H
adddl,7;否则为'A'-'F',ASCII码加37H
num:
adddl,30h
movah,02h;LCD显示
int21h
popdx
ret;子程序返回
dispendp
codeends
endstart
七、思考题
1、根据要求补充和修改实验程序,达到实验要求;
2、修改程序和硬件,利用计数器1或计数器2完成此内容。
实验四8254控制继电器实验
一、实验目的
1.了解微机控制直流继电器的典型电路及方法;
2.进一步熟悉8255、8254的使用方法。
二、实验内容
实验电路如图4-1所示,并进行实验电路的搭建,由计数器1输出所需的控制信号,经8255的I/O口输出来驱动继电器的控制电路。
继电器常开触点串联一个发光二极管,编程使用8254定时,让继电器实现闭合5秒钟(指示灯亮),断开5秒钟(指示灯灭)。
图4-1实验线路
三、接线方案
CS/8254接Y0/IO地址
GATE0/8254接+5V
CLK0/8254接1M时钟
OUT0/8254接CLK1/8254
GATE1/8254接+5V
OUT1/8254接PC7/8255
PC0/8255接继电器
CS/8255接Y1/IO地址
四、编程提示及流程图
1、参考程序流程图如图4-2所示。
图4-2参考程序流程图
2、将8254计数器0设置为方式3、计数器1设置为方式0并联使用,CLK0接1MHZ时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1输出高电平。
通过8255C口查询OUT1的输出电平,用C口PC0输出开关量控制继电器动作。
3、继电器开关量输入量输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图4-1实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
;***************************;
;*继电器控制*;
;***************************;
io8253aequ280h
io8253bequ281h
io8253cequ283h
io8255cequ28ah
io8255ctlequ28bh
codesegment
assumecs:
code
start:
movdx,io8255ctl;设8255为PC7输入,PC0输出
moval,()
lll:
outdx,al
movdx,io8255c
moval,01;将PC0置位
outdx,al
calldelay;延时5s
moval,0;将PC0复位
outdx,al
calldelay;延时5s
jmplll;转lll
delayprocnear;延时子程序
pushdx
movdx,io8253c;设8254计数器0为方式3
moval,()
outdx,al
movdx,io8253a
movax,10000;写入计数器初值10000
outdx,al
moval,ah
outdx,al
movdx,io8253c
moval,();设计数器1为工作方式0
outdx,al
movdx,io8253b
movax,500;写入计数器初值500
outdx,al
moval,ah
outdx,al
ll2:
movdx,io8255c
inal,dx;查询8255的PC7是否为高电平
andal,080h
jzll2;若不是则继续
popdx
ret;定时时间到,子程序返回
delayendp
codeends
endstart
七、思考题
1、分析程序和电路,理解计数器0和计数器1并联的使用方法;
2、修改程序和电路,可否使用2MHZ时钟实现(5秒)功能。
实验五DAC0832数模转换实验
一、实验目的
1.了解数/模转换器的基本原理;
2.掌握DAC0832芯片的使用方法。
二、实验内容
实验电路如图5-1所示,DAC0832采用单缓冲方式,具有单双极性输出端(图中的Ua、Ub),利用示波器观察单极性输出端和双极性输出端的电压波形,验证数字与电压之间的线性关系。
实验要求:
输出
(1)锯齿波;
(2)正弦波。
图5-1实验线路
三、接线方案
CS/0832接Y2/IO地址
四、编程提示及流程图
1、参考程序流程图如图5-2所示。
a.锯齿波b.正弦波
图5-2参考程序流程图
2、8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:
Ua=UREF×N/256;Ub=-2UREF×N/256-5(UREF表示参考电压,N表示数据),为了编程方便参考电压为5.12V。
3、产生锯齿波只须将输出到DAC0832的数据有0循环递增。
产生正弦波可根据正弦函数建一个数字量表,取值范围为一个周期。
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图4-1实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
1、锯齿波
;**********************;
;*数/模转换实验1*;
;*产生锯齿波*;
;**********************;
io0832aequ290h
codesegment
assumecs:
code
start:
movcl,0
movdx,io0832a
lll:
moval,cl
outdx,al
addcl,10
jmplll;若无则转LLL
movah,4ch;返回
int21h
codeends
endstart
2、正弦波
;**********************;
;*数/模转换实验2*;
;*产生正弦波*;
;**********************;
datasegment
io0832aequ290h
sindb80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh
db0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h
db80h,66h,4eh,38h,25h,15h,09h,04h
db00h,04h,09h,15h,25h,38h,4eh,66h;正弦波数据
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
ll:
movsi,offsetsin;置正弦波数据的偏移地址为SI
movbh,32;一组输出32个数据
lll:
moval,[si];将数据输出到D/A转换器
movdx,io0832a
outdx,al
movcx,1
delay:
loopdelay;延时
incsi;取下一个数据
decbh
jnzlll;若未取完32个数据则转lll
jmpll
codeends
endstart
七、思考题
1、修改程序实现三角波功能;
2、修改程序,使锯齿波输出最大幅值为2.5V。
实验六ADC0809模数转换实验
一、实验目的
1.了解模/数转换器的基本原理;
2.掌握ADC0809芯片的使用方法。
二、实验内容
实验电路如图6-1所示,通过实验台上的电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),启动A/D转换器,读取转换结果,验证输入电压与转换后数字的关系。
图6-1实验线路
三、接线方案
CS/0809接Y3/IO地址
IN0/0809接0~5/直流信号
DI、RW、E/核心板接DI、RW、E/LCD液晶
D0~D7/核心板接D0~D7/LCD液晶
四、编程提示及流程图
1、参考程序流程图如图5-2所示。
图5-2参考程序流程图
2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(16进制),采用延时方式采样数据;
3、ADC0809的IN0口地址为298H,IN1口地址为299H。
4、输入电压与转换后数字的关系:
N=Ui/(UREF/256),Ui为输入电压,UREF为参考电压,为了方便编程参考电压为5.12V。
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图4-1实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序
;*******************************;
;*接收A/D转换器数据在屏幕上显示*;
;*******************************;
io0809aequ298h
codesegment
assumecs:
code
start:
movdx,io0809a;启动A/D转换器
outdx,al
movcx,0ffh;延时
delay:
loopdelay
inal,dx;从A/D转换器输入数据
movbl,al;将AL保存到BL
movcl,4
shral,cl;将AL右移四位
calldisp;调显示子程序显示其高四位
moval,bl
andal,0fh
calldisp;调显示子程序显示其低四位
jmpstart;若没有转START
dispprocnear;显示子程序
movdl,al
cmpdl,9;比较DL是否>9
jleddd;若不大于则为'0'-'9',加30h为其ASCII码
adddl,7;否则为'A'-'F',再加7
ddd:
adddl,30h;显示
movah,02
int21h
ret
dispendp
codeends
endstart
七、思考题
1、修改程序和电路,采用查询或中断方式实现模数转换;
2、编写程序,能否实现两路模拟量采样及显示功能。
实验七串行通信8251应用实验
一、实验目的
1.了解串行通信的基本原理;
2.掌握串行接口芯片8251的工作原理和编程方法。
二、实验内容
1.实验电路如图7-1和7-2所示,其中8254定时器用于产生8251的发送和接收时钟。
2.编写程序,在发送端(甲机)从键盘输入一个字符,将其ASCII码加1后发送出去,然后在接收端(乙机)接收到数据,并显示在显示屏上,实现数据的串行发送和接收。
图7-1发送端(甲机)实验线路
图7-2接收端(乙机)实验线路
三、接线方案
CLK0/8254接1M时钟
GATE0/8254接+5V
OUT0/8254接TX/RCLK/8251
CS/8254接Y0/IO地址
CS/8251接Y7/IO地址
DI、RW、E/核心板接DI、RW、E/LCD液晶
D0~D7/核心板接D0~D7/LCD液晶
TXD/8251(发送端)接RXD(MAX232模块)
键盘(发送端)接键盘接口(核心板)
RXD/8251(接收端)接TXD(MAX232模块)
四、编程提示及流程图
1、图示电路中8251的控制口地址为2B9H,数据口地址为2B8H;8254定时器的控制口地址为283H,定时器0的地址280H。
2、8254计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHZ,波特率若选1200,波特率因子若选16,则计数器初值为52。
图7-3发送和接收参考程序流程图
五、实验步骤
1、连接USB通信电缆和电源线;
2、根据图7-1和7-2实验线路进行电路连接;
3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;
4、点击“编译”,并确保实验程序没有语法错误;
5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);
6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;
7、按键盘键值,观察现象,若实验现象有误请重复第4~6步。
六、参考程序
;************************;
;*8251串行通讯(发送)*;
;********************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 指导书 资料