您好,欢迎来到年旅网。
搜索
您的当前位置:首页声光报警器实验报告

声光报警器实验报告

来源:年旅网


声-光报警器接口实验

报 告

实验题目: 声-光报警器接口实验 专 业: 计算机科学与技术 学生姓名: 班级学号: 分组序号: 指导教师:

2011 年 4月22 日

声-光报警器接口实验报告

一、 实验时间 2011 4/22

二、 实验地点 三、 实验目的

熟悉可编程并行接口芯片8255的使用和学习开关量接口电路及其控制程序的设计方法。

四、 实验小组成员

五、 指导老师 六、 实验要求

利用MFID实验平台和声-光报警器模块进行硬件电路连接,利用MF2KI集成开发环境进行声光报警器软件控制程序设计、调试,直到报警器正常工作。

七、 实验步骤

步骤一:硬件连线: 单线连法如右图:

F区 PA0 PA7 PC6 PC2 M区 L1 Q区 控制(音调) T区 SW3 L8 OE#74LS37GND

排线接法如右图:

J5 26 芯 并 行 口 插 座 J6 26 芯 并 行 口 插 座 连接线 跳线设置:单线将模块电源L区JP7和JP8跳接;排线将模块电源L区JP8跳

步骤二:将平台的电源开关拔到“内”的位置上。在配套集成环境下进行硬

件检测,达到初始化芯片的目的.

步骤三:(学生实验步骤)打开集成环境在“文件”菜单下学生可以选择新

建自己的C++/ASM文件或者使用集成环境自带的C++/ASM参考程序进行调试、运行。

步骤四:观看实验现象得出结论。 八、

算法及流程图

开始 8255初始化 熄灭LED 关闭SPK N SW按下? Y LED发光 Call LEDflash SPK发声(高) Call outSPK LED全灭 SPK发声(低) Call outSPK N 任意键按下? Y 熄灭LED 关闭SPK 结束 九、

实验源程序

stack1 segment dw 200 dup (?) stack1 ends

data segment para public 'data'

message db 'press SW3 to start !',0ah,0dh ;系统提示

db 'if you want to quit, please hit Any Key!',0ah,0dh,'$'

t dw 0 ;初始化延时变量为0

num dw 0 ;初始化数字变量为0 data7 db 81h,42h,24h,18h,81h,42h,24h,18h data ends

code segment para public 'code' assume ss:stack1,cs:code,ds:data sl proc far

start: mov ax,stack1 mov ss,ax mov ax,data mov ds,ax

mov ah,09h ; mov dx,seg message mov ds,dx

mov dx,offset message

int 21h

mov dx,303h ; mov al,83h out dx,al mov dx,300h ;LED mov al,00h out dx,al mov dx,303h ; mov al,0ch out dx,al

显示系统提示 初始化8255

全灭 关闭SPK

wait1: mov dx,302h ;查SW3按下? in al,dx ;(PC2=0?) and al,04h

jnz wait1 ;未按下,等待

begin: call ledflash ;已按下,调用LED发光子程 mov bx,200

mov t,0ffffh

hison: call outspk ; dec bx

jnz hison mov dx,300h ;LED mov al,00h out dx,al mov bx,200

mov t,0afh

loson: call outspk ; dec bx jnz loson call delay2

mov ah,0bh ; int 21h cmp al,0ffh

je quit ; jmp begin ;

调用喇叭发声子程(高频) 全灭 调用喇叭发声子程(低频)查任意键按下? 有任意键按下,退出 无任意键按下,继续

quit: mov dx,300h ;LED全灭 mov al,00h out dx,al

mov dx,303h ;关闭SPK mov al,0ch out dx,al

mov ah,4ch int 21h ;sl endp

delay1 proc ; push bx

mov bx,t

dl1: dec bx

jnz dl1

pop bx ret delay1 endp

delay2 proc ; push cx push bx mov cx,04ffh dl4:

mov bx,0ffffh

dl3: dec bx

jnz dl3

返回DOS 延时子程1 延时子程2 dec cx

jnz dl4

pop bx pop cx ret delay2 endp

outspk proc ; mov dx,303h ;

mov al,0dh ; out dx,al call delay1

mov dx,303h

mov al,0ch ;

out dx,al

call delay1 ret outspk endp

ledflash proc ;LED mov si,offset data7 ;LED add si,num mov al,[si]

mov dx,300h ;点亮代码

out dx,al

inc num

喇叭发声子程 从PC6输出方波 置PC6=1;打开8253

置PC6=0;关闭8253 发光子程序 的点亮代码

从8255的A口输出LED

cmp num,08h jne next mov num,00h next: ret ledflash endp code ends

end start

十、实验心得体会

通过此次实验我感觉到:在做微机接口实验时,必须先读懂有关实验箱的使用说明书,和试验箱上的各芯片的使用说明书,不能完全的按课本上的说明进行编写程序,比如:像课本上给的8255A的编程接口地址是200H,但试验箱的给的却是300H。在硬件连线的时候要完全按照自己所设计电路图进行连接,并且把相应跳线接口连接好。在试验中出现问题要对照自己所设计的过程,一步一步进行认真的查找,要学会自己的对问题进行思考和解决

十一, 参考文献

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务