资源预览内容
第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
第9页 / 共63页
第10页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机基础知识,作者:周仕林 2011年9月4日,本单元内容概述,一 初步了解单片机:1. 计算机的相关基础知识;2. 单片机的概念3. 单片机的发展历史;4. 单片机的基本类型;5. 单片机的应用范围。,二、学习单片机AT89S52的硬件资源:1. 单片机AT89S52的中央处理器;2. 单片机AT89S52的存储器;3. 单片机AT89S52的端口与引脚;4. 单片机AT89S52的时序与复位;5. 单片机AT89S52的标示。,一.计算机的常用术语 1、位(bit)位是计算机所能表示的最基本、最小的数据单元。计算机采用二进制,因此位就是1个二进制位,若干二进制位的组合就可以表示各种数据、字符等。2、字(word)和字长字是计算机内部进行数据处理的基本单位。通常它与计算机内部寄存器、算术逻辑单元、数据总线的长度一致。一个字所包含的二进制位数称为字长。,3、字节(byte)把相邻的8位二进制数成为字节,可以用字节作为微型计算机字长的单位。8位微型计算机的字长等于1个字节,16位微型计算机的字长等于2个字节,32位微型计算机的字长等于4个字节。习惯上把一个字节定为8位,把一个字定为16位,把一个双字定为32位。4、指令指令是规定计算机进行某种操作的命令,由一串二进制数码组成,是计算机自动控制的依据。5、程序程序是指令的有序组合,是为实现特定目标或解决待定问题而用计算机语言编写的命令序列。,6、机器语言 用二进制(或十六进制)数表示的指令和数据总和为机器语言,是计算机能直接识别和执行的程序。7、汇编语言用助记符号表达的指令称为汇编语言,是机器语言的符号表示。8、高级语言采用接近人类自然语言的习惯表达的程序设计语言,例如BASIC、C语言。现在一般使用C51语言设计51单片机程序。,1、数制介绍 (1)十进制(Decimal)数码:0,1,2,3,4,5,6,7,8,9 十进制有09十个不同的数码。 十进制数逢十进一,即当低位满十则向邻高位进一。(2)二进制(Binary)数码:0,1 二进制有0,1两个不同的数码。 二进制数逢二进一。,二.计算机的数制,(3)十六进制(Hexadecimal)数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 十六进制有0F十六个不同的数码。 十六进制数逢十六进一。,表1-1 部分十进制、二进制、十六进制数的对照表,2、数制的书写 (1)可以在数后面用英文字母标记。十进制数以字母D结尾,例如:32D,1000D。二进制数以字母B结尾,例如:1001B,0100B。十六进制数以字母H结尾,例如:123H,A1EFH。(2)可以给数加括号,并在括号右下角标注数制代号,例如:十进制数,(32)10,(1000)10二进制数, (1001)2,(0100) 2十六进制数,(123)16,(A1EF) 16,3、不同数制之间的转换(1)二进制与十进制相互转换 二进制数转换成十进制数,将二进制数按权展开后相加,例如:11010B=124+123+022+121+020=26D十进制数转换成二进制数,采用“除2取余法”。即用2连续去除十进制数,直到商为0为止,然后把各次余数按最后得到的为最高位、最早得到的为最低位(从下至上),依次排列起来所得到的数便是所求的二进制数。,例如: 试求出十进制数125的二进制数。把125连续除以2,直到商为0,相应竖式为:,按照逆序将各余数记下,得到转换后的二进制为:111101B。,(2)十六进制与十进制相互转换 十六进制数转换成十进制数,将十六进制数按权展开后相加,例如:64H=6161+4160=100D 十进制数转换成十六进制数,采用“除16取余法”。 即用16连续去除要转换的十进制数,直到商为0为止,然后把各次余数按逆得到顺序依次排列起来,所得的数便是所求的十六进制数。,(3)二进制与十六进制相互转换 二进制数转换成十六进制数,采用“四位合一位”的方法。即从二进制数最低位开始,每四位一组,不足四位以0补足,然后分别把每组用十六进制数表示,并按序相连。例如:把二进制数1101111100110B转换成十六进制数,则有:0001 1011 1110 01101 B E 6所以,1101111100110B=1BE6H, 十六进制数转换成二进制数,采用“一位分四位”的方法。即把十六进制数的每一位分别用4位二进制数表示,然后将其按序连成一体。 例如:把十六进制数2AE5H转换成二进制数,则有: 2 A E 5 0010 1010 1110 0101 所以,2AE5H=0010101011100101B,单片机,全称单片微型计算机,就是在一块芯片上集成了微处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器以及多种I/O接口电路的具有一定规模的微型计算机,因最早被应用在工业控制领域,所以又被称为微控制器。,MCU,SOC,SCM,单片机的发展史,单片微型计算机,微 控 制 器,专用化片上系统,智能仪器仪表,智能电压表,温湿度时钟,超声波流量计,示波器,工业控制,水厂控制,自动打包,智能电梯,医疗设备,呼吸机,心电监护仪,汽车设备,电动助力转向系统,ABS防抱死,计算机及网络和通信,平板电脑,智能手机,家用电器,智能电饭煲,智能电视机,AT89S52 单片机内部结构框图如图1-2所示:,AT89S52 单片机内部包括: 一个8位89S52微处理器(CPU),是单片机的运算和指挥中心。片内8K字节程序存储器 (ROM),用于存放程序、原始数据及表格。片内256字节数据存储器 (RAM),用于存放临时数据,如运算的中间结果及欲显示数据。4组8位并行输入/输出端口(I/O端口)P0P3,每个端口均有8条I/O线,用于与外部交换信息。,3个16位的定时器/计数器。1个 6 向量2级中断结构,有6个中断源和2个中断优先级。1个全双工UART(通用异步接收发送器)的串行I/O口。片内晶振及时钟电路。具有节电工作方式,即空闲方式与掉电方式。看门狗定时器WDT是一种需要软件控制的复位方式。双数据指针寄存器DPTR0、DPTR1。,中央处理器(CPU)也称微处理器,是单片机的核心部件,是单片机的控制和指挥中心。主要包含运算器和控制器。,AT89S52单片机内部的存储器分为两种:程序存储器ROM和数据存储器RAM。程序存储器ROM用于存放程序、原始数据或表格,可在线编写程序,掉电后数据保持不变。数据存储器RAM用于存放运算的中间结果、最终结果或欲显示的数据等,其数据可随时改写,掉电后数据消失。,图1-3 AT89S52单片机存储器空间配置,1、程序存储器AT89S52单片机片内程序存储器 ROM有8K字节,其地址为0000H1FFFH;片外可接扩展程序存储器ROM,最大达64 k字节,地址为0000HFFFFH,片内外统一编址。CPU访问片内、片外程序存储器ROM时用MOVC指令。2、数据存储器AT89S52单片机片内数据存储器RAM有256字节,其地址为00HFFH;片外可接扩展数据存储器RAM,最大达64 k字节,地址为0000HFFFFH。访问片内RAM时用MOV指令,访问片外RAM时用MOVX指令。,图1-4 AT89S52单片机数据存储器结构,(1)工作寄存器区AT89S52单片机在片内RAM中划分出低地址的32个字节单元(00H1FH)作为工作寄存器区,供用户使用。工作寄存器区分为4个工作寄存器组,每个组有8个寄存器,分别称为R7R0,占8个字节。在单片机工作时,只有一组寄存器作为当前工作寄存器组R7R0使用。当单片机复位后,系统默认工作寄存器0组为当前工作寄存器组。,(2)位寻址区在工作寄存器区后的20H2FH共16个字节为位寻址区,共有128位(8*16=128)。每一位都有相应的位地址00H7FH。利用位寻址可以对某一位进行单独的操作,而无须将一个字节的8位全部重新操作一遍。(3)通用RAM区AT98S52单片机片内通用RAM区地址为30HFFH,这里通常设为堆栈区,栈顶的位置由堆栈寄存器SP指定。系统复位时,SP的初始值为07H。,3、特殊功能寄存器SFR累加器ACC(E0H)累加器ACC是89S52最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放与ACC。在指令系统中,用A作为累加器ACC的助记符。寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中存放除数,商存放于A,余数存放于B。在其他指令中,B可作为一般通用寄存器使用。,程序状态寄存器PSW(D0H)程序状态寄存器PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的各种状态信息,供程序查询或判别之用。,表1-2 程序状态寄存器PSW功能表,CY(PSW.7):进/借位标志位。在执行加法(或减法)运算指令时,如果运算结果的最高位(D7位)向前有进位(或借位),则CY位由硬件自动置为1(CY=1);如果运算结果的最高位无进位(或借位),则CY位被清0(CY=0)。AC(PSW.6):辅助进/借位标志位。当执行加法(或减法)操作时,如果运算结果(和或差)的低4位(D3位)向高4位(D4位)有半进位(或借位),则AC位将被硬件自动置为1(AC=1);否则AC位被清0(AC=0)。F0(PSW.5):用户标志位0。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。,RS1、RS0(PSW.4、PSW.3):工作寄存器组选择位。在单片机数据存储器中有四组工作寄存器组(寄存器3组、寄存器2组、寄存器1组、寄存器0组),每个寄存器组中有8个寄存器R7R0。程序运行时只能有一组寄存器组工作,可以通过设置RS1、RS0的值来进行选取。,表1-3 工作寄存器组选择表,OV(PSW.2):溢出标志位。当进行算术运算时,如果运算结果超出了-128+127的范围,则有溢出,OV位由硬件自动置为1(OV=1);否则无溢出,OV位清0(OV=0)。F1(PSW.1):用户标志位1(仅AT89S52所有)。作用与用户标志位0相同。P(PSW.0):奇偶标志位。每条指令执行完后,该位始终跟踪指示累加器ACC中1的个数。如果A中的1为奇数,则P=1,A中的1为偶数,则P=0。此位常用于校验串行通信中的数据传送是否出错。,堆栈指针SP(81H)堆栈指针SP是一个8位特殊功能寄存器,SP的内容可指向89S52片内00H7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向地址为07H的RAM单元。数据指针DPTR(83H,82H)数据指针DPTR是一个16位特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。数据指针DPTR用于存放16位地址,以便对64KB片外RAM作间接寻址。,AT89S52单片机有4组8位并行准双向I/O端口,分别为P0、P1、P2和P3,共占32个引脚。每个端口均包含一个端口锁存器(特殊功能寄存器P0P3)、一个输出驱动器和输入缓冲器。每个端口可以8条线一起用作I/O口线传输字节信息,也可以每一根I/O口线单独使用。对端口锁存器的读/写就可以实现端口的输入/输出。,1、P0口的使用 P0口可作为通用的8位输入/输出端口使用。在单片机外接扩展存储器时,它还可以作为分时复用的低8位地址/数据总线使用,此时高8位地址总线由P2端口担任。P0口的每一位可驱动8个TTL个负载。(1)P0口作为通用输出口,需外接上拉电阻才能输出电平。(2)P0口作为通用输入口,分为读锁存器和读引脚两种情况。在读端口引脚数据前,应先向端口锁存器写入1。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号