单片机1.docx

上传人:b****5 文档编号:8511077 上传时间:2023-01-31 格式:DOCX 页数:15 大小:77.99KB
下载 相关 举报
单片机1.docx_第1页
第1页 / 共15页
单片机1.docx_第2页
第2页 / 共15页
单片机1.docx_第3页
第3页 / 共15页
单片机1.docx_第4页
第4页 / 共15页
单片机1.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机1.docx

《单片机1.docx》由会员分享,可在线阅读,更多相关《单片机1.docx(15页珍藏版)》请在冰豆网上搜索。

单片机1.docx

单片机1

⏹1.1单片机基本概念

(1)CPU-单片机

中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,其功能主要是解释计算机指令以及处理计算机软件中的数据

(2)SCM,MCU,ECU

(3)单片机与通用微机主要区别(cpu、存储器、I/O)

微处理器(CPU)的区别:

通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。

单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。

存储器区别:

通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。

单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64KB

I/O接口:

通用微机中I/O接口主要考虑标准外设,用户通过标准总线连接外设,能达到即插即用。

单片机应用系统的外设都是非标准的,且千差万别,种类很多。

(4)单片机与嵌入式系统

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

(5)单片机系统

单板机:

将微处理器(CPU)、存储器、I/O接口电路以及简单的输入/输出设备组装在一块印刷电路板上,称其为单板微型计算机,简称单板机。

单片机:

将微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件集成在一块芯片上,称其为单片微型计算机,简称单片机。

微型计算机:

微处理器(CPU)、存储器、I/O接口电路由总线有机地连接在一起的整体,称为微型计算机。

微型计算机系统:

微型计算机与外围设备、电源、系统软件一起构成的系统,称为微型计算机系统。

⏹1.2单片机的发展

(1)数据位发展

4位-〉8位-〉16位-〉32位

(2)单片机技术的发展

体系结构(SCU-〉MCU-〉SOC)

速度

低功耗

OTP-〉MTP

⏹1.3单片机的特点及应用

特点:

存储器、指令系统和位处理、I/O、外部扩展

优点:

体积小、面向控制、抗干扰、分布式

⏹1.4单片机类型

MCS-51产品分类:

基本型、增强型、低功耗型

⏹2.2内部结构及引脚

ALE、PSEN、RST、EA、WR、RD

⏹2.3微处理器

CPU分为运算部件和控制部件

(1)运算部件

功能:

逻辑运算、算术运算、位操作、数据传输

组成:

ALU、A、B、暂存器等

PSW:

C、AC、RS1、RS0、OV

OV:

有符号数和无符号数

布尔机:

1位累加器:

借用进位标制位CY。

即作为数据源之一又是运算结果的存放处,位数据传送的中心。

2位寻址的RAM:

内部RAM位寻址区0~127位(20H~2FH)

3位寻址寄存器:

SFR中可位寻址的位。

4位寻址的I/O口:

并行I/O口中可以位寻址的位(如P1.0)

5位操作指令系统:

置位、清零、取反、位状态判跳、位逻辑运算、位输入/输出等。

(2)控制器

定时控制功能:

片内时钟和定时电路

片内时钟:

内部时钟和外部时钟

(3)时序

时序定义

节拍、状态周期、机器周期、指令周期

51单片机分单周期指令、双周期指令、四周期指令

⏹2.4存储器

2.4.1程序存储器

2.4.2数据存储器

2片内RAM

结构三个区块:

工作寄存器区(00~1FH)RS1和RS0

位寻址区(20H~2FH)

数据缓冲区(30H~FFH)

堆栈SP:

07H开始-〉30H

过程:

入栈先SP+1,再入栈

出栈先出栈,再SP-1

SFR:

(80H~FFH)功能专用寄存器

⏹2.5并行I/O口

P0、P2分别地址低8位和高8位

P3多功能口、P1用户口

(1)P0通用I/O和地址/数据复用

当作通用I/O口使用时输出“1”需要接上拉电阻

输入“1”需要先输出“1”

“准双向口”

读端口操作“读-修改-写”

(2)P1

无需上拉电阻

⏹2.9复位

(1)复位状态

改变:

SFR,PC(P0~P3口-〉FFH,SP=07H)

不改变:

片内RAM

(2)复位电路:

上电复位、按钮复位

⏹2.1051低功耗

HMOS,CMOS,CHMOS

CHMOS提供两种节电工作方式空闲和掉电

⏹3.1概述

指令:

能完成特定功能的命令。

指令描述的两种基本形式:

机器语言和汇编语言

指令系统:

计算机能够执行的全部操作所对应的指令集合。

编写程序实际上是从指令系统中挑选一个指令子集的过程

指令的属性指令一般有功能、时间和空间三种属性。

功能属性是指每条指令都对应一个特定的操作功能;

时间属性是指一条指令执行所用的时间,一般用机器周期来表示;

空间属性是指一条指令在程序存储器中存储所占用的字节数。

⏹3.2寻址方式

寻址方式定义CPU寻找操作数或操作数地址的方法。

寻址方式越多,计算机指令功能越强,灵活性越大

七种寻址方式

⏹3.3数据传送指令

1、片内数据存储器

mov目的操作数源操作数

Rn立即寻址

@RiRn

direct@Ri

Adirect

A

2片外RAM

MOVXA,@DPTR

MOVXA,@Ri

MOVX@DPTR,A

MOVX@Ri,A

3片外ROM

MOVCA,@A+DPTR

MOVCA,@A+PC

⏹3.4算术运算指令

ADD、ADDC、SUBB、INC、DEC

PSW:

OV、C、AC、P

MUL和DIV

⏹3.5逻辑运算及移位指令

ANL、ORL、XRL

RR、RL、RLC

⏹3.6控制转移指令

AJMP,SJMP

例:

判断AJMP目标的合法性

①0000HAJMP0111H

②07FEHAJMP0C10H

③0100HAJMP0B11H

JZ、CJNE(条件判断)

DJNZ(循环)

⏹3.7子程序调用和返回

LCALL、ACALL入栈

RET、RETI出栈

⏹3.8位操作指令

P953-19

⏹中断的定义

所谓中断是指CPU对系统中或系统外发生的某个事件的一种响应过程,即CPU暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序。

当处理结束后,再返回到被暂停程序的断点处,继续执行原来的程序。

实现这种中断功能的硬件系统和软件系统统称为中断系统。

中断要解决的三个基本问题

51中断系统2、5、4

⏹中断源

可硬件撤销中断:

外部中断、T0、T1

软件撤销中断:

串行口

⏹中断控制

⏹中断优先级

外部中断0

定时器/计数器0中断

外部中断1

定时器/计数器1中断

串行口中断

定时器/计数器2中断

(1)三原则

正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。

正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。

CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。

(2)中断的自然序EX0、ET0、EX1、ET1、ES

⏹中断响应条件和响应过程

⏹响应时间

最长8T,最短3T

⏹5.1概述

定时的方法:

硬件、软件、可编程

定时与计数的关系:

T=N*Tcy

初值:

N=2^n-x

⏹5.2结构

16位T0、T1;加计数器

⏹5.3工作方式

⏹5.4定时计数器程序设计

设计定时器/计数器应用程序三步骤:

(1)根据定时或计数要求确定适当的定时/计数方式、计算初值,设定特殊功能寄存器TMOD、THx、TLx。

(2)根据对定时器/计数器的要求设置中断系统,即设置中断允许控制寄存器IE和中断优先级控制寄存器IP

(3)启动定时器/计数器,即置位TCON中的TRx位。

P85例33

⏹6.1基本概念

计算机通信、并行通信、串行通信

异步传输方式:

异步的含义、字符格式、波特率

同步传输方式

全双工、单工、半双工、UART

⏹6.2工作方式

MOVSBUF,A

MOVA,SBUF

⏹6.3波特率的计算

⏹6.4多机通信

P87例35

⏹7.1概述

最小系统,系统扩展的内容和基本方法

⏹7.2存储器的扩展

译码方式:

全译码和部分译码

程序存储器:

1)确定地址范围2)计算扩展片数3)确定译码方式4)地址线、数据线、控制线(PSEN、EA)

数据存储器:

1)确定地址范围2)计算扩展片数3)确定译码方式4)地址线、数据线、控制线(WR、RD)

⏹8.1概述

键输入流程

键盘接口和输入要解决的几个问题

1)消除键抖动(硬件、软件)

2)键盘码识别

3)键盘监测(中断、查询)

⏹行列键盘

流程图

⏹8.2显示及显示器接口

常用显示器包括:

LED、LCD、CRT

七段LED分共阴极和共阳极

显示方式:

静态显示和动态显示

动态显示原理及程序设计

⏹8.3A/D转换器

1、概述

量化间隔、量化误差

常用的转换逐次逼近和双重积分

2、ADC0809

结构:

8路模拟开关、地址锁存器、8位转换器、三态缓冲器

时序:

与51连接

程序设计

⏹8.4D/A转换器

1、概述

分辨率、建立时间

2、DAC0832

结构:

双缓冲

工作方式:

直通、单缓冲、双缓冲

时序

程序设计:

例1设内部RAM(30H)=40H,(40H)=10H,(10H)=00H(P1)=CAH,分析以下程序执行后各单元及寄存器、P2口的内容。

MOVR0,#30H;(R0)←30H

MOVA,@R0;(A)←((R0))

MOVR1,A;(R1)←(A)

MOVB,@R1;(B)←((R1))

MOV@R1,P1;((R1))←(P1)

MOVP2,P1;(P2)←(P1)

MOV10H,#20H;(10H)←20H

执行上述指令后的结果为:

(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=CAH,(10H)=20H

例2若在外部程序存储器中2000H单元开始依次存放0~9的平方值,数据指针(DPTR)=3A00H,用查表指令取得2003H单元的数据后,要求保持DPTR中的内容不变。

完成上述功能的程序如下:

MOVA,#03H;(A)←03H

PUSHDPH;保护DPTR高8位入栈

PUSHDPL;保护DPTR低8位入栈

MOVDPTR,#2000H;(DPTR)←2000H

MOVCA,@A+DPTR;(A)←(2000H+03H)

POPDPL;弹出DPTR低8位

POPDPH;弹出DPTR高8位

执行结果:

(A)=09H,(DPTR)=3A00H

例3设(R0)=30H,30H=4AH,(A)=28H,则

执行XCHA,@R0后,结果为(A)=4AH,(30H)=28H。

执行XCHDA,@R0后,结果为(A)=2AH,(30H)=48H。

执行SWAPA后,结果为(A)=82H。

例4设外部RAM(0203H)=FFH,分析以下指令执行后的结果。

MOVDPTR,#0203H;(DPTR)←0203H

MOVXA,@DPTR;(A)←((DPTR))

MOV30H,A;(30H)←(A)

MOVA,#0FH;(A)←0FH

MOVX@DPTR,A;((DPTR))←(A)

执行结果为:

(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH

例5从片外程序存储器2000H单元开始存放0~9的平方值,以PC作为基址寄存器进行查表得9的平方值。

设MOVC指令所在地址(PC)=1FF0H,则偏移量=2000H-(1FF0H+1)=0FH。

相应的程序如下:

MOVA,#09H;(A)←09H

ADDA,#0FH;用加法指令进行地址调整

MOVCA,@A+PC;(A)←((A)+(PC)+1)

执行结果为:

(PC)=1FF1H,(A)=51H。

•试分析以下程序的执行结果。

(A)=________,(B)=________。

MOVSP,#3AH

MOVA,#20H

MOVB,#30H

PUSHA

PUSHB

POPA

POPB

例6设(A)=49H,(R0)=6BH,分析执行指令ADDA,R0后的结果。

结果为:

(A)=B4H,OV=1,CY=0,AC=1,P=0。

例7设(A)=C3H,数据指针低位(DPL)=ABH,CY=1,分析执行指令ADDCA,DPL后的结果。

结果为:

(A)=6FH,CY=1,AC=0,P=0。

例8设(A)=52H,(R0)=B4H,分析执行如下指令后的结果

CLRC;是位操作指令,是进位位清零

SUBBA,R0

结果为:

(A)=9EH,CY=1,AC=1,OV=1,P=1

例9设(R0)=7EH,(7EH)=FFH,(7FH)=38H,(DPTR)=10FEH,分析逐条执行下列指令后各单元的内容。

INC@R0;使7EH单元内容由FFH变为00H

INCR0;使R0的内容由7EH变为7FH

INC@R0;使7FH单元内容由38H变为39H

INCDPTR;使DPL为FFH,DPH不变

INCDPTR;使DPL为00H,DPH为11H

INCDPTR;使DPL为01H,DPH不变

例10对BCD码加法65+58→DBH,进行十进制调整。

参考程序如下:

MOVA,#65H;(A)←65

ADDA,#58H;(A)←(A)+58

DAA;十进制调整

例11设片内RAM30H,31H单元中分别存放着两位BCD码表示的被减数和减数,两数相减的差仍以BCD码的形式存放在32H单元中。

可用下面的程序实现:

CLRC

MOVA,#9AH

SUBBA,31H;求减数的十进制补码

ADDA,30H;作十进制补码加法

DAA;进行BCD调整

MOV32H,A;将BCD码的差送存32H单元

例12(P1)=C5H=11000101B,屏蔽P1口高4位而保留低4位。

执行指令:

ANLP1,#0FH

结果为:

(P1)=05H=00000101B。

逻辑“或”指令常用来使字节中某些位置“1”,其它位保持不变。

则欲置位的位用"1"与该位相或,保留不变的位用"0"与该位相或。

例13若(A)=C0H,(R0)=3FH,(3FH)=0FH,

执行指令:

ORLA,@R0

结果为:

(A)=CFH=11001111B。

逻辑"异或"指令常用来使字节中某些位进行取反操作,其它位保持不变。

欲某位取反该位与"1"相异或;欲某位保留则该位与"0"相异或。

还可利用异或指令对某单元自身异或,以实现清零操作。

例14若(A)=B5H=10110101B,执行下列操作:

XRLA,#0F0H;A的高4位取反,低4位保留,(A)=01000101B=45H

MOV30H,A;(30H)=45H

XRLA,30H;自身异或使A清零

用移位指令还可以实现算术运算,左移一位相当于原内容乘以2,右移一位相当于原内容除以2,但这种运算关系只对某些数成立(请读者自行思考)。

例15设(A)=5AH=90,且CY=0,则

执行指令RLA后,(A)=B4H=90。

执行指令RRA后,(A)=2DH=45。

执行指令RLCA后,(A)=B4H=90。

执行指令RRCA后,(A)=2DH=45。

•数据拆分与拼装

要求:

从(30H)=x7x6x5x4x3x2x1x0中取出高5位,从(31H)=y7y6y5y4y3y2y1y0中取出低3位,拼装后存入40H中,(40H)=y2y1y0x7x6x5x4x3。

编写程序实现。

ORG0000H

MOVA,30H

SWAPA;(X3X2X1X0X7X6X5X4)

RLA;X2X1X0X7X6X5X4X3

MOV40H,A

ANL40H,#00011111B

MOVA,31H

MOVB,#20H

MULA,B

ANLA,11100000B

ORL40H,A

例16根据累加器A的值,转不同处理程序的入口。

MOVDPTR,#TABLE;表首地址送DPTR

JMP@A+DPTR;根据A值转移

TABLE:

AJMPTAB1;当(A)=0时转TAB1执行

AJMPTAB2;当(A)=2时转TAB2执行

AJMPTAB3;当(A)=4时转TAB3执行

END

•例18当从P1口输入数据为01H时,程序继续执行,否则等待,直到P1口出现01H。

参考程序如下:

MOVA,#01H;立即数01H送A

WAIT:

CJNEA,P1,WAIT;(P1)≠01H,则等待

例19将内部RAM从DATA单元开始的10个无符号数相加,相加结果送SUM单元保存。

设相加结果不超过8位二进制数,则相应的程序如下:

MOVR0,#0AH;设置循环次数

MOVR1,#DATA;R1作地址指针,指向数据块首地址

CLRA;A清零

LOOP:

ADDA,@R1;加一个数

INCR1;修改指针,指向下一个数

DJNZR0,LOOP;R0减1,不为0循环

MOVSUM,A;存10个数相加的和

例20利用位操作指令,模拟图3.6所示硬件逻辑电路的功能。

参考程序如下:

PR2:

MOVC,P1.1;(CY)←(P1.1)

ORLC,P1.2;(CY)←(P1.1)∨(P1.2)=A

ANLC,P1.0;(CY)←(P1.0)∧A

CPLC;(CY)←(P1.0)∧A=B

MOVF0,C;F0内暂存B

MOVC,P1.3;(CY)←(P1.3)

ANLC,/P1.4;(CY)←(P1.3)∧(P1.4)=D

ORLC,F0;(CY)←B∨D

MOVP1.5,C;运算结果送入P1.5

RET

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

当前位置:首页 > PPT模板 > 可爱清新

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

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