




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用讲授:任雯2014-2015年第2学期授课班级:13物理学2参考书:谢维成,杨加国主编:单片机原理与应用及C51程序设计(第3版),清华大学出版社。张俊谟编著:单片机中级教程—原理与应用(第二版),北京航空航天大学出版社。2包括平时成绩考核、实验考核、期末卷面考核三部分,期末卷面考核采取闭卷形式。各部分成绩比例如下:(1)平时成绩:包括出勤、课堂提问、作业、实验报告等,占10%。(2)实验成绩:三次实验测评,一次10分,共30分,占30%。(3)期末考试成绩:占70%。(4)综合考核成绩:总成绩=平时(10%)+实验(30%)+期末(60%)。考核方式与总评成绩:3绪论主要内容单片机单片机与嵌入式系统本教程的特点和教学安排4单片机
1.单片机的含义2.单片机的发展
3.
MCS-51和80C51系列简介
4.单片机的应用绪论51.单片机的含义随着大规模集成电路技术的发展,可以将CPU、RAM、ROM,定时器/计数器,以及输入/输出(I/0)接口电路等计算机的主要部件,集成在一块集成电路芯片上。这样所组成的芯片级的微型计算机直译为单片微型计算机(Singlechipmicrocomputer)
或单片微机,在我国,我们习惯称其为单片机。6单片机虽然只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义。由于单片机从功能和形态来说都是作为控制领域应用的要求而诞生的,并且发展到新一代80C5l、M68HCO5、M68HC11系列单片机时,在其中着力扩展了各种控制功能,如模数转换(A/D)、脉宽调制(PWM)、计数器捕获/比较逻辑(PCA)、高速I/O口、WDT
(WatchdogTimer)等,已突破了微型计算机(Microcomputer)的传统内容。所以更准确地反映单片机本质的叫法应是微控制器(MicroControllerUnit,MCU)。7根据单片机的结构和微电子设计的特点,应用系统中虽然往往仅以单片机为核心,但是它已完全融入应用系统之中,故而也有将单片机称为嵌入式微控制器(EmbeddedMicrocontroller)的。在我国,单片机的叫法甚为普遍,这里我们把它认为是一个单片形态的微控制器。因而在本教程中还是将其称为单片机。8⒉单片机的发展下面列举单片机发展过程中的一些重要事件对单片机的发展情况作概要说明:1976年Intel公司首先推出能称为单片机的MCS-48系列单片微型计算机,它以体积小,功能全、价格低等特点,赢得了广泛的应用,为单片机的发展奠定了基础。成为单片机发展进程中的一个重要阶段。9在MCS-48成功的刺激下,许多半导体公司和计算机公司争相研制和发展自己的单片机系列。到目前为止,世界各地厂商己研制出大约50个系列,30多个品种的单片机产品,其中有Motorola公司的6801、6802,Zilog(美国齐格洛)公司的Z-8系列,Rockwell公司的6501、6502等,此外日本的NEC公司,日立公司及EPSON公司等也都相继推出了各具特色的单片机品种。10
尽管目前单片机的品种很多,但其中最具典型性的当属Intel公司的MCS-51系列单片机系列。MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它仍然是8位的单片机,但其功能有很大的增强。此外它还具有品种全、兼容性强、软硬件资料丰富等特点。因此应用非常广泛,成为继MCS-48之后最重要的单片机品种。直到现在,MCS-51仍不失为单片机中的主流机型。国内尤以MCS-51系列单片机应用最广。11
在8位单片机之后,16位单片机也有很大发展,例如1983年Intel公司推出的MCS-96系列单片机就是其中的典型代表。与MCS-51相比,MCS-96不但字长增加一倍,而且还具有4路或8路的lO位A/D转换功能,此外,在其它性能方面也有一定的提高。近年来,随着ARM(主要是多媒体)处理器在全球范围的流行,32位的RISC(ReducedInstruction-SetComputer)嵌入式处理器已经开始成为高中端嵌入式应用和设计的主流。这是因为:12一方面由于像数码相机、MP3播放机、PDA、游戏机和移动电话手机等手持设备以及各种信息家电等有更高性能要求的多媒体和通信设备的推出。在这些应用中,庞大的多媒体数据必然需要更大的存储空间,目前许多32位微控制器都可以使用SDRAM,因此可极大地降低使用更大容量数据存储器的成本。13此外,除了处理应用控制功能之外,需支持互联网接入的应用,在MCU运行TCP/IP或其它通信协议的情况下,要求系统建立在RTOS(RealTimeOperatingSystem)上就必然成为一种现实需求。另外,有越来越多的像电视机、汽车音响及电子玩具等传统应用也与时俱进地提出数字化和“硬件软化”的要求,它们对计算性能的要求及存储器容量的需求都超出绝大多数8位或16位微控制器能提供的范围。14
另一方面由于IT技术发展的推动,32位ARM体系结构已经成为一种事实上的标准,8位机除MCS-51外,其它的8位机和16位机都没有一种能成为标准或准标准产品的。15
随着高端32位CPU价格的不断下降和开发环境的成熟,促使32位嵌入式处理器日益挤压原先由8位微控制器主导的应用空间。有更多、更复杂特点和功能需求的便携式电子设备正促使嵌入式系统工程师考虑用32位MCU取代8/16位MCU。另外,越来越多的设计师认识到,转用32位架构不仅能提升性能,还能降低相同成本下的系统功耗和节约总成本以及缩短产品上市时间。这个转变为设计师提供了可随着产品的性能和需求不断扩展而升级的方案。16
尽管由于市场对多功能产品需求的增加和IT技术的推动,使32位MCU产品日益成为市场的热点;但目前8位MCU仍然是技术市场的主流,并且还有相当广阔的应用空间和旺盛的生命力,16位MCU也占有一定的市场份额。各种MCU根据自己在市场上的定位,也都有了很大发展。综观近三十年单片机的发展历程,它正朝多功能、多选择、高速度、低功耗、低价格、扩大存储容量和加强I/O功能及结构兼容方向发展。预计其今后的发展趋势不外乎在以下几个方面:17
(1)微控制器多功能化
微控制器(MCU)已可集成越来越多的内置部件,成为名副其实的单片机。常用的部件有:存储器类,包括程序存储器MROM/OTPROM/EPROM/EEPROM/FlashROM和数据存储器SRAM/SDRAM/SSRAM;18
串行接口类,包括UART、SPI、I2C、CAN、IR、Ethernet、HDLC;并行接口类,包括Centronics、PCI、IDE、GPIO等;定时和时钟类,包括,定时器/计数器、实时时钟(RTC)、Watchdog、Clockout;专用和外围接口类,包括Comparer(比较器)、ADC、DAC、LCD控制器、DMA、PWM、PLL、MAC、温度传感器等。19
甚至有的MCU,例如NS公司的MCU,已把语音、图像部件也集成到单片机中,目的就是在单个器件中集成所有所需要用到的部件,构成片上系统(SoC)。Cygnal公司推出的C8051F系列的MCU在一个芯片中集成了构成数据采集系统或控制系统所需要的几乎所有的数字和模拟外围接口和功能部件,这种混合信号芯片实质上已构成了片上系统(SoC)。20
(2)多核结构处理器随着嵌入式应用的深入,特别是在数字通信和网络中的应用,对处理器提出了更高的要求。为适应这种情况,现在已出现多核结构的处理器。
Freesaale(飞思卡尔)公司研发的MPC8260PowerQUiCCⅡ就是一种先进的为电信和网络市场而设计的集成通信微处理器。它融合了两个CPU——嵌入式PowerPC内核和通信处理模块(CPM)。由于CPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗反而要低于传统体系结构的处理器。21
Infineon(英飞凌)公司推出的TCl0GP和增强型TCll30都是三核(TriCore)结构的微处理器。它同时具备RISC、CISC和DSP功能,是一种建立在SoC概念上的结构。这种单片机由三个核组成:微控制器和DSP核、数据和程序存储器核、外围专用集成电路(ASIC)。这种单片机的最大特点是把DSP和MCU(微控制器)融合成一个单内核,大大提高了微控制器的功能。具有类似结构的还有Hitachi(日立)公司的SH7410、SH7612等;它们用于既需要MCU又需要DSP功能的场合,比使用单独MCU和DSP的组合提供了更优越的性能。22
(3)更低功耗现在新推出的MCU的功耗越来越低,很多MCU都有多种工作方式,包括等待、暂停、休眠、空闲、节电等工作方式。例如Philips的P87LPC762,空闲状态下的电流为1.5mA,而在节电方式下电流只有0.5mA。很多MCU还允许在低振荡频率下以极低的功耗工作。例如,P87LPC764在32.768kHz低频下,正常工作电流仅为IDD=16μA(VDD=3.6V),空闲模式下IDD=7μA(VDD=3.6V)。23
(4)更宽工作电压范围扩大电源电压范围以及在较低电压下仍然能工作是现在新推出的MCU的一个特点。目前一般MCU都可以在3.3~5.5V的范围内工作,有些产品则可以在2.2~6V的范围内工作。例如,Fujitsu(富士通)的MB8919X、MB8912X和MB89130系列以及F2MC-8L系列MCU,绝大多数工作电压范围都为2.2~6V;而TI的MSP430X11X系列的工作电压可以低达2.2V。Motorola针对长时间处在待机模式的装置所设计的超省电HCS08系列MCU,已经把可工作的最低电压降到了1.8V。24
(5)更先进的工艺和更小的封装现在MCU的封装水平已大大提高,有越来越多的
MCU采用了各种贴片封装形式,以满足便携式手持设备的需要。Microchip公司推出了目前世界上体积最小的6引脚PICl0F2XX系列MCU。为了适应各种应用的需要,减少驱动电路,很多MCU的输出能力都有了很大提高,MotorolaMCU的I/O口灌电流可达8mA以上,而
Microchip的MCU可达20~25mA,其它如AMD、Fujitsu、NEC、Infineon、Hitachi、Atmel、Toshiba等都在8~20mA之间。
25
(6)低噪声布线技术在过去一般MCU中,电源与地引脚是安排在芯片封装的对角上,即左上、右下或右上、左下位置上。这种安排会使电源噪声对MCU的内部电路造成的干扰相对较大。现在很多MCU都把电源和地引脚安排在两个相邻的引脚上。这样既降低了干扰,还便于在印制电路板上对去耦电容器进行布线,降低系统的噪声。
26
⒊MCS-51和80C51系列简介从最初的单片机发展到如今的新一代单片机,大致经历了三个年代。如以Intel8位单片机为例,这三个年代划分大致是:第一代:以1976年推出的MCS-48系列为代表,其主要的技术特征是将CPU和计算机外围电路集成到了一个芯片上,作为与通用CPU分道扬镳的标志,为单片机的进一步发展开辟了成功之路。27
第二代:以MCS-51的8051、8052为代表。最主要技术特点是向外部接口电路扩展,以实现微控制器(Microcontroller)化。
MCS-51系列8位高档单片机是在总结MCS-48系列单片机的基础上,于80年代初推出的新产品。其主要的技术特征是:扩大了片内存储容量、外部寻址空间:程序存储器和外部数据存储器的寻址都增加为64K。4K×8ROM作为内部程序存储器,用来存放系统程序、用户的专用程序和固定常数。28
在MCS-51系列单片机中,8031、8751与8051的内部结构基本相同,其区别仅在于8031内部不含有程序存储器,必须由外部扩展。8751内部程序存储器为可编程、可改写的只读存储器EPROM,其内部程序由用户自行写入。在片内数据存储器方面,采用8位地址,寻址范围为256字节,其中OOH~7FH为128字节的内部RAM,用来存放用户的随机数。29
在80H~FFH范围内,离散地分布着21个特殊功能寄存器,其中11个特殊功能寄存器具有位寻址能力。在内部RAM中,OOH~1FH可分为4个寄存器工作区。寄存器工作区由选择指令进行切换,从而有效地提高了CPU的现场保护能力和实时响应速度;2OH~2FH单元可进行位寻址。30
增强了并行口,增设了全双工串行口I/O:4个8位并行I/O接口可用于地址和数据的传送,也可与8243、8155等联接,进行外部I/O接口的扩展。串行I/O接口是一个全双工串行通信口,可用于数据的串行接收和发送,这为构成串行通信网络提供了方便。2个定时器/计数器均为16位(比8048长一倍),且有4种工作方式,这样既提高了定时/计数范围,又使用户使用灵活方便。31
增强了中断系统:在MCS-51单片机中,设置有2级中断优先级,可接受5个中断源的中断请求,中断优先级别可由用户定义。这样,就使MCS-51单片机很适合用于数据采集与处理、智能仪器仪表和工业过程控制中。32
具备较强的指令寻址和运算等功能:MCS-51系列单片机有111条指令,可分为4大类,使用了7种寻址方式。这些指令44%为单字节指令,41%为双字节指令,15%为三字节指令。若用l2MHz的晶体频率,50%的指令可在1μs内执行完毕,40%的指令在2μs内执行完毕。此外,还设有减法、比较和8位乘、除法指令。乘、除法指令的执行时间仅为4μs,这样大大地提高了CPU的运算与数据处理能力。33
增设了颇具特色的布尔处理机:在MCS-51的指令系统中设置有位操作指令,可用于位寻址空间,这些位操作指令与位寻址空间一起构成布尔处理机。布尔处理机对于实时逻辑控制处理具有突出的优点。34
可以看出,这一代单片机主要的技术特征是为单片机配置了完善的外部并行总线(AB、DB、CB)和具有多机识别功能的串行通讯接口(UART),规范了功能单元的特殊功能寄存器(SFR)控制模式及适应控制器特点的布尔处理系统和指令系统,为发展具有良好兼容性的新一代单片机奠定了良好的基础。但是,无论是第一代还是第二代单片机都还未突破单片微机的内涵。35
第三代以80C5l系列单片机为代表。这个时期的产品以CMOS化为特色,以完善的单片机的控制功能为已任。它们是在MCS-51的HMOS基础上发展起来的,具有CHMOS结构。注:
CMOS:互补金属氧化物半导体HMOS:高性能金属氧化物半导体CHMOS:互补高性能金属氧化物半导体36
80C51系列单片机保留了MCS-51单片机的所有特性,内部组成基本相同。它包括了Intel公司发展MCS-51系列的新一代产品,如8XC152、80C5lFA/FB、80C51GA/GB、8XC451、8XC452,还包括了Philips、Siemens、ADM、Fujutsu、OKI、ATMEL等公司以80C5l为核心推出的大量各具特色、与MCS-51兼容的单片机。37
80C51系列单片机增设了两种可以用软件进行选择的低功耗工作方式:空闲方式和掉电方式。
87C51单片机是属于80C51系列,含EPROM的产品,89C51单片机也是属于80C51系列的产品含E2PROM。这种单片机有两级或三级程序存储器保密系统,用于保护EPROM或E2PROM中的程序,以防止非法拷贝。近几年微控制器竞相采用Flash存储器,这已成为趋势。因为它集成度高、价格便宜、技术先进,可以取代PROM、EPROM、OTP和E2PROM。利用Flash存储器可高速读、写的特点实现在系统编程(ISP)和在应用编程(IAP)。38
ISP(In-SystemProgramming)技术是在已焊成的板级系统上,直接对微控制器进行擦除和编程的先进技术。一般的来说,ISP技术是从结构上将Flash存储器映象为两个存储体,当在一个存储体上运行用户程序时,而在后台可对另一个存储体中的程序实时更新,之后再将控制转向更新的程序上运行。39
80C51系列单片机除了上述的结构特性外,其最主要技术特点是向外部接口电路扩展,以实现微控制器完善的控制功能。如:为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为80C51系列8XC592单片机引入了具有较强功能的设备间网络系统总线—CAN(ControllerAreaNetworkBUS)等。这一系列的单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。40
80C51系列产品中增加了一些外部接口功能单元如A/D、PWM、WDT(监视定时器)、高速I/O口、PCA(可编程计数器阵列)、计数器的捕获/比较逻辑等。此外,由于80C51系列采用了CMOS技术制造而成,较之MCS-51系列集成度高,速度快,功耗低。41
值得注意的是,在单片机硬件得到迅速发展的同时,开发单片机所用软件的开发语言也发生了变化。过去大部分8/16位MCU都没有太多的性能冗余,软件编写必须完全适合其有限的处理功能,因此软件开发大部分用汇编语言编写。在8/16位MCU上采用C、PL/M等高级语言编程,再用相关编译器转换成相应机器语言执行,早在十几年前就已尝试并推广;42
但由于当时编译器的编译效率还不够高,高级语言程序的额外开销相对比较大、运行效率下降,再加上8/16位MCU本身处理裕度有限,推广进度缓慢。最近几年,就8/16位MCU而言,随着C编译器效率和MCU性能的大幅度提高,用高级语言代替汇编语言也渐成趋势,典型的MCU都推出了自己的C编译器。其中KeilC51的编译效率已达到很高水平,经过优化的用KeilC51编写的程序编译后的运行效率甚至要高于普通开发者直接用汇编语言编写的程序。43
虽然,现在MCS-51仍不失为单片机中的主流机型,国内仍以Intel的MCS-51系列单片机应用最广。但是,由于80C51系列所具有的一系列特点,已获得广泛的应用。加之C语言的应用的广泛使用,故而本教程的讲授,硬件将仍以80C51为主线,而在软件方面则从由汇编“独尊”改为汇编与C语言并重。44
⒋单片机的应用以下大致介绍一些典型的应用领域和应用特点。⑴家用电器领域目前国内各种家用电器已普遍采用单片机控制取代传统的控制电路,而做成单片机控制系统。例如洗衣机、电冰箱、空调机、微波炉、电饭煲、电视机、录像机及其它视频音像设备的控制器。45
⑵办公自动化领域现代办公室中所使用的大量通信、信息产品多数都采用了单片机,如通用计算机系统中的键盘译码、磁盘驱动、打印机、绘图仪、复印机、电话、传真机、考勤机等。46
⑶商业营销领域由于在商业营销系统已广泛使用的电子称、收款机、条形码阅读器、仓储安全监测系统、商场保安系统、空气调节系统、冷冻保鲜系统等中,目前已纷纷采用单片机构成专用系统,主要由于这种系统有明显的抗病菌侵害、抗电磁干扰等高可靠性能的保证。47
⑷工业自动化如工业过程控制、过程监测、工业控制器及机电一体化控制系统等,这些系统除一些小型工控机之外,许多都是由单片机为核心的单机或多机网络系统。如工业机器人的控制系统是由中央控制器、感觉系统、行走系统、擒拿系统等节点构成的多机网络系统。48
⑸智能仪表与集成智能传感器传统的控制电路目前各种变送器、电气测量仪表普遍采用单片机应用系统替代传统的测量系统,使测量系统具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音功能等。 将单片机与传感器相结合可以构成新一代的智能传感器,它将传感器初级变换后的电量作进一步的变换、处理,输出能满足远距离传送、能与微机接口的数字信号。49
⑹汽车电子与航空航天电子系统通常在这些电子系统中的集中显示系统、动力监测控制系统、自动驾驭系统、通信系统以及运行监视器(黑匣子)等都要构成冗余的网络系统。50
从上述可以看出,单片机应用的意义绝不限于它的功能,以及所带来的经济效益上。更重要的意义在于,单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片机通过软件方法实现了,这种以软件取代硬件并能提高系统性能的控制技术,称之为微控制技术。这标志着一种全新概念的建立。随者单片机应用技术的推广普及,微控制技术必将不断发展,日益完善,更加充实。
51
单片机与嵌入式系统⒈嵌入式系统⒉ 单片机与嵌入式系统的发展道路52
⒈嵌入式系统数字计算机在其1946年诞生后,始终以其高贵的身份被供养在特殊的机房中。直到20世纪70年代,微处理器出现之后,才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,以及其表现出的高度的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制,从而促使具有计算机身价的微型计算机走出机房。53
例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,人们把嵌入到对象体系中,实现对象体系智能化管理和控制的这种专用计算机,称为“嵌入式计算机系统”或简称为“嵌入式系统”。54
由于在应用中对嵌入式计算机系统与通用计算机系统提出了完全不同的技术要求,因而他们的技术发展方向也完全不同:对通用计算机系统的技术要求是高速、海量的数值计算,因而其技术发展方向是总线速度的无限提升,存储容量的无限扩大。对嵌入式计算机系统的技术要求,是对对象的智能化的管理和控制能力,因此,它的技术发展方向则是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。55
嵌入式系统主要由嵌入式处理器、存储器及外设器件和I/O端口、图形控制器等相关支撑硬件、嵌入式操作系统及应用系统等软件组成。嵌入式系统的核心部件是各种类型的嵌入式处理器。嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(DigitalSignalProcessor)。56
嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola68000、ARM系列等等。嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051系列。57
嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。软件部分包括操作系统软件,要求实时和多任务操作和应用程序编程。应用程序控制着系统的运作和行为;而操作系统则控制着应用程序编程与硬件的交互作用。58
1970年左右出现嵌入式系统的概念时,嵌入式系统很多都不采用操作系统的,它们只是为了实现某个控制功能,使用一个简单的循环控制对外界的控制请求进行处理。当应用系统越来越复杂、利用的范围越来越广泛的时候,每添加一项新的功能,都可能需要从头开始设计。没有操作系统已成为一个最大的缺点了。59
C语言的出现使操作系统开发变得简单。从上世纪80年代开始,出现了各种各样的商用嵌入式操作系统百家争鸣的局面,比较著名的有VxWorks、pSOS和WindowsCE等等,这些操作系统大部分是为专有系统而开发的。另外,源代码开放的嵌入式Linux,由于其强大的网络功能和低成本,近来也得到了越来越多的应用。60
⑴嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是,嵌入式处理器大多工作在为特定用户群设计的系统中,它通常都具有低功耗、小体积、高集成度等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,因此,器件的移动能力大大增强,同时跟网络的耦合也越来越紧密。嵌入式计算机系统同通用型计算机系统相比,具有以下特点:61
⑵嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。⑶因为嵌入式系统和具体应用有机地结合在一起,它的升级换代也和具体产品同步进行,所以,嵌入式系统产品一旦进入市场,一般都具有较长的生命周期。⑷为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机之中,而不是存贮于磁盘等载体中。62
通用计算机系统与嵌入式计算机系统的专业化分工,导致20世纪末、21世纪初,计算机技术的飞速发展。作为近代计算机技术两大分支之一的嵌入式系统已经渗透到每个家庭、每个人身边。目前,嵌入式技术已成为通信和消费类产品的共同发展方向。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA(PersonalDigitalAssistant)、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
63
⒉单片机与嵌入式系统的发展道路就历史而言,嵌入式系统的发展和单片机的发展是紧密相连的。如果按早期嵌入式计算机系统的习惯叫法,将所有实现嵌入式应用的不同形式的计算机系统统称为嵌入式系统,那么,嵌入式系统就是一个庞大的家族。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。64
(1)
设备级(工控机)工控计算机是早期嵌入式计算机系统常常采取的方式。大多将通用计算机系统进行机械加固、电气加固后构成,以满足应用系统的应用环境要求。工控机有通用计算机丰富的软件及周边外设支持,有很强的数据处理能力,应用软件开发十分方便。但由于体积庞大,适用于具有大空间嵌入应用的环境中,如舰船、大型试验装置、分布式测控系统等。65
(2)板级(通用CPU模块)通用CPU模块是由通用CPU构成的各种形式的主机板系统、各种类型的带CPU的主板及OEM产品。与工控计算机相比,体积较小,可以满足较小空间的嵌入应用环境。为了满足工控测控对象要求,在模块上常常会设置一些满足测控对象要求的接口电路。由于通用CPU模块具有较强的数据处理能力,借助通用计算机系统可方便地开发应用软件。通用CPU模块常用在需要大量数据处理和逻辑判断的系统中,如大中型试验系统、电视机顶置盒(Topbox)、收银机等。66
(3)芯片级(嵌入式微处理器、MCU及SoC)早期微处理器MPU(MicroProcessorUnit)主要用来构成通用计算机系统的;而后,随着嵌入式应用的发展及其庞大的市场潜力,众多的MPU生产厂家开始发展嵌入式微处理器。67
嵌入式微处理器是在通用微处理器MPU的基核上,添加MPU外围单元和满足对象测控要求的外围接口电路,构成一个嵌入式应用的单芯片形态计算机系统。早期Intel公司将通用微处理器80386与定时器/计数器、DMA、中断系统、串行接口、并行口、WDT及MMU存储器管理部件集成在一个芯片上,构成的386EX是典型的嵌入式微处理器。嵌入式微处理器由于其总线I/O地址与微处理器构成的PC机兼容,易于开发,有较好的操作系统支持,又是单片形态的嵌入式系统,因此,在许多中小型嵌入式应用系统中广泛使用。68
芯片级则以单片机最为典型。在几种嵌入式系统中,单片机有唯一的专门为嵌入式应用设计的体系结构与指令系统,因此,它最能满足嵌入式的应用要求。目前,国内外公认的标准体系结构是Intel的MCS-5l系列,其中8051已被许多厂家作为基核,发展了许多兼容系列,所有这些系列都统称为80C51系列。69
单片机是完全按嵌入式系统要求设计的单芯片形态的嵌入式系统,它最广泛地应用在中、小型工控领域,是电子系统智能化的最重要工具。嵌入式微控制器则是嵌入式系统概念广泛使用后,给传统单片机定位的称呼。70
对于嵌入式计算机系统而言,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,它必须走一条完全不同的、自己的独立发展的道路。这条道路就是芯片化道路。从上述的叙述中,可以看出,在探索嵌入式计算机系统的发展过程时,对于嵌入式处理器曾出现过两种模式,即“加减模式”与“创新模式”。71
所谓“加减模式”,本质上是将通用计算机直接芯片化的模式。它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成所谓的嵌入式微处理器;所谓“创新模式”,则完全按嵌入式应用的要求设计全新的、满足嵌入式应用要求的体系结构、指令系统、总线方式、管理模式等。72
Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式微控制器(单片机)。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。因此,在更广泛、更深刻的意义上来说,是单片机开创了嵌入式系统独立发展的道路。从嵌入式计算机系统的角度来看,单片机的技术发展史经历了SCM、MCU、SoC三大阶段。73
(1)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。(2)MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用系统过程中,发展了对象系统要求的各种外围电路与接口电路,突出其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。在发展MCU方面,最著名的厂家当数Philips公司。74
(3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC(SystemonChip)的单片机应用系统设计会有较大的发展。由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用。75
课程的特点和教学安排
单片机系列品种繁多,广泛应用于各行各业。因此,在应用中需要设计者对各种单片机都应了解,以便确定最佳的性能价格比,也就是说要能应用各种单片机进行设计。76
然而同时学习各种单片机的软硬件知识不仅难度较大而且没有必要。通常的方法是学习一种典型的单片机系列,掌握好其硬件结构和软件知识,在应用中,如果需要用到其它系列单片机时,只需将这两种系列的不同特点及软硬件上的不同之处稍加分析即可应用了。
77
与其它许多单片机相比较,MCS-5l系列和80C51系列单片机硬件结构简洁明了、特殊功能寄存器功能规范和软件指令系统易于掌握,是一种既便于讲授又便于学习、理解和掌握的单片机。加之,这种单片机在国内介绍较多,资料比较齐全,其本身性能价格比较高,供应渠通也很多,所以一般学习单片机均以此系列为典型范例。本书以80C51系列为例,来介绍单片机知识。掌握了80C51系列单片机后,如果开发增强型的51系列或别的系列单片机应用系统,读者只需用很短时间,触类旁通地掌握相应单片机的特性和特点,即可用它来开发产品了。78
总而言之,学习单片机,先学习一个典型系列,然后在应用过程中根据需要而选用其它系列,这是较好的学习与应用方法。学习与应用80C51,就必须掌握其软、硬件知识。所谓软件知识是指80C51的寻址方式、指令系统,以及它的汇编语言及C语言等,硬件知识则是指80C51的硬件资源如存储器容量,I/O口数量,定时/计数器,串行口以及中断系统等。基于此观点,我们将详细介绍80C51的性能特点与应用方法。791.1计算机中的信息及表示1.2微型计算机的基本结构和工作原理1.3单片微型计算机章节80几种常用的数制数制: ①每一位的构成 ②从低位向高位的进位规则常用到的:十进制,二进制,八进制,十六进制补充知识811.十进制
数字符号(系数):0、1、2、3、4、5、6、7、8、9计数规则:逢十进一基数:10权:10的幂所以任意一个十进制数D均可展开为:所以任意一个十进制数D均可展开为:数字符号(系数):0、1、2、3、4、5、6、7、8、9计数规则:逢十进一基数:10权:10的幂所以任意一个十进制数D均可展开为:数字符号(系数):0、1、2、3、4、5、6、7、8、9计数规则:逢十进一基数:10权:10的幂所以任意一个十进制数D均可展开为:4587.29=4103+5102+8101+7100+2101+9102822.二进制数字符号:0、1计数规则:逢二进一基数:2权:2的幂例:(1011101)2=
(1×26+0×25+1×24+1×23+1×22+0×21+1×20)10=(93)10833.八进制
数字符号:0~7计数规则:逢八进一基数:8权:8的幂例:(127)8=(1×82+2×81+7×80)10=(87)10844.十六进制
数字符号:0~9、A、B、C、D、E、F计数规则:逢十六进一基数:16权:16的幂例:(2A.7F)16=(2×161+10×160+7×16-1+15×16-2)10=(42.4960937)1085十进制,二进制,八进制,十六进制逢二进一逢八进一逢十进一逢十六进一86十进制数二进制八进制十六进制00000000001000101102001002203001103304010004405010105506011006607011107708100010809100111910101012A11101113B12110014C13110115D14111016E15111117F不同进制数的对照表87不同数制间的转换一、二-十转换例:88二、十-二转换十进制数转换成二进制数:整数部分小数部分a.整数部分的转换:
“辗转相除”法:将十进制数连续不断地除以2,直至商为零,所得余数由低位到高位排列,即为所求二进制数89例:根据上述原理,可将(37)D按如下的步骤转换为二进制数当十进制数较大时,有什么方法使转换过程简化?由上得(37)D=(100101)B90解:由于27为128,而133-128=5=22+20,例:将(133)D转换为二进制数所以对应二进制数k7=1,k2=1,k0=1,其余各系数均为0,所以得(133)D=(10000101)B91b.小数部分的转换:例:将(0.8125)10化为二进制小数92解由于精度要求达到0.1%,需要精确到二进制小数10位,即1/210=1/1024。0.39×2=0.78k-1=00.78×2=1.56k-2=10.56×2=1.12k-3=10.12×2=0.24k-4=00.24×2=0.48k-5=00.48×2=0.96k-6=00.96×2=1.92k-7=10.92×2=1.84k-8=10.84×2=1.68k-9=10.68×2=1.36k-10=1所以例将十进制小数(0.39)D转换成二进制数,要求精度达到0.1%93三、二-十六转换例:将(01011110.10110010)2化为十六进制94四、十六-二转换例:将(8FAC6)16化为二进制95五、八进制数与二进制数的转换例:将(011110.010111)2化为八进制例:将(52.43)8化为二进制96六、十六进制数与十进制数的转换
十六进制转换为十进制
十进制转换为十六进制:(1)通过二进制转换
(2)直接转换思考:1、十进制转换为八进制?
2、十六进制与八进制间的互相转换?
975.十六进制的优点:1)与二进制之间的转换容易;2)计数容量较其它进制都大。假如同样采用四位数码,二进制最多可计至(1111)B=(15)D;八进制可计至(7777)O=(2800)D;十进制可计至(9999)D;十六进制可计至(FFFF)H=(65535)D,即64K。其容量最大。3)书写简洁。1.1信息在计算机中的表示1.1.1数在计算机内的表示计算机中的数通常有两种:无符号数和有符号数。
无符号数<-----二进制形式表示
例如:123表示成01111011B。
有符号数---机器数,它的数值称为机器数的真值。98符号位数值位机器数在计算机中有三种表示法:
原码、反码和补码。+0-1机器数在计算机中表示:99一.原码符号位绝对值注意:(1)原码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)原码表示时,-0的编码为10000000,+0的编码为00000000。(假设机器字长为8位)【例1-1】求+67、-25的原码(机器字长8位)因为+67=67=1000011B-25=25=11001B所以[+67]原=01000011B[-25]原=10011001B格式:100二.反码符号位0绝对值符号位1绝对值各位取反格式:正数负数注意:(1)反码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)反码表示时,-0的编码为11111111,+0的编码为00000000。(假设机器字长为8位)101三.补码
【例1-3】求+67、-25的补码(机器字长8位)。因为[+67]原=01000011B[-25]原=10011001B所以[+67]补=01000011B[-25]补=11100111B
符号位0绝对值符号位1绝对值各位取反格式:正数负数+1102注意:(1)补码表示范围为-(2n-1-1)~+(2n-1),例如:8位的范围为-128~+127。(2)补码表示时,-0的编码为00000000,+0的编码为00000000。(假设机器字长为8位)[X]补
[-X]补
【例1-4】已知+25的补码为00011001B,用求补运算求-25的补码。因为[25]补
[-25]补所以
[-25]补=11100110+1=11100111B103求补运算:一个二进制数,符号位和数值位一起取反,末位加1。求补运算具有以下的特点:10410–5=510+7-12=5(舍弃进位)由于表盘的最大数只有12,超过12以后的进位将自动消失。因为5和7相加(7+5=12)正好等于产生进位的模数12,所以7是-5对模数12的补码。结论:在舍弃进位的条件下,减去某个数可以用加上它的补码来代替。1051011–0111=0100
(11-7=4)1011+1001=10100
=0100(舍弃进位)(11+9-16=4)0111+1001=241001是对模24(16)-0111
的补码4位二进制数补码运算的例子五.十进制数的表示
十进制编码又称为BCD码。分压缩BCD码和非压缩BCD码。压缩BCD码又称为8421码,它是用四位二进制编码来表示一位十进制符号。例如:十进制数124的压缩BCD码为000100100100。十进制数4.56的压缩BCD码为0100.01010110。106
非压缩BCD码是用八位二进制来表示一位十进制符号,其中低四位二进制编码与压缩BCD码相同,高四位任取。例如:十进制数124的非压缩BCD码为001100010011001000110100。1.1.2字符在计算机内的表示美国信息交换标准代码ASCII码AmericanStandardCodeforInformationInterchange107数字符号0~9:30H—39h26个大写字母:41H—5AH26个小写字母:61H—7AH1.2微型计算机的基本结构和工作原理
现在的计算机采用冯·诺伊曼结构,由运算器、控制器、存贮器、输入设备和输出设备五大部分组成。集成运算器和控制器的这一块集成电路称为中央处理器或微处理器,简称CPU。1.2.1微型计算机的发展1971年诞生,一般分为以下几代:第一代(1971~1973):4位和低档8位微处理器第二代(1974~1977):中高档8位微处理器第三代(1978~1984):16位微处理器第四代(1985~1992):32位微处理器第五代(1993~1999):超级32位Pentium(奔腾)微处理器第六代(2000年以后):64位高档微处理器1081.2.2微型计算机的基本结构中央处理器(CPU)随机存储器RAMI/O接口电路I/O设备2I/O接口电路只读存储器ROM数据总线(双向)地址总线(单向)控制总线I/O设备1微型计算机由中央处理器、存储器、输入/输出设备和系统总线等组成1091.2.3微处理器由运算器、控制器、寄存器组和片内总线组成1101、执行单元(EU)执行部件由运算器(ALU)、通用寄存器、标态寄存器和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件BIU同外部总线连接,为执行部件EU完成全部的总线操作,并且计算、形成20位的内部存储器的物理地址,达到寻址1M字节内存地址空间的目的。2、总线接口单元(BIU)内部分为两个部分:1113.内部寄存器
8086CPU有14个16位寄存器,分为5个组112标志寄存器标志寄存器FLAGS共有9个标志位,其中6个为状态标志位,3个为控制标志位。ODITSZAPCC——进位标志位。P——奇偶标志位。A——半加标志位。Z——零标志位。S——符号标志位。T—陷阱标志位(单步标志位)。I——中断允许标志位。D——方向标志位。O—溢出标志位。1131.2.4存储器指内部存储器(又称为主存或内存)。它是微型计算机的存储和记忆装置,用来存放微型计算机执行的程序和数据。存储单元内容和存储单元地址1141.存储器的基本结构-------半导体存储器
地址译码器00单元01单元02单元┇┇FF单元000102FF地址单元内容ABCBI/O缓冲器控制逻辑DB图1.10存储器结构图115对内存单元的操作有两种:读和写。(1)读操作地址译码器0单元内容2BH┇┇FF单元内容05控制逻辑地址单元内容AB读信号DB052BHI/O缓冲器1)CPU通过地址总线送地址号05H至存储器地址译码器2)存储器中的地址译码器对它进行译码,找到05H号存储单元3)CPU发出读的控制命令,05H号存储单元中的内容2BH就出现在数据总线116(2)写操作写信号地址译码器0单元内容┇┇FF单元内容I/O缓冲器06地址单元内容ABDB061AH1AH控制逻辑1)CPU通过地址总线送地址号06H至存储器地址译码器2)存储器中的地址译码器对它进行译码,找到06H号存储单元3)数据寄存器中的内容1AH经数据总线送给存储器4)CPU发出写的控制命令,于是数据总线上的信息1AH就可以写入到06H号存储单元中1172.存储器的分类
随机读写存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)。3.8086中的存储器总存储空间为1M字节,地址20位。由于8086的寄存器都是16位,不能直接提供20地址,因此,为了管理方便,8086把1M空间分成若干块(称为“逻辑段”),各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64K字节,这样就可用16位寄存器提供地址访问。118物理地址与逻辑地址物理地址:送给存储器的20位地址。逻辑地址:程序中访问存储器的地址,“段基址:偏移地址”转换:物理地址=段基址×16+段内偏移地址例如:段基址:偏移地址分别是1200H:0345H则物理地址=1200H×16+0345H=12345H。1191.2.5输入/输出设备及I/O接口电路1.I/O接口的功能
(1)数据的寄存和缓冲功能(2)信号转换功能(3)设备选择功能(4)外设的控制和监测功能(5)中断或DMA管理功能(6)可编程功能2.外部设备与CPU之间的数据传送方式
(1)无条件传送方式(2)查询传送方式(3)中断传送方式1203.8086中的常用接口电路简介
8255A是Intel公司生产的可编程并行I/O接口芯片。8253是Intel公司生产的可编程计数/定时器接口电路。8251A是INTEL公司生产的可编程的串行通讯接口芯片。8259A是Intel公司生产的可编程中断控制器芯片。1211.2.6总线按总线在微机结构中所处的位置不同,可把总线分为以下四类:(1)片内总线:(2)片级总线:(3)系统总线:(4)外部总线:按总线功能可分三类。(1)地址总线(AB):(2)数据总线(DB):(3)控制总线(CB):
总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。1221.2.7微型计算机工作过程“存储程序”和“程序控制”指令是指计算机完成一个基本操作的命令。指令系统是一个计算机所能够处理的全部指令的集合。一条指令一般包括两个部分:操作码和操作数。例如计算3+5=?在执行程序之前需要做好如下几项工作:(1)用助记符号指令(汇编语言)编写程序(源程序);(2)用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序;(3)将数据和程序通过输入设备送入存储器中存放。123假设上面例子的汇编语言源程序和机器语言程序如下:汇编语言 机器语言 功能MOVAL,03H 1011000000000011B ;把01送入
累加器A。ADDAL,05H 0000010000000101B ;02与A中内
容相加,结果存入A。HLT 11110100B ;停止操作。编译好的机器语言程序有5个字节,设放于存储器地址为00H开始的单元处。1241.执行第一条指令的过程----(1)取第一条指令
J2I2ALUF内部数据总线ALBL00PLAIDB0HB0HCPUB0H01H04H02HF4H
3E
DB存储器PC00+1AR……DRIR②①AB③④⑤⑥⑦
读1251)当前程序计数器PC或IP内容(00H)送地址寄存器AR。2)PC自动加1,等于01H,指向下一个存储器单元。这里指向第一条指令的操作数。3)地址寄存器AR的内容00H通过地址总线AB送至存储器,经地址译码器译码选中相应的00H单元。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 报销流程及规范
- 产后脑出血的护理
- 影院复工防疫培训
- 商品质量监测合同(2篇)
- 母婴设备采购合同
- 2025年统编版小学道德与法治四年级下册《生活离不开他们》说课课件
- 室内装修合同履约金条款
- 会议音视频联动合同
- 幼儿园获奖公开课:大班健康《保护牙齿》微课件
- 拍卖程序执行协议
- 招投标专员绩效考核表
- 2023上海松江区初三二模数学试题及答案
- 克雅氏病课件
- 川崎机器人说明书cubic s设定手册
- 2023学年完整公开课版ThelastdayofPompeii
- 压力管道试验方案、强度(含泄漏性)试验记录及报告典型示例
- (起重指挥司索工)施工现场班前(晨会)生产安全教育活动记录
- 心肺复苏讲课优秀课件
- 乐泰胶用户手册
- 通力电梯ctp-10.65s2a kce控制系统
- 《电力系统继电保护故障信息采集及处理系统设计与实现【论文11000字】》
评论
0/150
提交评论