微机原理与系统设计实验四.docx
《微机原理与系统设计实验四.docx》由会员分享,可在线阅读,更多相关《微机原理与系统设计实验四.docx(11页珍藏版)》请在冰豆网上搜索。
微机原理与系统设计实验四
西安电子科技大学
微机原理与系统设计课程实验报告
实验名称继电器控制(综合实验);电子琴(综合实验)
成绩
学院班
姓名学号
同作者
实验日期年月日
指导教师评语:
指导教师:
年月日
实验1继电器控制实验
一、实验目的
1、了解微机控制直流继电器的一般方法。
2、进一步熟悉使用8255、8253。
二、实验所用仪器(或实验环境)
计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等
三、实验原理
将8253计数器0设置为方式3、计数器1设置为方式0并联使用,CLK0接1MHZ时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1输出高电平。
通过8255的PA0口查询OUT1的输出电平,用C口PC0输出开关量控制继电器动作。
继电器开关量输入端输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。
四、实验内容
1、使用8254定时,让继电器周而复始的闭合5秒钟(指示灯灯亮),断开5秒钟(指示灯灯)。
2、改变指示灯亮灭的周期为2s,改用PC7口控制继电器。
五、方案设计
1、实验接线及分析
接线:
8255/CS接I/O地址译码/Y1(288H---28FH)
8255/PC0接继电器
8255/PA0接8254/OUT1
8254/CS接I/O地址译码/Y0(280H---287H)
8254/CLK0接时钟/1MHz
8254/OUT0接8254/CLK1
8254/GATE0,1接+5V
硬件电路分析:
(包括端口地址分析)
2、实现该内容的方案(或原理)
3、画出流程图
六、实验程序设计
;***************************;
;*继电器控制*;
;***************************;
io8253aequ280h
io8253bequ281h
io8253cequ283h
io8255aequ288h
io8255cequ28ah
io8255ctlequ28bh
codesegment
assumecs:
code
start:
movdx,io8255ctl
moval,90h
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计数器为方式3
moval,36h
outdx,al
movdx,io8253a
movax,10000;写入计数器初值10000
outdx,al
moval,ah
outdx,al
movdx,io8253c
moval,70h;设计数器1为工作方式0
outdx,al
movdx,io8253b
movax,500;写入计数器初值500
outdx,al
moval,ah
outdx,al
ll2:
movah,06;是否有键按下
movdl,0ffh
int21h
jneexit;若有则转exit
movdx,io8255a
inal,dx;查询8255的Pa0是否为高电平
andal,01h
jzll2;若不是则继续
popdx
ret;定时时间到,子程序返回
exit:
movah,4ch
int21h
delayendp
codeends
endstart
七、实验结果分析及回答问题
八、实验总结与心得体会
实验2电子琴实验
一、实验目的
1、通过8253产生不同的频率信号,使PC机成为简易电子琴。
2、了解利用8255和8253产生音乐的基本方法。
二、实验所用仪器(或实验环境)
计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等
三、实验原理
利用8255的PA0口来施加控制信号给与门,用来控制扬声器的开关状态。
再利用设置
不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。
对于音乐,每个音阶都有确定的频率。
各音阶标称频率值:
四、实验内容
1、使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。
*2、实现一句音乐的播放。
五、方案设计
1、实验接线及分析
接线:
8255/CS接I/O地址译码/Y1(288H---28FH)
8255/PA0接与门/A
8254/CLK0接时钟/1MHz
8254/CS接I/O译码/Y0(280H---287H)
8254/OUT0接与门/B
8254/GATE0接8255/PA
与门/Y接喇叭
硬件电路分析:
(包括端口地址分析)
2、实现该内容的方案(或原理)
3、画出流程图
六、实验程序设计
;*******************************;
;*电子琴实验*;
;*******************************;
;此实验接线如下:
;8254CLK0接1MHZ时钟,GATE0接8255的PA1,OUT0接与门输入端1,CS接280H~287H,
;8255PA0接与门输入端2,CS接288H~28FH,
datasegment
io8255aequ288h
io8255ctlequ28bh
io8253aequ280h
io8253bequ283h
tabledw524,588,660,698,784,880,988,1048;高音的
;tabledw262,294,330,347,392,440,494,524;低音的
msgdb'Press1,2,3,4,5,6,7,8,ESC:
',0dh,0ah,'$'
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,offsetmsg
movah,9
int21h;显示提示信息
sing:
movah,7
int21h;从键盘接收字符,不回显
cmpal,1bh
jefinish;若为ESC键,则转finish
cmpal,'1'
jlsing
cmpal,'8'
jgsing;若不在'1'-'8'之间转sing
subal,31h
shlal,1;转为查表偏移量
movbl,al;保存偏移到bx
movbh,0
movax,4240H;计数初值=1000000/频率,保存到AX
movdx,0FH
divwordptr[table+bx]
movbx,ax
movdx,io8253b;设置8254计时器0方式3,先读写低字节,再读写高字节
moval,00110110B
outdx,al
movdx,io8253a
movax,bx
outdx,al;写计数初值低字节
moval,ah
outdx,al;写计数初值高字节
movdx,io8255ctl;设置8255A口输出
moval,10000000B
outdx,al
movdx,io8255a
moval,03h
outdx,al;置PA1PA0=11(开扬声器)
calldelay;延时
moval,0h
outdx,al;置PA1PA0=00(关扬声器)
jmpsing
finish:
movax,4c00h
int21h
delayprocnear;延时子程序
pushcx
pushax
movax,15
x1:
movcx,0ffffh
x2:
deccx
jnzx2
decax
jnzx1
popax
popcx
ret
delayendp
codeends
endstart
七、实验结果分析及回答问题
八、实验总结与心得体会