广工2013接口与通讯实验报告_第1页
广工2013接口与通讯实验报告_第2页
广工2013接口与通讯实验报告_第3页
广工2013接口与通讯实验报告_第4页
广工2013接口与通讯实验报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、.接口与通讯实验报告 1、8253定时/计数器实验2、8255并行接口实验3、8259中断控制器实验4、D/A(数/模)转换实验 5、A/D(模/数)转换实验 学生学院专业班级学 号学生姓名指导教师2013 年 12 月 9 日实验题目 8253定时器实验 1、 实验目的与要求(1) 学习8253可编程定时器/计数器定时方法(2) 学习8253多级串联实现大时间常数的定时方法(3) 学习8088/86控制定时器的方法2、 实验内容(1) 实验原理 8253A既可以作定时器又可作计数器:(1) 计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK,脉冲对计数值进行减一计数,对每来

2、一个脉冲减一,当计数值减少到0时,OUT端输出一个标志信号。(2) 定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,计数到零时,发计数结束定时信号。(2) 实验方法 用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz作为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒针高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒输出状态发生一次反转。(3) 实验接线连接孔1 连接孔2连接孔1 连接孔2连接孔1 连接孔2CS4 8253_CSVCC

3、8253_GATE0L0 8253_OUT08253_OUT1 8253_CLK0 VCC 8253_GATE11MHz 8253_CLK13、 实验程序CONTROL equ 0c003h ;控制端口地址COUNT0 equ 0c000h ;计数器0的地址COUNT1 equ 0c001h ;计数器1的地址COUNT2 equ 0c002h ;计数器2的地址code segment assume cs:codestart proc near mov al, 36h; 00110100B ; 计数器0,16位,方式2,二进制 mov dx, CONTROL out dx, al mov ax,

4、 1000 ;计数器0的时间常数 mov dx, COUNT0 out dx, al ; 计数器低字节 mov al, ah out dx, al ; 计数器高字节 mov al, 76h; 01110100B ; 计数器1,16位,方式2,二进制 mov dx, CONTROL out dx, al mov ax, 1001 ;计数器1的时间常数 mov dx, COUNT1 out dx, al ; 计数器低字节 mov al, ah out dx, al ; 计数器高字节 jmp $start endpcode ends end start实验题目 8255并行接口实验 1、 实验目的与

5、要求(1) 了解8255芯片结构以及编程方法(2) 了解8255输入、输出实验方法2、 实验内容(1) 实验原理 可编程输入输出的并行接口芯片8255A,具有三个八位的I/O口,它有三种工作方式。本实验采用施方式0:PA,PC口输出,PB口输入。(2) 实验方法 按照实验要求,本实验采用方式0,这种方式不需要任何选通信号,并且采用从C端口读入数据,从A、B端口并行地输出数据,为了效果明显,实验带有一定的延时。(3) 实验接线连接孔1 连接孔2连接孔1 连接孔2连接孔1 连接孔2CS0 8255_CSL0 8255-PA0L1 8255-PA1L2 8255-PA2L3 8255-PA3L4 8

6、255-PA4L5 8255-PA5L6 8255-PA6L7 8255-PA7K0 8255-PB0K1 8255-PB1K2 8255-PB2K3 8255-PB3K4 8255-PB4K5 8255-PB5K6 8255-PB6K7 8255-PB73、 实验程序 mode equ 082h ; 方式0,PA,PC输出,PB输入 PortA equ 8000h ; Port A PortB equ 8001h ; Port B PortC equ 8002h ; Port C CAddr equ 8003h ; 控制字地址code segment assume cs:codestart

7、proc nearStart: mov al, mode mov dx, CAddr out dx, al ; 输出控制字 ;实验2: PortB 输入 PortA 输出 mov dx, PortB in al, dx ; 读入PortB mov dx, PortC out dx, al mov dx, PortA out dx, al ; 输出到PortA mov ah, 200 call delay ;调用延时子程序 jmp Start endpdelay proc near push ax mov al,0 ; 设置延时低位为0 push cx mov cx,ax ; 设置延时CX的为0

8、C800H loop $ pop cx pop ax retdelay endpcode ends end start思考题: mov dx, PortC in al, dx ; 读入PortC mov dx, PortB out dx, al mov dx, PortA out dx, al ; 输出到PortA mov ah, 200 call delay ;调用延时子程序 jmp Start endpdelay proc near push ax mov al,0 ; 设置延时低位为0 push cx mov cx,ax ; 设置延时CX的为0C800H loop $ pop cx po

9、p ax retdelay endpcode ends end start实验题目 8259中断控制器实验 1、 实验目的与要求(1) 学习8088/86与8259的连接方法。(2) 学习8088/86对8259的控制方法.。2、 实验内容(1) 实验原理8088/8086需要外接中断控制器才能对外部中断进行处理。8259可外接8个中断源,本实验只响应INTO中断,8259也可以多级连接以影响多个中断源。将单脉冲信号接到8259的INTO脚。每次中断时,可看到LED显示会加一。(2) 实验方法用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数

10、,并将计数结果用8255的PA口输出到LED。(3) 实验接线CS08255CS CS18259CS 单脉冲8259INTO(L0L7)(8255PA0PA7)3、 实验程序 mode equ 82h ; 8255 工作方式PA8255 equ 8000h ; 8255 PA口输出地址CTL8255 equ 8003hICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS825

11、9A equ 09000h ; 8259地址CS8259B equ 09001hdata segmentCNT db 0data endscode segment assume cs:code, ds: dataIEnter proc near push ax push dx mov dx, PA8255 inc CNT mov al, CNT out dx, al ; 输出计数值 mov dx, CS8259A mov al, 20h ; 中断服务程序结束指令 out dx, al pop dx pop ax iretIEnter endpIInit proc mov dx, CS8259A

12、 mov al, ICW1 out dx, al mov dx, CS8259B mov al, ICW2 out dx, al mov al, ICW4 out dx, al mov al, OCW1 out dx, al retIInit endpstart proc near mov dx, CTL8255 mov al, mode out dx, al cli mov ax, 0 mov ds, ax mov bx, 4*ICW2 ; 中断号 mov ax, code shl ax, 4 ; x 16 add ax, offset IEnter ; 中断入口地址(段地址为0) mov

13、bx, ax mov ax, 0 inc bx inc bx mov bx, ax ; 代码段地址为0 call IInit mov ax, data mov ds, ax mov CNT, 0 ; 计数值初始为0 mov al, CNT mov dx, PA8255 out dx, al stiLP: ; 等待中断,并计数。 nop jmp LPstart endpcode ends end start实验题目 D/A(数/模)转换实验 1、 实验目的与要求(1) 了解D/A转换的基本原理。(2) 了解D/A转换芯片0832的性能以及编程方法。(3) 了解单片机系统中拓展D/A转换的基本方法

14、2、 实验内容(1) 实验原理 D/A转换:这是把数字量转换为模拟量的变换,可以将计算机产生的控制量转换为模拟信号,其基本转换原理是把数字量的每一位代码按权的大小转换为相应的模拟分量,然后把各分量相加得到总的模拟量;8位、电流输出型D/A转换芯片,有直通、单缓存以及双缓存三种工作方式。在外部使用运算放大器后可以转换为电压输出,并且分为单极性输出和双极性输出。(2) 实验方法利用DAC0832,可以自行编制程序产生锯齿波、三角波、正弦波。三种波轮流显示,用示波器观看。(3) 实验接线连接孔1 连接孔2CS2 DA_CS-5V-+5V 逻辑波形L33、 实验程序 data segment assu

15、me ds: dataSinData: ;正弦数字量表 DB 0C0H, 0C3H, 0C6H, 0C9H, 0CCH, 0CFH, 0D2H, 0D5H DB 0D8H, 0DBH, 0DEH, 0E0H, 0E3H, 0E6H, 0E8H, 0EAH DB 0EDH, 0EFH, 0F1H, 0F3H, 0F5H, 0F6H, 0F8H, 0F9H DB 0FBH, 0FCH, 0FDH, 0FEH, 0FEH, 0FFH, 0FFH, 0FFH DB 0FFH, 0FFH, 0FFH, 0FFH, 0FEH, 0FEH, 0FDH, 0FCH DB 0FBH, 0F9H, 0F8H, 0

16、F6H, 0F5H, 0F3H, 0F1H, 0EFH DB 0EDH, 0EAH, 0E8H, 0E6H, 0E3H, 0E0H, 0DEH, 0DBH DB 0D8H, 0D5H, 0D2H, 0CFH, 0CCH, 0C9H, 0C6H, 0C3H DB 0C0H, 0BCH, 0B9H, 0B6H, 0B3H, 0B0H, 0ADH, 0AAH DB 0A7H, 0A4H, 0A1H, 9FH, 9CH, 99H, 97H, 95H DB 92H, 90H, 8EH, 8CH, 8AH, 89H, 87H, 86H DB 84H, 83H, 82H, 81H, 81H, 80H, 80

17、H, 80H DB 80H, 80H, 80H, 80H, 81H, 81H, 82H, 83H DB 84H, 86H, 87H, 89H, 8AH, 8CH, 8EH, 90H DB 92H, 95H, 97H, 99H, 9CH, 9FH, 0A1H, 0A4H DB 0A7H, 0AAH, 0ADH, 0B0H, 0B3H, 0B6H, 0B9H, 0BCH endscode segment assume cs:code;延时子程序 proc Delay near push cx mov cx, axDelayLoop: nop nop nop nop nop nop loop Del

18、ayLoop pop cx ret endp proc OutputDA near mov dx, CS0832 out dx, al ret endp proc ShowSin near ; 0832输出以转换 push cx mov bx, 400H + offset SinData mov cx, 80hShowSinLoop: ;正弦波 mov al, bx call OutputDA inc bx mov ax, 40 call Delay loop ShowSinLoop pop cx ret endp proc ShowTri near push cx mov bx, 80h m

19、ov cx, 80hShowTriLoop: ; 锯齿波 mov al, bl call OutputDA inc bx mov ax, 40 call Delay loop ShowTriLoop pop cx ret endp proc ShowSq near ;方波 push cx mov al, 80h call OutputDA mov cx, 10D1: ; 显示一段0V波形 mov ax, 200 call Delay loop D1 mov al, 0ffh call OutputDA mov cx, 10D2: ; 显示一段5V波形 mov ax, 200 call Dela

20、y loop D2 pop cx ret endp; 主程序start proc near mov ax, 0 mov ds, ax mov es, axMLoop: mov cx, 100MD1: call ShowSin loop MD1 mov cx, 100MD2: call ShowTri loop MD2 mov cx, 100MD3: call ShowSq loop MD3 jmp MLoopstart endpcode ends end start实验题目 A/D(模/数)转换实验 1、 实验内容(1)实验原理利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模

21、拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。(2)实验方法 通过电位器提供模拟量输入,利用0809芯片转换为二进制数字量,并通过LED灯管显示出来;0809转换结束后,输出高电平的EOC信号给8259的IN0中断源,并通过中断服务程序利用8255并行地把转换结果输出到LED灯。(3)实验接线连接孔1 连接孔2连接孔1 连接孔2CS1 8255CSCS0 AD_CS电位器输出 IN0 L0 8255-PA0L1 8255-PA1L2 8255-PA2L3 8255-PA3L4 8255-PA4L5 8255-PA5L6 8255-PA6L7 8255-

22、PA72、 实验程序 mode equ 082h ;8255工作字10000010B,方式0,A、C口输入,B输入PA equ 09000h ;8255A口地址CTL equ 09003h ;8255A控制地址CS0809 equ 08000h ;AD转换器端口 code segment assume cs:codestart proc near mov bx, 0f123h mov ax, 5678h mov bx, ax mov ax, bx mov ax, 1234h mov bx, 5678h add ax, bx mov bx, 400h mov bx, ax mov al, mod

23、e ;送8255方式字 mov dx, CTL out dx, alagain: mov al, 0 ;虚写启动 mov dx, CS0809 out dx, al ; 起动 A/D mov cx, 40h loop $ ; 延时 > 100us in al, dx ; 读入结果 mov dx, PA ;送到A口去 out dx, al jmp againcode ends end start思考题:以中断方式实现数据采集,实现代码如下: md8255 equ 82h ; 8255 工作方式 ,可用PA口方式0输出 pa8255 equ 9000h ; 8255 PA口输出地址 ctl8255 equ 9003h ; 8255 控制口地址 cs0809 equ 08000h ;0809芯片地址 icw1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4 icw2 equ 00100000b ; 中断号为20H icw4 equ 00000001b ; 工作在8086/88 方式 ocw1 equ 11111110b ; 只响应INT0 中断 cs8259a equ 0a000h ; 8259偶地址 cs8259b equ 0a001h ; 8259奇地址 code segment assume cs:code ;中断服务程序 ienter p

温馨提示

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

评论

0/150

提交评论