第2章 PIC16F87X系列单片机
- 格式:ppt
- 大小:2.79 MB
- 文档页数:158
第2章PIC单片微机的组成PIC(Periphery Interface Chip)单片微机是美国Microchip公司生产的PIC系列单片机。
PIC系列单片机的硬件系统设计简洁,指令系统设计精炼。
在所有的单片机品种中,PIC具有性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出优点。
2.1 PIC 系列单片机概述2.1.1 PIC系列单片机特点Microchip公司是一家专门致力于单片机开发、研制和生产的制造商,其产品设计起点高,技术领先,性能优越。
它不是在一般微型计算机CPU的基础上加以改造,而是独树一帜,采用全新的流水线结构、单字节指令体系、嵌入闪存以及10位A/D转换器,使之具有卓越的性能,代表着单片机发展的新方向。
PIC系列单片机,具有高、中、低三个档次,可以满足不同用户开发的需要,适合在各个领域中的应用。
它具有如下特点:单片机总线结构单片微型计算机通常采用两种体系结构:一种是普林斯顿体系结构;另一种是哈佛体系结构。
在普林斯顿体系结构中,其程序存储器和数据存储器统一编址,也就是说两种存储器位于同一逻辑空间。
这种单片机的取指令和存取数据必须分时地进行,影响了执行指令的速度。
哈佛体系结构的程序存储器和数据存储器独立编址,也就是说两种存储器有不同的逻辑空间。
1. 哈佛总线结构PIC系列单片机采用哈佛总线结构,在芯片内部数据总线和指令总线分离,容许采用不同的字节宽度。
这样,就为实现指令提取和执行的“流水作业”提供结构保证,即在执行一条指令的同时对下一条指令进行取指操作。
两总线的分离,也为PIC实现全部指令的单字节化和单周期化创造条件,从而大大提高CPU执行指令的速度和工作效率。
单片机总线结构比较从同一存储器空间取指令和取操作数据。
限制了数据流量。
从两个独立的存储空间分别取指令和存取操作数。
数据流量增加。
针对程序区和数据区可以设计不同的数据线宽度。
程序和数据存储器冯-纽曼结构8-位程序存储器数据存储器8-位12/14/16-位哈佛结构2.RISC技术PIC系列单片机的指令系统,由于采用RISC技术,和一般单片机指令系统通常有上百条指令相比要少得多。
PIC16F87x的数据存储器规划和中断编程
林东亮;罗胜
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2006(000)007
【摘要】PIC系列单片机的硬件结构和指令系统采用很多独有的设计,其中数据存储器的分页结构是一个典型的特征.本文以PIC16F87x子系列单片机为例,分析其存储器特点,介绍数据存储器变量存储位置的合理安排方法,从而给分页选择处理和中断现场保护编程带来好处.
【总页数】3页(P79-81)
【作者】林东亮;罗胜
【作者单位】闽江学院;温州大学
【正文语种】中文
【中图分类】TP3
【相关文献】
1.在DSP的C编程中常量数据段的存储器分配 [J], 丁刚
2.一次编程(OTP)存储器的数据保持特性工艺研究 [J], 房世林;李月影;何永华
3.0.18μm一次编程(OTP)存储器的数据保持性能研究 [J], 林俊毅;刘宇
4.用单片机实现SPI接口存储器数据编程设计 [J], 李伟光;王元聪
5.浮栅非易失存储器中低温数据保持的编程/擦除循环加速统计模型 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。
PIC16F877A 配置位中文说明PIC16F876A 配置位中文说明PIC16F874A 配置位中文说明PIC16F873A 配置位中文说明Configuration BitsREGISTER 14-1: CONFIGURATION WORD (ADDRESS 2007h)bit 13 CP: Flash Program Memory Code Protection bit 程序存储器保护位1= Code protection off 保护位关闭可以读出代码0= All program memory code-protected保护位开启代码保护读出全0bit 12 Unimplemented: Read as ‘1’未使用设置1bit 11 DEBUG: In-Circuit Debugger Mode bit 在线调试模式位1= In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins 在线调试关闭RB6和RB7 通用IO 端口0= In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger在线调试开启RB6和RB7 调试专用端口bit 10-9 WRT1:WRT0 Flash Program Memory Write Enable bits WRT0 Flash程序存储器的写使能位For PIC16F876A/877A:11= Write protection off; all program memory may be written to by EECON control写保护关闭全部存储空间可通过EECON控制写入。
10= 0000h to 00FFh write-protected; 0100h to 1FFFh may be written to by EECON control0000h to 00FFh 写保护; 0100h to 1FFFh 可通过EECON 控制写入01= 0000h to 07FFh write-protected; 0800h to 1FFFh may be written to by EECON control0000h to 07FFh 写保护; 0800h to 1FFFh 可通过EECON 控制写入00= 0000h to 0FFFh write-protected; 1000h to 1FFFh may be written to by EECON control0000h to 0FFFh 写保护; 1000h to 1FFFh 可通过EECON 控制写入For PIC16F873A/874A:11= Write protection off; all program memory may be written to by EECON control10= 0000h to 00FFh write-protected; 0100h to 0FFFh may be written to by EECON control01= 0000h to 03FFh write-protected; 0400h to 0FFFh may be written to by EECON control00= 0000h to 07FFh write-protected; 0800h to 0FFFh may be written to by EECON controlbit 8 CPD: Data EEPROM Memory Code Protection bit EEPROM存储器保护位1= Data EEPROM code protection off EEPROM存储器保护位关闭可读写0= Data EEPROM code-protected EEPROM存储器保护位关闭不可读bit 7 LVP: Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit低电压(单电源)在电路中的串口编程使位1= RB3/PGM pin has PGM function; low-voltage programming enabled开启RB3端口PGM低电压编程功能0= RB3 is digital I/O, HV on MCLRmust be used for programmingRB3 数字I/O MCLR必须使用高编程电压才可以bit 6 BOREN: Brown-out Reset Enable bit 欠压/掉电复位使能1= BOR enabled 欠压/掉电复位功能开0= BOR disabled 欠压/掉电复位功能关bit 5-4 Unimplemented: Read as ‘1’未使用设置1bit 3 PWRTEN: Power-up Timer Enable bit 上电延时使能1= PWRT disabled上电延时使能关0= PWRT enabled上电延时使能开bit 2 WDTEN: Watchdog Timer Enable bit 看门狗定时使能1= WDT enabled看门狗定时使能开0= WDT disabled看门狗定时使能关bit 1-0 FOSC1:FOSC0: Oscillator Selection bits振荡器类型选择11= RC Resistor/Capacitor oscillator RC阻容振荡器10= HS High-Speed Crystal/Resonator oscillator 高频率石英晶体振荡器4-20MHZ01= XT Crystal/Resonator oscillator 石英晶体振荡器200k-4MHZ00= LPr Low-Power Crystal oscillato 低功耗方案振荡器32-200khzLegend:R = Readable bit P = Programmable bit U = Unimplemented bit, read as ‘0’- n = Value when device is unprogrammed u = Unchanged from programmed stateNote 1: The erased (unprogrammed) value of the Configuration Word is 3FFFh.。
第二章PIC单片机指令系统和汇编语言程序设计2.1 指令系统概述2.1.1 指令的表示方法1.机器指令的表示方法:指令用于规定计算机的基本操作。
一台计算机所能执行的指令集合就是它的指令系统。
指令共有两种表示方法,分别是机器语言表示方法和汇编语言表示方法。
不同种类的单片机有不同的一套命令(即所谓“指令系统”)。
2.汇编语言的表示方法:汇编语言是对机器语言的改进,它采用便于人们记忆的一些符号(例如简化的英文单词)来表示操作码、操作数和地址码等。
通常把表示指令的符号称之为助记符。
3.PIC16F87X单片机指令:PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功能强。
它的指令为单字的宽字位(14)指令,由此生成的程序代码短。
指令条数少,仅有35条。
(1)面向字节操作类(2)面向位操作类(3)常数操作和控制类操作。
2.1.2PIC单片机指令的寻址方式1.寄存器间接寻址:所谓寄存器间接寻址指的是通过寄存器F0、F4来实现。
实际的寄存器地址放在F4的低5位中,通过F0来进行间接寻址。
INDF不是物理上实际存在的寄存器,而任何寻址INDF的指令都是以FSR寄存器内容为地址的RAM单元中存放着参加运算或操作的数据。
2.立即数寻址:所谓立即寻址就是操作数在指令中直接给出。
通常把出现在指令中的操作数称之为立即数,因此就把这种寻址方式称之为立即寻址。
3.直接寻址:指令中操作数以其所在存储单元地址的形式给出,就称之为直接寻址。
这种方式是对任何一寄存器直接寻址访问。
4.位寻址:这种寻址方式是对寄存器中的任一位(bit)进行操作。
2.1.3指令符号的意义说明1.PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作码助记符操作数1,操作数2;注释2.指令符号的意义说明:在PIC系列单片机指令中常把数据存储器RAM当作寄存器来使用(处理)并用字母f(或F)表示。
基于PIC16F87X单片机的火灾报警系统设计基于PIC16F87X单片机的火灾报警系统设计类别:单片机/DSP火灾报警系统是各行各业必需的一种安全系统网络,可靠的监测与数据传输是该系统非常重要的环节。
以往的火灾报警系统经常会出现总线上的数据冲突、长距离数据传输的不可靠以及不易扩展等问题,随着近年来一些低价格、高性能单片机被广泛应用于各个电路系统,尤其是电路控制等方面,这些问题都得到了一定的改善。
本系统采用了美国微芯公司生产的运行速度快、功耗低且驱动能力强的PIC16F87X系列单片机,作为该系统电路的逻辑控制、总线侦听以及数据读取与发送单元,解决了可靠数据监测以及长距离传输所面临的问题,可以准确地远程监视火灾发生地点。
硬件设计系统硬件电路设计系统基本工作原理如图1所示。
传感器输出的电流信号经过电流转换电压电路变为电压信号,然后由信号放大电路将信号转化为适合模数转换器件(A/D)的输入信号,最后将数字化的采样结果送入单片机PIC16F87X,分析该数据是否已经达到了火灾效应。
若分析得到有火灾发生时,先进行总线侦听,当总线“空闲”时则单片机立即读出外部ROM事先存储好的有关室内所有的信息数据(包括报警装置的放置位置),然后发送数据并将这些重要数据送到部门远程监视系统的液晶显示器LCD上,最后输出连续脉冲信号,通过驱动电路驱动报警喇叭以提醒监视人员有火灾危险。
传感器介绍及其外围电路的设计该系统使用的传感器为HS系列一氧化碳电化学气体传感器,以定电位电解为基本原理。
当一氧化碳扩散到气体传感器时,其输出端产生电流输出,起着将化学能转化为电能的作用。
当一氧化碳气体浓度发生变化时,气体传感器的输出电流也随之成正比变化。
传感器测定范围:0-1000ppm 输出电流:4010nA/ppm 工作气压:1atm 10% 将电流信号转换为电压信号是引入一个电阻R1,将0~40mA的电流信号转换为0~4V的电压信号,然后进行放大滤波。
PIC16F87X 单片机的定时器/计数器的应用
PIC16F87X 单片机内部配置了3 个定时器/计数器,分别记为TMR0、TMR1、TMR2。
这3 个定时器/计数器模块不仅在电路结构上不相同,而且其在设计的初衷和使用上也各有不同。
·定时器/计数器TMR0。
定时器/计数器TMR0 是3 个同类模块中最常用的器件,与定时器/计数器TMR0 相关的寄存器共有4 个,分别为累加计数寄存器TMR0、选项寄存器OPTION REG、中断控制寄存器INTCON 和端口RA 方向寄存器TRISA。
·定时器/计数器TMR1。
定时器/计数器TMR1 是一个由两个8 位可读写的寄存器(TMR01H 和TMRIL)组成的16 位定时器/计数器,它带有一个3 位的可编程预分频器和一个内置的低功耗低频时基振荡器。
低压电器(2008№15)通用低压电器篇智能电器及计算机应用刘华昌(1979—),助理研究员,从事高电压和测控技术研究。
基于P I C16F87X 的电磁继电器控制设计刘华昌(中国工程物理研究院电子工程研究所,四川绵阳 621900)摘 要:为保障电路良好隔离及人员安全,介绍了一种智能型电磁继电器控制电路。
在描述了电磁继电器工作原理后,以P I C16F87X 单片机为核心,设计了控制电磁继电器的硬件电路,并给出控制程序流程。
该控制电路结构简单、工作可靠,具有一定的实用价值。
关键词:P I C 16F87X;电磁继电器;吸合;释放中图分类号:T M 581 文献标识码:B 文章编号:100125531(2008)1520016203C on tr ol Desi gn of E lectr o m a gneti c Rel a y Ba sed on P IC16F87XL I U Huach ang(I nstitute of Elec tr onic Engineering of CAEP,M ianyang 621900,China ) Abstr ac t:An intelligen t elec tro m ag neti c relay con trol c ircuitwas introduced for g ood circuit is ola ti on and crewsafe t y .After the working p rinc i ple of the electro magne tic re lay wa s ex pounded,the hard wa re circuit was designed and the p rogramm ing fl owcha rtwas given with P IC16F87X as a core .This control circuit fea tures with si mple struc 2ture,g ood reli abilit y and prac tica l app licati on .Key word s:P IC16F87X ;electr om agn et i c r elay;a bsorb;r elea se0 引 言电磁继电器是自动控制中常用的一种元器件,它利用电磁原理实现接通或断开一个或一组接点的一种自动开关,广泛应用在电子设备、仪器仪表及自动化设备中。