西华大学《微机接口技术》_第1页
西华大学《微机接口技术》_第2页
西华大学《微机接口技术》_第3页
西华大学《微机接口技术》_第4页
西华大学《微机接口技术》_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 微机接口技术实验指导书PAGE PAGE - 15 -微机接口技术实验指导书适用专业: 信息工程、测控 课程代码: 8416290 总学时: 40 总学分: 2.5 编写单位: 电气信息学院 编 写 人: 王 胜 审 核 人: 审 批 人: 批准时间: 年 月 日目 录 实验一 8254/8253定时器/计数器发声应用实验 2实验二 日时钟-8259中断控制器应用实验 6实验三 8250(RS-232)串口通信实验 10主要参考文献 15实验一 8254/8253定时器/计数器发声应用实验实验目的和任务 本次实验的任务是对微机内部8254 2号计数器进行编程,使其输出不同频率的方波,利用机内

2、喇叭循环产生1 2 3 4 5 6 7 i八个音符的声音。目的是使学生熟悉、掌握8254/8253接口芯片的结构、基本功能以及它的应用编程方法;熟悉、掌握汇编语言的编程环境及编程方法;熟悉、掌握可编程接口芯片的应用特点;了解、熟悉PC微机中8254定时器/计数器的应用方法。 实验内容阅读所给微机内部8254硬件电路连结图,弄清输入输出信号关系,弄清芯片端口地址。认真阅读本次实验所给出的汇编参考源程序,根据要求计算出每个音符频率所对应的十六进制计数初值;将计数初值填入程序的相应位置。学习、掌握如何对8254接口芯片进行编程应用,实现发声输出。实验仪器、设备及材料内部带小喇叭或蜂鸣器并安装有微机汇

3、编语言编程环境的台式微机一台。实验原理8254/8253定时/计数器除了用作定时和计数外,还可应用于产生与声音相关的频率。我们知道,声音的频谱范围在几十到几千赫兹,频率高,声音的音调高,频率低,声音的音调低。我们把发声的频率与延续时间结合起来,就产生了音乐。所以,定时/计数技术与频率、声音及音乐之间有密切的联系。在此,编程利用PC微机中的8254 计数器2输出一定频率信号来循环产生“1 2 3 4 5 6 7 i”八个音符的声音,此八个音符C曲调所对应的声音频率分别为:523、587、659、698、784、880、988、1046(单位:Hz),即OUT2的输出频率(计数器的时钟频率为:1.

4、1931816MHz)。要求每个音符发声清楚,有一定时间间隔。其电路见下图所示,8254的端口地址为40H43H。8255端口地址为60H63H。主要技术重点、难点学习、掌握如何实现初始化和编程控制8254等可编程芯片。微机接口技术是一门软、硬件相结合的应用性技术,软件编程要结合具体的硬件电路,所以对学生的系统设计观念要求较高,并且汇编语言的程序可读性较差,对学生的学习也有较大的影响,但只要多练习、多实践完全能克服此难题。实验步骤1、认真阅读电路连接图和汇编源程序;2、根据实验要求计算出每个音符频率所对应的十六进制(或十进制)计数初值;3、将十六进制(或十进制)计数初值填入程序的相应位置;3、

5、运行汇编编程器,录入、汇编并运行程序。4、试听效果,修改程序,直至满意为止。实验报告要求根据此次实验,按实验报告书上格式和内容要求认真填写。实验注意事项实验仅对8254计数器2进行编程,注意其端口地址是42H,否则会造成系统计时故障等问题。思考题 1、对应于八个音符频率的十六进制计数初值分别为:2、程序中,8254采用的是第几工作方式?此工作方式的特点是什么?3、本应用中,为什么要对8255进行编程处理?附录参考源程序(tone.asm)如下:data segment para datainfo1 db 0dh,0ah,welcome you to come here!$info2 db 0d

6、h,0ah,this is a music program!$info3 db 0dh,0ah,please press anykey!$muslist db 0dh,0ah,anykey music db 0dh,0ah,Esc exit db 0dh,0ah,$mus_freg dw 20bh , 24bh , 293h , 2bah dw 310h , 370h ,3dch , 416H dw -1data endsstack segment para stack stack db 200 dup(stack)stack endscode segment assume ds:data,s

7、s:stack,cs:codemain proc farstart: mov ax,data mov ds,ax mov ah,0 mov al,4 int 10h mov ah,0bh mov bh,0 mov bl,4 int 10h mov ah,0bh mov bh,01h mov bl,00 int 10h;*定义一个宏*show macro b lea dx,b mov ah,9 int 21h endm;* show info1 show info2 show info3 show muslistinput: mov ah,0bh int 21h cmp al,0h je inp

8、utconti: mov ah,08h int 21h cmp al,1bh je retucall music jmp contiretu: mov ax,4c00h int 21hmain endpmusic proc near push ds sub ax,ax push ax lea si,mus_fregfreg: mov di,si cmp di,-1 je end_mus call gensound add si,2 jmp fregend_mus: retmusic endpgensound proc near push ax push bx push cx push dx p

9、ush di mov al,0b6h out 43h,al mov ax,di out 42h,al mov al,ah out 42h,al in al,61h mov ah,al or al,3 out 61h,al mov bx,1000wait1: mov cx,0ffffhdelay1: loop delay1 dec bx jnz wait1 mov al,ah out 61h,al pop di pop dx pop cx pop bx pop ax retgensound endpcode ends end start实验二 日时钟-8259中断控制器应用实验实验目的和任务 本

10、次实验的任务是利用微机内部8254、8259,编程实现实时时钟并显示时间。其目的是使学生在上次实验的基础上,进一步学习可编程芯片的应用,熟悉、掌握8259接口芯片的结构、基本功能以及它的应用编程方法;熟悉、掌握汇编语言的编程环境及编程方法;熟悉、掌握可编程接口芯片的应用特点;了解、熟悉PC微机中可屏蔽中断系统及8259中断管理器的应用方法。实验内容阅读上次实验所给的微机内部8254硬件电路连结图,弄清电路输入输出信号关系及芯片端口地址,与8259中断控制器的连接关系。认真阅读本次实验所给出的汇编参考源程序,掌握如何进行中断向量的写入及修改,实验软/硬件中断的产生及响应过程。学习、掌握8259接

11、口芯片的硬件中断的编程应用。实验仪器、设备及材料安装有微机汇编语言编程环境的台式微机一台。实验原理在PC微机系统中定时/计数器8254的0号定时器用作系统的日时钟,其定时器工作在3方式,输出信号连接到系统8259主片的IR0引脚,是最高优先级中断,每秒中断18.2次,我们常可将其用作程序中的定时信号。从微机的中断系统我们得知,IR0的中断类型号为08H,因此我们可以通过修改08H的中断向量,转入我们自己的中断服务程序中去进行运算处理。但是这样作可能影响微机本身的定时功能。这里有一个较好的应用方法,即每次此定时中断都将会产生一次中断类型号为1CH的软中断,而微机系统仅在此放了一条中断返回指令IR

12、ET,未作任何其它应用,所以,我们在程序中可用此类型号来产生我们需要的定时。在此,我们所要作的工作就是修改1CH类型号的中断向量到我们的程序中去处理,即产生定时计数。调试并验证附录提供的程序。主要技术重点、难点中断技术是微机及微机应用技术学习过程中的重点,同时也是学习的难点,本次实验在进一步学习、掌握对可编程芯片编程应用的同时掌握微机软、硬件中断产生的条件及响应过程,与实际应用相联系。实验步骤1、认真阅读实验一所给硬件电路连接图和本次实验的汇编参考源程序; 2、运行微机汇编编程器,并设定好编译、连接路经;附录所提供的汇编源程序;3、汇编并运行程序。4、查看并分析运行结果。实验报告要求按实验报告

13、书的格式和内容要求认真填写本次实验。实验注意事项实验过程中中断向量的写入或修改一定要按规定和要求进行,否则会引起微机软件系统故障。思考题1、此程序实现了什么功能?2、每秒18.2次的中断是怎么得来的?3、在程序中,中断向量的修改用的什么方法?附录SSEG SEGMENT PARA STACK stack dw 100h dup(0) ;Resize the stack by changing the number 100SSEG ENDSDSEG SEGMENT cursor equ 45h count db 0 tenm db 0 minute db 0 db : tens db 0 sec

14、ond db 0,$ ;TO DO: Add your programs data hereDSEG ENDSCSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, ss:SSEG start PROC far;Initialize procedure mov ax, dsegmov ds, axmov es, axpush dsmov ax,0push axclimov ax,351chint 21hpush bxpush esstimov ah,0int 16hclimov dx,seg timermov ds,dxmov dx,offset time

15、rmov ax,251chint 21h sti check: mov ah,0bh int 21h cmp al,0h je display mov ah,08h int 21h cmp al,1bh je quit display: mov ah,2 mov bh,0 mov dx,cursor int 10h mov ax,dseg mov ds,ax lea dx,tenm mov ah, 09h int 21h jmp check quit: cli pop ds pop dx mov ax,251ch int 21h sti mov ax,4c00h int 21h start e

16、ndp timer proc far push ax mov ax,dseg mov ds,ax assume ds:dseg inc count cmp count,18 jl exit mov count,0 inc second cmp second,9 jle exit mov second,0 inc tens cmp tens,6 jl exit mov tens,0 inc minute cmp minute,9 jle exit mov minute,0 inc tenm cmp tenm,6 jl exit mov tenm,0 exit: pop ax iret timer

17、 endp cseg ends end start实验三 8250(RS-232)串口通信实验实验目的和任务1、本次实验的任务是编程实现微机间串行通信。2、其目的是使学生熟悉、掌握串行接口芯片的基本功能以及它的应用编程方法;进一步熟悉、掌握汇编语言的编程环境及编程方法;熟悉、掌握可编程接口芯片的应用特点;了解、熟悉PC微机中串行通信的应用方法。实验内容1、理解、掌握RS-232串行通信的协议、接口引脚信号,以及与串行接口芯片8250的关系和电路连接。2、认真阅读本次实验所给出的汇编参考源程序。3、学习、掌握如何对8250接口芯片进行编程应用,实现串行口通信。实验仪器、设备及材料安装有微机汇编语

18、言编程环境的台式微机一台及自制RS-232接口2、3引脚短接线一根。实验原理微机RS-232串行口通信是微机应用中常常使用的通信方式之一,在微机系统中所使用的串行接口芯片是INS8250,为全双工的异步通信接口芯片,它内部有10个控制寄存器,每个控制寄存器有其不同的功能,熟悉、掌握这些寄存器的功能和应用,通过软件指令的赋值读写即可实现串行数据通信。8250是TTL逻辑电平,通过电平转换连接到RS-232标准接口上,可进行远/近距离的数据通信。因此,在熟悉了8250和RS-232的基础上,我们只需针对8250进行操作,即可完成串口通信应用。这里,我们用一台微机进行自发自收的实验。方法一:利用IN

19、S8250的自检诊断功能,即置位MCR寄存器D4为“1” ;方法二:将RS-232 的25针或9针D型插座的2、3脚短接起来,作自发自收。设置好通信协议:即波特率,数据位,校验和停止位,采用查询方式进行通信,按Esc结束。主要技术重点、难点串行通信是微机应用中常用通信方式,认真领会、掌握对INS8250的编程应用,其串行接口不但可作串行通信应用也可实现一些目的的控制应用。认真领会串行通信、串行接口芯片及RS-232串行协议之间的联系与区别。实验步骤1、在开启微机电源前将RS-232的2、3脚短接(方法一不需要;方法二使用,注意:别碰到其它引脚);2、打开微机电源,启动汇编编程器,录入附录所给汇

20、编源程序,并编译、运行;3、在键盘上敲字母或数字,按键数据将通过串行口发送出去,且又会从串行口返回(自发自收)。因此将会有两个相同的显示,一个为按键显示,另一个为返回的显示。4、附录中给出了两种方法的程序,仔细阅读程序,观察结果。实验报告要求按实验报告书的格式和内容要求认真填写本次实验。实验注意事项在进行RS-232串行接口2、3引脚的短接时一定要关掉微机电源,并确定未连接到其它引脚方能开机实验。思考题1、通过实验,程序中所设置的通信协议:波特率、数据位、停止位及效验分别是多少?2、简述8250串行接口芯片与RS-232标准串行接口的区别和联系。3、简述方法一中2、3脚不进行短接,为什么同样能

21、进行自收发?附录方法一:源程序trans.asm(不须短接2、3脚)code segment assume cs:codestart: ;*write brdl and brdh* mov dx,3fbh mov al,80h out dx,al mov dx,3f8h mov al,60h out dx,al inc dx mov al,0 out dx,al ;*write lcr* mov al,1bh mov dx,3fbh out dx,al ;*write ier* mov dx,3f9h mov al,0 out dx,al ;*r/w mcr* mov dx,3fch in a

22、l,dx or al,10h out dx,alread: ;*read lsr and test* mov dx,3fdh in al,dx test al,0eh jnz error test al,01h jnz receive test al,20h jnz send jmp read send: mov ah,1 int 16h jz read mov ah,0 int 16h cmp al,1bh jz exit mov dx,3f8h out dx,al ;*display* mov dl,al mov ah,2 int 21h jmp read receive: mov dx,

23、3f8h in al,dx cmp al,1bh jz exit ;*display* mov dl,al mov ah,2 int 21h cmp al,0dh jnz read mov ah,2 int 21h jmp read error: push cs pop ds mov dx,offset error_message mov ah,9 int 21h jmp read exit: mov ah,4ch int 21h error_message db 0ah,error!$ code ends end start方法二源程序trans1.asm(短接RS-232 的2、3脚)code segment assume cs:codestart: ;*write brdl and brdh* mov dx,3fbh mov al,80h out dx,al mov dx,3f8h mov al,60h out dx,al inc dx mov al,0 out d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论