1微处理器系统原理与设计共40个学时,另有2周实验。考核方式:(平时作业+期中考试):40%,期末考试:60%。参考书目:1)单片机初级教程,单片机基础(第2版),张迎新,北京航空航天大学出版社2)单片机中级教程,原理与应用(第2版),何立民,北京航空航天大学出版社2)单片机原理及接口技术(C51编程),张毅刚,人民邮电出版社3)单片机C语言案例教程,电子工业出版社,白炽贵等4)单片机的C语言应用程序设计,北京航空航天大学出版社,马忠梅等5)51单片机C语言教程,电子工业出版社,郭天祥授课教师:余萍陈智雄贾惠彬(通信教研室)2微处理器系统原理与设计各章节内容:第1章微型计算机的基本知识第2章51系列单片机的结构及原理第3章51系列单片机的指令系统和开发环境第4章单片机C51语言与程序设计第5章输入输出端口第6章定时/计数器第7章中断系统第8章UART串行接口第9章微处理器综合设计第10章嵌入式系统简介与开发3如何学习单片机三问敲开单片机的大门:1、什么是单片机?概念性的,是单片微型计算机的简称。“本事”?“个头”?“基因”?“听话”。玩单片机就是用某种语言(C,汇编)控制单片机I/O口在合适的时间出现合适的高低电平。2、为何玩单片机?单片机的应用范围很广。智能仪器、工业控制、家用电器、网络通信、汽车电子,等等。几乎所有电子产品都会用到单片机,只是数量或多或少的问题,且类型不同。3、如何玩单片机?1)不做浮躁的人;42)做有准备的人:精神准备-持之以恒的毅力与决心;物质准备-软件和硬件;软件:不仅指C语言,还有汇编,C++等,以及模拟、数字电路,高频电路等,手头备几本书,需要什么就查什么。学汇编还是学C语言(C51)?若只是为了用单片机做产品,C51足够了;若要深入研究搞发明,自己生产单片机,则必须学汇编。硬件:书本(纸质书)、实验扳、实战工具。3)玩哪种单片机?型号很多,但原理相通。51单片机作为经典单片机,资料丰富,易掌握,从51入门非常明智。54)了解芯片如何定义:单片机长什么样:双列直插(便于更换),贴片(体积小),高集成度ARM芯片(如手机上用)芯片哪个是第一脚?开发板?实验用:LY-51S,18cm×12.5cm6提醒掌握技能:记忆+操练+为什么?为什么要为什么?触类旁通,很多种单片机型号。不想记忆行不行?考试是闭卷的,知识的整体性。不可能边翻书边搞编程。如果是这样,最好不要跟老板说我学过单片机!!不想动手行不行?有上机实验,想混会很无聊很有挫败感。第1章微型计算机的基本知识1.1单片机概述1.2数制与编码1.3计算机的基本组成电路1.4存储器概述781.1单片机概述一、分类:通用型和专用型两大类(1)通用型单片机:其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可全部提供给用户。用户根据需要,再配以外围接口电路及其它外围设备,并编写相应的软件来满足各种不同需要的测控系统(二次开发)。通常所说的和课程介绍的是指通用型单片机。(2)专用型单片机:专门针对某些产品的特定用途而制作的单片机。无需二次设计,不能进行功能开发。全自动洗衣机、各种IC卡读写器上的单片机都属于此类。简化结构、优化资源、突出可靠性和功能、降低成本,在应用领域具有明显的综合优势。二、发展趋势单片机的发展趋势将是向大容量、高性能化,外围电路内装化等方面发展。为满足不同用户的要求,各公司竞相推出能满足不同需要的产品。1.CPU的改进(1)增加CPU数据总线宽度。例如,各种16位单片机和32位单片机,数据处理能力要优于8位单片机。另外,8位单片机内部采用16位数据总线,其数据处理能力明显优于一般8位单片机。(2)采用双CPU结构,以提高数据处理能力。92.存储器的发展(1)片内程序存储器普遍采用闪烁(Flash)存储器。可不用外扩展程序存储器,简化系统结构。目前有的单片机片内程序存储器容量可达128KB甚至更多。(2)加大片内数据存储容量,以满足动态存储的需要。3.片内I/O的改进(1)增加并行口驱动能力,以减少外部驱动芯片。有的单片机可以直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)。(2)有些单片机设置了一些特殊的串行I/O功能,为构成分布式、网络化系统提供方便条件。10(3)引入数字交叉开关,改变了以往片内外设与外部I/O引脚的固定对应关系。交叉开关是一个大的数字开关网络,可通过编程设置交叉开关控制寄存器,将片内的计数器/定时器、串行口、中断系统、A/D转换器等片内外设灵活配置出现在端口I/O引脚。这就允许用户根据自己的特定应用,将内部外设资源分配给端口I/O引脚。4.低功耗化CMOS化,功耗小,配置有等待状态、睡眠状态、关闭状态等工作方式。消耗电流仅在µA或nA量级,适于电池供电的便携式、手持式的仪器仪表和其它消费类电子产品。5.外设电路内装化众多外围电路集成在片内,系统的单片化是目前发展趋势之一。例如,美国Cygnal公司的C8051F0208位单片机,内部采用流水线结构,大部分指令的完成时间为1或2个时钟周期,峰值处理能力为25MIPS。片上集成有8通道A/D、两路D/A、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和64个通用I/O口、电源监测、12看门狗、多种类型的串行接口(两个UART、SPI)等。一片芯片就是一个“测控”系统。6.编程及仿真的简单化目前大多数的单片机都支持程序的在线编程,也称在系统编程(ISP—InSystemProgram),只需一条ISP并口下载线,就可以把仿真调试通过的程序从PC写入单片机的Flash存储器内,省去编程器。某些机型还支持在线应用编程(IAP),可在线升级或销毁单片机的应用程序,省去了仿真器。13综上所述,单片机正在向多功能、高性能、高速度、低电压、低功耗、低价格、外设电路内装化以及片内程序存储器、数据存储器容量不断增大的方向发展。7.实时操作系统的使用51单片机可配置实时操作系统RTX51。RTX51是一个针对8051系列的多任务内核。从本质上简化了对实时事件反应速度要求较高的复杂应用的系统设计、编程和调试。RTX51实时内核完全集成到C51编译器中,使用简单方便。近几年,随着C编译器效率和MCU性能的大幅度提高,用高级语言代替汇编语言也渐成趋势,典型的MCU都推出了自己的C编译器。其中KeilC51的编译效率已达到很高水平,经过优化的用KeilC51编写的程序编译后的运行效率甚至要高于普通开发者直接用汇编语言编写的程序。从由汇编“独尊”改为汇编与C语言并重。三、51系列与AT89C5x系列单片机20世纪80年代以来,单片机的发展非常迅速,其中Intel公司的51系列单片机是一款设计成功、易于掌握并在世界范围得到广泛使用的机型。1、51系列单片机51系列单片机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进入我国,应用最为广泛的单片机机型之一,也是单片机应用的主流品种。51系列单片机包括基本型产品8031、8051、8751(对应的低功耗型80C31、80C51、87C51)和增强型产品8032、8052、8752。161.基本型(典型产品:8031/8051/8751)8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,5个中断源,但片内无程序存储器,需外扩程序存储器芯片。8051是在8031的基础上,片内又集成有4KBROM作为程序存储器。所以8051是一个程序不超过4KB的小系统。ROM内的程序是公司制作芯片时,代为用户烧制的,主要用在程序已定且批量大的单片机产品中。8751与8051相比,片内集成的4KB的EPROM取代了8051的4KBROM来作为程序存储器,构成一个程序不大于4KB的小系统。用户可将程序固化在EPROM中,EPROM中的内容可反复擦写修改。8031外扩一片4KB的EPROM就相当于一个8751。172.增强型Intel公司在基本型基础上,推出增强型-52子系列,典型产品:8032/8052/8752。内部RAM增到256B,8052、片内程序存储器扩展到8KB,16位定时器/计数器增至3个,6个中断源,串行口通信速率大大提高。表1-1列出了基本型和增强型的MCS-51系列单片机片内的基本硬件资源。182、AT89系列单片机51系列单片机的代表性产品为8051,其他单片机都是在8051的基础上进行了功能的增减。20世纪80年代中期以后,Intel公司已把精力集中在高档CPU芯片的研发上,逐渐淡出单片机芯片的开发和生产。由于51系列单片机设计上的成功,以及较高的市场占有率,以51技术核心为主导的单片机已经成为许多厂家、电气公司竞相选用的对象,并以此为基核。因此,Intel公司以专利转让或技术交换的形式把8051的内核技术转让给了许多半导体芯片生产厂家,如:ATMEL、Philips、Cygnal、ANALOG、LG、ADI、Maxim、DALLAS等公司。20这些公司生产的兼容机均采用8051的内核结构、指令系统相同,采用CMOS工艺;有的公司还在8051内核的基础上又增加了一些功能模块,其集成度更高,更有特点,功能和市场竞争力更强。人们常用80C51来称呼所有这些具有8051内核使用8051指令系统的单片机,也习惯把这些兼容机等各种衍生品种统称为51单片机。21近年来,世界上单片机芯片生产厂商推出的与8051(80C51)兼容的主要产品如表1-2所示。3、AT89系列单片机的型号说明AT89S5x系列单片机编码由三部分组成,它们是前缀、型号和后缀。格式为:AT89C××××××××AT是前缀,89C××××是型号,××××是后缀。1)前缀由字母“AT”组成,表示该器件是ATMEL公司的产品。2)型号由“89C××××”或“89LV××××”或“89S××××”等表示。8表示单片,9表示内部含有Flash存储器,C表示CMOS产品。LV表示低电压产品,可在2.5V电压下工作,其他产品在5V下工作。S表示含有串行下载的Flash存储器。后4位的“××××”表示器件的型号,如51、52、8052等。223)后缀由最后的“××××”4个参数组成,每个参数的表示意义不同。在型号与后缀部分由“—”号隔开。后缀中的第1个“×”表示速度,意义如下:x=12,表示速度为12MHz;x=16,表示速度为16MHz;x=20,表示速度为20MHz;x=24,表示速度为24MHz。后缀中的第2个“×”表示封装,意义如下:x=P,表示塑料双列直插DIP封装;x=D,表示陶瓷封装;x=Q,表示PQFP封装;x=J,表示PLV封装;x=A,表示TQFP封装;x=S,表示SOIC封装;x=W,表示裸芯片。后缀中的第3个“×”表示芯片的温度范围,意义如下:x=C,表示商业用产品,温度范围为0~+70℃;x=I,表示工业用产品,温度范围为−40~+85℃;x=A,表示汽车用产品,温度范围为−40~+125℃;x=M,表示军用产品,温度范围为−55~+150℃;后缀中的第4个“×”用于说明产品的工艺,意义:x为空,表示处理工艺是标准工艺;x=/883,表示处理工艺采用MIL-STD-883标准。例如,某一单片机型号“AT89C51-12PI”,表示是ATMEL公司的Flash,CMOS产品,速度12MHz,塑料双列直插DIP封装,工业级,标准处理工艺生产。251.2数制与编码一、数制数制是人们利用符号进行计数的科学方法,常用的是十进制、二进制和十六进制。十六进制易于书写和记忆,且与二进制之间的转换方便,书写计算机语言时多用十六进制。二、数制的转换1、二、十六进制数转换成十进制数2、十进制数转换成二、十六进制数:“除二取余”和“除十六取余”26三、计算机中数的表示及运算计算机中的“机器数”均以二进制表示:“有符号数”和“无符号数”一般规定最高位是符号位,8位二进制数中,D