《增强型8051单片机原理与系统开发》C51电子教案-01单片机基础一、课程的性质和目的机电类专业学生必修、专业基础课;强调应用实践,理论结合实际,理解基本概念,能利用单片机解决实际问题;掌握单片机的结构、C51语言程序设计、调试方法;能调试程序,掌握常见故障的检测方法、故障排除方法,具备初步的程序设计能力二、课时分配及教学内容序号课题(或项目)教学时数讲授实践复习测验1项目准备1222流水灯的设计与制作6223时钟的设计与制作14224设计制作红外报警器12225设计制作串行通讯小系统62小计50106机动2合计课时68学分4三、考核方式和成绩评价标准考核内容比例考核方法备注作业15%正确性、工整性和按时完成(预计作业次数10次)5分制,加权平均课堂提问10%加分体制,主动发言加1分,正确加4分,课代表记录实验报告(成绩)20%正确性、完成速度、创新性,报告工整性(4次实验报告)5分制,加权平均出勤率5%扣分法,每次1分(校、院集体活动和有假条除外),课代表记录超过三次,不能参加考试考试(期终)50%参加全校统考,成绩低于60分(卷面总分100分),需补考统一试卷、按课改调整课程特点①知识点既分散又连贯,结构和指令系统是基础;②与电子线路尤其是数字电子线路关系密切;学习方法①预习、复习;②多动手(硬件、软件实验);③多看参考书(包括利用网上资料);④其它(上课、作业、答疑)。答疑和相关资料,兴趣小组第1章单片机系统基础知识1.1概述1.1.1单片机的基本概念1.微处理器的概念MPU是微处理器的缩写(Microprocessor),简称为MP。MPU是集成在同一块芯片上的具有运算和控制功能逻辑的中央处理器。微处理器不仅是构成微型计算机、单片微型计算机系统、嵌入式系统的核心部件,而且也是构成多微处理器系统和现代并行结构计算机的基础。1.1.1单片机的基本概念2.微型计算机的概念微型计算机(microcomputer)是指由微处理器加上采用大规模集成电路制成的程序存储器和数据存储器,以及与输入/输出设备相连接的I/O接口电路,微型计算机简称MC。1.1.1单片机的基本概念3.单片机的基本概念单片机SCMC(SingleChipMicroComputer)—属于微型机的一种—具有一般微机的基本组成和功能其它名称:微控制器MCU(MicroControllerUnit)嵌入式微控制器(embeddedmicrocontroller)单片机是单片微型计算机的简称,也就是把微处理器(CPU)、一定容量的程序存储器(ROM)和数据存储器(RAM)、输入/输出接口(I/O)、时钟及其它一些计算机外围电路,通过总线连接在一起并集成在一个芯片上,构成的微型计算机系统。1.1.1单片机的基本概念4.嵌入式系统的基本概念嵌入式系统泛指嵌入于宿主设备的系统中,嵌入的目的主要是用智能化提升宿主设备的功能。嵌入式系统是以应用技术产品为核心,以计算机技术为基础,以通信技术为载体,以消费类产品为对象,引入各类传感器加入,进入Internet网络技术的连接,而适应应用环境的产品。特点:(1)嵌入式微处理器对实时多任务有很强的支持能力;(2)嵌入式微处理器具有功能很强的存储区保护功能。(3)嵌入式微处理器功耗很低,1.1.1单片机的基本概念5.SOC的基本概念SOC是片上系统的简称。所谓SOC是一种高度集成化、固件化的系统集成技术。使用SOC技术设计系统的核心思想,就是要把整个应用电子系统全部集成在一个芯片中。在使用SOC技术设计应用系统时,除了那些无法集成的外部电路或机械部分以外,其他所有的系统电路全部集成在一起。1.1.2单片机的发展概况1.单片机的发展阶段(1)单片机的初级阶段(2)单片机的中级(成熟)阶段(3)单片机的高级(发展)阶段1.1.3单片机的特点和应用1.单片机的特点(1)体积小、使用灵活、成本低、易于产业化。(2)可靠性好,适应温度范围宽。(3)易扩展,很容易构成各种规模的应用系统、控制功能强。(4)系统内无监控或系统管理程序。2.单片机的应用(1)测控系统(2)智能仪器仪表(3)通讯产品(4)民用产品(5)军用产品(6)计算机外部设备1.2.1MCS-51单片机的功能结构及特点图1-1MCS-51(增强型)单片机功能结构图时钟信号源外部事件信号BUS时钟电路8KBFlashROM256BRAM128BSFR16位×3个定时/计数器64KB总线扩展控制器可编程并行口可编程全双工串行口CPU中断控制器外中断8位×4个并行口串行通信总线控制BUS1.2.1MCS-51单片机的功能结构及特点MCS-51单片机内部主要包括9个部分:①一个8位的微处理器CPU②8KB的片内程序存储器FlashROM③256B的片内数据存储器RAM、128B特殊功能寄存器(SFR)④3个16位的定时器/计数器⑤有一个管理6个中断源的中断控制器⑥4个8位并行I/O端⑦一个全双工的串行接口(UART)⑧片内振荡电路和时钟发生器⑨可扩展64KB程序、64KB数据存储器的三总线控制电路1.2.2MCS-51单片机的内部原理结构MCS-51单片机的内部原理结构如图1-2所示。与图1-1比较,主要的区别是画出了CPU的内部结构,图中的中间部分除了“定时器、串行口”大方框之外都属于CPU部件。下面先介绍CPU部分,对于其它部件,将在本章和后面的章节讲解。图1-2MCS-51(增强型)单片机原理结构图XTAL2XTAL1P3.0~P3.7P1.0~P1.7RAM地址端口0驱动器端口2驱动器8KBFlashROM端口0锁存器端口2锁存器端口1驱动器端口3驱动器端口1锁存器端口3锁存器暂存器1SPPSWB寄存器暂存器2ACC256BRAM128BSFR缓冲器PC加1PC程序地址寄存器DPTR定时器、串行口中断部件及特殊功能寄存器地址总线∕数据总线P2.0~P2.7VccGND指令寄存器指令译码器指令控制器P0.0~P0.7PSENALEEARSTALU1.2.3MCS-51单片机的CPUMCS-51单片机内部有一个功能强大的8位CPU,它包含两个基本部分,运算器和控制器。一、运算器运算器包括:算术和逻辑运算部件ALU(ArithmeticLogicUnit)以及累加器ACC、寄存器B、暂存器1、暂存器2、程序状态字寄存器PSW、布尔处理器等。1.2.3MCS-51单片机的CPU1、算术逻辑运算部件ALUALU可以对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。这些操作可以是:算术运算:加、减、乘、除、加1、减1、BCD码数的十进制调整及比较等;逻辑运算:与、或、异或、求补及循环移位等。1.2.3MCS-51单片机的CPU2、累加器ACCACC在CPU结构中占有特殊的位置,所以ACC在指令中使用的非常多。ACC既做源操作数又做目的操作数,如在加、减、乘、除算术运算指令中,在与、或、异或、循环移位逻辑运算指令等。ACC也作为通用寄存器使用,并且可以按位操作,所以ACC是一个用处最多、最忙碌的寄存器。在指令中用助记符A来表示。1.2.3MCS-51单片机的CPU4、程序状态字PSW功能:用于设定CPU的状态和指示指令执行后的状态。PSW相当于其它微处理器中的标志寄存器。格式如下:PSW(D0H)D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P图1-3程序状态字PSW格式1.2.3MCS-51单片机的CPUCY(PSW.7):进位、借位标志在做位操作(布尔操作)时CY作为位累加器。在指令中用C代替CYAC(PSW.6):半进位、半借位标志,也称为辅助进位标志F0、F1(PSW.5、PSW.1):用户标志位,留给用户使用D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P1.2.3MCS-51单片机的CPUOV(PSW.2):溢出标志位有以下几种情况:①加减运算:OV=1表示结果超出了8位有符号数的有效范围(-128~+127),对无符号数OV没有意义。②无符号数乘法运算:OV=1表明结果超出了8位数③无符号数除法运算:OV=1表明除数为01.2.3MCS-51单片机的CPUP(PSW.0):累加器A的奇偶标志位P表示累加器A中1的个数的奇偶性•P=1,A中有奇数个1•P=0,A中有偶数个12.1.3MCS-51单片机的CPURS1、RS0(PSW.4和PSW.3):工作寄存器组选择控制位。工作寄存器:R0、R1、……、R7表2-1RS1、RS0的组合关系RS1RS0工作寄存器组片内RAM地址00第0组00H~07H01第1组08H~0FH10第2组10H~17H11第3组18H~1FH1.2.3MCS-51单片机的CPU5、布尔处理器布尔处理器以PSW中的进位标志位CY作为位累加器(用C表示)。功能:专门用于处理位操作。MCS-51单片机有丰富的位处理指令:如置位、位清0、位取反、判断位值(为1或为0)转移,以及通过C(指令中用C代替CY)做位数据传送、位逻辑与、位逻辑或等位操作。1.2.3MCS-51单片机的CPU二、控制器控制器包括程序计数器PC、指令寄存器IR、指令译码器ID,以及时钟控制逻辑、堆栈指针SP、地址指针DPTR等。1、程序计数器PCPC是一个具有自加1功能的16位的计数器PC的内容是将要执行的下一条指令的地址改变PC的内容就改变了程序执行的顺序2.1.3MCS-51单片机的CPU2、指令寄存器IR和指令译码器IDIR:存放从FlashROM中读取的指令ID:进行译码,产生一定序列的控制信号,完成指令所规定的操作。3、堆栈(1)堆栈的概念堆栈是在RAM中专门开辟的一个特殊用途的存储区。(2)堆栈的访问原则:“先进后出”、“后进先出”。即先进入堆栈的数据后移出堆栈,即后进入堆栈的数据先移出堆栈。2.1.3MCS-51单片机的CPU(3)堆栈的结构堆栈的一端的地址是固定的,称为栈底;另一端的地址是动态变化的,称为栈顶。(4)堆栈的操作方式堆栈有两种操作方式:数据进栈和数据出栈。进栈和出栈都是在栈顶进行,这就必然是按照“先进后出”、“后进先出”的方式存取数据。2.1.3MCS-51单片机的CPU(5)堆栈的应用主要是用来暂时存放数据,有两种情况使用堆栈:一是CPU自动使用堆栈,当调用子程序或响应中断,处理中断服务程序时,CPU自动将返回地址存放到堆栈中;通过堆栈传递参数。二是程序员使用堆栈,用堆栈暂时存放数据。1.2.3MCS-51单片机的CPU4、堆栈指针SP堆栈指针SP(StackPointer)中为栈顶的地址,即SP指向栈顶。SP是访问堆栈的间址寄存器SP具有自动加1、自动减1功能。当数据进栈时,SP先自动加1,然后CPU将数据存入;当数据出栈时,CPU先将数据送出,然后SP自动减1。1.2.3MCS-51单片机的CPU下图是数据进栈的情况数据从栈顶进入开始状态58进栈后的状态A6,7B进栈后的状态E7E7E7E6E6E6SPE5SPE5SPE5E1E4E2E4E4E4E3E3E3E2E258E236E136E136E121E021E021E058A67B1.2.3MCS-51单片机的CPU由于进栈时SP的值增加,即堆栈向地址大的方向生长,并且栈顶是有效数据,这种堆栈是满递增型堆栈。7B出栈后的状态A6、58、36出栈后的状态E7E7E6E6SPE5SPE5E37BE4E07BE4A6E3A6E358E258E236E136E121E021E07BA658361.2.3MCS-51单片机的CPU5、数据指针DPTRDPTR是唯一的16位寄存器。DPTR既可以作为一个16位寄存器使用,也可以作为两个独立的8位寄存器使用。其高字节寄存器用DPH表示,低字节寄存器用DPL表示。DPTR的用途:(1)主要用于存放16位地址,以便对64KB的片外RAM和64KB的程序存储空间作间接访问。(2)其次用于存放数据,作为一般寄存器使用。图1-2MCS-51(增强型)单片机原