搜档网
当前位置:搜档网 › 8051单片机的工作方式

8051单片机的工作方式

8051单片机的工作方式
8051单片机的工作方式

单片机的工作方式

一,中央处理器CPU及时序

(一)中央处理器CPU

MCS-51内部有一个功能很强的8位中央处理器CPU,它决定了单片机的主要功能特性,完成对指令的解释和运算,为执行指令提供所必须的运算,逻辑和控制线路.它由运算器,控制器和专用寄存器组等构成.

1.运算器

运算器包括算术逻辑运算部件ALU,累加器ACC,寄存器B,暂存器TMP1和TMP2,程序状态字寄存器PSW,十进制调整电路和以及布尔处理器等.该模块的主要功能是实现算术运算,逻辑运算,数据传送和位变量处理等.具体包括加,减,乘,除算术运算;与,或,异或,循环,求补等逻辑运算;十进制调整,加1,减1运算;置1,清0,取反操作;数据传送操作等.同时还具有一般微机所不具有的位处理功能,这也是单片机能成为面向控制的微处理器的重要原因.

2.控制器

控制器控制着单片机系统完成各种操作.控制器一般包括时钟电路,复位电路,定时控制逻辑,指令寄存器IR,指令译码器ID,程序计数器PC和信息传送控制部件等.它以主振频率为基准,由定时控制逻辑发出CPU时序,将指令寄存器中存放的指令码取出送指令译码器进行译码,再由信息传送控制部件发出一系列的控制信号,控制单片机各部分运行,完成指令指定的功能.

(二)时钟电路

时钟电路用于产生单片机工作所需的时钟信号.单片机在时钟信号控制下,各部件之间协调一致地工作,时钟信号控制着计算机的工作节奏.

如图2-5所示为MCS-51单片机的时钟电路.在图2-5a)中,引脚XTALl和XTAL2之间跨接晶体振荡器和微调电容,可以和芯片内部的振荡器构成一个稳定的自激振荡器,这就是单片机的时钟电路,这种方式称之为内部时钟源方式.电容器C和C的主要作用是帮助振荡器起振,且电容器大小对振荡频率有微调作用,典型值为C=C=30pF.振荡频率主要由石英晶振的频率确定,目前,51系列单片机的晶振频率范围是fosc为1.2MHz~60MHz,其典型值为6MHz,12MHz,11.0592MHz,20MHz,24MHz,33 MHz,40MHz等.

8051的工作时钟也可以由外部时钟信号提供,如图2-5b)所示,外部的时钟信号由XTAL2

引脚引入.由于XTAL2端逻辑电平不是TTL的,故需外接一上拉电阻,外接的时钟频率应低于12MHz.

另外,80C51的外部时钟接法与8051不同,如图2-5c)所示,其外部时钟信号由XTALl脚引入,而XTAL2脚悬空.

(三)CPU时序

1.时序的概念

所谓时序是指各种信号的时间序列,它表明了指令执行中各种信号之间的相互关系.单片机本身就是一个复杂的时序电路,CPU执行指令的一系列动作都是在时序电路控制下一拍一拍进行的.为达到同步协调工作的目的,各操作信号在时间上有严格的先后次序,这些次序就是CPU的时序.

CPU的时序信号有两大类:一类用于单片机内部,控制片内各功能部件;另一类信号通过控制总线送到片外,这类控制信号的时序在系统扩展中比较重要,我们应当了解.

2.时序的基本单位

8051单片机以晶体振荡器的振荡周期(或外部引入的时钟信号的周期)为最小的时序单位.所以片内的各种微操作都是以晶振周期为时序基准.如图2-6所示为8051单片机的时钟信号图.

由图中可以看出,8051单片机的基本定时单位共有四个,它们从小到大分别是:

①晶振周期由振荡电路产生的振荡脉冲的周期,又称节拍(如P1,P2).

②时钟周期它是晶振周期的两倍,也即一个时钟周期包含两个相互错开的节拍,也称S状态时间.

③机器周期MCS-51单片机有固定的的机器周期,它是由晶振频率12分频后形成的,也就是说,一个机器周期是晶振周期的12倍宽.

单片机的基本操作周期为机器周期.一个机器周期有6个状态,每个状态由两个脉冲(晶振周期)组成.

即:1个机器周期=6个状态周期=12个晶振周期.

若单片机采用12MHz的晶体振荡器,则一个机器周期为1μs,若采用6MHz的晶体振荡器,则一个机器周期为2μs.

④指令周期指令周期是执行一条指令所需要的时间.不同的指令,其执行时间各不相同,如果用占用机器周期多少来衡量的话,MCS-51单片机的指令可分为单周期指令,双周期指令及四周期指令.

3.CPU的典型时序

单片机的指令的执行过程分为取指令,译码,执行三个过程.取指的过程实质上是访问程序存储器的过程,其时间长短取决于指令的字节数;译码与执行的时间长短取决于指令的类型.对于MCS-51单片机的指令系统,其指令长度为1~3个字节.其中单字节指令的运行时间有单机器周期,双机器周期和四机器周期;双字节指令有双字节单机器周期指令和双字节双机器周期指令;三字节指令则都为双机器周期指令.下面就简单介绍几个典型的时序. 对于单机器周期指令,是在S1P2时刻把指令读入指令寄存器,并开始执行指令,在S6P2结束时完成指令操作.中间在S4P2时刻读的下一条指令要丢弃,且程序计数器PC也不加1.对于双字节单机器周期指令,则在同一机器周期的S4P2时刻将第二个字节读入指令寄存器,并开始执行指令.无论是单字节还是双字节指令,均在S6P2时刻结果该指令的操作.如图2-7 a),图2-7 b)所示.

对于单字节双周期指令,在2个机器周期内要发生4次读操作码的操作,由于是单字节指令,后3次读操作都无效,如图2-7 c)所示.但访问外部数据存储器指令MOVX的时序有所不同.它也是单字节双周期指令,在第一机器周期有2次读操作,后一次无效,从S5时刻开始送出外部数据存储器的地址,随后读或写数据,读写期间在ALE端不产生有效信号.在第二个机器周期,不发生读操作,如图2-7 d)所示.

通常算术和逻辑操作在节拍P1期间进行,内部寄存器的传送在节拍P2期间进行.

二,单片机的工作方式

MCS-51系列单片机中,8051及80C51的工作方式有:复位方式,程序执行方式,掉电方式,低功耗方式以及EPROM编程和校验方式.单片机不同的工作方式,代表单片机处于不同的状态.单片机工作方式的多少,是衡量单片机性能的一项重要指标.

(一)单片机的复位方式

复位是单片机进入工作状态的初始化操作,是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作.另外,当程序运行错误或由于错误操作而使单片机进入死锁状态时,也可以通过复位进行重新启动.复位后,单片机内部寄存器的值被初始化,

其值见表2-5.了解单片机内部寄存器初始化的状态,对于熟悉单片机的操作,简化应用程

序的初始化过程是很有必要的.

表2-5 单片机复位后内部各寄存器状态

寄存器名

内容

寄存器名内容

PC 0000H TH0

00H ACC

00H

TL0

00H

B

00H

TH1

00H PSW

00H

TL1

00H

SP

07H SBUF

不定DPTR 0000H TMOD 00H

P0~P3 FFH SCON 00H

IP

×××00000B

PCON(HMOS)

0×××××××B

IE

0××00000B

PCON(CHMOS)

0×××0000B

TCON

00H

MCS-51系列单片机的RST引脚是复位信号的引入端,复位信号为高电平有效,其所需时间在2个机器周期(24个振荡周期)以上.

复位操作还会把ALE和变为无效状态,即ALE=0,=1.但复位操作不影响片内RAM单元的内容.

单片机复位的方式有:上电自动复位和按键手动复位.按键手动复位又分为按键电平复位和按键脉冲复位两种,复位电路如图2-8所示.

如图2-8 a)所示,上电自动复位是通过电容充电来实现的.通过选择适当的和的值,就能够使RST引脚上的高电平保持两个机器周期以上,以实现在上电的同时,完成单片机的复位. 图2-8 b)和图2-8 c)是通过RST经电阻与电源相连接或利用RC微分电路产生的正脉冲来实现按键复位的.这两个电路同时也具备上电自动复位的功能.

(二)程序执行方式

程序执行方式是单片机的基本工作方式,由于单片机复位后PC=0000H,所以程序总是从地址0000H开始执行.程序执行方式又可分为连续执行和单步执行两种.

1.连续执行方式

连续执行方式是从指定地址开始连续执行程序存储器ROM中存放的程序,每读一次程序,PC自动加1.

2.单步运行方式

程序的单步运行方式是在单步运行键的控制下实现的,每按一次单步运行键,程序顺序执行一条指令.单步运行方式通常只在用户调试程序时使用,用于观察每条指令的执行情况.

(三)节电工作方式

MCS-51单片机中有HMOS和CHMOS两种工艺芯片,它们的节电运行方式不同,HMOS 单片机的节电工作方式只有掉电工作方式,CHMOS单片机的节电工作方式有掉电工作方式和空闲工作方式两种.单片机的节电工作方式,是由其内部的电源控制寄存器PCON 中的相关位来控制的.PCON寄存器的控制格式如下:

位序

D7

D6

D5

D4

D3

D2

D1

D0

位符号

SMOD

GF1

GF0

PD

IDL

PCON的各位定义如下:

SMOD:串行口波特率倍率控制位(详见第六章串行口波特率一节).

GFl,GF0:通用标志位.

PD:掉电方式控制位.PD=1进入掉电工作方式.

IDL:空闲方式控制位.IDL=l,进入空闲工作方式.

如同时将PD和IDL置1,则进入掉电工作方式.PCON寄存器的复位值为

0XXX0000,PCON.4~PCON.6为保留位,用户不能对它们进行写操作.

1.空闲工作方式

当程序将PCON的IDL位置1后,系统就进入了空闲工作方式.

空闲工作方式是在程序运行过程中,用户在CPU无事可做或不希望它执行程序时,进入的一种降低功耗的待机工作方式.在此工作方式下,单片机的工作电流可降到正常工作方式时电流的15%左右.

在空闲工作方式时,振荡器继续工作,中断系统,串行口以及定时器模块由时钟驱动工作,但时钟不提供给CPU.也就是说,CPU处于待机状态,工作暂停.与CPU有关的

SP,PC,PSW,ACC的状态以及全部工作寄存器的内容均保持不变,I/O引脚状态也保持不变.ALE和保持逻辑高电平.

退出空闲方式的方法有两种,一种是中断退出,一种是按键复位退出.

任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0,从而中止空闲工作方式.当执行完中断服务程序返回时,系统将从设置空闲工作方式指令的下一条指令开始继续执行程序.另外,PCON寄存器中的GF0和GF1通用标志可用来指示中断是在正常情况下或是在空闲方式下发生.例如,在执行设置空闲方式的指令前,先置标志位GF0(或GF1);当空闲工作方式被中断中止时,在中断服务程序中可检测标志位GF0(或GF1),以判断出系统是在什么情况下发生的中断,如GF0(或GF1)为1,则是在空闲方式下进入的中断.

另一种退出空闲方式的方法是按键复位,由于在空闲工作方式下振荡器仍然工作,因此复位仅需2个机器周期便可完成.而RST端的复位信号直接将PCON.0(IDL)清0,从而退出空闲状态,CPU则从进入空闲方式的下一条指令开始重新执行程序.在内部系统复位开始,还可以有2~3个指令周期,在这一段时间里,系统硬件禁止访问内部RAM区,但允许访问I/O端口.一般地,为了防止对端口的操作出现错误,在设置空闲工作方式指令的下一条指令中,不应该是对端口写或对外部RAM写指令.

2.掉电工作方式

当CPU执行一条置PCON.1位(PD)为1的指令后,系统即进入掉电工作方式.

掉电的具体含义是指由于电源的故障使电源电压丢失或工作电压低于正常要求的范围值.掉电将使单片机系统不能运行,若不采取保护措施,会丢失RAM和寄存器中的数据,为此单片机设置有掉电保护措施,进行掉电保护处理.具体做法是:检测电路一旦发现掉电,立即先把程序运行过程中有用信息转存到RAM,然后启用备用电源维持RAM供电.

在掉电工作方式下,单片机内部振荡器停止工作.由于没有振荡时钟,因此,所有的功能部件都停止工作.但内部RAM区和特殊功能寄存器的内容被保留,端口的输出状态值都保存在对应的SFR中,ALE和都为低电平.这种工作方式下的电流可降到15 A以下,最小可

降到0.6 A.

退出掉电方式的惟一一个方法是由硬件复位,复位时将所有的特殊功能寄存器的内容初始化,但不改变内部RAM区的数据.

在掉电工作方式下,Vcc可以降到2V,但在进入掉电方式之前,Vcc不能降低.而在准备退出掉电方式之前,Vcc必须恢复正常的工作电压值,并维持一段时间(约10ms),使振荡器重新启动并稳定后方可退出掉电方式.

(四)EPROM编程和校验方式

对于片内程序存储器为EPROM型的单片机,如8751型单片机,需要一种对EPROM可以操作的工作方式,即用户可对片内的EPROM进行编程和校验.关于对片内EPROM编程和校验的具体方式,大家可参看有关资料.

基于51单片机的流水灯

基于51单片机的流水灯 利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。可以使用Proteus软件进行仿真调试。 1 硬件设计 利用单片机的PO口控制8个LED,其电路如下图所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“LSD.DSN”。在器件选择按钮中单击“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示 都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 流水灯又称为跑马灯,在函数中可以将P0口的八种不同状态做成一维数组,循环执行即可,如下所示。当然也可以采用其它函授来实现,如左移一位<<1(或右移一位>>1),循环左移函授_crol_(或循环右移函授_cror_)等。 /****************************************************************** 流水灯

*******************************************************************/ #include "reg51.h" const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delayms(unsigned int x) //延时 { unsigned int j; unsigned char k; for(j=0;j

8051单片机的内部结构

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器(CPU)是整个单片机的核心 部件,是8位数据宽度的处理器,能处理 8位二进制数据或代码,CPU负责控制、 指挥和调度整个单元系统协调的工作,完 成运算和控制输入输出功能等操作。 ·数据存储器(RAM): 8051内部有128个8位用户数据存储 单元和128个专用寄存器单元,它们是统 一编址的,专用寄存器只能用于存放控制 指令数据,用户只能访问,而不能用于存 放用户数据,所以,用户能使用的的RAM 只有128个,可存放读写的数据,运算的 中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以 用作异步通信收发器,也可以当同步移位器使用。 ·中断系统: 8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可 满足不同的控制要求,并具有2级的优先级别选择。 ·时钟电路: 8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051 单片机需外置振荡电容。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

基于8051单片机的波形发生器设计

基于8051单片机的波形发生器设计 摘要:波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。本系统是基于A T89C51单片机的数字式低频信号发生器,采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。通过按键控制可产生方波、三角波、正弦波等,同时用数码管显示其对应的频率。介绍DAC 0832数模转换器的结构原理和使用方法,A T89C51的基础理论,以及与设计电路有关的各种芯片。文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路原理和软件编程原理,其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。 关键词:AT89C51,DAC0832,LM324 一引言 波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件设计而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形,而且这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大。大电阻,大电容在制作上有困难,参数的精度也难以保证。体积大,漏电,损耗显著更是致命的弱点。 二功能分析和方案论证与比较 依据不同的设计要求选取不同的设计方案,波形发生器的具体指标要求也有所不同。通常,波形发生器需要实现的波形有正弦波、方波、三角波和锯齿波,有些场合可能还需要任意波形的产生。各种波形指标有:波形的频率、幅度要求,频率稳定度,准确度等。对于不同波形,具体的指标要求也会有所差异,例如,占空比是脉冲波形特有的指标。波形发生器的设计方案多种多样,大致可以分为三大类:纯硬件设计法、纯软件设计法和软硬件结合设计法。 1 方案一 在波形发生器设计纯硬件法的早期,波形发生器的设计主要是采用运算放大器加分立元件来实现。实现的波形比较单一,主要为正弦波、方波和三角波。工作原理相对简单:首先是产生正弦波,然后通过波形变换(正弦波通过比较器产生方波,方波经过积分器变为三角波)实现方波和三角波。在各种波形后加上一级放大电路,可以使输出波形的幅度达到要求,通过开关电路实现不同输出波形的切换,改变电路的具体参数可以实现频率、幅度和占空比的改变。通过对电路结构的优化及所用元器件的严格选取可以提高电路的频率稳定性和准确度。纯硬件法中,正弦波的设计是基础,实现方法也比较多,电路形式一般有LC、RC和石英晶体振荡器三类。LC振荡器适宜于产生几兆赫兹至几百兆赫兹的高频信号;石英晶体振荡器能产生几千赫兹至几百兆赫兹的高频信号且稳定度高;对于频率低于几兆赫兹,特别是在几百赫兹时,常采用RC振荡电路。RC振荡电路又分为文氏桥振荡电路、双T网络式和移相式振荡电路等类型。其中,以文氏桥振荡电路最为常用。目前,实现波形发生器最简单的方法是采用单片集成的函数信号发生器。它是将产生各种波形的功能电路集成到一个集成电路芯片里,外加少量的电阻、电容元件来实现。采用这种方法的突出优势是电路简单,实现方便,精度高,性能优越;缺

8051单片机常用指令

3.2.1数据传送与交换类指令 共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为目的的操作数的指令;访问外部RAM的指令;读程序存储器的指 9.堆栈操作 3.2 分类指令 在介绍各条分类指令之前,将指令中的操作数及注释中的符号说明如下。Rn:当前指定的工作寄存器组中的Ro-R7(其中n=0,1,2,…,7)。 Ri:当前指定的工作寄存器组中的RO,R1(其中i=0,1)。 (Ri):Ri间址寻址指定的地址单元。 ((Ri)):Ri间址寻址指定地址单元中的内容。 dir:8位直接字节地址(在片内RAM和SFR存储空间中)。 #data8:8位立即数。 #datal6:16位立即数。 addrl6:16位地址值。 addrll:11位地址值。 bit:位地址(在位地址空间中)。 rel:相对偏移量(一字节补码数)。 下面介绍各条分类指令的主要功能和操作,详细的指令操作说明及机器码形式可见附录。 3.2.1数据传送与交换类指令

共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为目的的操作数的指令;访问外部RAM的指令;读程序存储器的指 令;数据交换指令以及准栈操作指令。

9.堆栈操作 PUSH dir ;SP十1-6P,(dir)一(SP) POP dir ;((SP))一dir,SP-1--P , 例1 SP=07H,(35H)=55H,指令PUSH 35H执行后,55H送入08H地址单元,SP= 08H。 例2 SP=13H,(13H)= 1FH,指令POP 25H执行后,1FH压入25H地址单元,SP此时为12H。 综合例把片内RAM中50H地址单元中的内容与40H地址单元中的内容互换。方法一(直接地址传送法): MOV A ,50H

8051系列单片机常识

8051系列单片机常识 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 单片机介绍 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,

单片机常用指令

常用单片机汇编指令: 1 MOV A,Rn 寄存器内容送入累加器 2 MOV A,direct 直接地址单元中的数据送入累加器 3 MOV A,@Ri 间接RAM 中的数据送入累加器 4 MOV A,#data 立即数送入累加器 5 MOV Rn,A 累加器内容送入寄存器 6 MOV Rn,direct 直接地址单元中的数据送入寄存器 7 MOV Rn,#data 立即数送入寄存器 8 MOV direct,A 累加器内容送入直接地址单元 9 MOV direct,Rn 寄存器内容送入直接地址单元 10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 12 MOV direct,#data 立即数送入直接地址单元 13 MOV @Ri,A 累加器内容送间接RAM 单元 14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 15 MOV @RI,#data 立即数送入间接RAM 单元 16 MOV DRTR,#dat16 16 位立即数送入地址寄存器 17 MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 18 MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器 19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器 20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 21 MOVX @Ri,A 累计器送外部RAM(8 位地址) 22 MOVX @DPTR,A 累计器送外部RAM(16 位地址) 23 PUSH direct 直接地址单元中的数据压入堆栈 24 POP direct 弹栈送直接地址单元 25 XCH A,Rn 寄存器与累加器交换 26 XCH A,direct 直接地址单元与累加器交换 27 XCH A,@Ri 间接RAM 与累加器交换 8 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 算术操作类指令: 1 ADD A,Rn 寄存器内容加到累加器 2 ADD A,direct 直接地址单元的内容加到累加器 3 ADD A,@Ri 间接ROM 的内容加到累加器 4 ADD A,#data 立即数加到累加器 5 ADDC A,Rn 寄存器内容带进位加到累加器 6 ADDC A,direct 直接地址单元的内容带进位加到累加器 7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器 8 ADDC A,#data 立即数带进位加到累加器 9 SUBB A,Rn 累加器带借位减寄存器内容

基于51单片机

目录 1 引言 (1) 1.1设计要求 (1) 1.2方案论证 (2) 2 单片机和D/A转换器 (3) 2.1AT89C51单片机 (3) 2.2D/AC0808 (5) 2.3LED数码 (7) 3 电路原理与硬件实现 (9) 3.1单片机最小系统及端口连接 (9) 3.2原理介绍 (10) 3.3硬件调试 (13) 4 软件程序设计 (14) 4.1开发工具介绍 (14) 4.2软件流程图 (17) 4.3软件调试 (17) 结束语 (18) 致谢 (18) 参考文献 (18) 附录 (18)

基于51单片机的程控直流电压源 XXX XXXX物理与电子信息工程系,XXX 摘要:本设计是以ATM89C51单片机为控制核心的开关电源,具有输出电压可调,电压数字显示的功能。具体阐述了开关电源的基本原理及工作过程,电源各硬件模块的设计及软件设计。该电源硬件模块包括输入整流和滤波模块、单片机供电电源模块、D/A转换模块及LED显示模块。 关键词:稳压电源;单片机89C51;D/A转换 1 引言 随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。其良好的性价比更能为人们所接受,因此,具有一定的设计价值。从上世纪九十年代末起,随着对系统更高效率和更低功耗的需求,电信与数据通讯设备的技术更新推动电源行业中直流|直流电源转换器向更高灵活性和智能化方向发展。设计的直流稳压电源主要有单片机系统、键盘、数码管显示器、D/A转换电路、直流稳压电路部分组成,数控电源采用按键盘输入数据,单片机通过D/A,控制驱动模块输出一个稳定电压。工作过程中,稳压电源的电压值由单片机输出,驱动LED显示,由键盘控制进行动态逻辑切换。以单片机为核心的智能化高精度简易直流电源的设计,电源采用数字调节、输出精度高,特别适用于各种有较高精度要求的场合。目前所使用的直流可调电源中,大多为旋钮开关调节电压,调节精度不高,而且经常跳变,使用麻烦。利用本数控电源,可以达到每步0.1V 的精度,输出电压范围0~9.9V ,电流可以达到500mA ,且数码显示直观。 电源采用数字控制,具有以下明显优点: (1)易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。 (2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。 (3)控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件一些调整即可。 1.1 设计要求 基本要求: (1)输出电压:范围0~9.9V步进0.1V纹波不大于10mv (2)输出电流:500mA (3)输出电压由数码显示

【可直接使用】单片机指令表(最全).doc

单片机指令以A开头的指令有18条,分别为: 1、ACALL addr11 指令名称:绝对调用指令 指令代码:A10 A9 A8 10001 A7 A6 A5 A4 A3 A2 A1 A0 指令功能:构造目的地址,进行子程序调用。其方法是以指令提供的11位地址(al0~a0),取代PC的低11位,PC的高5位不变。操作内容: PC←(PC)+2SP←(SP)+1 (SP)←(PC)7~0 SP←(SP)+1 (SP)←(PC)15~8 PC10~0←addrl0~0 字节数: 2 机器周期:2 使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。 2、ADD A,Rn 指令名称:寄存器加法指令指令代码:28H~2FH 指令功能:累加器内容与寄存器内容相加 操作内容:A←(A)+(Rn),n=0~7 字节数: 1 机器周期;1 影响标志位:C,AC,OV 3、ADD A,direct 指令名称:直接寻址加法指令指令代码:25H 指令功能:累加器内容与内部RAM单元或专用寄存器内容相加操作内容:A←(A)+(direct) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 4、ADD A,@Ri ’ 指令名称:间接寻址加法指令指令代码:26H~27H 指令功能:累加器内容与内部RAM低128单元内容相加 操作内容:A←(A)+((Ri)),i=0,1 字节数: 1 机器周期:1 影响标志位:C,AC,OV 5、ADD A,#data 指令名称:立即数加法指令指令代码:24H 指令功能:累加器内容与立即数相加 操作内容:A←(A)+data 字节数: 2 机器周期:1 影响标志位:C,AC,OV 6、ADDC A,Rn 指令名称:寄存器带进位加法指令指令代码:38H~3FH 指令功能:累加器内容、寄存器内容和进位位相加 操作内容:A←(A)+(Rn)+(C),n=0~7 字节数: 1 机器周期:1 影响标志位:C,AC,OV 7、ADDC A,direct 指令名称:直接寻址带进位加法指令指令代码:35H 指令功能:累加器内容、内部RAM低128单元或专用寄存器内容与进位位加 操作内容:A←(A)+(direct)+(C) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 8、ADDC A,@Ri 指令名称:间接寻址带进位加法指令指令代码:36H~37H 指令功能:累加器内容, 内部RAM低128单元内容及进位位相加操作内容:A←(A)+((Ri))+(C),i=0,1 字节数: 1 机器周期:1 影响标志位:C,AC,OV 9、ADDC A,#data 指令名称:立即数带进位加法指令指令代码:34H 指令功能:累加器内容、立即数及进位位相加 操作内容:A←(A)+data+(C) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 10、AJMP addr11 指令名称:绝对转移指令 指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0 指令功能:构造目的地址,实现程序转移。其方法是以指令提供的11位地址,取代PC的低11位,.而PC的高5位保持不变。操作内容:PC←(PC)+2PCl0~0←addrll 字节数: 2 机器周期:2 使用说明:由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB。 11、ANL A,Rn 指令名称:寄存器逻辑与指令指令代码:58H~5FH 指令功能:累加器内容逻辑与寄存器内容 操作内容:A←(A)∧(Rn),n=0~7 字节数: 1 机器周期:1 12、ANL A,direct 指令名称:直接寻址逻辑与指令指令代码:55H 指令功能:累加器内容逻辑与内部RAM低128单元或专用寄存器内容 操作内容:A←(A)∧(diret) 字节数: 2 机器周期:1 精选

基于51单片机的源代码

基于51单片机的源代码 JIN1 EQU P1.0 JIN2 EQU P1.1 JIN3 EQU P1.2 JIN4 EQU P1.3 INH EQU P2.3 CP EQU P2.2 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP,#70H MOV TMOD,#20H ;自动重装 MOV SCON,#50H MOV PCON,#80H ;双倍波特率SMOD=1 MOV TH1,#0FFH ;57600MHZ波特率初值 MOV TL1,#0FFH MOV P1,#00H MOV P2,#00H SETB TR1 SETB P2.1 LOOP: LCALL keep LCALL SHUCHU ACALL QINGLING AJMP LOOP QINGLING: CJNE R0,#17,QINGLING1 MOV R0,#00H QINGLING1: CJNE R1,#9,FANHUI MOV R1,#00H FANHUI: RET SHUCHU: ACALL SHUA ACALL SHUB ACALL SHUC ACALL SHUD SHUA: MOV R3,#4 SETB JIN1 LLS: MOV R2,#8 LJMP keep INC R1 SETB INH CLR JIN1 CLR INH LLS1: LJMP keep SETB CP

CLR CP DJNZ R2,LLS1 DJNZ R3,LLS RET SHUB: MOV R3,#4 SETB JIN2 QQS: MOV R2,#8 LJMP keep INC R1 SETB INH CLR JIN2 CLR INH QQS1: LJMP keep SETB CP INC R0 CLR CP DJNZ R2,QQS1 DJNZ R3,QQS RET SHUC: MOV R3,#4 SETB JIN3 JJS: MOV R2,#8 LJMP keep INC R1 SETB INH CLR JIN3 CLR INH JJS1: LJMP keep SETB CP INC R0 CLR CP DJNZ R2,JJS1 DJNZ R3,JJS RET SHUD: MOV R3,#4 SETB JIN4 KKS: MOV R2,#8 LJMP keep INC R1 SETB INH CLR JIN4 CLR INH KKS1: LJMP keep

8051单片机CPU的内部组成及功能介绍

8051单片机CPU的内部组成及功能介绍 一、运算器 运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW CY AC FO RS1 RS0 OV -P对用户来讲,最关心的是以下四位。 1?进位标志CY(PSW?7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。 2?辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。 3?溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。 4?奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。 PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。 二、控制器 控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所

IC8位单片机汇编语言常用指令的识读

PIC单片机指令集简介 PIC 8位单片机共有三个级别,有相对应的指令集。基本级PIC系列芯片共有指令33条,每条指令是12位字长;中级PIC系列芯片共有指令35条,每条指令是14位字长;高级PIC系列芯片共有指令58条,每条指令是16位字长。其指令向下兼容。 一、PIC汇编语言指令格式 PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下: 标号操作码助记符操作数1,操作数2;注释 指令格式说明如下:指令的4个部分之间由空格作隔离符,空格可以是1格或多格,以保证交叉汇编时,PC机能识别指令。 1与MCS-51系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号)是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。 书写标号时,规定第一字符必须是字母或半角下划线“—”,它后面可以跟英文和数字字符、冒号(:)制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。 2该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。 3由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十进制或十六进制数。还可以是被定义过的标号、字符串和ASCⅡ码等。具体表示时,规定在二进制数前冠以字母“B”,例如B10011100;八进制数前冠以字母“O”,例如O257;十进制数前冠以字母“D”,例如D122;十六进制数前冠以“H”,例如H2F。在这里PIC 8位单片机默认进制是十六进制,在十六进制数之前加上Ox,如H2F可以写成Ox2F。 指令的操作数项也是可选项。 PIC系列与MCS-51系列8位单片机一样,存在寻址方法,即操作数的来源或去向问题。因PIC系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以PIC系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。 4用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;)与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。 二、清零指令(共4条) 1 实例:CLRW;寄存器W被清零 说明:该条指令很简单,其中W为PIC单片机的工作寄存器,相当于MCS-51系列单片机中的累加器A,CLR是英语Clear的缩写字母。 2 实例:CLRWDT;看门狗定时器清零(若已赋值,同时清预分频器)

8051单片机的特点1

1.单片机概念:单片机,又称微控制器,是在一块硅片上集成了各种部件的微型计算机。这些部件包括中央处理器CPU,数据存储器RAM,程序存储器ROM,定时器/计数器和多种I/O接口电路。 2.MCS-51系列单片机中的基本型产品是8051,8031和8751,这三个产品只是片内程序存储器制造工艺不同。8051的片内程序存储器ROM为掩膜型的在制造芯片时已将应用程序固化进去,使它具有了某种专用功能;8031无ROM,使用时需外接ROM;8751的片内ROM是EPROM型的,固化的应用程序可以方便改写。(除片内ROM 类型不同外,其他性能完全相同) 3.其他性能的结构特点:(1)8位CPU; (2)片内震荡器及时钟电路 (3)32根I\O线 (4)外部存储器ROM和RAM寻址范围各64KB (5)2个16位的定时器/计数器 (6)5个中断源,2个中断优先级 (7)全双工串行口 (8)布尔处理器 4.8051的内部结构 8051内部结构可划分为CPU,存储器,并行口,串行口,定时器/计数器和中断逻辑几部分。 (1)中央处理器 8051的中央处理器CPU由运算器和控制逻辑构成。其中包括若干特殊功能寄存器(SFR)。

a 以ALU为中心的运算器 运算逻辑单元ALU能对数据进行加减乘除等算术运算和“与”“或”“异或”等逻辑运算以及位操作运算。 ALU只能进行运算,运算的操作数可以事先存放在累加器ACC或暂存器TMP 中,运算结果可以送回ACC或通用寄存器或储存单元中。累加器ACC也可以写为A。B寄存器在乘法指令中用来存放乘数,在除法指令中用来存放除数,运算后B中为部分运算结果。 程序状态字PSW是8位寄存器,用来寄存本次运算的特征信息,用到其中的七位, 下面是其各位的定义: CY:进位标志,有进位或借位时,CY=1;否则CY=0. AC:半进位标志,当D3位向D4位产生借位或进位时,AC=1;否则AC=0;常用于十进制调整运算中。 F0:用户可设定的标志位,可置位或复位,也可供测试。 RS1,RS0:4个通用寄存器组的选择位,该两位的4种组合状态用来选择0~3寄存器组。 RS1、RS0与工作寄存器组的关系如图表所示 RS1 RS0 工作寄存器组 0 0 0组(00H~07H)0 1 1组(08H~0FH)RS1 RS0 工作寄存器组 1 0 2组(10H~17H)1 1 3组(18H~1FH)

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

基于51单片机的无线通信

湖北民族学院 信息工程学院 课程设计报告书 题目: 基于51单片机的无线通信 课程:数字通信系统课程设计 专业:电子 班级: 0314411 学号: 0 学生姓名:田紫龙 指导教师:黄双林 2017年 06月 18日

摘要 本文设计了一种以AT89S52单片机为控制核心的无线通信控制模块,详细说明了该系统的基本原理、主要电路、硬件框架以及软件框架。整个系统采用模块化设计,主要包括单片机与下位机之间的无线通信控制电路,以及无线通信模块与51单片机之间通信接口电路。该通信控制系统通过51单片机和nrf2401的spi通信,从而通过无线通信控制模块形成与下位机的联系,控制下位机运动控制器,并且将通信接收的数据保存到扩展的存储器内。 本模块的通信方法简便,除了可以进行远程实时控制外,还可广泛的应用于工业监控和数据采集系统。本系统具有性能可靠、抗干扰能力强、功耗低、性价比高等优点,在无线通信领域具有重要的应用价值和良好的发展前景。 关键字:无线通信控制;AT89S52;nRF2401;串行通信 目录 1 绪论.......................................................错误!未定义书签。

2 总体设计...................................................错误!未定义书签。 3 各个模块简介................................................错误!未定义书签。 1.单片机STC89C52和nRF2401的接口电路.....................错误!未定义书签。 无线模块简介.............................................错误!未定义书签。 1602简介................................................错误!未定义书签。 4 各个模块设计................................................错误!未定义书签。硬件电路板的设计..............................................错误!未定义书签。 软件程序设计..............................................错误!未定义书签。 主程序模块............................................错误!未定义书签。 结果与分析..............................................错误!未定义书签。总结 .........................................................错误!未定义书签。参考文献......................................................错误!未定义书签。

基于8051单片机的数据采集系统设计

基于8051单片机的数据采集系统设计 一.设计任务 设计一个数据采集系统,要求: 1.有一组开关量和1路模拟量,采样开关量控制一组发光二极管,定时采样模拟量并显示出来。 2.定时采样ADC0809某通道模拟信号,每隔2秒在显示器或数码管上显示出来。 3.定时的实现。 二.设计思路 数据采集是指从传感器和其他待测设备中自动采集模拟或数字信号电量或非电量信号送入控制器中进行分析和数据处理。 本设计采用单路模拟信号的数据采集。设计思路为:通过传感器采集待测的信号,将其转换为相应的电压信号,经运算放大器放大后送入模数转换器ADC0809在单片机的控制下进行模数转换。每次转换结束后,单片机在控制电路的作用下将数据读走存入片内存储器。而单片机则需要将收到的数据送入PC机中进行相应处理。单片机与PC 间的数据通信方式为串口通信协议RS 232,通过芯片MAX232进行电气匹配。 目录

一.系统总统设计方案 二.系统的硬件设计 2.1信号调理电路 2.2数据采集电路 2.3 80C51芯片内部功能与引脚介绍 三.系统的软件设计 3.1主程序 3.2 A/D转换 3.3数据采集中断程序 四.设计总结 五.参考文献 六.附录—数据采集系统原理图一.系统总统设计方案

根据系统基本要求,将本设计系统划分为信号调理电路、8路模拟信号的产生与A/D 转换器、发送端的数据采集与传输控制器、人机通道的接口电路、数据传输接口电路几个部分。 数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。系统框图如下图1所示。 图1 一般系统框图 二.系统的硬件设计 2.1信号调理电路 信号调理能够将被测对象的输出信号变换成计算机要求的输入信号。如图2所示,为 避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应 设前置放大环节。 图2 信号调理过程 2.2 数据采集电路 把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。 把以一定时间间隔T逐点采集连续的模拟信号,并保持一个时间t,使被采集的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。

相关主题