您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > PIC单片机基础教程
1PIC单片机基础教程第一章PIC系列单片机结构原理目前在全世界,利用单片机设计的嵌入式系统带来的工业年产值已超过几万亿美元。在美国,但是使用嵌入式电脑的全数字电视产品预计每年将产生超过1500亿美元的于世界市场,我国的占有率好不到1%。这说明单片机应用早我国才刚刚起步,有着广阔的前景。因此,培养单片机应用人才,特别是在大学和中等专业学校相关专业中普及单片机知识,有着重要现实意义。1.1单片机概述微型计算机是一种以电子器件为基础,可以介入输入信息,并能够对各种输入的数字化信息进行算术和逻辑运算,最后产生输出的电子设备。微型计算机机油快速运算能力,又有极强的逻辑判断能力和的容量存储功能,是20世纪人类最卓越的发明之一,而单片微型计算机就是将CPU、RAM、ROM、定时器/计数器和多种接口都集成到一块集成电路芯片上的尖端武器和日常生活中最广泛使用的计算机。近年来,单片机得到突飞猛进的发展,已经完全深入到了人们的生活和工作的各个方面。单片机的发展过程和性能的日益完善,实际上是对传统控制技术的一场革命,开创了为控制技术的新天地,现代控制系统的核心内涵就是嵌入式计算机应用系统(MCU),而单片机就是最典型、最广泛和最普及的嵌入式计算机应用系统。可以毫不夸张地说,在现代化的设备中,单片机无处不在,如电信、家用电器、工业控制、仪器仪表、汽车和玩具等;单片机也比比皆是,如自动调台收音机、VCD、遥控空调、微波炉、智能玩具、人体秤和心电监护仪等。随着科技的发展,单片机必将在更多的方面发挥作用。目前,全世界各大公司的单片机品种已经形成多个系列,同一系列的单片机在软件和硬件方面有很大的相同之处。例如,PIC16F87X系列单片机有着相同的内核、相同和兼容的指令系统。各种单片机在其内部所处理的对象都是用二进制数表示的信息,因此在学习单片机原理之前,首先要了解二进制数和二进制编码。1、1、1二进制数和编码1计算机中的二进制数字的表示,有二进制、十进制和十六进制等。而各种数据在计算机内部都是以二进制编码形式来表示的。这些数据由1和0组成,按“逢二进一”的进位计数方式进行计数。不同的数码在不同的数位上的值不相同的,例如:二进制的0001代表1,0010代表2,0100代表4,1000代表8,那么二进制究竟有何优点呢?二进制的优点:简单、可行由于二进制只有0和1两个数字,用计算机内部的电子元件开关状态来表示,不仅容易实现,而且稳定、可靠.。以我们的习惯使用的十进制为例,十进制有0,1,2,3,4,5,6,7,8,9,共10个数字,对应10种状态,用开关的状态来区分很困难;而二进制的0和1对应的电器开关的开或关,却十分方便。2运算规则简单二进制的运算规则非常简单,主要发则有:0+0=01+0=10+1=11+1=100×0=01×0=00×1=01×1=1适合逻辑运算二进制的两个只用于表示逻辑的“真”于“假”,比较方便。(1)二进制转换成十进制在讲解之前,我们先将一个十进制写成(123)10=1×102+2×101+3×100一个十进制数是以10的位权关系来转化的;同理,一个二进制数是以2的位权关系来转化的。下面看一道例题。【例1—1】二进制数(1010)2=1×23+0×22+1×21+0×20=8+0+2+0=﹙10﹚10(2)十进制转化成二进制通常,我们采取除以2取余数地方法。【例1—2】将十进制数(26)10转化成二进制。解:226……余0(最低位)213……余1取值26……余0顺序23……余121……余1(最高位)0因此,(26)=(11010)2(3)十六进制计算机程序出了使用二进制表示数字之外、也经常用到十六进制。在这种进制中,逢16进1,16个数字字符表示为0~9、A、B\、C、D、E和F,字母A、B、C、D、E、和F表示10~15.例如,十六进制的E是十进制的14,二十六进制的2A是十进制的42(2×16+10)。十六进制数字使用前缀“0x”,如十六进制的2A或2AH。(4)二进制转换成十六进制【例1—3】将二进制数(0110111011010101)2转化成十六进制数。解:按4位进行分组,每组对应的一个十六进制数:(0110111011010101)2=(6ED5)166ED53【例1—4】将十六进制(ABF1)16转化成二进制数。解:每位十六进制数对应一组4为二进制数:(ABF1)16=(1010101111110001)210101011111100012计算机中的字符编码信息编码是对输入计算机中的各种非数值型数据用二进制编码的方式。常用的编码方式有以下两种:(1)二—十进制编码二—十制编码也称为BCD码。这是一种用4为二进制数来表示1为十进制数的编码方式。它貌似二进制,实为十进制。这种编码形式比较便于识别和转换,可以简化人机联系,通常采用与0~9各个数字对应的二进制数作为代码。最常用的方法8421码,即4为二进制数的最高位到最低的一位分别对应表示8/4/2/和1(23,22,21,20)。[【例1—5】求十进制(7985)10的BCD码。因为79850111100110000101则(7985)10=(0111100110000101)BCD(2)ASCII码计算机最常用的字符编码是ASCII码。ASCII码用7位二进制代码来表示,共有128个字符,其中34个为控制符,94个为可见字符。本书中ASVII码附表中只给出了常用的后80个字符(见表8—2),包括10个数字,英文字母大、小写标点符号和运算符号等。ASCII码的最高位用作奇/偶校验位用来校验代码在传输过程中是否出现错误;ASCII码的两个次高位主要用来表示控制符。1.1.2单片机工作原理简述单片微型计算机系数的组成与通用计算机的组成基本相同,都是由硬件系统和软件系统构成。硬件(Hardware)【ha:dwεə】是构成单片机的所有实体部件。它分为5大功能部件,即运算器、控制器、存储器(Memory)[meməri】、输入(input)设备和输出(output)单片机的硬件结构如图1—1所示。运算器ALU是指算术逻辑单元,主要完成算术逻辑运算。在单片机里,ALU的主要作用是进行算术运算、逻辑运算、位操作(位置位和复位)、增量减量、左移位、右移位、半字节交换等。4指运算器输入输出程令ALU数据存储器数据设备序寄RAMIO计存数程序存储器器控制器器EPROMIRID控制器是计算机的大脑,自动地执行指令。它由程序计数器PC、程序地址寄存器、指令寄存器IR和指令译码控制器ID等组成。其作用是:控制指令读出、译码和执行,对指令执行过程进行控制,并根据执行结果决定程序的顺序执行或转移。在单片微型计算机里,存储器可分为数据存储器(RAM)和程序存储器(ROM或EPROM)两种。它是单片机的记忆装置,通过存储程序和数据,是单片机具有记忆能力。输入设备是向单片机提供传感器信号、用户设置信号等输入信号的设备。单片机根据输入信号的不同,执行不同的程序段。输出设备是执行单片机控制信息的执行机构,如显示器、继电器和扬声器。软件(Softwate)【sɔftwεə】是单片机工作的程序及数据。单片机系统设计人员需事先将设计好的程序通过编程器烧写到单片机程序存储器中,供单片机工作时取出。单片机的工作过程实质上是执行程序的过程,单片机系统通电后,在程序计数器的控制下,按一定顺序从程序存储器ROM或EPROM中取出指令,经控制器分析后送相应的部件去执行。也就是说,单片机的工作过程是周而复始地取指令、分析指令和执行指令的过程。1.1.3PIC单片机的主要特点PIC(Periphery【pərifəri:】“外围”interface【intəfeis】“接口”Chip【tʃip】“碎片”)单片机是美国Microchip【maikrə。tʃip】“微晶片”公司生产的系列单片机。Micro-chip公司是一家专门致力于单片机开发/、研制和生产的制造商,其产品设计起点高,技术领先,性能优越。PIC系列单片机的硬件系统设计简洁,指令系统设计精炼。在所有的单片机品种中,PIC具有性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出的优点。PIC系列单片机不是在一般微型计算机CPU的基础上加以改造的,而是独树一帜,采用全新的流水线结构、单字节指令体系、嵌入闪存以及10位A/D转换器,是指具有卓越的性能,代表着单片机发展的新方向。PIC系列单片机具有高、中、低3个档次,可以满足不同用户开发的需要,适合在各个领域中应用。PIC系列单片机采用哈佛总线结构,在芯片内部,数据总线和指令总线分离,容许采用不同字节宽度。这样,就实现了在执行一条指令的同时,可对下一条指令进行取指令操作,也为实现全部指令的单字节化和单周期化创造了条件,从而大大提高了CPU执行指令的速5度和工作效率。由于PIC系列单片机采用CMOS(互补金属氧化物半导体)结构,其功率消耗极低,是目前世界上最低功耗的单片机品种之一。其中有些型号在4MHz时钟下工作时,耗电不超过2mA;而在睡眠模式下,耗电可低至1µA¾以下。因此,PIC系列单片机尤其适用于野外移动仪表的控制以及户外免维护的控制系统。PIC系列单片机I/O端口驱动负载的能力较强,每个输出引脚可以驱动高达20~25mA的负载,既能够高电平直接驱动发光二极管LED、光电耦合器和小型继电器等,也可以低电平直接驱动,这样可大大简化控制电路。不过,请读者注意,每个引脚的驱动能力并不表示端口引脚同时都具有这样的功效。一般端口驱动能力为60~70mA,而所有输入/输出驱动低于200mA,详细数据可参考有关数据手册。1.2PIC单片机基本结构及信号引脚1.2.1PIC单片机内部基本结构PIC系列单片机种类很多按指令的位数分为3类:基本级产品、中级产品和高级产品,每种产品又包含多种型号(见附录A).所有产品均提供OTP(OneTimeProgrammable【prəugræməbl】)一次性可编程或FLASH(【flæʃ】发出闪光)编程,采用多种封装形式等。在众多单片机型号中,PIC16F87X系列单片机是最适合初学者学习的一种,是具有FLASH程序存储器的8位COMS单片机,可以在线编程。1.PIC16F87X系列单片机的分类PIC16F87X系列单片机是PIC大家庭中的一个分支。包括16F870、16F871、16F872、16F873、16F874、16F876和16F877。其中,1998年推出的是16F873、164、16F876和16F877;1999年推出的是16F870、16F871和16F872。PIC16F87X系列单片机的程序是通用或兼容的,因此很适合于初级单片机爱好者学习。只要学会16F877,掌握其他型号的PIC单片机就容易了,股本数再不他别致命的情况下,均以PIC16F87X为蓝本进行介绍。2.PIC16F87X系列单片机的概述PIC16F87X系列单片机是一种具有FLASH程序存储器的8位COMS单片机,品种具有28引脚采用双列直插和表面封装的16F870、16F872、16F873和16F876四种型号及40引脚采用双列直插和表面封装等3种形式的16F871、16F874和16F877。它们属于PIC单片机系列的中档产品,可以满足不同的应用要求。PIC16F87X系列单片机采用高性能的哈佛双总线结构CPU和RISC指令集CPU可以同时访问数据存储器和程序存储器。这个系列的单片机指令采用14位字宽,使所有的指令操作码都为单字节指令,而且除了程序的分支指令执行是需要两个周期外,其余指令都为单周期指令。这种单片机共有指令35条。PIC16F87X系列单片机的具体配置如表1-1所列。PIC16F87X系列单片机除了表1-1中所列的配置外,共有的功能配置还有看门狗WDT,上电延时复位和在线串行编程。6功能型号16F87016F87116F87216F87316F87416F87616F877工作频率DC-20DC-20DC-20DC-20DC-20DC-20DC-20FLASH存储器/B
本文标题:PIC单片机基础教程
链接地址:https://www.777doc.com/doc-2886921 .html