单片机试验讲义改Word下载.docx

上传人:b****5 文档编号:19675458 上传时间:2023-01-08 格式:DOCX 页数:40 大小:1.02MB
下载 相关 举报
单片机试验讲义改Word下载.docx_第1页
第1页 / 共40页
单片机试验讲义改Word下载.docx_第2页
第2页 / 共40页
单片机试验讲义改Word下载.docx_第3页
第3页 / 共40页
单片机试验讲义改Word下载.docx_第4页
第4页 / 共40页
单片机试验讲义改Word下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

单片机试验讲义改Word下载.docx

《单片机试验讲义改Word下载.docx》由会员分享,可在线阅读,更多相关《单片机试验讲义改Word下载.docx(40页珍藏版)》请在冰豆网上搜索。

单片机试验讲义改Word下载.docx

RAM用来存放运算的中间结果和采集的数据等。

51系列单片机P0、P2口作为16位地址总线,可在片外分别扩展64K×

8位EPROM和64K×

8位RAM。

共计2×

64K存储器。

从逻辑的角度看,存储器地址空间可分为三类:

1片内外统一编址0000H~FFFFH的64K字节的ROM空间,采用16位地址。

2片外64K字节RAM地址空间。

地址也从0000H~FFFFH,采用16位地址。

3片内256字节RAM地址空间,采用8位地址。

这256字节被分成两个区域:

00H~7FH地址是真正的RAM区,CPU可以读、写各种数据。

而80H~FFH地址是专门用作特殊功能寄存器的区域,共安排了21个8位特殊功能寄存器SFR。

MCS-51系列单片机存储器结构如图1-2所示。

 

由图1-2可见,上述三个存储器地址空间有重叠区,为区别这三个不同的逻辑空间,MCS-51的指令系统设计了三种不同的数据传送类指令操作码加以区别:

(1)CPU访问片内外64K地址空间ROM用MOVC指令;

(2)CPU访问片外64K地址空间RAM用MOVX指令;

(3)CPU访问片内RAM的256个字节地址空间用MOV指令。

3.定时器/计数器

51系列弹片机有两个定时器/计数器,即定时器/计数器0和1。

它们既可以编程作为定时器,也可以编程作为计数器使用。

若计数计的是内部晶振的驱动时钟,它就是定时器;

若计数计的是输入引脚的脉冲信号,它就是计数器。

定时器和计数器都是加1计数的,定时器实际上也是以计数方式工作,只是它对固定频率的脉冲计数,由于脉冲周期固定,由计数值可以计算出时间。

用于控制和确定各定时器/计数器的功能与操作模式的寄存器有:

模式控制寄存器TMOD;

控制寄存器TCON。

4.中断

中断是指当计算机执行正常程序时,由于系统中出现某些需要紧急处理的情况或特殊请求时,计算机打断当前正在运行的程序,转而对这些紧急情况进行处理,处理完毕后,计算机返回原来被打断的运行程序继续执行。

终端控制方式使CPU在平时可以利用充分的时间去处理主要事件,而当外界有特殊情况需要处理时CPU也不会错过,以次提高工作效率。

在编制实时性要求较高的程序时,采用中断方式是非常必要的。

51系列单片机有5个中断源,可分为2个优先级,每个中断源的优先级都是可编程的。

51系列单片机的5个中断源是:

★外部中断请求0,由

输入;

★外部中断请求1,由

★片内定时器/计数器0溢出中断请求;

★片内定时器/计数器1溢出中断请求;

★片内串行口发送/接受中断请求。

控制中断的寄存器主要有:

中断允许寄存器IE;

中断优先级寄存器IP。

关于这两个寄存器的用法请同学们参考有关的书籍

1.3MCS-51系列单片机指令系统

MCS-51系列单片机指令系统共有111条指令,其中单字节指令49条,双字节指令45条,三字节指令17条。

从指令执行的时间看,单机器周期(12个震荡周期)指令64条,双机器周期(24个震荡周期)指令45条,只有乘、除2条指令的执行时间为4个机器周期(48个震荡周期)。

若晶振为12MHZ,则指令功能的执行时间分别为1μs,2μs,4μs。

MCS-51的硬件结构中有一个布尔处理机,指令系统中相应地设计了一个处理布尔变量的指令子集。

在这一指令子集中,有丰富的位操作指令,这些指令与位操作部件结合在一起,构成了一个比较完整的位处理器,即布尔处理机。

有了位处理器就可以把大量的硬件组合逻辑用软件来代替,方便地用于各种逻辑控制。

具体的指令助记符及含义请同学们参考有关的书籍。

1.4MCS-51系列单片机的引脚及功能

在MCS-51系列单片机中,各种型号芯片的引脚功能是互相兼容的,其封装形式一般是采用双列直插式的,也有采用方形的封装方式的。

图1-3是双列直插式芯片的引脚图。

这40条引脚按功能分可分成三大部分:

1.电源及时钟

VSS(20)—电源地线,工作时接地;

VCC(40)—电源,外接+5V;

XTAL1(19)和XTAL2(18)—外接晶体引脚。

在使用单片机内部振荡电路时,用来外接石英晶振和微调电容,在使用外部脉冲时,用来输入时钟脉冲。

2.控制或与其它电源复用引脚

RST/VPD(9)—此脚有两个功能:

第一功能是上电复位信号输入线。

当RST引脚上出现两个机器周期的高电平时将使单片机复位。

第二功能是备用电源输入端。

当主电源发生故障时,VPD将为RAM提供备用电源,保证RAM信息不丢。

(29)—外部程序存储器ROM的读选通信号。

在CPU访问外部程序存储器时,

=0的有效信号自动生成。

ALE/

(30)—此引脚有两个功能:

第一功能是外部地址低8位锁存有效信号输出端。

在CPU访问外部存储器时,ALE的输出用于锁存地址的低位字节。

即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为震荡频率的1/6。

因此,它可作为对外输出的脉冲,或用于定时的目的。

第二功能

是对8751片内EPROM编程时的编程脉冲输入端。

/VPP(31)—此引脚也是双功能脚。

第一功能是片外ROM选择信号输入端。

=0时,CPU从片外ROM读取指令;

=1时,CPU从片内ROM读取指令。

第二功能VPP是对片内有EPROM的8751来说,此引脚接21V的编程电源VPP。

3.I/O口线

P0口—8位三态双向口。

在单片机外扩存储器或I/O接口时,作为地址总线低8位A7~A0和数据总线D7~D0。

P0口能驱动8个TTL门电路,但在驱动MOS电路时若作为地址/数据总线使用可以直接驱动而不必外加上拉电阻。

对8031单片机来讲,P0口只能做地址/数据复用总线,而对于有内部ROM的单片机,P0口可作通用I/O端口,此时在驱动NMOS电路时要外接上拉电阻。

P1口—8位准双向并行I/O口。

P1口能驱动4个TTL门电路。

并且不需外加电阻就能驱动MOS电路。

P2口—8位准双向口。

作为地址总线高8位A15~A8,与P0一起形成16位地址总线。

驱动能力同P1、P2口也能做通用I/O端口使用。

P3口—8位准双向口。

P3口是一个多用途端口,除可作通用I/O端口外,它的每条引脚还有第二功能,这些功能见表1-1。

其驱动能力同P1。

P3口的第二功能表1-1

口线

第二功能标记

第二功能注释

P3.0

RXD

串行数据输入端

P3.1

TXD

串行数据输出端

P3.2

外部中断0请求输入端

P3.3

外部中断1请求输入端

P3.4

T0

定时器/计数器0的外部输入端

P3.5

T1

定时器/计数器1的外部输入端

P3.6

外部数据存储器写选通端

P3.7

外部数据存储器读选通端

第二章伟福仿真器简介

2.1功能简介

伟福仿真器是南京伟福实业有限公司推出的单片机开发装置,所谓单片机开发装置是指能够承担单片机开发(调试、测试、软件编写等)工作的仪器或系统。

伟福仿真器的主要功能如下:

1.主机+仿真头组合

通过更换不同的仿真头可对不同类型的单片机进行仿真。

2.双平台

仿真器支持DOS和WINDOWS版本。

其中WINDOWS版本功能强大,支持ASM、C、PLM语言混合编程;

有项目管理功能,为用户的资源共享、课题重组提供方便;

有丰富的窗口显示方式,多方位、动态地显示仿真的各种过程。

3.双工作模式

可工作于软件模拟仿真(不要仿真器也能模拟仿真)和硬件仿真两种状态下。

4.双CPU结构,100%不占用户资源。

全空间硬件断点,不受任何条件限制。

5.双集成环境

编辑、编译、下载、调试全集中在一个环境下,统一的界面,包含一个项目管理器、一个编辑器,为编译和调试提供了方便。

2.2操作步骤

如上所述,伟福仿真软件可对文件进行编辑、编译、仿真等,在编译中可提示编译中的错误;

有单步运行功能,可及时观察指令的执行情况;

在调试界面的窗口可看到地址数据、总线状态及I/O端口数据传送情况等。

可在无仿真器的情况下进行软件仿真,使用较为方便。

使用伟福仿真器的操作步骤如下:

1.在开始菜单的程序中或桌面上双击“WAVE”,出现如图2-1所示窗口:

2.单击“好”。

3.在菜单栏中单击“文件”并选择下拉菜单中的“新建文件”选项,或用快捷键

,如图2-2所示。

4.在右边空白处编写程序,编写完后,再在“文件”的下拉菜单中选择“保存文件”,此时要注意,在输入文件名时必须写入后缀asm、c或plm,分别对应汇编文件、C文件或PLM/51文件。

注意:

用C编写的文件,文件名不能用中文,也不能存在中文名的子目录中,且字长不能超过8个字符。

5.程序编写完并保存后,首先单击菜单栏中的“仿真器”,在下拉菜单中选择“仿真器设置”,出现如图2-3所示的窗口,单击“仿真器”选项,选择K51/T或K51/S(由仿真器的型号决定),然后单击“语言”选项,在“编译器选择”中,选择“伟福汇编器”,若使用C编写的文件,则要选择“Keilc(V4或更低),英特尔PL/M51,英特尔汇编器”,然后单击“好”。

6.单击“项目”,选择“编译”,或用快捷键

,编译后的程序如图2-4上面右边窗口所示。

同时观察信息窗口,若无错误,信息窗口显示如图2-4下面窗口所示信息,若有错误,按信息窗口中的信息提示改正错误,直至正确为止。

7.合上伟福仿真器电源,单击“仿真器”,在下拉菜单中选择“仿真器设置”,出现如图2-5所示窗口,单击“通信设置”,将“使用伟福软件模拟器”前面的“✓”去掉,再在端口选择中选择仿真器与计算机连接的串口号,单击“好”。

8.将仿真器与计算机连接好,外部电路连接好,在图2-6所示的窗口中单击“执行”,在下拉菜单中选择“全速执行”,或使用快捷键,便可在硬件电路中看到程序运行的结果。

以上是使用伟福仿真器进行软、硬件仿真的大致过程,伟福仿真器还有许多功能,在使用中也还有许多的快捷键,详情请同学们参阅伟福仿真器的说明书。

注:

伟福仿真器的说明书及应用可登陆其网站下载,网址为:

www.wave-

第三章单片机基本系统试验

实验一P1口作为输出口实验

一.实验目的

了解P1口作为输出方式使用时,CPU对P1口的操作方式。

二.实验设备

1.计算机一台;

2.AY-USB-51F开发板一套;

三.实验原理

  P1口作为8位准双向口,每一位可独立定义为输入/输出。

CPU对P1的操作可以是字节操作,也可以是位操作。

实验中P1口接8个发光二极管,通过编写不同的程序控制8个发光二极管的不同状态,以了解CPU对P1口的操作指令。

四.实验内容与步骤

(一)编制8个发光二极管右移循环点亮程序并运行。

1.编写程序,编写完后在伟福仿真器软件模拟状态下,进行软件仿真(参考第二章仿真器操作步骤的5、6),软件仿真成功后,往下进行。

若仿真有问题。

按所提示的问题进行修改,直至成功。

2.将实验板连接好后,进行写器件操作,观察运行结果,若有问题再进行调试。

每次写新的程序前,要先擦除芯片。

3.参考程序

(1)汇编语言编写的右移循环点亮程序

ORG0000H

IOO:

MOVA,#01H;

选第一个发光管

L1:

MOVP1,A;

送P1口

ACALLDL;

调延时

RRA;

右移

AJMPL1

DL:

MOVR7,#00H

DL1:

MOVR6,#0FFH;

延时

DL6:

DJNZR6,DL6

DJNZR7,DL1

RET

(2)C语言编写的隔一个右移循环点亮程序(注意:

此程序中的P要大写)

#include<

reg51.h>

voiddelay(intms)//延时子程序。

{inti,j;

for(i=0;

i<

=ms;

i++)

for(j=o;

j<

=120;

j++)

voidmain(void)

{while

(1)

{P1=0xfe;

delay(300);

//按位控制每个发光二极管,使其间隔一个循环点亮。

P1=0xfa;

P1=0xea;

delay(300);

P1=0xaa;

P1=0xfd;

P1=0xf5;

P1=0xd5;

P1=0x55;

(二)编制8个发光二极管隔两个右移循环点亮程序并运行。

按图3-1接线。

(一)的相应步骤编写并运行程序。

(三)编制8个发光二极管同时亮延时灭的循环程序并运行。

实验二定时器/计数器实验

学习单片机的定时/计数功能,掌握怎样通过修改软件来改变定时器的工作模式及定时时间。

2.AY-USB-51F开发板一套;

1.概述

MCS-51内部有两个可编程的16位定时器/计数器T0、T1。

可以工作于定时器方式或外部事件计数器方式。

工作方式的选择由特殊功能寄存器TMOD中的M1M0控制位决定。

工作于定时器方式时,寄存器内容每个机器周期增量一次。

所以可以把定时器看作是在对机器周期计数。

一个机器周期由12个振荡周期组成,则计数速度是振荡频率的1/12。

当采用12MHZ的晶振时,计数速率为1MHZ。

工作于“计数器”方式时,计数脉冲来自相应的外部输入引脚,如果在P3.4或P3.5引脚上有个“1”到“0”的跳变,则寄存器内容增量一次。

需要用两个机器周期,即24个振荡周期,才能识别一个从“1”到“0”的跳变,因此,最高计数速率为振荡频率的1/24。

当采用12MHZ的晶振时,最高计数频率为500KHZ。

2.定时器/计数器的计数初值计算

设系统晶振频率为12MHZ,则计数频率为1MHZ,对于不同的工作模式,定时器最大时间间隔不同,现以模式0为例,说明定时器/计数器的计算方法。

模式0为13位定时器,它的最大时间间隔为213×

1μs=8.192ms,当需要定时时间为yms时,计数寄存器的初值x按下面的公式计算:

(213-x)×

1μs=y×

1000μs

例:

在模式0下,要求用定时器/计数器0产生定时0.5ms,求计数寄存器的初值x。

解:

带入公式得:

(213-x)×

1μs=0.5×

求得x=7692=1111000001100B。

高8位赋给TH0,低5位赋给TL0。

则计数寄存器的初值为:

TH0=F0H,TL0=0CH。

其余模式定时器/计数器的计数初值计算以此类推。

四.实验内容及步骤

(一)用定时器T0产生0.5ms定时,并在P1.0输出周期为1ms的方波。

晶振为12MHZ。

T0工作于模式“0”。

1.编写程序,编写完后在伟福仿真器软件模拟状态下,进行软件仿真,软件仿真成功后,往下进行。

若仿真有问题,按所提示的问题进行修改,直至成功。

(1)汇编语言编写的程序

TIM:

MOVTL0,#0CH;

送初值

MOVTH0,#0F0H

SETBTR0;

启动T0

LP:

JBCTF0,LP1;

查询定时到否

AJMPLP

LP1:

CPLP1.0;

P1.0求反

(2)C语言编写的程序(注意程序中的大、小写)

#include<

reg51.h>

sbitP10=P1^0;

voidclock_initial()

{TR0=0;

TF0=0;

/*清TF0位*/

TH0=0xF0;

/*装载计数初值*/

TL0=0x0C;

TR0=1;

}/*启动定时器/计数器0*/

voidmain()

{TMOD=0x00;

/*定时器0,模式0*/

for(;

{clock_initial();

do{}while(!

TF0);

/*查询、等待TF0置位*/

P10=!

P10;

}/*定时时间到,P1.0翻转*/

}

(二)使定时器T0工作于模式1,编制定时器1ms定时,P1.0输出2ms方波的程序。

(一)的相应步骤编写并运行程序。

实验三  中断实验

通过实验了解单片机中断原理、中断过程、中断方式(电平触发方式、边沿触发方式)的选择及编程方法。

利用R-S触发器边沿触发INT0(P3.2)口,使产生中断,每请求一次中断,转到中断服务程序,控制P1口的8个发光二极管隔一个循环点亮。

(一)编制P1口发光二极管隔一个亮程序作为中断服务程序

1.编写程序,编写完后在伟福仿真器软件模拟状态下进行软件仿真,软件仿真成功后,往下进行。

2.将实验板连接好后,进行写器件操作,观察运行结果,若有问题再进行调试。

3.中断脉冲由实验板上的K1-K8按钮产生,引起中断后便进入中断服务程序,观察程序运行结果。

4.参考程序

(1)用汇编语言编写的程序

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT0

MAIN:

SETBP3.2

SETBIT0;

置外部中断INT0

SETBEX0

SETBEA;

开中断

HERE:

AJMPHERE;

中断等待

INT0:

MOVA,#55H;

中断服务

MOVP1,A;

P1口LED隔一个亮

RETI

(2)用C语言编写的程序

#include<

voidstartset(void)

IE=0;

IP=0x0b;

IT0=1;

EX0=1;

EA=1;

INT0=1;

voiddelay(intms)/*延时子程序*/

for(j=0;

j++);

voidlight(void)/*中断响应,使每发生一次中断,就多点亮一个发光二极管*/

{EX0=0;

P1=P1<

<

1;

delay(500);

IE0=0;

{startset();

if(INT0==0)light();

(以下实验需用单片机仿真器做)

第四章单片机扩展及接口实验

实验一数据存储器扩展实验

掌握单片机内部RAM和外部RAM之间的数据传送的特点和应用,掌握存储器扩展方法。

二. 实验设备

2.伟福仿真器一台;

3.5V稳压电源一台;

    4.单片机实验板一块。

三. 实验原理

1.数据存储器RAM概述

MCS-51系列单片机内部有128字节的RAM存储器,但在实时数据采集系统中,仅靠片内128字节的RAM是不够的,因此需外扩RAM。

常用的外部数据存储器由静态RAM(StaticRandomAccessMemory—SRAM)和动态RAM(DynamicRandomAccessMemory—DRAM)两种,本实验只讨论静态RAM。

MCS-51单片机扩展外部数据存储器的地址是由P0口和P2口提供的,因此最大寻址范围为64KB(0000H—FFFFH)。

2.静态RAM芯片6264简介

6264是8K×

8位的静态RAM,它采用COMS工艺制造,单一+5V电源,额定功耗200mW,典型读取时间200ns,封装形式为DIP28,其引脚排列如图4-1所示。

其中,A0~A12为地址线;

I/O0~I/O7为数据线(双向);

为片选线1,低电平有效;

CE2为片选线2,高电平有效;

为读允许信号线,低电平有效;

为写信号线,低电平有效。

四. 实验内容及步骤

  

(一)编写数据传送程序,使8031内部RAM30H~3FH置初值10H~1FH,然后送到外部RAM的2000H~200FH中。

再将20

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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