推荐阅读最新更新时间:2024-03-16 15:19
PIC单片机开发需注意的几个问题
1 怎样进一步降低功耗 功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。为进一步降低功耗,在保证满足工作要求的前提下,可采用降低工作频率的方法,工作频率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其电流可减小到15μA),但较低的工作频率可能导致部分子程序(如数学计算)需占用较多的时间。在这种情况下,当单片机的振荡方式采用RC电路形式时,可以采用中途提高工作频率的办法来解决。 具体做法是在闲置的一个I/O脚(如RB1)和OSC1管脚之间跨接一电阻(R1),如图1所示。低速状态置RB1=0。需进行快速运算时先置R
[单片机]
基于PIC单片机的热能表研制
摘要:随着我国福利制度的改革和热能计量的规范化,对热能的准确计量成为一个比较关键的环节。文中介绍了热能表的组成和工作原理,给出了一种基于PIC16C64单片机的热能表设计方案,同时对设计和使用中的一些问题进行了讨论并提出了解决办法。
关键词:热能表 单片机 温度传感器 PIC16C64
随着我国福利制度的改革,供暖制度也发生了相应的变化。原来的供暖收费存在着对使用的热能估算不准确、收费不合理等问题。为此,国家建设部在一些城市实施供暖制度改革试点,并对热能实行计量收费,这就要求对使用的热能进行准确的计量。本文给出了一种基于PIC16C64单片机的、针对热水供暖的热能表设计方案。
1 热能表的组成原理
一般热能表的原理框图如图
[应用]
PIC做的红外线遥控接收程序
红外接收目前用的比较多的有三种方法. 1,查询法,既软件不停地查询是否为低(遥控信号)然后通过精确延时读头码.和 数据0或1码. 2,读到有信号输入时开打开定时计数器,然后通过读定时器的中断次数,来判定头码和0,1的. 3 RB0或RB4-RB7加定时器(或软件延时)利用输入中断的好处是可做实时控制. 如下: ;***发射为6221,把接收到的码值送到 IC D的PORTC口显示****** ;**************** *************** org 0000h nop goto start org 0004h goto serv ;**********
[单片机]
pic单片机IIC通信读24C02程序例 16F877A 主频4M
文本名为 iic.h #ifndef _iic_h_ #define _iic_h_//pic单片机IIC通信初始化函数声明 void iiccsh(void); //pic单片机IIC通信读外围设备函数声明 //功能:传送一个8位地址,返回一个8位数据 unsigned char iicread(unsigned char data); //pic单片机IIC通信给外围器件发送函数声明 //功能:传送一个8位地址,传送一个8位数据或指令 void iicwrite(unsigned char diz,unsigned char data); #endif 文本名为 iic.c#ifndef _iic_h_ //立
[单片机]
Windows下PIC 8位单片机源程序汇编和固化(四)
4 在MPLAB中创建项目 项目管理程序(Project Manager)是MPLAB集成开发软件的重要组成部分。不创建项目就不能进行符号(源程序代码)汇编和调试,在整个项目管理中可进行以下操作:创建项目——把源代码文件加入到项目中——汇编源代码——编辑源代码——重建所有源文件——调试源代码等。 创建项目也是汇编源程序之前必要的准备工作,其操作过程如下:按照以上介绍的方法,在PC机上打开MPLAB集成开发软件的桌面,选择Project(项目)命令,用鼠标键点击菜单栏中的Project,在其下拉菜单中选择New Project(新项目)命令,并用鼠标键点击它,则可在MPLAB的桌面上打开New Project(新项目)的对话框,如图
[单片机]
PIC16位单片机CAN(5)中断
CAN数据的接收使用中断来处理。ECAN 模块会产生三种不同中断,每种中断都具有自己的中断向量、中断允许控制位、中断状态标志和中断优先级控制位。这些中断是: ? CiTX ECAN 发送数据请求 ? CiRX ECAN 接收数据就绪 ? Ci ECAN 事件中断 具体这三种中断的意义就不说了,看手册就行了。我使用的是事件中断也就是当成功接收报文并装入一个接收缓冲区 (报文缓冲区 0 至 31)时产生中断。 中断算是比较简单的,看一下初始化代码: /* Enable ECAN1 Interrupt */ void Interrupt_Init(void) { INTCON2bits.GIE = 1;//使能全局中断
[单片机]
PIC16C71/PIC16C84单片机应用中问题和对策
一: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的输入/输出
[单片机]
提高PIC16C711单片机片内A/D分辨率的方法
摘要:介绍一种将PIC16C711片内8位A/D提高到11位的方法。此方法电路简单,速度快,可提高单片机应用系统的性能价格比,具有一定的推广价值。
关键词:PIC16C711 单片机 A/D 分辨率
目前,单片机中嵌入的A/D一般为8位到10位,难以满足信号处理应用中高分辨率的要求;而外接高分辨率的A/D将使成本明显提高,因为A/D转换器的价格将随其位数的增加而成倍增加。本文介绍一种提高PIC16C711单片机片内A/D分辨率的方法,将PIC16C711片内的8位A/D提高到11位。这种方法在PIC系列的其他单片机也适用。
美国Microchip公司推出的8位单片机PIC16C711是一种性能价格比很高的单片机。它价格低、封
[单片机]