声-光报警器接口实验
报 告
实验题目: 声-光报警器接口实验 专 业: 计算机科学与技术 学生姓名: 班级学号: 分组序号: 指导教师:
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务