单片机接口实习指导书.docx

上传人:b****2 文档编号:2822406 上传时间:2023-05-04 格式:DOCX 页数:29 大小:146.50KB
下载 相关 举报
单片机接口实习指导书.docx_第1页
第1页 / 共29页
单片机接口实习指导书.docx_第2页
第2页 / 共29页
单片机接口实习指导书.docx_第3页
第3页 / 共29页
单片机接口实习指导书.docx_第4页
第4页 / 共29页
单片机接口实习指导书.docx_第5页
第5页 / 共29页
单片机接口实习指导书.docx_第6页
第6页 / 共29页
单片机接口实习指导书.docx_第7页
第7页 / 共29页
单片机接口实习指导书.docx_第8页
第8页 / 共29页
单片机接口实习指导书.docx_第9页
第9页 / 共29页
单片机接口实习指导书.docx_第10页
第10页 / 共29页
单片机接口实习指导书.docx_第11页
第11页 / 共29页
单片机接口实习指导书.docx_第12页
第12页 / 共29页
单片机接口实习指导书.docx_第13页
第13页 / 共29页
单片机接口实习指导书.docx_第14页
第14页 / 共29页
单片机接口实习指导书.docx_第15页
第15页 / 共29页
单片机接口实习指导书.docx_第16页
第16页 / 共29页
单片机接口实习指导书.docx_第17页
第17页 / 共29页
单片机接口实习指导书.docx_第18页
第18页 / 共29页
单片机接口实习指导书.docx_第19页
第19页 / 共29页
单片机接口实习指导书.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机接口实习指导书.docx

《单片机接口实习指导书.docx》由会员分享,可在线阅读,更多相关《单片机接口实习指导书.docx(29页珍藏版)》请在冰点文库上搜索。

单片机接口实习指导书.docx

单片机接口实习指导书

单片机接口技术实习指导书

一、硬件实验

实验一:

简单I/O口输入、输出扩展内容

(一)、实验内容

MCS—51外部扩展空间很大,但数据总线口和控制信号的负载能力是有限的,若需要扩展的芯片较多,则MCS—51总线口负载过重,74LS244是一个输入扩展口,同时也是一个单向驱动器,以减轻总线负担。

74LS273做为同向输出口,控制8个发光二极管的亮灭。

(二)、实验步骤

①74LS244的输入端PI0—PI7接K1—K8,74LS373的输出端PO0—PO7接L1—L8。

②在EXIC插座上插上一片74LS32,然后按图连好有关线路。

③K1—K7全拨在上面(高电平),L1—L8全亮。

④按F2键进入仿真1态,即“P.....”态。

⑤用连续方式从起始地址0600H开始运行程序。

⑥拨动K1—K8,观察L1—L8点亮情况。

(三)程序

ORG0600H

HA3S:

MOVDPTR,#0A000H

MOVXA,@DPTR

MOVDPTR,#0B000H

MOVX@DPTR,A

MOVR2,#20H

ACALLDELAY

SJMPHA3S

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

实验二:

串并转换实验内容

(一)、实验内容

利用0831串行口和串行输入并行输出移位寄存器74LS164,扩展一个8位输出通道,用于驱动一个数码显示器,在数码显示器上循环显示从8031串行口输出的0—9这10个数字。

(二)、实验说明

串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。

在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。

由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。

待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。

(三)、实验步骤

①将S/P区DATA插孔接BUS3区P3.0(RXD)插孔。

②将S/P区CLK插孔接BUS3区P3.1(TXD)插孔。

③将S/P区CLR插孔接MP区/SP插孔,上电时对164复位。

④在DVCC系统处于仿真1态即“P.”状态下,将地址000B内容改为E1B1,作为定时器0的入口地址。

⑤将状态切换为“P.....”状态,从地址0790H开始连续执行程序。

⑥在扩展的一位数码管上循环显示0—9这10个数字。

(四)程序

TIMEREQU01H

ORG000BH

AJMPINT_T0

ORG0790H

START:

MOVSP,#53H

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#4BH

MOVR0,#0H

MOVTIMER,#20

MOVSCON,#00H

CLRTI

CLRRI

SETBTR0

SETBET0

SETBEA

SJMP$

INT_T0:

PUSHACC

PUSHPSW

CLREA

CLRTR0

MOVTL0,#0H

MOVTH0,#4BH

SETBTR0

DJNZTIMER,EXIT

MOVTIMER,#20

MOVDPTR,#CDATA

MOVA,R0

MOVCA,@A+DPTR

CLRTI

CPLA

MOVSBUF,A

INCR0

CJNER0,#0AH,EXIT

MOVR0,#0H

EXIT:

SETBEA

POPPSW

POPACC

RETI

CDATA:

DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H

END

实验三:

A/D转换0809应用内容

(一)、实验内容

利用实验仪上的0809做A/D转换实验,〖ZH(〗实验仪上的W1电位器提供模拟量输入。

编制程序,将模拟量转换成数字量,通过发光二极管L1-L8显示。

(二)、实验说明

A/D转换器大致分有三类:

一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。

实验用ADC0809属第二类,是8位A/D转换器。

每采集一次一般需100μs。

由于ADC0809A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/D转换结果。

(三)、实验步骤

①把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。

②0809的CLK插孔与分频输出端T4相连。

③将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。

调节W2,使VREF端为+5V。

④将A/D区的VREF连到W2的输出VREF端。

⑤EXIC1上插上74LS02芯片,将有关线路按图连好。

⑥将A/D区D0-D7用排线与BUS1区XD0-XD7相连。

⑦将BUS3区P3.0用连到数码管显示区DATA插孔。

⑧将BUS3区P3.1用连到数码管显示区CLK插孔。

⑨单脉冲发生/SP插孔连到数码管显示区CLR插孔。

⑩仿真实验系统在"P....."状态下。

⑾以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0-00H,2.5V-80H,5V-FFH。

(四)程序

ORG06D0H

START:

MOVA,#00H

MOVDPTR,#9000H

MOVX@DPTR,A

MOVA,#00H

MOVSBUF,A

MOVSBUF,A

MOVXA,@DPTR

DISP:

MOVR0,A

ANLA,#0FH

LP:

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

MOVR7,#0FH

H55S:

DJNZR7,H55S

MOVA,R0

SWAPA

ANLA,#0FH

MOVCA,@A+DPTR

MOVSBUF,A

MOVR7,#0FH

H55S1:

DJNZR7,H55S1

LCALLDELAY

AJMPSTART

TAB:

DB0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h

DB0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh

DELAY:

MOVR6,#0FFh

DELY2:

MOVR7,#0FFh

DELY1:

DJNZR7,DELY1

DJNZR6,DELY2

RET

END

实验四:

D/A转换0832应用内容

(一)、实验内容

利用0832输出一个从-5V开始逐渐升到0V再逐渐升至5V,再从5V逐渐降至0V,再降至-5V的锯齿波电压。

(二)、实验步骤

①把D/A区0832片选CS信号线接至译码输出插孔Y0。

②将+12V插孔、—12V插孔通过导线连到外置电源上,如果电源内置时,则+12V\,-12V电源已连好。

③将D/A区WR插孔连到BUS3区XWR插孔。

④将电位器W2的输出VREF连到D/A区的VREF上,电位器W2的输VIN连到+12V插孔,调节W2使VREF为+5V。

⑤用8芯排线将D/A区D0—D7与BUS2区XD0—XD7相连。

⑥在“P.....”状态下,从起始地址0740H开始连续运行程序(输入0740后按EXEC键)。

⑦用万用表或示波器测D/A输出端AOUT,应能测出不断加大和减小的电压值。

(三)程序

ORG0740H

HA6S:

MOVSP,#53H

HA6S1:

MOVR6,#00H

HA6S2:

MOVDPTR,#8000H

MOVA,R6

MOVX@DPTR,A

MOVR2,#0BH

LCALLDELAY

INCR6

CJNER6,#0FFH,HA6S2

HA6S3:

MOVDPTR,#8000H

DECR6

MOVA,R6

MOVX@DPTR,A

MOVR2,#0BH

LCALLDELAY

CJNER6,#00H,HA6S3

SJMPHA6S1

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

实验五:

8031串行口应用(双机通信实验)

(一)、实验内容

1利用8031单片机串行口,实现双机通信。

2本实验实现以下功能,将1号实验机键盘上键入的数字、字母显示到2号机的数码管上。

(二)、实验说明

1本实验系统中考虑用户可以方便使用串行口实现双机或和上位机通信,系统设计有用户专用串行接口,只要配上用户专用通信电缆线就可以实现和上位机通信,不影响监控系统和上位机的联机工作。

J10就是用户专用串行接口,将J10用用户专用通信线连到上位机的串口上。

注意不要和上位机系统用串行口冲突。

2实验时需将1号机8031串行接收信号线P3.0(RXD)连到2号机8031串行口发送信号线P3.1(TXD)。

(三)、实验步骤

1.按图连好线路。

2.在DVCC实验系统处于"P."状态下。

3.1号机输入四位起始地址0D00后,按EXEC键连续运行程序。

4.2号机输入四位起始地址0E30后,按EXEC键连续运行程序。

5.从1号机上的键盘输入数字键,会显示在2号机的数码管上。

(四)程序(统晶振是6.0MHz)

发送程序:

ORG0D00H

START:

MOVSP,#60H

MOVA,#01H

MOVR0,#79H

MOV@R0,A

INCR0

MOVA,#10H

MOV@R0,A

INCR0

MOVA,#01H

MOV@R0,A

INCR0

MOVA,#03H

MOV@R0,A

INCR0

MOVA,#00H

MOV@R0,A

INCR0

MOVA,#08H

MOV@R0,A

MOVA,#7EH

MOVDPTR,#1FFFH

MOVX@DPTR,A

MOVSCON,#50H;串口方式1

MOVTMOD,#20H;T1方式1

MOVTL1,#0CCH;波特率9600的常数

MOVTH1,#0CCH

SETBTR1;开中断

CLRET1

CLRES

REDIKEY:

LCALLKEYDISP;读键盘

CJNEA,#10H,SS0

SS0:

JNCREDIKEY

MOVSBUF,A;串口输出键盘输入的值

NOP

SS:

JBCTI,REDIKEY;是否发送完毕

SJMPSS

KEYDISP:

LCALLDISP

LCALLKEYSM

MOVR4,A;KEYDATA

MOVR1,#76H;DATASAMETIME

MOVA,@R1

MOVR2,A

INCR1

MOVA,@R1

MOVR3,A;LASTKEYDATA

XRLA,R4

;TWOTIMEKEYDATA

MOVR3,04H;NEWKEYDATA---R3

MOVR4,02H;TIME---R4

JZKEYDISP1

MOVR2,#88H

MOVR4,#88H

KEYDISP1:

DECR4

MOVA,R4

XRLA,#82H

JZKEYDISP2

MOVA,R4;R4=TIME

XRLA,#0EH

JZKEYDISP2

MOVA,R4

ORLA,R4

JZKEYDISP3

MOVR4,#20H;R4=20H

DECR2

LJMPKEYDISP5

KEYDISP3:

MOVR4,#0FH

KEYDISP2:

MOVR2,04H

MOVR4,03H

KEYDISP5:

MOVR1,#76H

MOVA,R2

MOV@R1,A

INCR1

MOVA,R3

MOV@R1,A

MOVA,R4;****

CJNER3,#10H,KEYDISP4

KEYDISP4:

RET

DISP:

SETB0D4H

MOVR1,#7EH

MOVR2,#20H

MOVR3,#00H

DISP1:

MOVDPTR,#DATACO

MOVA,@R1

MOVCA,@A+DPTR

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVDPTR,#0FF21H

MOVA,R2

MOVX@DPTR,A

LCALLDELAY

DECR1

CLRC

MOVA,R2

RRCA

MOVR2,A

JNZDISP1

CLR0D4H

RET

DELAY:

MOVR6,#02H

DELAY0:

MOVR7,#0FFH

DELAY1:

DJNZR7,DELAY1

DJNZR6,DELAY0

RET

DATACO:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEH

KEYSM:

SETB0D4H

MOVA,#0FFH

MOVDPTR,#0FF22H

MOVX@DPTR,A;OFFDISP

KEYSM0:

MOVR2,#0FEH

MOVR3,#08H

MOVR0,#00H

KEYSM1:

MOVA,R2

MOVDPTR,#0FF21H

MOVX@DPTR,A

NOP

RLA

MOVR2,A

MOVDPTR,#0FF23H

MOVXA,@DPTR

CPLA

NOP

NOP

NOP

ANLA,#0FH

JNZKEYSM2

INCR0;NOKEY

DJNZR3,KEYSM1

SJMPKEYSM10

KEYSM2:

;YKEY

CPLA

JB0E0H,KEYSM3

MOVA,#00H

SJMPKEYSM7

KEYSM3:

JB0E1H,KEYSM4

MOVA,#08H

SJMPKEYSM7

KEYSM4:

JB0E2H,KEYSM5

MOVA,#10H

SJMPKEYSM7

KEYSM5:

JB0E3H,KEYSM10

MOVA,#18H

KEYSM7:

ADDA,R0

CLR0D4H

CJNEA,#10H,KEYSM9

KEYSM9:

JNCKEYSM10

MOVDPTR,#KEYDATA

MOVCA,@A+DPTR

KEYSM10:

RET

KEYDATA:

DB07H,04H,08H,05H,09H,06H,0AH,0BH

DB01H,00H,02H,0FH,03H,0EH,0CH,0DH

END

接收程序:

系统晶振是6.0MHz

ORG0E30H

START:

MOVSP,#60H

movA,#02H

MOVR0,#79H

MOV@R0,A

INCR0

MOVA,#10H

MOV@R0,A

INCR0

MOVA,#01H

MOV@R0,A

INCR0

MOVA,#03H

MOV@R0,A

INCR0

MOVA,#00H

MOV@R0,A

INCR0

MOVA,#08H

MOV@R0,A

MOVA,#7EH

MOVDPTR,#1FFFH

MOVX@DPTR,A

MOVSCON,#50H;串口方式1

MOVTMOD,#20H;T1方式1

MOVTL1,#0CCH;波特率9600的常数

MOVTH1,#0CCH

SETBTR1;开中断

CLRET1

CLRES

WAIT:

JBCRI,DIS_REC;是否接收到数据

LCALLDISP;

SJMPWAIT;

DIS_REC:

MOVA,SBUF;读串口接收到的数据

LCALLDATAKEY;显示输入的数字(0-F)

DB79H,7EH

AJMPWAIT

DATAKEY:

MOVR4,A

MOVDPTR,#1FFFH

MOVXA,@DPTR

MOVR1,A

MOVA,R4

MOV@R1,A

CLRA

POP83H

POP82H

MOVCA,@A+DPTR

INCDPTR

CJNEA,01H,DATAKEY2

DECR1

CLRA

MOVCA,@A+DPTR

DATAKEY1:

PUSH82H

PUSH83H

MOVDPTR,#1FFFH

MOVX@DPTR,A

POP83H

POP82H

INCDPTR

PUSH82H

PUSH83H

RET

DATAKEY2:

DECR1

MOVA,R1

SJMPDATAKEY1

DISP:

SETB0D4H

MOVR1,#7EH

MOVR2,#20H

MOVR3,#00H

DISP1:

MOVDPTR,#DATACO

MOVA,@R1

MOVCA,@A+DPTR

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVDPTR,#0FF21H

MOVA,R2

MOVX@DPTR,A

LCALLDELAY

DECR1

CLRC

MOVA,R2

RRCA

MOVR2,A

JNZDISP1

CLR0D4H

RET

DELAY:

MOVR7,#03H

DELAY0:

MOVR6,#0FFH

DELAY1:

DJNZR6,DELAY1

DJNZR7,DELAY0

RET

DATACO:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEH

END

实验六:

利用8155控制数码管显示

(一)实验内容

1.请利用8155控制的显示器编写一个8字循环的程序。

2.请在显示器上静态显示“HELLO”这个英文单词。

(二)

硬件电路图

(三)程序(系统设置:

内程序,内数据)

备注:

8155控制口FF20H

8155A口(字位)FF21H

8155B口(字形)FF22H

8155C口(键扫)FF23H

1.MOVA,#80H

MOVDPTR,#0FF22H

MOVX@DPTR,A

MOVA,#01H

MOVDPTR,#0FF21H

LOOP:

MOVX@DPTR,A

LCALLDELAY

RLA

SJMPLOOP

DELAY:

MOVR6,#0FFH

D1:

MOVR7,#0FFH

DJNZR7,$

DJNZR6,D1

RET

END

2.ORG2000H

MOVR0,#22H;字形

MOVR1,#21H;字位

START:

MOVR3,#00H

MOV30H,#20H

ST:

MOVDPTR,#TAB

MOVA,R3

MOVCA,@A+DPTR

MOVX@R0,A

MOVA,30H

MOVX@R1,A

LCALLDELAY

INCR3

RRA

MOV30H,A

CJNER3,#05H,ST

SJMPSTART

DELAY:

MOVR6,#0FFH

DJNZR6,$

RET

TAB:

DB89H,86H,0C7H,0C7H,0C0H

END

 

硬件实习

实习一:

利用单片机控制8*8LED矩阵。

1.利用单片机机箱判断出8*8LED矩阵块的行(C1-C8)和列(R1-R8).

2.利用单片机编程实现8*8LED矩阵单列循环显示。

3.利用单片机编程实现8*8LED矩阵静态显示数字2。

4.利用单片机编程实现8*8LED矩阵动态向左移动显示数字2和3。

利用单片机P1口控制矩阵的行(字型显示),利用74ls138输出端控制列扫描(备注:

由于单片机机箱P0,P2口集成不可用;P3口不可用,因此利用8255的扩展端口PB0、PB1、PB2做译码器的输入端,PB口地址为0FF29H)

1.阵列管脚(需要学生拿到矩阵块测试,利用单片机机箱的VCC接一电阻,测试行和列)行接LED阳极,列接LED阴极

R7

R6

R4

C2

C4

C1

C3

C6

R5

R8

R3

R2

R1

C7

C5

C8

2.单列循环程序

ORG2000H

ST:

MOVR4,#8

MOVR2,#0

LOOP1:

MOVP1,#0FFH

MOVDPTR,#0FF29H

MOVA,R2

MOVX@DPTR,A

LCALLDELAY

INCA

MOVR2,A

DJNZR4,LOOP1

SJMPST

DELAY:

MOVR5,#10

D2:

MOVR6,#200

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

DJNZR5,D2

RET

END

3.显示数字“2”

ORG2000H

START:

MOVR2,#00H

MOVR3,#00H

XIAN:

MOVA,R2

MOVD

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2