1、丁跃军丁跃军 来清民来清民 编著编著PIC单片机基础教程第一章第一章 单片机结构原理单片机结构原理 第二章 指令系统 第三章 I/O接口 第四章 A/D转换 第五章 定时/计数器 第六章 中断系统 第七章 单片机软硬件调试及硬件维修技术 第八章 实验指导 第一章第一章 单片机结构原理单片机结构原理1.1单片机概述 1.2 PIC单片机基本结构及信号引脚 1.3常用存储器 1.4 时钟电路与时序 1.5复位、唤醒与看门狗功能 1.1 单片机概述 微型计算机微型计算机是一种以电子器件为基础,可以接受是一种以电子器件为基础,可以接受输入信息,并能够对各种输入的数字化信息进行算术输入信息,并能够对各种
2、输入的数字化信息进行算术和逻辑运算,最后产生输出的电子设备。和逻辑运算,最后产生输出的电子设备。微型计算机微型计算机既有快速运算能力,又有极强逻辑判既有快速运算能力,又有极强逻辑判断能力和大容量存储功能,它是断能力和大容量存储功能,它是20世纪人类最卓越的世纪人类最卓越的科学发明之一。科学发明之一。单片微型计算机单片微型计算机就是将就是将CPU、RAM、ROM、定、定时时/计数器和多种接口都集成到一块集成电路芯片上的计数器和多种接口都集成到一块集成电路芯片上的微型计算机。微型计算机。1.1 单片机概述单片机的应用单片机的应用 (1 1)单片机在仪器仪表中的应用)单片机在仪器仪表中的应用(2)单
3、片机在机电一体化中的应用单片机在机电一体化中的应用(3)单片机在智能接口和多机系统中的应用单片机在智能接口和多机系统中的应用(4)单片机在生活中的应用单片机在生活中的应用(5)微处理功能微处理功能(6)通讯通讯(7 7)军事)军事 1.1 单片机概述1.1.1二进制数和编码二进制数和编码一、计算机中的二进制一、计算机中的二进制 二进制的优点:二进制的优点:(1 1)简单可行。)简单可行。(2 2)运算规则简单。)运算规则简单。(3 3)适合逻辑运算。)适合逻辑运算。二进制主要法则:0+0=0 1+0=1 0+1=1 1+1=10 0*0=0 1*0=0 0*1=0 1*1=1 1.1 单片机概
4、述1、二进制转换成十进制 一个十进制数是以10的位权关系来转化的,同理一个二进制数是以2的位权关系来转化的。(1010)2=123+022+121+020 =8+0+2+0=(10)102、十进制转化成二进制 采取除以采取除以2 2取余数。取余数。2 2 6 余 0 (最低位)2 1 3 余 1 2 6 余 0 2 3 余 1 2 1 余 1 (最低高)0取值顺序1.1 单片机概述3 3、十六进制、十六进制在计算机程序除了使用二进制表示数字之外,十六进在计算机程序除了使用二进制表示数字之外,十六进制数,也经常用到。在这种进制中,每一位数字表制数,也经常用到。在这种进制中,每一位数字表示十六的幂
5、数。示十六的幂数。1616个数字字符,个数字字符,0 09 9,A,B,C,D,E,FA,B,C,D,E,F。4 4、二进制转换成十六进制、二进制转换成十六进制按按4 4位进行分组,每组对应一个十六进制数:位进行分组,每组对应一个十六进制数:(0110 1110 1101 0101)2=(6 E D 5)16 6 E D 51.1 单片机概述二、计算机中的字符编码二、计算机中的字符编码 信息编码是对输入到计算机中的各种非数值型信息编码是对输入到计算机中的各种非数值型数据用二进制数进行编码的方式。常用的编码方式数据用二进制数进行编码的方式。常用的编码方式有以下几种:有以下几种:1 1、二二十进制
6、编码十进制编码 二二十进制编码也称为十进制编码也称为BCDBCD码。这是一种用码。这是一种用4 4位位二进制数来表示一位十进制数的编码方式。它貌似二进制数来表示一位十进制数的编码方式。它貌似二进制,实为十进制。这种编码形式比较便于人们二进制,实为十进制。这种编码形式比较便于人们的识别和转换,可以简化人机联系。的识别和转换,可以简化人机联系。1.1 单片机概述2 2、ASCIIASCII码码 计算机最常用的字符编码是计算机最常用的字符编码是 ASCIIASCII码。码。ASCIIASCII码用码用7 7位二进制代码来表示,共有位二进制代码来表示,共有128128个个字符,其中字符,其中3434个
7、控制符,个控制符,9494个可见字符。个可见字符。ASCIIASCII码的最高位用做奇偶校验位,用码的最高位用做奇偶校验位,用来检验代码在传输过程种是否出现错误。来检验代码在传输过程种是否出现错误。ASCIIASCII码的两个次高位主要用来表示控制字符码的两个次高位主要用来表示控制字符。1.1 单片机概述1.1.2单片机工作原理简述 1.单片机的工作特点(1)存储器ROM和RAM的相互独立(2)采用面向控制的指令系统(3)输入/输出端口的强大功能(4)品种系列化 1.1 单片机概述 2 2、单片微型计算机系统的组成、单片微型计算机系统的组成 单片微型计算机系统的组成与通用计算机单片微型计算机系
8、统的组成与通用计算机的组成基本相同,都是由硬件系统和软件系的组成基本相同,都是由硬件系统和软件系统构成。统构成。硬件(硬件(HardwareHardware):是构成单片机的所有实是构成单片机的所有实体部件,好比是人的躯体。它分为五大功能体部件,好比是人的躯体。它分为五大功能部件,即运算器、控制器、存储器部件,即运算器、控制器、存储器(MemoryMemory)、输入()、输入(InputInput)设备和输出)设备和输出(OutputOutput)设备。)设备。1.1 单片机概述1.1 单片机概述 1.1.3 PIC单片机的主要特点 1 哈佛总线结构 2 流水线结构运行速度快 3 寻址方式简
9、单寻址空间独立 4 精简指令RISC技术 5 低功耗和负载的能力强 1.2 PIC单片机基本结构及信号引脚1.2.1 PIC单片机内部基本结构 1PIC16F87X系列单片机的分类 PIC16F87X系列单片机是PIC大家庭中的一个分支,包括:16F870、16F871、16F872、16F873、16F874、16F876和16F877。其中1998年推出的是16F873、16F874、16F876和16F877;1999年推出的是16F870、16F871、和16F872。1.2 PIC单片机基本结构及信号引脚1.2.1 PIC单片机内部基本结构2PIC16F87X系列单片机概述 PIC1
10、6F87X系列单片机是一种具有FLASH程序存储器的8位COMS单片机,品种有28引脚采用双列直插和表面封装的16F870、16F872、16F873、和16F876 四种型号及40引脚采用双列直插和表面封装等3种封装形式的16F871、16F874、16F877。它们属于PIC单片机系列的中级产品,可以满足不同的应用要求。表1-1 PIC16F87X系列单片机功能配置型号功能PIC16F870PIC16F871PIC16F872PIC16F873PIC16F874PIC16F876PIC16F877工作频率DC-20DC-20DC-20DC-20DC-20DC-20DC-20Flash存储器
11、/B2K142K142K144K144K148K148K14RAM/B128128128192192368368EEPROM/B646464128128256256中断/个10111013141314I/O端口A、B、CA、B、C、D、EA、B、CA、B、CA、B、C、D、EA、B、CA、B、C、D、E定时器/个3333333A/D转换通道/个5855858CCP模块/个1112222串行通讯模块USARTUSART无USARTUSARTUSARTUSART1.2 PIC单片机基本结构及信号引脚1.2.1 PIC单片机内部基本结构 3PIC16F87X系列单片机的内部结构 PIC16F87X系
12、列单片机是一种高速、低功耗、功能齐全的微系列单片机是一种高速、低功耗、功能齐全的微处理芯片,内部含有处理芯片,内部含有FLASH ROM、RAM、EEPROM、I/O端端口、口、A/D转换器、捕捉器转换器、捕捉器/比较器比较器/PWM、串行通信端口、定时、串行通信端口、定时器器/计数器、中断控制器和中央处理器。它的结构基于文件寄存计数器、中断控制器和中央处理器。它的结构基于文件寄存器的概念,数据总线、数据存储器总线和程序存储器总线。其器的概念,数据总线、数据存储器总线和程序存储器总线。其中数据总线和数据存储器总线是中数据总线和数据存储器总线是8位宽,程序存储器总线是位宽,程序存储器总线是14位
13、位宽。集成于片内的数据存储器通过片内的宽。集成于片内的数据存储器通过片内的8位总线与算术逻辑单位总线与算术逻辑单元元ALU连接,可以直接通过内部总线传送信息,以寄存器方式连接,可以直接通过内部总线传送信息,以寄存器方式工作和寻址。工作和寻址。1.2 PIC单片机基本结构及信号引脚1.2.2 PIC单片机基本信号引脚 PIC16F87X系列单片机的引脚分为两种:一种为40脚(包括 871,874,877这三种),如图1-3所示;另一种为28脚(包括 870,872,873,876这四种)1.2 PIC单片机基本结构及信号引脚1.2.2 PIC单片机基本信号引脚 1、电源和地线引脚 2、时钟振荡器
14、输入/输出引脚 3、复位信号和编程输入引脚 4、输入/输出端口和第二、第三功能引脚 1.3常用存储器PIC16F877单片机存储器构架:8K l4位FLASH程序存储器5128位数据存储器RAM2568位可掉电保护数据的EEPROM存储器模块 1.3常用存储器1.3.1 数据寄存器 存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。存储器从使用功能上来分,可分为随机存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)两类。1.3常用存储器1.3.1 数据寄存器存储区的选择由状态寄存器STATUS的第六位RP1和第五位
15、RP0决定。RP1:RP0 区域 寄存器地址 0 0 区0:000H 07FH 0 1 区1:080H 0FFH 1 0 区2:100H l7FH 1 1 区3:180H lFFH1.3常用存储器1.3.2 程序存储器 PIC16F87X单片机内部配置了8Kl4位的闪速(FLASH)程序存储器,可以很方便进行在线擦除和烧写,寿命可达1000次以上。PIC16F87X程序存储器具有13位宽的程序计数器PC。PC指针所产生的13位地址最大可寻址的程序存储器空间为8K,相应的地址编码范围为0000H lFFFH。1.3常用存储器1.3.2 程序存储器 为了对程序存储器进行有效管理和使用,一般将PIC
16、单片机的程序存储器分成几个页面,如图所示.分别用“页0”、“页1”等表示。1.3常用存储器1.3.2 程序存储器 程序计数器高程序计数器高8 8位位PCLATHPCLATH的的Bit4-Bit3Bit4-Bit3位构成程序存储器分页位构成程序存储器分页的选择位,对应的地址空间如下:的选择位,对应的地址空间如下:PCLATH Bit4PCLATH Bit4:Bit3Bit3:0 0 0 0 页页0 0:0000H 0000H 07FFH07FFH 0 1 0 1 页页l l:0800H 0800H 0FFFH0FFFH 1 0 1 0 页页2 2:1000H 1000H 17FFH17FFH 1
17、 1 1 1 页页3 3:1800H 1800H 1FFFH1FFFH 程序存储器中有程序存储器中有2 2个单元地址比较特殊,除了具备同其他单个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还具有专门用途:元地址一样的普通用途外,还具有专门用途:0000H0000H:用作单片:用作单片机系统的复位矢量;机系统的复位矢量;0004H0004H:用作系统特殊模块的中断矢量。:用作系统特殊模块的中断矢量。1.3常用存储器1.3.3专用寄存器SFR 间接寻址寄存器INDF和FSR寄存器 1.3常用存储器1.3.3专用寄存器SFR 2.程序状态寄存器STATUS;表1-9 状态寄存器STAT
18、US的各位功能标志Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0IPR RP1 RP0 TO PD Z DC C程序状态寄存器STATUS0:执行加法(或减法)指令时,如果最高位无进位(或借位);1:执行加法(或减法)指令时,如果最高位有进位(或借位)。0:执行加法(或减法)指令时,如果低4位向高4位无进位(或借位);1:执行加法(或减法)指令时,如果低4位向高4位有进位(或借位)。0:算术或逻辑运算结果不为0;1:算术或逻辑运算结果为全0。0:选择数据存储器低位区:即区0(FSR的BIT7=0)或区1(FSR的BIT7=1);1:选择数据存储器高位区:即区2(
19、FSR的BIT7=0)或区3(FSR的BIT7=1)。RP1、RP0=0 0 选中区0RP1、RP0=0 1 选中区1RP1、RP0=1 0 选中区2RP1、RP0=1 1 选中区3B7B6B5B4B3B2B1B0IPRPR1RP0TOPDZDCC1.3常用存储器1.3.3专用寄存器SFR 3程序计数器(PCL、PCLATH)1.3常用存储器1.3.3专用寄存器SFR 4.端口寄存器PORTA-PORTE PIC16F877单片机有5个端口RA、RB、RC、RD和RE,用于CPU与外界设备交换信息。与这5个端口对应的是地址位于“区0”的5个端口寄存器,它们分别是PORTA、PORTB、PORT
20、C、PORTD和PORTE,CPU与外界交换的信息在这些寄存器中暂存。1.3常用存储器1.3.3专用寄存器SFR 5.选择寄存器(OPTION-REG)选择寄存器(选择寄存器(OPTION-REG)是一个可读)是一个可读/写的写的8位寄存器位寄存器它的功能是用于配置它的功能是用于配置TMR0/WDT预定标器、外部预定标器、外部INT中断、中断、TMR0和端口和端口B的弱上拉等。的弱上拉等。R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0B7 B6 B5 B4 B3 B2 B1
21、 B0选择寄存器(OPTION-REG)0:由内部提供的指令周期信号作为定时器TMR0时钟源。1:由T0CKI外部引部脚输入的脉冲信号作为计数器TMR0时钟源。0:外部时钟T0CKI上升沿触发TMR0递增;1:外部时钟T0CKI下降沿触发TMR0递增。1:屏蔽端口B上拉电阻设置;0:允许端口B上拉电阻设置,是否设置还要依据各位的锁存的值。TMR0比率WDT比率PS2 PS1 PS01:2 1:1 0001:4 1:2 0011:8 1:4 0101:16 1:8 0111:32 1:16 1001:64 1:32 1011:128 1:64 1101:256 1:128 1110:分频器分配给
22、TMR0;1:分频器分配给WDT。0:外中断RB0/INT选择上升沿触发;1:外中断RB0/INT选择下降沿触发。B7B6B5B4B3B2B1B0RBPUINTEDGTOCSTOSEPCFG3PCFG2PCFG1PCFG0 1.3常用存储器1.3.3专用寄存器SFR 6.电源控制寄存器(PCON)电源控制寄存器(PCON)是一个8位寄存器,但只有两位有效,其余未用。POR(B1):上电复位状态位.当B1=1,表示上电复位没有发生;当B1=0,表示发生了上电复位。当发生了上电复位后,必须用软件使B1置位。BOR(B0):掉电复位状态位.当B0=1,表示没有发生掉电复位现象;当B0=0,表现发生了
23、掉电复位。当发生了掉电复位后,必须用软件使B0置位。电源控制寄存器(PCON)1:表 示 上 电 复 位 没 有 发 生;0:表示发生了上电复位后,必须用软件使B1置位。1:表示没有发生掉电复位现象;0:表示发生了掉电复位,当发生了掉电复位后,必须用软件使B0置位。未用B7B6B5B4B3B2B1B0PORBOR1.4 时钟电路与时序1.4.1振荡电路与时钟信号 单片机中的振荡器是为CPU提供定时信号的。工作方式:(1)LP方式:低功耗晶体振荡器方式;(2)XT方式:晶体陶瓷谐振器方式;(3)HS方式:高速晶体陶瓷谐振器方式;(4)RC方式:阻容振荡器方式。1.4 时钟电路与时序1.4.1振荡
24、电路与时钟信号 晶体振荡器陶瓷谐振器方式 1.4 时钟电路与时序1.4.1振荡电路与时钟信号 RC振荡器 1.4 时钟电路与时序 1.4.2 PIC单片机指令时序 15复位、唤醒与看门狗功能1.5.1复位及复位电路 15复位、唤醒与看门狗功能1.5.2 唤醒与低电耗运行 休眠(SLEEP)方式与单片机的唤醒 单片机执行一条单片机执行一条SLEEP指令后,便进入了休眠(指令后,便进入了休眠(SLEEP)方式。)方式。单片机系统的低功耗设计(1)选择合适的模块)选择合适的模块(2)选择合适的工作条件)选择合适的工作条件(3)选择合适的振荡方式)选择合适的振荡方式(4)合理处理)合理处理I/O管脚管
25、脚 15复位、唤醒与看门狗功能1.5.3 看门狗与系统的可靠性 监视定时器监视定时器WDTWDT是是PICPIC单片机最具特色的单片机最具特色的内容之一,定时计数脉冲是由芯片内专用的内容之一,定时计数脉冲是由芯片内专用的RCRC振荡器产生。它的工作既不需要任何外部振荡器产生。它的工作既不需要任何外部器件,也与单片机的时钟电路无关。这样即器件,也与单片机的时钟电路无关。这样即使单片机的时钟停止,使单片机的时钟停止,WDTWDT仍旧能继续工作仍旧能继续工作。本章小节1、了解有关二进制数和二进制编码 2、理解单片机的一般结构 3、掌握PIC16F87X单片机的内部基本结构:4、了解PIC16F87X单片机的时钟电路、指令时序和其他功能模块
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。