第四次微机原理与接口技术实验报告_第1页
第四次微机原理与接口技术实验报告_第2页
第四次微机原理与接口技术实验报告_第3页
第四次微机原理与接口技术实验报告_第4页
第四次微机原理与接口技术实验报告_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术第四次实验报告刘兵12282009 生医1201班目录第一次实验:实验6 8254定时/计数器实验1第二次实验:实验3 六位数码管显示实验4实验5 小键盘按键识别实验8实验2 拨动开关和 LED 显示实验15实验8 8255方式1输出17实验13 继电器实验20第三次实验: 实验10 8位D/A转换实验23第一次实验:实验6 8254 定时/计数器实验一 实验目的熟悉 8254 在系统中的电路接法,掌握 8254 的工作方式及应用编程。二 实验内容使用 8254 两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二极管各 0.5秒。三 实验原理(1)接线图:(2)流程图

2、四 程序清单及注释.Model small.386DATA SEGMENTD1 DB 10 DUP('4')D2 DB 20 DUP('3')DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATABEG: MOV AX,DATA MOV DS,AX MOV AL,37H MOV DX,203H OUT DX,AL MOV AX,1000;1000控制LED闪烁频率 MOV DX,200H OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,77H MOV DX,203H OUT DX,AL MOV AX,1

3、000;1000控制LED闪烁频率 MOV DX,201H OUT DX,AL MOV AL,AH OUT DX,AL CODE ENDS END BEG四 问题及体会(1)初次使用TPC-386EX汇编,对软件的使用不够熟悉,对输出输入接口的确定还有些模糊,需要继续尝试加以提高;(2)TPC-386EX 环境与下位机的匹配是一个常见的错误,实验中多次显示“请先传送文件”提示,后来发现是两者间接口连接出现问题,以后实验中会注意。第二次实验:实验3 六位数码管显示实验一 实验目的了解共阴级数码管显示数字的原理,掌握六位共阴级数码管动态显示的控制方法。二 实验内容09 数字按照从右到左的顺序在 6

4、 位数码上循环步进显示,即 0 从最右端开始显示,然后按一定间隔时间向左步进移动显示,显示到数码管最左端后变换数字,然后按同样方法显示 1、2.9,以此循环往复。三 实验原理(1)译码表显示十六进制数7段代码hgfedcba用十六进制表示0001111113F100000110062010110115B3010011114F401100110665011011016D6011111017D700000111078011111117F90110011167A0111011177B011111007CC0011100139D010111105EE0111100179F0111000171(2)接线

5、图(2)流程图四 实验代码及注释.Model small .386DATA SEGMENTsegport equ 200Hbitport equ 201Htimer = 10DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEG: xor bx,bxmov ah,01hled1: mov al,ledtbbxmov dx,segport ;端控制端口out dx,almov al,ahmov dx,bitport ;位控制端口out dx,alcall delayrol ah,1cmp ah,40hjnz led1mov ah,01hinc bxcmp

6、bx,9jna led1;不高于9,继续jmp BEG;显示代码表ledtb byte 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,67H;delay procpush bxpush cxmov bx,timerdelay1: xor cx,cxdelay2: loop delay2dec bxjnz delay1pop cxpop bxretdelay endp CODE ENDS END BEG五 实验结果及体会本实验在课本上有部分运行程序,实验中应该掌握位控制端和段控制端的地址设置。实验5 小键盘按键识别实验一 实验目的掌握用软件方法识别行列式键盘按键的原理和

7、方法。二 实验内容将小键盘的键号(S1S16)用16进制数0F在7段数码管上显示。三 实验原理(1)接线图(2)流程图 四 实验代码及注释.model small.386data segment i8255_a equ 200hi8255_b equ 201hi8255kz equ 203h led_cs equ 210h ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h,77h,7ch,39h,5eh,79h,71h data ends code segment assume cs:code,ds:datastart: mov ax,dat

8、a mov ds,ax mov dx,i8255kz ;8255 命令口 mov al,10000010 ;设置8255控制字:0方式A口输出,B口输入 out dx,al ;输出8255控制字L1 : call readkey ;判断行线、列线状态 mov bh,ah ;AH行线状态 mov bl,al ;AL列线状态 call delay ;延时20-30ms call readkey ;再次判断行线、列线状态是否与第一次相同 cmp bl,al ;比较al和bl的值 jnz start ;不相等则跳至start cmp bh,ah ;比较bh,ah的值 jnz start ;不相等则跳至

9、start call keyup ;等待键释放后再处理 mov ax,bx call cmpoffset ;调用求键值的子程序cmpoffset call disp ;调用求键值的子程序disp,显示数字 call delay ;延时20-30ms jmp L1 ;循环进行将小键盘输出到数码管显示 readkey proc mov ah,11111110scan: mov al,ah mov dx,i8255_a ;8255 A口 out dx,al ;输出一行线为低 mov dx,i8255_b ;8255 B口 in al,dx ;输入列线状态 or al,0f0h ;高四位置1,低四位为

10、列线状态 cmp al,0ffh ;检查是否有按键按下 jne exitkey ;有键按下,退出 rol ah,1 ;没有键按下则检查下一行 jmp scan exitkey: ret readkey endp delay proc push cx mov cx,8000h ;延时delay1: loop delay1 pop cx ret delay endp keyup procnoup: mov al,ah mov dx,i8255_a ;8255 A口 out dx,al ;输出行线 mov dx,i8255_b ;8255 B口 in al,dx ;读入列线 or al,0f0h ;

11、与0f0h相或,为判断按键是否释放提供数据 cmp al,0ffh ;按键是否释放 je exit ;已释放,退出 jmp noup ;未释放,继续检查exit: retkeyup endpcmpoffset proc not ah ;行值取反 not al ;列值取反 mov bh,00h mov bl,00h kk: shr ah,1 jc next1 add bh,4h ;一行4列 jmp kk next1: shr al,1 jc next2 add bl,1 ;列号加1 jmp next1 next2: add bh,bl ;求得键值 mov al,bh cmpexit: ret c

12、mpoffset endp disp proc push bx push dx mov bx,offset ledcode ;将偏移地址放bx中 mov ah,0 add bx,ax mov al,bx mov dx,led_cs ;段选 out dx,al mov al,01h ;位选 inc dx out dx,al pop dx pop bx ret disp endpcode ends end start五 实验分析及体会本实验要与LED数码管显示结合,延时子程序可以使运行结果更加可视化,机械键盘注意消除震颤。实验 2 拨动开关和 LED 显示实验 一、实验目的掌握使用 8255 并行

13、接口连接拨动开关,控制 LED 显示输出的技术。二、实验内容按图将 8255 端口 A 与 8 位拨动开关连接,8255 端口 B 与 8 位 LED 连接,选择 8255为方式 0 工作,编程序完成 LED 实时显示开关状态的功能,即每位 LED 对应一位开关状态。开关往下拨动,对应 LED 灭,开关往上拨动,对应 LED 点亮。编程涉及 8255 端口地址有四个,由于 8255 片选信号线与地址译码区的 0FH 连接,即 8255 的 I/O 偏移地址为 03,加上前一个实验所获知的 I/O 基址,两者相加之后才是最终访问 8255 的 I/O 地址。注意,该地址一定是一个 16 位数,所

14、以 I/O 操作要使用IN AL,DX 和 OUT DX, AL三 实验流程图 四 实验代码.model small.386io equ 200hcode segmentassume cs:codestart:mov dx,io+3mov al,90hout dx,alll:mov dx,ioin al,dxinc dxout dx,aljmp llcode ends  end start实验8 8255方式1输出一 实验目的

15、掌握查询方式实现 8255 选通型输人(方式 1)的编程控制方法二 实验内容将 8255 端口 A 的 PA7PA0 与 8 个发光二极管 L7-L0 接,PB2-PB0 与拨动开关的 K2-K0 连接,8255 的 CS 与地址译码区的 0-F 端子连接,PC2(/ACK)与单脉冲的/PLUS端连接。先预置开关 K2-K0 为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到 PC2。用发光二极管 LEDi 亮,显示 K2-K0 的状态。要求:K2-K0=000 时,LED0 亮K2-K0=010 时,LED2 亮K2-K0=100 时,LED4 亮K2-K0=110 时,LED6 亮K

16、2-K0=001 时,LED1 亮K2-K0=011 时,LED3 亮K2-K0=101 时,LED5 亮K2-K0=111 时,LED7 亮三 实验代码.model small.386io_8255 equ 200hdata segmenttab db 01h,02h,04h,08h,10h,20h,40h,80hdata endscode segment assume cs:code,ds:datastart:mov ax,datamov ds,axmov io_8255+3mov al,0aehout dx,almov dx,io_8255+3mov al,0aehout dx,alll

17、:mov dx,io_8255+2ss1:in al,dxtest al,10000000bjz ss1mov dx,io_8255+1in al,dxand al,07hmov bx,offset tabxlat tabmov dx,io_8255out dx,aljmp llcode endsend start实验 13 继电器实验一 实验目的掌握 386EX 控制继电器的工作原理。二 实验内容使用实验仪的 8255 并行口,编程每隔一定时间控制继电器的通与断,模拟电路的接通与断开。三 实验原理流程图四 实验代码.model small.386code segmentassume cs:c

18、odestart:mov dx,203hmov al,80hout dx,almov al,00hmov dx,200hxx1:out dx,almov bh,5xxx1:mov cx,0fffffffhxxx:loop xxxdec bhjnz xxx1not aljmp xx1code ends end start第三次实验: 实验10 8位D/A转换实验一 实验目的学习掌握数/模转换的基本原理,掌握 DAC0832 芯片的使用方法。二 实验内容按实验接线图编写转换程序,分别产生锯齿波、脉冲波,并用示波器观察波形。三 实验原理(1)接线图 (2)流程图四 实验代码及注释(1)锯齿波 .mo

19、del small.386 data segmentdata endscode segmentassume cs:code,ds:databeg: mov al,0ffH ;输出数据低电平00num1: mov dx,200H ;数据输出端口的地址 out dx,al ;锯齿波输出 call delaymov al,00hout dx,alcall delayjmp begdelay proc push cx mov cx,8000h delay1: loop delay1 pop cx ret delay endpcode ends end beg(2)方波 .model small.386

20、 data segmentdata endscode segmentassume cs:code,ds:datastart: mov al,00H ;输出数据初值J: mov dx,200H ;DAC0832的地址 out dx,al ;锯齿波输出 inc al ;al+1 cmp al,0FFH ;是否等于0FFH jnz J ;不等于跳到J处,继续al+1 mov al,00H ;等于0FFH,重置al jmp Jcode ends end start五 实验分析及体会 本实验重点在于TPC-386EX与示波器的配合使用。实验11 8位A/D转换实验(查询方式)一 实验目的掌握模/数信号转

21、换的基本原理,掌握 ADC0809 芯片的应用方法。二 实验内容从 ADC0809 通道 0 输入5V 可变电压,使用查询方式读取转换数据并在数码管上显示两位 16 进制数。三 实验原理 (1)接线图(2)流程图 四 实验代码及注释 .model small.386data segmentbuf db 0 led_cs dw 210h char db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h,77h,7ch,39h,5eh,79h,71h data ends code segment assume cs:code,ds:databeg: mov ax,da

22、ta mov ds,axstart: mov dx,200hstart1: out dx,al ;从start口产生一个读的操作,即启动A/D转换 push dx; mov dx,202h;从面向数据总线的端口读入此时的数据D0-D7start2: in al,dx; test al,01h;比较此时的数据,若最高位为1,说明此时转换已经结束,可以进行下一步操作。 jz start2 pop dx; inc dx in al,dx;读入此时的IN0口的数据 mov buf,al;存入此时读入的数据 call disp jmp startdisp proc push bx push dx pus

23、h cx mov cl,buf and buf,00001111b;截取低4位 xor bx,bx mov bl,buf mov al,charbx; mov dx,led_cs;段选端地址 out dx,al mov al,01h inc dx ;从位码地址读入数据 ; out dx,al call delay and cx,0f0h shr cx,4 mov dx,led_cs;段选端地址xor bx,bxmov bl,cl mov al,charbx; out dx,al mov al,02h inc dx ; 从位码地址读入数据 ; out dx,alcall delay pop cx

24、 pop dx pop bx ret disp endptimer=1delay procpush bxpush cxmov bx,timerdelay1: mov cx,50delay2:loop delay2dec bxjnz delay1pop cxpop bxretdelay endpcode ends end beg实验12 8位A/D转换实验(中断方式)一 实验目的掌握模/数信号转换的基本原理,掌握 ADC0809 芯片中断采样编程方法。二 实验内容从 ADC0809 通道 0 输入5V 可变电压,使用中断方式采集数据,并将转换数据在7 段数码管上以 16 进制数显示。三 实验原理

25、(1)接线图(2)流程图四 实验程序及注释.Model small .386;A/D转换实验(中断方式)DATA SEGMENT ;显示代码表 ledtb byte 3fh ;0 byte 06h ;1 byte 5bh ;2 byte 4fh ;3 byte 66h ;4 byte 6dh ;5 byte 7dh ;6 byte 07h ;7 byte 7fh ;8 byte 67h ;9 byte 77h ;A byte 7ch ;B byte 39h ;C byte 5eh ;D byte 79h ;E byte 71h ;F DATA ENDSCODE SEGMENT ASSUME C

26、S:CODE,DS:DATA BEG: mov ax,data mov ds,ax cli in al,21h ;写屏蔽字开放主片MIR5中断 and al,11011111b out 21h,al ;写中断向量 pushds movax,0 movds,ax mov si,4*35h mov ax,offset adint mov si,ax ;中断服务程序的偏移地址存入中断向量表35H号中断向量位置 mov ax,cs ;seg adint找不到段基 mov si+2,ax ;中断服务程序的段基地址存入中断向量表35H号中断向量位置 popds movdx,200h outdx,al stiagain:nop jmp again ;中断服务程序adint proc sti push ax push dx mov dx,201h ;A0=1,读操作,获取转换后的数据 in

温馨提示

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

评论

0/150

提交评论