PIC16F877A与PIC16F887的区别2

合集下载

PIC16F877A功能及其编程

PIC16F877A功能及其编程
RA3=1; NOP(); RA4=0;
4.1.1 端口A
因此,在使用RA口时,除了要设置TRISA外,有 时相关寄存器也要设置。
注意:在上电复位时,与AN有关的端口的默认 设置是作为模拟端口,即ADCON1(见4.6)中默认 值为0b00xx0000,这个值的设置结果是除RA4外的所 有的RA引脚都作为模拟输入。
信的时钟线; RC7/RX/DT:IO引脚、异步串行通信的接收、同步串行通
信的数据线。
4.1.4 端口D
端口D有8个引脚,它除了作为普通IO口外, 还能作为并行从动口使用。
4.1.5 端口E 端口E只有3个引脚,它们都可以作为AD转换
的模拟电压输入口,功能如下:
RE0/RD/AN5:IO引脚、并行从动口的读控制、 模拟电压输入通道AN5;
➢ 中断的特点:可返回性。中断处理结束后必须能 回到原先的程序,并且能继续运行原先的程序,
这就需要在中断时能进行现场保护与恢复。
中断的执行过程
➢ 中断发生:程序执行到某行,突然事件(能够产 生中断的事件)发生,产生中断。
➢ 断点保护:CPU自动将中断时刻即将要执行的下 一条指令的地址压入堆栈。
➢ 中断响应:CPU自动将PC强制设为0X0004,且GIE =0。执行中断服务程序(自动完成现场保护与恢 复,手动清中断标志位)。
将被调试系统占用,因此在调试时此二个引脚暂 不能使用。
3、8个引脚具有内部弱上拉使能控制 由OPTION_REG寄存器的第7位RBPU控制,如果弱 上拉使能,作为输入的RB口在端口悬空时将被上拉 到高电平。以RB0为例,如下图所示:
4、RB0/INT具有外部中断功能。
5、RB的的高4位还具有电平变化中断功能
ADIE

PIC16F877A定时器的学习

PIC16F877A定时器的学习

PIC16F877A定时器的学习由于实时数据的仿真需要用到定时器产生数据,今天晚上完成PIC16F877A 产生正弦波形,并将波形数据发送到上位机!这是一个三角波的仿真程序,并通过串口发送到上位机#include #include #include#include “main.h”#include“t232.h”#include“lcd.h”#include“timer.h”//define global variablebank1 uchar flag =0 ;//利用flag 判断中断时间是否到了!bank1 char dat[6] ;bank2 char str[]=“shan dong qing gong ye xue yuan”;bank2 char str1[]=“Starting........”;bank2 char str2[]=“Capturing.......”;bank2 char str3[]=“Stop..........” ;//bank2 float test = 0;//bank2 float t1 ;bank2 uchar t1 =0 ;bank2 uchar t2=0 ;bank1 uchar state = READY ;//当前状态bank1 uchar frame[3] ;//帧缓冲bank1 uchar temp ;//ms 级延时程序void DelayMS(uint ms){ uint i; while(ms--){ for(i=0;i//10us 级延时程序void Delay10US(uint us){ uchar i; for(i=0;iwhile(1) {while((t1>=-20)&&(state==CAPTURE)){t1++ ;sprintf(dat,”(%d)”,t1) ;send_str(dat);if(t1==20)break ;}while((t1}tips:感谢大家的阅读,本文由我司收集整编。

PIC课设指导(内有点阵LCD说明)

PIC课设指导(内有点阵LCD说明)
2、线路设计
为了让同学们可以自由组合线路,本设计采用短路插和杜邦线连接的方式。图 1(a)为一个具有 6 个短路插的端子,本指导书中将短路插中较小引脚编号(一般在左侧)作为短路插的编号,图 1(b) 表示短路插 2 和短路插 4 短接。杜邦线即二头为孔的导线,将其直接与要相连的二端连接即可。
图1 短路插说明图
本设计内容分为焊接、线路设计、绘制 Proteus 线路图、编程调试几个部分。
1、焊接部分
根据附图 1~附图 6,焊接所给的 PCB 板,要求如下: 1)元件排列整齐、高度方向要一致。 2)具有极性的元件如二极管、三端稳压器件、发光二极管、集成电路等在焊接前应确定正确的方 向才能焊接。 3)外形相同,参数不同的要确定好参数后再焊接,如电阻,应根据色环或用数字万用表测量后再 焊接。 4)单片机(U20)不要直接焊接在 PCB 板上,用一圆针插座焊接于 PCB 板上。 5)变压器要注意原边与副边引脚的区别,如接错将造成电源短路,烧毁变压器。接 220V 的线圈 引线通常为红色,用数字式万用表的电阻档测量其电阻为几百欧至几千欧。低压侧线圈的三个引线的中 间抽头(黑色)接板上变压器副边的中间点,副边线圈间测量的电阻接近于 0 欧; 6)焊点要均匀、饱满,所焊接的焊点从另一面看应有少许“渗透”; 7)焊接顺序要求,从最矮的元件先焊,最后焊接最高的元件; 8)焊接完毕先检查外观,是否有漏焊元件或焊点等,无误后在不接单片机芯片的条件下通电,检 查+5V、-5V 是否正确,电压在(±4.80V)~(±5.20V)内为正确,则焊接任务完成。否则应立即向 指导教师明
6)具有门控功能的定时器 TMR1 887 增加了利用引脚 RB5/T1G 或比较器 C2 的输出作为 TMR1 的门控端,控制 TMR1 计数的功能。 TMR1 的门控端为 RB5/T1G 或比较器 C2。TNR1 默认的门控端为 RB5/T1G,如要使用此引脚作为 TMR1 的门控信号,要把 RB5 设置为 IO 口,并设置为输入。 当 TMR1 门控使能即 TMR1GE=1 时,如果 T1GINV=0,则 T1G=0 时 TMR1 计数,T1G=0 时 TMR1 停止计数。 T1GINV=1 时则相反。 图 11 为与 877A 新增的 T1CON 的 7、6 位说明。

PIC16f877中文资料1

PIC16f877中文资料1

PIC16F877原理简介1.1 PIC16F877特性:PIC16F877是由Microchip公司所生产开发的新产品,属于PICmicro系列单片微机,具有Flash program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD(In Circuit Debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。

如图1为PIC16F877的40根接脚图,PDIP是指一般最常见的DIP(Dual In Line Package)包装,而PIC单片机也有PLCC(Plastic Leaded Chip Carrier)与QFP(Quad Flat Package)两种形式的包装,依照不同的需求,寻找不同的包装形式。

如图所示,每根接脚都有其特定功能,例如Pin11与Pin32(VDD)为正电源接脚,Pin12与Pin31(VSS)为地线接脚;而有些接脚有两种甚至三种以上功能,例如Pin2(RA0/AN0)代表PORTA的第一支接脚,在系统重置(Reset)后,可自动成为模拟输入接脚,接收模拟讯号,也可经由程序规划为数字输出输入接脚。

图1. PDIP40引脚PIC16F877接脚说明图2. PDIP28和SOIC28引脚PIC16F877接脚图说明图3. PLCC44引脚PIC16F877脚位图说明图4. QFP44引脚PIC16F877引脚图说明PIC16F877属于闪控式(Flash)单片机,可以重复烧录,其ROM的容量总共是8K words,以2K为一个page,区分为4个pages;内部RAM总共有512个字节(00f~1FFh),以128个字节为一个Bank,共区分为4个Bank,如图5所示,每个Bank的前半段都有其特殊用途,分别连接到其特殊功能模块,例如I/O、CCP、Timer、USART、MSSP等。

PIC16f877中文资料

PIC16f877中文资料

PIC16f877中文资料PIC16F877原理简介1.1 PIC16F877特性:PIC16F877是由Microchip公司所生产开发的新产品,属于PICmicro系列单片微机,具有Flash program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD(In Circuit Debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。

如图1为PIC16F877的40根接脚图,PDIP是指一般最常见的DIP(Dual In Line Package)包装,而PIC单片机也有PLCC(Plastic Leaded Chip Carrier)与QFP(Quad Flat Package)两种形式的包装,依照不同的需求,寻找不同的包装形式。

如图所示,每根接脚都有其特定功能,例如Pin11与Pin32(VDD)为正电源接脚,Pin12与Pin31(VSS)为地线接脚;而有些接脚有两种甚至三种以上功能,例如Pin2(RA0/AN0)代表PORTA的第一支接脚,在系统重置(Reset)后,可自动成为模拟输入接脚,接收模拟讯号,也可经由程序规划为数字输出输入接脚。

图1. PDIP40引脚PIC16F877接脚说明图2. PDIP28和SOIC28引脚PIC16F877接脚图说明图3. PLCC44引脚PIC16F877脚位图说明图4. QFP44引脚PIC16F877引脚图说明PIC16F877属于闪控式(Flash)单片机,可以重复烧录,其ROM 的容量总共是8K words,以2K为一个page,区分为4个pages;内部RAM总共有512个字节(00f~1FFh),以128个字节为一个Bank,共区分为4个Bank,如图5所示,每个Bank的前半段都有其特殊用途,分别连接到其特殊功能模块,例如I/O、CCP、Timer、USART、MSSP等。

第三章 PIC16F887功能及编程

第三章 PIC16F887功能及编程

0:计时
01-1:4
… 1111-1:16
1X-1:16
福州大学电气工程与自动化学院
• TMR0是个8位计数/定时器,有可编程预分频率 器,可对外部脉冲计数或对内部指令脉冲计数的 功能。
• 当对外部脉冲计数时,符合一定要求的外部脉冲 送到RA4/T0CKI,且OPTION_REG(<T0CS>)要 置1,且该口(RA4)要设置为输入。
• TMR0寄存器的地址在01H、101H。 • TMR0有溢出中断功能。
中断 信接收 信发送 行通信 模块 溢出 溢出 使能 中断 中断 中断 中断 中断 中断
使能 使能 使能 使能 使能 使能
福州大学电气工程与自动化学院
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
- ADIF RCIF TXTF SSPIF CCP1IF TMR2IF TMR1IF - AD转换 串行通 串行通 同步串 CCP1 TMR2 TMR1
• 恢复被保护的相关寄存器 • 程序执行到”RETFIE”时后入先出的原则,从堆栈
中弹出地址给PC,GIE=1,程序返回到中断前 要执行的程序,程序恢复中断前程序的运行状 态。
福州大学电气工程与自动化学院
PIC16F887有17个中断源,每个中断源都有自 己的使能控制位(IE)和中断标志位(IF)。包括:
• 假设当前TRM1H、TMR1L=0x01FF,则在读取TMR1时 就可能发生错误:
• 如先读低字节,得到0xFF,假设此时发生进位,则再读 高字节时得到0x02,总的结果是0x2FF,显然是错误的。
• 如先读高字节,得到0x01,假设此时发生进位,则再读低 字节得到0x00,总的结果是0x100,也是错误的。

第二讲,PIC16F877的硬件系统,20090714

第二讲,PIC16F877的硬件系统,20090714

一、PIC16F877核心区域的 核心区域的 部件及其功能
程序存储器:8K*14 flash程序区 PC指针:程序计数器。 硬件堆栈:共有8层,在调用子程序时自动保存 主程序断点处的地址。至于其它的寄存器的内 容则需要用软件编程来保存。 指令寄存器: 暂存从程序存储器中取出的指令,并将指令 分解为操作码和操作数<或者操作数的地址>, 分别送到不同的目的地。
PIC16F877(A)具有8*13的独立堆栈空间, 不占用程序存储器和数据存储器的区域,也 不需要进栈出栈的指令,在调用和返回时自 动实现入口地址的进出栈操作,遵循“后进 先出”的规则。
六、数据存储器
数据存储器的特点
PIC单片机内的数据寄存器分为两种: 一是工作寄存器,只有W寄存器; 一是数据寄存器RAM,又叫文件寄存器,它包 括所有的特殊功能寄存器、通用寄存器以及所有的 输入输出端口。PIC中的RAM除了具备普通RAM可读 可写的功能外,还能实现移位、置位、清位、位测 试等一系列其它单片机中“工作寄存器”的功能。 掉电后,RAM中的内容消失。
RAM数据存储器结构 数据存储器结构
PIC16F877结构 —— 时钟电路
PIC16F877的时钟按提供时钟的速度快慢分成四种模式,模式 的时钟按提供时钟的速度快慢分成四种模式, 的时钟按提供时钟的速度快慢分成四种模式 的选用是由单片机中配置字中FOSC0位和 位和FOSC1位来设定: 位来设定: 的选用是由单片机中配置字中 位和 位来设定 LP模式 模式——低功耗振荡器(Low Power Crystal) 低功耗振荡器( 模式 低功耗振荡器 ) XT模式 模式——标准的振荡器 谐振器(Crystal/Resonator) 标准的振荡器/谐振器 模式 标准的振荡器 谐振器( ) HS模式 模式——高速振荡器 谐振器(High speed 高速振荡器/谐振器 模式 高速振荡器 谐振器( Crystal/Resonator ) RC模式 模式——低成本的电阻器 电容器(Resistor/Capacitor) 低成本的电阻器/电容器 模式 低成本的电阻器 电容器( )

PIC16F877资料

PIC16F877资料

第四章 PIC16F877单片机概述单片机的发展和应用单片机的历史发展概况单片机技术发展十分迅速,产品种类已琳琅满目。

纵横整个单片机技术发展过程,可以分为以下三个主要过程:一、单芯片微机形成过程1976年,Intel公司推出了MCS-48系列单片机。

该系列单片机早期产品在芯片内集成有:8位CPU、1K字节程序存储器(ROM)、64字节数据存储器(RAM)、27根I/O线和1个8位定时/计数器。

此阶段的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口、定时/计数器、中断系统、时钟等部件的集成,但存储器的容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。

二、性能完善提高阶段1980年,Intel公司推出MCS-51系列单片机。

该系列单片机在芯片内集成有:8位CPU、4K字节程序存储器(ROM)、128位字节数据存储器(RAM)、4个8位并行接口、1个全双工串行接口和2个16位定时/计数器。

寻址范围为64K,并集成有控制功能较强的布尔处理器完成处理功能。

此阶段的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。

现在,MCS-51已成为公认的单片机经典机种。

三、微控制器化阶段1982年,Intel公司推出MCS-96系列单片机。

该系列单片机在芯片内部集成有:16位CPU、K字节程序存储器(ROM)、232字节数据存储器(RAM)、5个8位并行接口、1个全双工串行接口和2个16位定时/计数器。

寻址范围最大为64K。

片上还有8路10位ADC、1路PWM(D/A)输出及高速I/O部件等。

近年来,许多半导体厂商以MCS-51系列单片机的8051为内核,将许多测控系统中的接口技术、可靠性技术及先进的存储器技术和工艺技术集成到单片机中,生产出了多种功能强大、使用灵活的新一代80C51系列单片机。

此阶段的主要特点是:片内面向测控系统的外围电路增强,使单片机可以方便灵活地应用于复杂的自动测控系统及设备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E口: ①增加RE3/MCLRVpp ② RE0~RE2不再做RD、WR、CS
四、其他差异 还有一些差异,请参阅P222~241的4.15节。
四、其他差异
配置位的差别: 增加了一个配置字,用C编写时用连续的二个定义 语句。如: __CONFIG(0x20F1); __CONFIG(0x3FFF); 其含义请在MPLAB IDE中查看。
增加波特率控制寄存器BAUDCTL(参见表4-46), 当BAUDCTL.BRG16=0,选8位波特率因子,即可沿用 877A的程序。
特别注意: 在MPLAB IDE中要选887, 在PROTEUS仿真中的设置—CHIP=16F887 … 在PICC9.8中,887的有些位名与877A不同
2、电平变化中断
877A:B口的高4位才有电平变化中断功能,捆绑式设置 887:B口的所有引脚都有电平变化中断功能,单独设置
IOCB相应位为1时,该引脚允许电平变化中断,0则为禁止。 只有RBIE=1的前提下,才能单独设置RB引脚电平中断的允 许或禁止。 和877A一样,只有设置为输入的数字引脚才能有电平变化 中断的功能。
RB0-AN12 RB1-AN10 RB2-AN8 RB3-AN9 RB4-AN11 RB5-AN13
新增了ANSEL和ANSELH寄存器,用来对AN0-AN13 进行设置,使得对于标有ANx的引脚可以绝对自由地设 置为模拟脚或数字脚,而不象877A那样的混乱! (877A的ADCON1)。在这二个寄存器中,对应的位 为0为数字口,1为模拟口,默认为模拟口!
三、端口的差别
A口:增加RA6/OSC2/CLKOUT和RA7/OSC1/CLKIN
B口:①RB0~RB5对应AN8~AN13 ②能独立设置8个引脚的弱上拉使能 ③能独立设置8个引脚电平变化中断使能 ④RB5增加T1G功能
C口:RC2增加P1A功能
D口: ① RD5~RD7增加P1B~P1D功能 ②D口不再做为并行从动口
PIC16F877A与PIC16F887的区别
4.15 PIC16F887和877A的不同点
887和877A的引脚数量及编号完全相同! 只不过某些引脚的复用功能变动了而已!
887与877A的差异是为了使用更灵活,自 然也要增加一些寄存器。
一. AD区别
AD由原来的8路 → 增为14路: 除了原来的RA0~RA3,RA5,RE0-RE2的8个外,增加 了6路(RB0-RB5)
四、其他差异
看门狗:增加WDTCON寄存器,使得WDT溢出时 间的范围更大,为1ms~270s。
计算溢出时间: T=OPTION分频比*WDTCON分频比*周期32.26us
四、其他差异
门控TMR1:指TMR1只有当某指定引脚 (RB5/T1G)的输出值满足要求时,才能进行计数。
T1CON增加两有效位(位7位6,参见表4-34), 当T1CON.TMR1GE=0时,关闭门控功能,即TMR1始 终工作(与877A相同)。
ADCON1的功能变化也很大!原来引脚配置混乱的 情况由于新增的ANSEL和ANSELH,ADCON1就变得 简单了!
bit 5 VCFG1:参考电压位 1 = VREF- 引脚 0 = VSS
bit 4 VCFG0:参考电压位 1 = VREF+ 引脚 0 = VDD
二.B口的差别
除了RB0~RB5这6个引脚也可做为AD转换口外, B口的弱上拉功能、电平变化功能也有了较大的变 化。
877A的B口弱上拉是死板的,要么都弱上拉,要 么都不上拉。887可以灵活地设置,哪个要或不 要弱上拉都可以自由设置。
1、弱上拉设置
新增了弱上拉寄存器WPUB,每一位对应RB的 每一引脚,位值为1表示允许该位弱上拉,0为禁止 弱上拉。
前提:B口设置为输入,且OPTION_REG的位7 (RBPU)为0,若RBPU=1,则禁止全部弱上拉。
四Байду номын сангаас其他差异
增强型ECCP: 只有CCP1的PWM模式增加了新功能,能在最多 4个引脚(P1A~P1D)上产生要求的PWM信号输出, 其余部分与877A相同。
四、其他差异
增强型异步串行通信: 波特率因子用了双字节,由原来的SPBRG,增加 了一个SPBRGH,波特率的计算误差就更小了,能得 到更高精度的参数。
因此,凡涉及到有ANx的引脚,不管你用不用模拟功 能,都要对ANSEL和ANSELH进行设置!!!
ADCON0寄存器的位有了变动,原来的位5-3位为通 道,现改为位5-2为通道.
CHS<3:0>:模拟通道选择位 0000 = AN0, 0001 = AN1, 0010 = AN2, 0011 = AN3 0100 = AN4, 0101 = AN5, 0110 = AN6, 0111 = AN7 1000 = AN8, 1001 = AN9, 1010 = AN10, 1011 = AN11 1100 = AN12, 1101 = AN13, 1110 = CVREF(可编程的电压输出) 1111 = 固定参考电压 (0.6V 固定参考电压)
相关文档
最新文档