《片微型计算机概述》PPT课件.ppt
单片机应用技术,主讲教师:苏晓龙,全校公共选修课,计算机学院信息科学系,办公室:计A315-1,答疑地点:计A315-1,E-mail:,建议参考书,单片机原理及应用 孙涵芳等编著 北京航空航天大学出版社,单片机系统设计工及程应用雷思孝等编著西安电子科技大学出版社,单片微型计算机原理及接口技术 杨光友等编著中国水利水电出版社,新编单片机原理及应用 潘永雄编著 西安电子科技大学出版社,单片机原理与应用技术黄惟公等编著西安电子科技大学出版社,第一章:单片微型计算机概述,主要内容,第二章:MCS-51单片机的硬件结构,第四章:汇编语言程序设计,第五章:定时/计数器与中断系统,第六章:MCS-51单片机系统扩展技术,第七章:串行通信及其接口,第八章:MCS-51单片机的人机界面接口技术,第九章:MCS-51与D/A及A/D转换器接口,第十章:系统应用实例,第三章:MCS-51单片机指令系统,第1章 单片微型计算机概述,1.1 单片微型计算机发展概况1.2 微计算机系统概念1.3 单片机的特点1.4 计算机中的数和编码,第2章 MCS-51单片机的硬件结构,2.1 MCS-51单片机的基本结构2.2 MCS-51单片机的引脚及片外总线结构2.3 MCS-51单片机的存储器配置2.4 CPU的时序及辅助电路,第3章 MCS-51单片机指令系统,3.1 MCS-51指令系统的分类、格式及一般说明3.2 寻址方式3.3 分类指令,第4章 汇编语言程序设计,4.1 汇编语言基本概念4.2 汇编语言程序设计,第5章 定时/计数器与中断系统,5.1 定时/计数器结构特点及控制5.2 中断系统结构及管理5.3 定时/计数器及中断系统综合应,第6章 MCS-51单片机系统扩展技术,6.1 MCS-51单片机系统扩展的基本概念6.2 程序存储器扩展技术6.3 数据存储器扩展6.4 输入/输出口扩展技术,第7章 串行通信及其接口,7.1 概述7.2 MCS-51的串行口7.3 串行口的控制,第8章 MCS-51单片机的人机界面接口技术,8.1 键盘及其接口8.2 显示器接口8.3 打印机接口8.4 拨码盘及语音接口,第9章 MCS-51与D/A及A/D转换器接口,9.1 概述9.2 D/A转换器及其接口9.3 A/D转换器及其接口,第10章 系统应用实例,10.1 步进电机控制系统10.2 红外线感应自动门控制系统10.3 通用多点温度控制系统,第1章 单片微型计算机概述,1.1 单片微型计算机发展概况1.2 微计算机系统概念1.3 单片机的特点1.4 计算机中的数和编码,1.1 单片微型计算机发展概况,通用微机和单片机是当代微型计算机发展的两大分支,它们有各自的应用领域,不能互换。以IBM-PC机为代表的通用微机,追求高速运行程序、增大存储容量,采用了高速缓冲存储(Cache)技术、虚拟存储技术、流水线作业技术、乱序执行技术等一系列当代计算机新技术,数据处理的位数也达64位,从而广泛应用在科学计算、图像处理、文字处理、数学建模、系统仿真、数据批量处理等领域。,返回本章首页,以数据检测、实时控制为目的的单片机具有体积小、功能全、功耗低、可靠性高和性价比高的特点,成为智能系统中一个必不可少的环节。,1.1 单片微型计算机发展概况,返回本章首页,单片机在过程控制、机电一体化产品、智能家用电器、机器人、智能玩具、智能检测、智能仪器仪表中,以及在制约生产环节的温度、压力、流量测量等方面,均具有得天独厚的优势,其地位不能被通用微机取代。在计算机网络及通讯等方面也得到广泛应用。,1.1 单片微型计算机发展概况,返回本章首页,单片机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机。通常在芯片内含有CPU、ROM、RAM、并行I/O口、串行口、定时/计数器、中断控制系统、系统时钟及系统总线等。单片机一词来源于“Single Chip Microcomputer”(SCM)。“SCM”一词目前国际上已基本上不大采用,而被微控制器(MCUMicrocontroller Unit)或嵌入式控制器(Embedded Controller)所代替。,1976年问世的MCS-48系列单片机的内部构造过于简单,以其典型产品8048为例,内部仅由8位CPU、27条I/O线、1 KB ROM、64 B RAM和1个8位定时/计数器组成,由于没有集成串行接口及中断控制,它的应用范围日益缩小。1980年诞生的MCS-51系列单片机,虽然也是8位机,但由于在内部结构上增加了通用异步接收/发送逻辑部件UART(Universal Asynchronous Receiver and Transmitter),增强了定时/计数、中断处理功能,在指令操作中又设置了大批位操作指令,与片内位寻址空间一起构成独有的布尔操作系统,使得单片机成为名副其实的微控制器。它的使用长盛不衰,成为当今的主流机型。,如果把MCS-48、MCS-51机型分别算作单片机发展进程中的第一代和第二代,那么1984年由Intel公司推出的MCS-96系列就成为单片机的第三代。这一代计算机的特点是字长16位、运算速度快,但这一代计算机应用范围不广,并没有形成气候。之所以16位MCS-96系列机(代表机型8098)取代不了MCS-51系列机,正是因为微控制领域多数场合下字长用不着16位,而且MCS-96系列机价格又普遍偏高。,目前在市场上较为流行的单片机品种除Intel公司的MCS-51、MCS-96系列外,还有:Motorola 公司:68HC5、68HC11系列;Zilog公司:Z86EXXXPSC系列;Texas公司:MSP430FXX系列;Micro Chip公司:PIC16C系列。这些产品中,MCS-51系列所占市场份额最大。世界上许多知名生产厂家,如美国Intel、AMD、ATMEL、Winbond、Temic等公司,以及其它国家的Simens、Philips、NEC、LG等,都生产MCS-51系列单片机。生产该系列单片机的这些公司中,又以Intel公司的产品时间最长、品种最多、应用最快。该系列机的品种已达数百个,为此,MCS-51不仅成为市场上的佼佼者,也成为高校教学的首选。,单片机的应用领域作为一种芯片级的计算机,单片机具有集成度高、体积小、功耗低、性价比高、可靠性高、控制功能强、供电电压低等一系列优点,在微控制领域一枝独秀。单片机的应用领域大体有如下几个方面:(1)智能控制。单片机适用于各种控制系统,如温度、压力、流量智能控制系统,能够实现可编程顺序控制、程序控制、实时控制、连续控制、离散控制、自适应控制、模糊控制等多种控制方案。控制对象涉及到工业、农业、社会生活各个部门,如数控机床、加热炉、化工生产装置等。,(2)智能仪表。在各种仪器仪表中引入单片机,让单片机成为仪表的一部分,是单片机最为重要的用途之一,由此也产生了智能传感器、智能医疗器械、智能测量仪表、数字示波器等等。(3)办公自动化设备。在当代微机的键盘中装入一片单片机,能适时处理即时键入的字符,完成初步转换。具备如此智能处理功能的还有众多的办公自动化设备,如打印机、传真机、复印机、磁盘机、终端设备等等。(4)实时控制。在过程控制、过程监测、运动机械、遥控遥测、机器人等各种实时过程控制系统中,单片机能够使系统保持最佳工作状态、提高效率。例如汽车控制,从点火、变挡、防滑、倒车直至排气、最佳油气比等,都能使用单片机操纵。又如航天领域的导航、制导、自动寻找目标、目标辨识等,也能使用单片机进行控制。,(5)日常生活。单片机可应用于智能建筑、洗衣机、电冰箱、微波炉、电视机、游戏机等当中。有了单片机,人们的生活将更加舒适方便。(6)商务用品。单片机可应用于商业领域的自动售货机、电子秤、电子收款机、自动收款机等当中。,*,微 处 理 器,微 型 计 算 机,微 型 计 算 机 系 统,1.2 微计算机系统概念,返回本章首页,微型计算机的概念结构,1.2 微计算机系统概念,返回本章首页,1.3 单片机的特点,(1)体积小、重量轻、功耗低、功能强、性价比高。(2)数据大都在单片机内部传送,运行速度快,抗干扰能力强,可靠性高。(3)结构灵活,易于组成各种微机应用系统。(4)应用广泛,既可用于工业自动控制等场合,又可用于测量仪器、医疗仪器及家用电器等领域。,返回本章首页,单片机的应用特点单片机的应用具有三个明显的特征:(1)由于控制对象涉及到机械动作(如机器人)或场效应(如温度的变化、流体的流动),因此片面追求单片机的高速度本身没有什么特别意义。单片机的工作频率一般为6 MHz、12 MHz、24 MHz、33 MHz或40 MHz,远低于通用微机。频率低有利于降低成本,取得较好的效益。,(2)目前单片机字长有8位、16位、32位之分,数据位数选择以够用为原则,不是越长越好。由于8位机用于控制已能满足大多系统的要求,因此8位、16位机是单片机的主流机型,今后相当长的时间可能都不会改变。,(3)单片机内的存储容量有增大的趋势,这种增大不仅只是增加RAM、ROM的容量,而是改用一些新型的存储器。美国ATMEL公司开发的8位AT89系列单片机就是在MCS-51内集成了闪速存储器(Flash Memory)。由于芯片内带有闪速可编程、可擦除只读存储器(FPEROM,Flash Programmable and Erasable ROM),使得89C51和89C52单片机能在掉电后保存已写入的数据。,根据单片机的三个应用特点,决定了单片机较之通用微机有不同的发展方向:(1)工业生产的环境通常比较恶劣,甚至存在有毒、有害、有腐蚀的气、液体场合,存在高温、高压、强电、磁辐射等,这就要求单片机具有极强的抗干扰能力,不被外界的干扰影响输出。(2)在人类不能涉足的场合工作,要求单片机具备高的可靠性和稳定性,否则任何差错都不能达到满意的控制效果。(3)要求单片机的指令系统简单,并且I/O端口和存储器统一编址。,1.4 计算机中的数和编码,1.4.1 计数制1.4.2 二进制数(用B表示)1.4.3 十六进制数(用H表示)1.4.4 不同进制数之间的转换1.4.5 数制书写约定1.4.6 计算机中数的表示1.4.7 计算机常用编码,返回本章首页,1.4.1 计数制,日常生活中广泛使用的数为十进制数,这是一种逢十进一的计数方法。用的数制还有二进制、八进制和十六进制等。基数小于10的计数制,可用十进制相应的数码作为它的数字符号,一个数一般由多个数码组成。数码在数中的位置不同,其值也不同。,返回本节,1.4.2 二进制数(用B表示),以2为基数的数制称为二进位计数制,它只包括0和1两个数码,很容易用电子元件的两种不同的状态来表示,例如,用高电平表示1,用低电平表示0。所以,计算机中通常采用二进制数。二进制数的计数特征:逢二进一,运算简单。在加、减、乘、除四则运算中,乘法实质上是做移位加法,除法则是移位减法。,返回本节,1.4.3 十六进制数(用H表示),为了书写和阅读方便,经常采用十六进制数作为二进制的缩写形式。十进制数、二进制数、十六进制数的对照表如表1-1所示。在计数时,逢十六进一,这样书写长度短,且可方便将十六进制数转换为二进制数或将二进制数转换为十六进制数。,表1-1 十进制数、二进制数、十六进制数对照表,返回本节,1.4.4 不同进制数之间的转换,1二进制转换为十进制基本方法:将二进制数按权展开式,利用十进制数的运算法则求和,即可得到等值的十进制数。,2十进制到二进制的转换 十进制整数转换为二进制整数 十进制小数转换为二进制小数 带小数的十进制数转换为二进制数,3二进制、十六进制之间的相互转换将二进制数转换为十六进制数,从低位开始,每四位一组,然后将其转换为对应的十六进制数。如最后一组不足四位,需在左边补0。用同样方法可将二进制小数转换十六进制小数。只是分组应从小数点右边开始分成四位一组。十六进制数转换为二进制数,将每位十六进制数直接转换成相应的二进制数。,返回本节,1.4.5 数制书写约定,在书写计算机程序时,一般不用基数作为下标来区分各种进制,而是用相应的英文字母作后缀来表示各种进制的数。,返回本节,例如:B(Binary)表示二进制数。D(Decimal)表示十进制数,一般D可省略,即无后缀的数字为十进制数。H(Hexadecimal)表示十六进制数。,1.4.6 计算机中数的表示,1原码、反码和补码原码:在符号位中用0表示正、用1表示负的二进制数,称为原码。例如,x1=1110111B,x1原=01110111B x2=1110111B,x2原=11110111B数0可是0或0。因此,0在原码中形式:0原=0000 0000B,0原=1000 0000B,反码:正数的反码=原码;负数的反码=原码的符号位不变而数值按位取反。所谓按位取反,即将各位的1变成0,0变成1。例如,x1=13,x1反=13原=0 0001101B。又如,x2=13,x2原=13原=1 0001101B,x2反=13反=1 1110010B。,补码:正数的补码=原码;负数的补码=反码1。例如,x1=1101101B,x1补=13原=0 1101101B。又如,x2=1101101B,x2反=10010010B,x2补=10010011B。在补码表示中,“0”是唯一的。即0补=00000000B,2数的小数点表示方法定点表示法:表示小数点的位置是固定不变的。分为纯整数和纯小数两类。,纯整数表示方法,纯小数表示方法,其格式如下所示:,浮点表示法浮点表示法中小数点的位置是不固定的。任意二进制数N一般可表示为:N=2PS一个浮点数分为阶码和尾数两部分,二者各有表示正负的阶符和数符,常用存储格式:,在微计算机中常用的浮点数表示有:(1)四字节浮点数格式(如图1-2所示),它由一个字节指数(EXP)、三个字节尾数构成,共用四个存储单元。(2)三字节浮点数格式(如图1-3所示)。,图1-2 四字节浮点数格式,图1-3 三字节浮点数格式,D7 D6 D5D0,返回本节,1.4.7 计算机常用编码,常见的编码有BCD码、ASCII码等。1二 十进制编码是一种用二进制编码的十进制数,称BCD码。BCD码用标准的8421的纯二进制码的十六个状态中的十个(如表1-2所示)。用BCD码表示十进制数,只要将每位十进制数用适当的四位二进制码代替即可。,表1-2 BCD编码,2字母和符号的编码微机普遍采用的是ASCII码(如表1-3所示)。ASCII码是一种八位代码,最高位一般用于奇偶校验,其余七位二进制码对128个字符进行编码。,表1-3 ASCII(美国标准信息交换码)表,返回本节,1.什么是单片机?它与一般计算机有何区别?2.单片机内部采用的是什么数制?为什么在计算机编程中常用十六进制?3.单片机主要应用于哪些方面?请举一些你所知道的例子。,思考题与习题,4.写出下列十进制数的原码和补码(能用8位就用8位,否则用16位),用十六进制表达。,