广工接口与通讯实验报告.docx

上传人:b****6 文档编号:8780775 上传时间:2023-02-01 格式:DOCX 页数:18 大小:41.36KB
下载 相关 举报
广工接口与通讯实验报告.docx_第1页
第1页 / 共18页
广工接口与通讯实验报告.docx_第2页
第2页 / 共18页
广工接口与通讯实验报告.docx_第3页
第3页 / 共18页
广工接口与通讯实验报告.docx_第4页
第4页 / 共18页
广工接口与通讯实验报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

广工接口与通讯实验报告.docx

《广工接口与通讯实验报告.docx》由会员分享,可在线阅读,更多相关《广工接口与通讯实验报告.docx(18页珍藏版)》请在冰豆网上搜索。

广工接口与通讯实验报告.docx

广工接口与通讯实验报告

接口与通讯实验报告

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,脉冲对计数值进行减一计数,对每来一个脉冲减一,当计数值减少到0时,OUT端输出一个标志信号。

(2)定时:

计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,计数到零时,发计数结束定时信号。

(2)实验方法

用8253对标准脉冲信号进行计数,就可以实现定时功能。

用板上的1MHz作为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒针高/1秒钟低的脉冲信号。

因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒输出状态发生一次反转。

(3)实验接线

连接孔1连接孔2

连接孔1连接孔2

连接孔1连接孔2

CS48253_CS

VCC8253_GATE0

L08253_OUT0

8253_OUT18253_CLK0

VCC8253_GATE1

1MHz8253_CLK1

3、实验程序

CONTROLequ0c003h;控制端口地址

COUNT0equ0c000h;计数器0的地址

COUNT1equ0c001h;计数器1的地址

COUNT2equ0c002h;计数器2的地址

codesegment

assumecs:

code

startprocnear

moval,36h;00110100B;计数器0,16位,方式2,二进制

movdx,CONTROL

outdx,al

movax,1000;计数器0的时间常数

movdx,COUNT0

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

moval,76h;01110100B;计数器1,16位,方式2,二进制

movdx,CONTROL

outdx,al

movax,1001;计数器1的时间常数

movdx,COUNT1

outdx,al;计数器低字节

moval,ah

outdx,al;计数器高字节

jmp$

startendp

codeends

endstart

 

实验题目8255并行接口实验

1、实验目的与要求

(1)了解8255芯片结构以及编程方法

(2)了解8255输入、输出实验方法

2、实验内容

(1)实验原理

可编程输入输出的并行接口芯片8255A,具有三个八位的I/O口,它有三种工作方式。

本实验采用施方式0:

PA,PC口输出,PB口输入。

(2)实验方法

按照实验要求,本实验采用方式0,这种方式不需要任何选通信号,并且采用从C端口读入数据,从A、B端口并行地输出数据,为了效果明显,实验带有一定的延时。

(3)实验接线

连接孔1连接孔2

连接孔1连接孔2

连接孔1连接孔2

CS08255_CS

L08255-PA0

L18255-PA1

L28255-PA2

L38255-PA3

L48255-PA4

L58255-PA5

L68255-PA6

L78255-PA7

K08255-PB0

K18255-PB1

K28255-PB2

K38255-PB3

K48255-PB4

K58255-PB5

K68255-PB6

K78255-PB7

3、实验程序

modeequ082h;方式0,PA,PC输出,PB输入

PortAequ8000h;PortA

PortBequ8001h;PortB

PortCequ8002h;PortC

CAddrequ8003h;控制字地址

codesegment

assumecs:

code

startprocnear

Start:

moval,mode

movdx,CAddr

outdx,al;输出控制字

;实验2:

PortB输入PortA输出

movdx,PortB

inal,dx;读入PortB

movdx,PortC

outdx,al

movdx,PortA

outdx,al;输出到PortA

movah,200

calldelay;调用延时子程序

jmpStart

endp

delayprocnear

pushax

moval,0;设置延时低位为0

pushcx

movcx,ax;设置延时CX的为0C800H

loop$

popcx

popax

ret

delayendp

codeends

endstart

思考题:

movdx,PortC

inal,dx;读入PortC

movdx,PortB

outdx,al

movdx,PortA

outdx,al;输出到PortA

movah,200

calldelay;调用延时子程序

jmpStart

endp

delayprocnear

pushax

moval,0;设置延时低位为0

pushcx

movcx,ax;设置延时CX的为0C800H

loop$

popcx

popax

ret

delayendp

codeends

endstart

实验题目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可编程中断控制器,实现对外部中断的响应和处理。

要求程序中对每次中断进行计数,并将计数结果用8255的PA口输出到LED。

(3)实验接线

CS0→8255CSCS1→8259CS单脉冲→8259——INTO

(L0—L7)→(8255PA0—PA7)

3、实验程序

modeequ82h;8255工作方式

PA8255equ8000h;8255PA口输出地址

CTL8255equ8003h

ICW1equ00010011b;单片8259,上升沿中断,要写ICW4

ICW2equ00100000b;中断号为20H

ICW4equ00000001b;工作在8086/88方式

OCW1equ11111110b;只响应INT0中断

CS8259Aequ09000h;8259地址

CS8259Bequ09001h

datasegment

CNTdb0

dataends

codesegment

assumecs:

code,ds:

data

IEnterprocnear

pushax

pushdx

movdx,PA8255

incCNT

moval,CNT

outdx,al;输出计数值

movdx,CS8259A

moval,20h;中断服务程序结束指令

outdx,al

popdx

popax

iret

IEnterendp

IInitproc

movdx,CS8259A

moval,ICW1

outdx,al

movdx,CS8259B

moval,ICW2

outdx,al

moval,ICW4

outdx,al

moval,OCW1

outdx,al

ret

IInitendp

startprocnear

movdx,CTL8255

moval,mode

outdx,al

cli

movax,0

movds,ax

movbx,4*ICW2;中断号

movax,code

shlax,4;x16

addax,offsetIEnter;中断入口地址(段地址为0)

mov[bx],ax

movax,0

incbx

incbx

mov[bx],ax;代码段地址为0

callIInit

movax,data

movds,ax

movCNT,0;计数值初始为0

moval,CNT

movdx,PA8255

outdx,al

sti

LP:

;等待中断,并计数。

nop

jmpLP

startendp

codeends

endstart

实验题目D/A(数/模)转换实验

1、实验目的与要求

(1)了解D/A转换的基本原理。

(2)了解D/A转换芯片0832的性能以及编程方法。

(3)了解单片机系统中拓展D/A转换的基本方法

2、实验内容

(1)实验原理

D/A转换:

这是把数字量转换为模拟量的变换,可以将计算机产生的控制量转换为模拟信号,其基本转换原理是把数字量的每一位代码按权的大小转换为相应的模拟分量,然后把各分量相加得到总的模拟量;8位、电流输出型D/A转换芯片,有直通、单缓存以及双缓存三种工作方式。

在外部使用运算放大器后可以转换为电压输出,并且分为单极性输出和双极性输出。

(2)实验方法

利用DAC0832,可以自行编制程序产生锯齿波、三角波、正弦波。

三种波轮流显示,用示波器观看。

(3)实验接线

连接孔1连接孔2

CS2DA_CS

-5V-+5V逻辑波形L3

3、实验程序

datasegment

assumeds:

data

SinData:

;正弦数字量表

DB0C0H,0C3H,0C6H,0C9H,0CCH,0CFH,0D2H,0D5H

DB0D8H,0DBH,0DEH,0E0H,0E3H,0E6H,0E8H,0EAH

DB0EDH,0EFH,0F1H,0F3H,0F5H,0F6H,0F8H,0F9H

DB0FBH,0FCH,0FDH,0FEH,0FEH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FFH,0FEH,0FEH,0FDH,0FCH

DB0FBH,0F9H,0F8H,0F6H,0F5H,0F3H,0F1H,0EFH

DB0EDH,0EAH,0E8H,0E6H,0E3H,0E0H,0DEH,0DBH

DB0D8H,0D5H,0D2H,0CFH,0CCH,0C9H,0C6H,0C3H

DB0C0H,0BCH,0B9H,0B6H,0B3H,0B0H,0ADH,0AAH

DB0A7H,0A4H,0A1H,9FH,9CH,99H,97H,95H

DB92H,90H,8EH,8CH,8AH,89H,87H,86H

DB84H,83H,82H,81H,81H,80H,80H,80H

DB80H,80H,80H,80H,81H,81H,82H,83H

DB84H,86H,87H,89H,8AH,8CH,8EH,90H

DB92H,95H,97H,99H,9CH,9FH,0A1H,0A4H

DB0A7H,0AAH,0ADH,0B0H,0B3H,0B6H,0B9H,0BCH

ends

codesegment

assumecs:

code

;延时子程序

procDelaynear

pushcx

movcx,ax

DelayLoop:

nop

nop

nop

nop

nop

nop

loopDelayLoop

popcx

ret

endp

procOutputDAnear

movdx,CS0832

outdx,al

ret

endp

procShowSinnear;0832输出以转换

pushcx

movbx,400H+offsetSinData

movcx,80h

ShowSinLoop:

;正弦波

moval,[bx]

callOutputDA

incbx

movax,40

callDelay

loopShowSinLoop

popcx

ret

endp

procShowTrinear

pushcx

movbx,80h

movcx,80h

ShowTriLoop:

;锯齿波

moval,bl

callOutputDA

incbx

movax,40

callDelay

loopShowTriLoop

popcx

ret

endp

procShowSqnear;方波

pushcx

moval,80h

callOutputDA

movcx,10

D1:

;显示一段0V波形

movax,200

callDelay

loopD1

moval,0ffh

callOutputDA

movcx,10

D2:

;显示一段5V波形

movax,200

callDelay

loopD2

popcx

ret

endp

;主程序

startprocnear

movax,0

movds,ax

moves,ax

MLoop:

movcx,100

MD1:

callShowSin

loopMD1

movcx,100

MD2:

callShowTri

loopMD2

movcx,100

MD3:

callShowSq

loopMD3

jmpMLoop

startendp

codeends

endstart

实验题目A/D(模/数)转换实验

1、实验内容

(1)实验原理

利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。

(2)实验方法

通过电位器提供模拟量输入,利用0809芯片转换为二进制数字量,并通过LED灯管显示出来;0809转换结束后,输出高电平的EOC信号给8259的IN0中断源,并通过中断服务程序利用8255并行地把转换结果输出到LED灯。

(3)实验接线

连接孔1连接孔2

连接孔1连接孔2

CS18255CS

CS0AD_CS

电位器输出IN0

L08255-PA0

L18255-PA1

L28255-PA2

L38255-PA3

L48255-PA4

L58255-PA5

L68255-PA6

L78255-PA7

2、实验程序

modeequ082h;8255工作字10000010B,方式0,A、C口输入,B输入

PAequ09000h;8255A口地址

CTLequ09003h;8255A控制地址

CS0809equ08000h;AD转换器端口

codesegment

assumecs:

code

startprocnear

movbx,0f123h

movax,5678h

mov[bx],ax

movax,[bx]

movax,1234h

movbx,5678h

addax,bx

movbx,400h

mov[bx],ax

moval,mode;送8255方式字

movdx,CTL

outdx,al

again:

moval,0;虚写启动

movdx,CS0809

outdx,al;起动A/D

movcx,40h

loop$;延时>100us

inal,dx;读入结果

movdx,PA;送到A口去

outdx,al

jmpagain

codeends

endstart

思考题:

以中断方式实现数据采集,实现代码如下:

md8255equ82h;8255工作方式,可用PA口方式0输出

pa8255equ9000h;8255PA口输出地址

ctl8255equ9003h;8255控制口地址

cs0809equ08000h;0809芯片地址

icw1equ00010011b;单片8259,上升沿中断,要写ICW4

icw2equ00100000b;中断号为20H

icw4equ00000001b;工作在8086/88方式

ocw1equ11111110b;只响应INT0中断

cs8259aequ0a000h;8259偶地址

cs8259bequ0a001h;8259奇地址

codesegment

assumecs:

code

;中断服务程序

ienterprocnear

pushax

pushdx

;cli

movdx,cs0809

inal,dx;读入转换结果

movdx,pa8255

outdx,al

moval,0

movdx,cs0809

outdx,al;启动A/D转换

;sti

movdx,cs8259a

moval,20h;中断服务程序结束指令

outdx,al

popdx

popax

iret

ienterendp

;8259初始化程序

iinitprocnear

movdx,cs8259a

moval,icw1

outdx,al;向偶地址写入命令

movdx,cs8259b

moval,icw2

outdx,al;向奇地址写入中断类型

moval,icw4

outdx,al;写入工作方式

moval,ocw1

outdx,al;设置中断屏蔽

ret

iinitendp

;主程序段

startprocnear

cli;关中断

movax,0

movds,ax

moval,md8255

movdx,ctl8255

outdx,al;设置8255工作方式

movbx,4*icw2;中断向量

movax,code

shlax,4;x16

addax,offsetienter;

mov[bx],ax;中断服务程序IP

movax,0

incbx

incbx

mov[bx],ax;中断服务程序CS

calliinit

moval,0

movdx,cs0809

outdx,al;启动A/D转换

sti;开中断

lp:

;等待中断

nop

jmplp

startendp

codeends

endstart

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1