《单片机原理及应用》实验指导Word格式文档下载.docx

上传人:b****6 文档编号:21902311 上传时间:2023-02-01 格式:DOCX 页数:14 大小:68.50KB
下载 相关 举报
《单片机原理及应用》实验指导Word格式文档下载.docx_第1页
第1页 / 共14页
《单片机原理及应用》实验指导Word格式文档下载.docx_第2页
第2页 / 共14页
《单片机原理及应用》实验指导Word格式文档下载.docx_第3页
第3页 / 共14页
《单片机原理及应用》实验指导Word格式文档下载.docx_第4页
第4页 / 共14页
《单片机原理及应用》实验指导Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

《单片机原理及应用》实验指导Word格式文档下载.docx

《《单片机原理及应用》实验指导Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》实验指导Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

《单片机原理及应用》实验指导Word格式文档下载.docx

DJNZR2,L1

L2:

SJMPL2

运行MCS-51仿真软件,在编辑窗口编辑好文件SUM。

ASM后,按F10键进入主菜单选择Assemble项进行汇编,若无误后按F8键执行。

C、注意:

在程序执行前,按F10键进入主菜单选择WINDOWS窗口,按Tab键将光标移到DATA项,修改50H~55H单元的内容。

重新编译后,按F8单步运行,观察内部RAM区03H、04H单元的内容,做好记录。

练习:

(1)32H+41H+01H+56H+11H+03H=?

(2)95H+01H+02H+44H+48H+12H=?

(3)54H+F6H+1BH+20H+04H+C1H=?

实验二MCS--51汇编程序编程练习一

熟悉MCS--51的指令系统,了解编程方法。

在内部RAM的BLOCK开始的单元中有一无符号数据块,数据块长度存入LEN单元。

试编程求其中的最大数并存入MAX单元中。

参考程序MAX.ASM:

ORG0000H

AJMPSTART

ORG0300H

BLOCKDATA20H

LENDATA40H

MAXDATA42H

START:

MOVMAX,#00H

MOVR0,#BLOCK

LOOP:

MOVA,@R0

CJNEA,MAX,NEXT1

NEXT1:

JCNEXT

MOVMAX,A

NEXT:

DJNZLEN,LOOP

SJMP$

END

4、实验步骤

A、运行MCS-51仿真软件,在编辑窗口编辑好文件MAX.ASM。

B、在程序执行前,选择WINDOWS窗口,将光标移到DATA项,将10个数据装入内部RAM20H~29H单元,并将40H的内容修改为10。

C、选择Assemble项进行汇编,若无误后按F8执行。

观察40H、42H单元的内容,并记录结果。

实验三MCS--51汇编程序编程练习二

在外部RAM的BLOCK单元开始有一数据块,数据块长度存入内部RAM的LEN单元。

试编程统计其中的正数、负数和零的个数分别存入内部RAM的PCOUNT、MCOUNT和ZCOUNT单元。

参考程序PMZ.ASM:

ORG0000H

BLOCKXDATA1000H

LENDATA20H

PCOUNTDATA21H

MCOUNTDATA22H

ZCOUNTDATA23H

START:

MOVR0,#00H

MOVR1,#00H

MOVR2,#00H

MOVDPTR,#BLOCK

MOVXA,@DPTR

INCDPTR

JBACC.7,FU

CJNEA,#00H,NEXT1

SJMPNEXT

INCR2

SJMPNEXT

FU:

INCR1

MOVZCOUNT,R0

MOVMCOUNT,R1

MOVPCOUNT,R2

A、运行MCS-51仿真软件,在编辑窗口编辑好文件PMZ.ASM。

B、在程序执行前,选择WINDOWS窗口,将光标移到XDATA项,将10个数据装入外部RAM1000H~1009H单元,并将20H的内容修改为10。

观察21H、22H和23H单元的内容,并记录结果。

实验四MCS--51汇编程序编程练习三

将外部RAM的40H单元中的一个字节拆成2个ASCII码,分别存入内部RAM41H和42H单元中。

参考程序ASCII.ASM:

LJMPSTART

ORG1000H

MOVDPTR,#40H

MOVR0,#41H

MOVXA,@DPTR

PUSHA

ANLA,#0FH

LCALLCHANGE

MOV@R0,A

POPA

SWAPA

ANLA,#0FH

LCALLCHANGE

CHANGE:

CJNEA,#0AH,NEXT

JNCNEXT1

ADDA,#30H

RET

ADDA,#37H

A、运行MCS-51仿真软件,在编辑窗口编辑好文件ASCII.ASM。

B、在程序执行前,选择WINDOWS窗口,将光标移到DATA项,将12H数据装入外部RAM40H单元。

观察41H、42H单元的内容,并记录结果。

D、选择WINDOWS窗口,将光标移到DATA项,把外部RAM40H单元的内容修改为ABH。

再选择Assemble项进行汇编,若无误后按F8执行。

实验五ADC0809模数转换实验

一、实验目的

1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用

2、掌握用少量的指令调试硬件的方法

3、掌握用查询方式、中断方式完成模/数转换程序的编写方法

二、实验说明

本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。

下图为该芯片的引脚图。

各引脚功能如下:

IN0~IN7:

八路模拟信号输入端。

ADD-A、ADD-B、ADD-C:

三位地址码输入端。

八路模拟信号转换选择由这三个端口控制。

CLOCK:

外部时钟输入端。

D0~D7:

数字量输出端。

OE:

A/D转换结果输出允许控制端。

当OE为高电平时,

允许A/D转换结果从D0~D7端输出。

ALE:

地址锁存允许信号输入端。

八路模拟通道地址

由A、B、C输入,在ALE信号有效时将该八路地址锁存。

启动A/D转换信号输入端。

当START端输入一个正脉冲时,将进行A/D转换。

EOC:

A/D转换结束信号输出端。

当A/D转换结束后,EOC输出高电平。

ref(+)、ref(-):

正负基准电压输入端。

基准正电压的典型值为+5V。

VCC和GND:

芯片的电源端和地端。

三、实验步骤

1、使用ADC0809与单片机接口模块,用十线扁平插头将P1口与8位发光二极管模块相连,用导线将RXD、TXD与串行静态显示模块的DIN、CLK相连,将+5V电源和地分别接口到模拟信号输入的“+”“-”两端,将实验台左右两块面板上,正负5V电源之间的地相连。

2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。

3、启动计算机,打开伟福仿真软件,进入仿真环境。

选择仿真器型号、仿真头型号、CPU类型;

选择通信端口,测试串行口。

4、输入源程序,编译无误后,全速运行程序,5LED静态显示“ADXX”,“XX”为AD转换后的值,8位发光二极管显示“XX”的二进制值,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0~FFH。

5、可把源程序编译成OBJ文件,烧录到89C51芯片中。

四、流程图及源程序

1.源程序

DBUF0EQU30H

TEMPEQU40H

DINBIT0B0H

CLKBIT0B1H

START:

MOVR0,#DBUF0;

显示缓冲器存放0AH,0DH,-,0XH,0XH

MOV@R0,#0AH;

串行静态显示“ADXX”XX表示0~F

INCR0

MOV@R0,#0DH

INCR0

MOV@R0,#11H

MOVDPTR,#0FEF3H;

A/D地址

MOVA,#0;

清零

MOVX@DPTR,A;

启动A/D

WAIT:

JNBP3.3,WAIT;

等待转换结束

MOVXA,@DPTR;

读入结果

MOVP1,A;

转换结果送入发光二极管显示

MOVB,A;

累加器内容存入B中

SWAPA;

A的内容高四位与低四位交换

ANLA,#0FH;

A的内容高四位清零

XCHA,@R0;

A/D转换结果高位送入DBUF3中

INCR0

MOVA,B;

取出A/D转换后的结果

ANLA,#0FH;

XCHA,@R0;

结果低位送入DBF4中

ACALLDISP1;

串行静态显示“ADXX”

ACALLDELAY;

延时

AJMPSTART

DISP1:

静态显示子程序

MOVR0,#DBUF0

MOVR1,#TEMP

MOVR2,#5

DP10:

MOVDPTR,#SEGTAB;

表头地址

MOVA,@R0

MOVCA,@A+DPTR;

取段码

MOV@R1,A;

到TEMP中

INCR1

DJNZR2,DP10

MOVR0,#TEMP;

段码地址指针

MOVR1,#5;

段码字节数

DP12:

MOVR2,#8;

移位次数

MOVA,@R0;

DP13:

RLCA;

段码左移

MOVDIN,C;

输出一位段码

CLRCLK;

发送一个位移脉冲

SETBCLK

DJNZR2,DP13

INCR0

DJNZR1,DP12

SEGTAB:

DB3FH,6,5BH,4FH,66H,6DH;

0,1,2,3,4,5

DB7DH,7,7FH,6FH,77H,7CH;

6,7,8,9,A,B

DB58H,5EH,79H,71H,0,40H;

C,D,E,F,(空格),-

DELAY:

MOVR4,#08H;

AA1:

MOVR5,#0FFH

AA:

NOP

NOP

DJNZR5,AA

DJNZR4,AA1

RET

END

2.流程图

图9程序流程图

五、思考题

1、A/D转换程序有三种编制方式:

中断方式、查询方式、延时方式,实验中使用了查询方式,请用另两种方式编制程序。

2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择开关在利用P0口的数据口或地址地位口时,程序指令和硬件连线的关系。

六、电路图

图10实验电路原理图

实验六DAC0832数模转换实验

1、掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法

2、掌握用仿真器调试硬件电路的方法

3、掌握D/A转换程序的编程方法和调试方法

DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,DAC0832各引脚功能说明:

DI0~DI7:

转换数据输入端。

CS:

片选信号输入端,低电平有效。

ILE:

数据锁存允许信号输入端,高电平有效。

WR1:

第一写信号输入端,低电平有效,

Xfer:

数据传送控制信号输入端,低电平有效。

WR2:

第二写信号输入端,低电平有效。

Iout1:

电流输出1端,当数据全为1时,输出电流最大;

当数据全为0时,输出电流最小。

Iout2:

电流输出2端。

DAC0832具有:

Iout1+Iout2=常数的特性。

Rfb:

反馈电阻端。

Vref:

基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:

-10V~+10V。

DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:

直通方式、单缓冲方式、双缓冲方式。

直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。

单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将WR2和Xfer相连在接到地上,并把WR1接到89C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。

双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模拟量要求同时输出的情况下。

三种工作方式区别是:

直通方式不需要选通,直接D/A转换;

单缓冲方式一次选通;

双缓冲方式二次选通。

1、使用DAC0832与单片机接口电路模块,将-5V电源接到参考电压输入端,模拟信号输出V0的正负两端接示波器探头。

4、输入源程序,编译无误后,全速运行程序,观察示波器测量输出波形的周期和幅度。

1.源程序

ORG0000H

AJMPSTART

ORG0100H

MOVDPTR,#0FEFFH;

置DAC0832的地址

LP:

MOVA,#0FFH;

设定高电平

MOVX@DPTR,A;

启动D/A转换,输出高电平

LCALLDELAY;

延时显示高电平

MOVA,#00H;

设定低电平

MOVX@DPTR,A;

启动D/A转换,输出低电平

延时显示低电平

SJMPLP;

连续输出方波

MOVR3,#11;

延时子程序

D1:

NOP

DJNZR3,D1

图11程序流程图

1、计算输出方波的周期,并说明如何改变输出方波的周期。

2、硬件电路不改动的情况下,请编程实现输出波形为锯齿波及三角波。

3、请画出DAC0832在双缓冲工作方式时的接口电路,并用两片DAC0832实现图形x轴和y轴偏转放大同步输出。

六、电路图

图12实验电路原理图

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

当前位置:首页 > 考试认证 > 其它考试

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

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