一:PIC16C71单片机的问题和对策
问题1:在芯片进入低功耗睡眠模式 (SLEEP MODE)后,其振荡脚将处于浮态,这将使芯片的睡眠功耗上升,比原手册中的指标高了10μA以上。
对策:在振荡脚OSC1和地 (GND)之间加一10MΩ电阻可防止OSC1进入浮态,且不会影响单片机正常振荡。
问题2:RA口方向寄存器TRISA目前只是一个4位寄存器,对应于RA0~RA3,并非手册中所言是8位寄存器,对应于RA0~RA4,即RA4并没有相应的输入/输出方向控制位,它是一个具有开极输出,施密特输入I/O脚。
对策:避免使用对RA口进行读-修改-写指令(如BCF RA, BSF RA),以免非意愿地改变RA4的输入/输出状态。对于RA口的操作应采用寄存器的操作方式(MOVWF RA)。
问题3:当CPU正在执行一条对INTCON寄存器进行读-修改-写指令时,如果发生中断请求,则读中断例程会被执行二次。这是因为当中断请求发生后INTCON寄存器中的GIE位会被硬件自动清零(屏蔽所有中断),并且程序转入中断例程入口(0004H)。当GIE位被清零后,如果这时正好CPU在执行一条对INTCON的读-修改-写指令(如BSF INTCON等),则 GIE位还会被写回操作重新置1,这样会造成CPU二次进入中断例程。
对策:如果在程序中需对INTCON的某一中断允许位进行修改,则应事先置GIE=0
,修改完成后再恢复GIE=1。 ………….. BCF INTCON, GIE BSF INTCON, ××× BSF INTCON, GIE ………….. |
|
问题4:当芯片电压VDD加电上升时间大于100μs时,电源上电复位电路POR和电源上电延时器PWRT可能不能起正常的作用,而使芯片的复位出现不正常(即PC≠复位地址)。一般在这种情况下建议不要采用PWRT。
对策:如果VDD上升时间很长,此芯片一般需较长的电源上电延时,可靠的电源上电延时方法如图1所示,在MCLR端外接复位电路。
问题5:如果在A/D转换中用RA3作为参考电压输入,则最大满量程误差(NFS)要大于手册中的指标。实际情况如表1所示。
表1 A/D满量程误差表
VREF源 (5.12V) | 满量程误差 (NFS) |
VDD | <±1 LSb |
RA3 | <±2.5 LSb |
二:PIC16C84单片机的问题和对策
问题1:PIC16C84单片机的内部的E2PROM数据存储器的E/W周期偶尔会超出最大值(10ms)。
对策:在程序中应该用EECON1寄存器中的WR位来判断写周期的完成,或是启用“写周期完成中断”功能,这两种方法可保证写入完成。
问题2:VDD和振荡频率的关系如表2所示。
VDD | 振荡方式 | 最高频率 |
2V-3V | RC, LP | 2MHZ,200MHZ |
3V-6V | RC,XT,LP | 4MHZ,200MHZ |
4.5V-5.5V | HS | 10MHZ |
关键字:PIC16C71 PIC16C84 单片机 问题和对策
引用地址:
PIC16C71/PIC16C84单片机应用中问题和对策
推荐阅读最新更新时间:2024-11-07 06:10
零基础学习单片机不妨来看看大牛咋说吧
1、学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理; 2、学习计算机硬件知识,如计算机的简单组成原理,要知道CPU、总线等的一些基本概念; 3、学习C语言的编程知识,了解结构化语言的程序设计方法,懂一些常用的算法,比如冒泡排序、中值算法等; 以上是基础,有了这些基础,学习单片机就只要花几周的时间就能上手。但学习单片机时,主要从单片机的寄存器开始,其中特殊功能寄存器是重点,学会之后,就可以学习单片机的基础部分了,主要是四个部分:单片机I/O口的使用、中断的使用、定时器的使用、片上资源的使用。这些部分都可
[单片机]
触摸屏技术在16位单片机中的应用
随着科学技术的日新月异, 人类对文明生活需求的进步, 带来对电能的需求越来越高, 也带来了对电力系统的设备有更高的要求, 由此电力系统配电变压器的功能及检测设备受到各方面的密切关注。在市场上各种各样的电力检测设备不断翻新, 其功能也向实用性、高科技性方向发展, 但配电变压器具有触摸方式的人机友好界面功能及检测的设备很少有报道, 为此, 在经过多方面的调研, 我们提出研制使用触摸方式、具有GPRS无线通信功能的配电变压器智能检测设备的任务。该设备在满足配电功能要求的前提下, 采用触摸显示方式提高检测设备的可操作性, 使用GPRS无线通信提高设备的先进性、满足现代信息社会的管理需求, 使其具有一定独特优势, 能够占领一定的市场
[电源管理]
单片机C语言下LCD多级菜单的一种实现方法
0 引言 由于C 语言的结构性和模块化,采用C 语言编写的程序容易阅读和维护,还有很好的可移植性。本文介绍一种用C 语言实现的LCD 多级菜单的方法,该方法已成功应用在煤矿安全监测设备上。 1 硬件环境及LCD 菜单实现的功能 图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示。它作为单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中,例如手机上的显示屏就是图形点阵液晶。 采用图形点阵式液晶显示较之其它显示方式主要有以下优点: (1) 工作电压低、功耗极低。工作电压仅为3~5 V ,工作电流 10 A/ cm2 ,特别适用于低功耗的仪器仪表中。 (2) 液晶显示属被动显示,
[单片机]
第三节:PIC16C5X系列单片机内部结构
P IC 16C5X在一个芯片上集成了一个8位算术逻辑单元ALU和工作寄存器(W);384~2K的12位程序 存储器 (ROM);32~80个8位数据寄存器(RAM);12~20个I/ O口端;8位计数器及预 分频器 ;时钟、复位、及看门狗计数器等。内部结构如图1.2所示: 从图中可以看到,PIC16C5X有个特点,就是把数据存储器RAM当作寄存器来寻址使用以方便编程。寄存器组按功能分成二部分,即特殊寄存器组和通用寄存器组。特殊寄存器组包括实时时钟计数器RT CC ,程序计数器PC,状态寄存器Status,I/O口寄存器以及存储体选择寄存器FSR。这些寄存器稍后我们还要详细论述。 PIC总线结构采取数据线(8位)和指令
[单片机]
一种新型单片机MSC1210及其应用
实际应用系统往往需要进行高精度的测量,同时还必须进行实时快速控制,提高其开发效率。为此人们常采用高精度A/D芯片加带ISP开发功能的单片机系统来实现。德州仪器(TI)的MSC1210单片机解决了上述问题。它集成了一个增强型8051内核、高达33 MHz的时钟周期、8路24位高精度∑-△A/D转换器、Flash存储器等,其系统功能和结构框图如图1所示。 MSC1210具有以下主要特性: ◇ 3个16位的定时器,16位PWM波输出; ◇ 多达21个中断源; ◇ 32个数字输入/输出端口,带有看门狗; ◇ 8路ADC提供24位分辨率可编程的无丢失码解决方案; ◇ 可编程增益放大(PGA)在1~128之间
[单片机]
51单片机——I2C总线驱动程序
为方便移植,采用多文件工程的方式。 void Delay10us()//延时10us { unsigned char a,b; for(b=1;b 0;b--) for(a=2;a 0;a--); } 起始信号:在SCL时钟信号在高电平期间SDA信号产生一个下降沿 void I2cStart()//为方便与其他函数衔接,起始之后SDA和SCL都为0,虽然这与I2C总线空闲状态不符,但并不影响程序运行 { SDA=1; Delay10us(); SCL=1; Delay10us();//建立时间是SDA保持时间 4.7us SDA=0; Delay10us();//保持时间是 4us SCL=0;
[单片机]
全新AVR MCU结合USB、充电功能
爱特梅尔现已推出结合了 USB 控制器和高性能模拟功能的全新AVR® 微控制器产品,型号为 ATmega16UA 和 ATmega32U4。这些器件可降低电池供电设备如游戏外设的系统成本。 虽然电池供电设备能够通过USB连接进行充电,然而,现代电池需要复杂的算法来加速和优化充电过程,而USB给电源带来了更多的限制,以致其能够提供的电压和最大电流都很有限。新的AVR器件则可以在优化电池充电的同时提供各项USB功能。其模数转换器可以用于感应终端应用的动作或压力,而高速脉冲宽度调制 (PWM) 则是低成本电机控制的理想选择。 游戏外设比如功能复杂的操纵杆,也需要大量模数转换信道和若干PWM信道,来驱动力反馈电机。这些全新
[单片机]
英飞凌推出车用32位多核单片机系列AURIX
2012年5月21日,德国纽必堡讯——英飞凌科技股份公司(FSE: IFX / OTCQX: IFNNY)近日宣布推出满足汽车行业的动力总成和安全应用的各种要求的全新32位多核单片机系列。全新的AURIX系列的多核架构包含多达三颗独立32位TriCore 处理内核,可满足业界的最高安全标准。此外,相比于现有的一流器件,其性能提升一倍。 由于具备出色的实时性能,以及嵌入式安全与防护功能,AURIX系列成为诸多汽车应用——譬如内燃机、电动汽车和混合动力汽车控制、变速器控制单元、底盘、制动系统、电动助力转向系统、安全气囊和高级驾驶辅助系统——的理想平台。此外,AURIX采用的架构还可显著减少符合当今最高汽车安全完整性等级ASIL D标
[汽车电子]