《单片机基础知识.ppt》由会员分享,可在线阅读,更多相关《单片机基础知识.ppt(48页珍藏版)》请在三一办公上搜索。
1、单片机基础知识,耿文静,本人介绍,姓名:耿文静 年龄:31 教龄:7年毕业院校:天津职业技术师范大学自动化系(本科)四川大学电子与通信工程专业(研究生)擅长授课课程:单片机、PLC、电工学、模拟电路、数字电路。联系方式:手机,培养目标,重点掌握,基本能力,单片机应用能力,基本知识,基本开发设计能力,分析,调试,设计,制作,岗位需求和相关能力,教学成果体现,数字时钟温度计,数字温度计,电子琴,智能寻轨小车,返回,单片机芯片实物,芯片内部,本部分内容,一 单片机概念二 单片机的内部构成和外部引脚三 计算常识补充四 MCS-51单片机的存储器,一 单片机概念,什么是单片机?单片机即单片微型计算机SC
2、M(Single Chip Microcomputer),是将微型计算机的主要部件CPU、存储器(RAM、ROM)、I/O接口、定时计数器、中断系统等,集成在一片芯片上构成的一种计算机芯片,由于应用于控制领域,又简称微控制器MCU(Microcontroler Unit)。由于ROM用于储存程序代码,因此称为“程序存储器”;RAM用于储存程序执行过程中的数据,称为“数据存储器”。,什么是单片机系统?由硬件(单片机芯片和外围电路)、软件(内部程序)构成,能完成一定功能的设备,比如温度显示系统、交通灯控制系统等。,单片机的发展史 1971年 单片机诞生 1976年 Intel公司 8位MCS-48
3、系列 1980年 Intel公司 8位MCS-51系列典型的、完善的、应用最广泛的一个系列。1983年 Intel公司16位MCS-96系列,小常识1:什么是“位”。我们通常用“位”来表示计算机的处理速度,究竟什么是位呢,为什么“位”越大代表着处理速度就越快呢?在计算机中,一位代表着一个二进制数,几位的CPU代表着该CPU一次能处理的二进制数的长度。,单片机的应用 单片机应用十分广泛,大致可分如下几个范畴:1.在智能仪器仪表上的应用:摇床、离心机2.在工业控制中的应用:工厂流水线、各种警报系统3.在家用电器中的应用:现在的家用电器基本上都采用了单片机控制,电饭煲、洗衣机、电冰箱、空调机、彩电五
4、花八门,无所不在。4.在计算机网络和通信领域中的应用:手机、交换机5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用 7.单片机在汽车设备领域中的应用:汽车中的发动机控制器,GPS导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。,二 单片机的内部构成和外部引脚,单片机的内部构成,CPU的内部构造和工作原理,CPU执行指令的过程:查询PC中的地址从ROM对应地址中取出指令代码存入IR进入ID译码,确定该指令
5、的功能在控制器的控制下输出控制信号,执行该功能 PC自加1。重复上述过程。,MCS-51系列单片机简介 8位,外部可以扩展存储器和接口。分为2个子系列,3个版本:,8051单片机的外部引脚,引脚介绍共40个引脚,4类(1)电源接口:VCC(40脚)VSS(20脚)(2)时钟接口:XTAL2(18脚),XTAL1(19脚)(3)I/O接口:4个8位的并行口P0、P1、P2、P3。(4)其他引脚:RST(9脚)复位,高电平有效,小窍门1:接口助记词:奇左偶右,小上大下;占 4 个角,P3少3脚。只有P0序号反。,单片机最小系统 任何单片机想要正常工作,都有3个必接的电路:电源电路、时钟电路、复位电
6、路。接好这3种电路的单片机系统,称为单片机最小系统。1 电源电路 VCC(40脚)一般接5V电源,VSS(20脚)接地。,2 时钟电路 时钟电路接法如左图所示,Y1为晶体振荡器,简称晶振,C1、C2为电容。作为单片机的必接元件,晶振的作用是什么呢?晶振就是单片机的“时钟”。CPU的每一步运行都是有严格的时间标准的,谁来给它把控时间呢?就是晶振。单片机通电后,晶振电路开始工作,产生周期性方波,CPU就是以波动周期为时间标准的。MCS-51系列单片机常用的晶振频率为f=12MHz和f=11.0592MHz。,CPU执行指令是以机器周期为单位的。机器周期和晶振频率的关系是T=12/f。假设f=12M
7、Hz,则其机器周期为1us。,小常识2:二进制单位有,位-bit,字节-Byte,字-Word,三者关系:1B=8b,1W=2B=16b小常识3:十进制和二进制单位前缀对应数量级对比。,3 复位电路,复位的功能:使单片机恢复初始状态。令程序计数器PC清零,令大部分RAM存储器清零。特殊的有:P0P1P2P3复位后各引脚均为高电平;堆栈指针SP=07H。复位的条件:复位引脚的高电平维持两个机器周期以上。复位的方式:上电复位和手动复位。,三 计算常识补充,进制,思考:5D和5H一样大吗?15D和15H呢?,进制转换 二、十六进制转换为十进制 原则:按权展开 198 D=1102+9101+8100
8、=198 D 2A H=2161+10160=42 D 10110 B=124+023+122+121+0100=22 D,十进制转换成二、十六进制转换原则1:除基取余,倒序写(整数)练习:将35 D转换为二进制和十六进制数。235D 余数217-1 28-1 24-0 22-0 21-0 0-1结果:35 D=100011 B=2D H,1645D 余数162-D 0-2,小窍门2:十进制转换成二进制可采用“拆分法”,将十进制数拆分成二进制位权之和的形式,即可直接获得所求二进制数。8 位二进制数的位权为:27 26 25 24 23 22 21 20 128、64、32、16、8、4、2、1
9、。练习:35D=32+2+1=25+21+20=100011 B 29D=40D=100D=,转换原则2:乘基取整法,顺序写 练习 把0.645 D转换成二、十六进制 0.645D=0.10100 B=0.A51EB H,二进制和十六进制相互转换 转换原则:每一位十六进制数和四位二进制数对应。练习:2AH=00101010B10010B=00010010=12H,计算机中数据的表示法 机器数与真值 机器只认识二进制数:0、1。这是因为,电路状态常有两个,如通、断;高电平、低电平;可用0、1表示。这种0、1组成的数据称为机器数,在计算机中一般以8位1字节为单元储存。,机器数的编码及运算对带符号数
10、而言,有原码、反码、补码之分,计算机内一般使用补码。原码“+”用0表示,“-”用1表示,数值部分为该数本身,就构成了原码。如,+3原=00000011B-3原=10000011B0有两种表示方法:+0 00000000 B-0 11111111 B8位原码能表示的最大、最小的数据为:+127、-128反码规定:正数的反码等于原码;负数的反码是将原码的数值位各位取反。如,+4反=+4原=00000100 B-4反=11111011 B反码的数据范围:-128+127,补码 概念:现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。即是说-9的操作可用+3来实现,在12点里:3、-9互为补码
11、。运用补码可使减法变成加法。规定:正数的补码等于原码。负数的补码求法:反码+1如,+6补=+6原=00000110 B-6补=11111001+1=11111010 B 8位补码的范围 128+127。0 的个数:只一个,即00000000,而10000000 B是-128的补码。,补码的运算 X补补=X原 X补+Y补=X+Y 补 X-Y 补=X+(-Y)补例:已知 X=52 Y=38 求X-Y的补码。,十进制数的编码 对机器来说二进制数方便,对人 来说二进制数不直观,习惯于使用十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。怎么办?可以将十进制的字符用二进制数进行编码,
12、这叫做二进制数对十进制编码BCD码。每4位二进制数表示一个十进制字符,这4位的位权依次是:8、4、2、18421 BCD码。,(1)BCD码加法规则两个BCD数相加时,“某位”的和小于10则保持不变;两个BCD数相加时,“某位”的和大于9,则和数应加6修正。(2)BCD码减法规则两个BCD数相减时,“某位”的差未发生借位,则差数保持不变;两个BCD数相减时,“某位”发生了借位,其差应减6修正。这里“某位”指BCD数中的“个位”、“十位”、“百位”、,字符信息的表示 计算机能识别0、1,这些0、1、0、1、有的代表数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机
13、不仅要认识各种数字,还要能识别各种文字符号。人们事先已对各种文字符号进行二进制数编码。如,美国信息交换标准码ASCII码,四 MCS-51单片机的存储器,ROM 8051单片机的内部ROM容量为4KB,外部最大能扩展到64KB,用于存储程序代码和一些固定的数据表格。片内片外ROM的选择由引脚31决定。/EA,31脚,允许读片外ROM控制端。低电平有效。/EA脚的接法和内外ROM使用的关系:/EA=1 先内后外/EA=0 只用外部,小常识4:引脚名称带上划线表示该引脚低电平或下降沿有效。,小常识5:存储空间的地址和容量的关系。M=2N M表示存储容量,N表示存储空间地址的位数。推导:,小常识6
14、如何分清3个B?在计算机知识中,B可以代表单位(字节),进制(二进制),十六进制数中的一个(B H=11 D)。如何分请他们呢?请看下面几个B的应用,你能分清它们分别代表什么吗。4KB,10110100 B,5B H,RAM 外部RAM 最大可以扩展到64KB,地址范围是0000HFFFF H。内部RAM 8051只有256B,地址范围是00HFFH。,内部RAM又分为低128B和高128B,在使用上完全不同。内部RAM的低128B 地址范围:00H-7FH。根据功能的不同又分成-寄存器区、位寻址区、用户区3部分。,寄存器区 共32B,8B一组分成4组。每个字节在每组内按照地址从小到大的顺序,
15、名称为R0-R7。用于快速存取数据。4组寄存器的选择:,位寻址区 位寻址区的地址范围为20H-2FH,共有16B,这些字节既可作为一般单元用字节寻址,也可进行位寻址。可寻址的位有128个,位地址为00H-7FH。CPU能直接操作这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。位地址分配如下表所示:,用户区 剩下的80B是供用户使用的一般RAM区了,地址为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。,堆栈:只有一个口的存储空间。遵循“先进后出”原则。
16、弹夹。可以通过堆栈指针SP设置堆栈的初始位置。比如:SP=0 x4F;注意:每入栈一个数据,SP的值加1,每弹出一个数据,SP的值减1,SP始终指向栈顶地址。,内部RAM的高128B 此区域零散的分布着21个有特殊功能的寄存器,被称为特殊功能寄存器(SFR)区。,下面,我们介绍一下几个常用的SFR。1、ACC-累加器,通常用A表示。运算前存被加减乘除数;运算后存结果;数据中转站;变址寄存器。2、B-寄存器。乘、除法前放乘数或除数;乘、除法后存乘积的高8位、余数;不做乘除法时,随你怎么用。,3、PSW-程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当
17、前状态,并作出相应的处理。和运算相关的位:CY:进位标志。加减法后最高位有进、借位,CY1;无进、借位,CY0 AC:辅助进、借位(高4位与4位间的进、借位)。0V:溢出标志位。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV0。什么是溢出我们后面的章节会讲到。P:奇偶校验位:表示运算结果中二进制数位“1”的个数的奇偶性。若运算结果有奇数个1,P1;运算结果有偶数个1,P0。例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。其他位:F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。RS1、RS0:工作寄存器组选择位。这个我们已知了。,4、P0、P1、P2、P3-这个我们已经知道,是四个并行输入/输出口的寄存器。其中的每一位对应着引脚的输出。5、指针寄存器(1)程序计数器PC指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC=0000H(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H(3)数据指针DPTR 唯一一个供用户使用的16位的寄存器。指明访问的数据存储器的单元地址,寻址范围64KB。分成DPL(低8位)和DPH(高8位)两个寄存器。如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。,