
PIC学习
文章平均质量分 51
齐默_Alex
这个作者很懒,什么都没留下…
展开
-
关于PIC中断
PIC单片机有多个中断源,16系列只有一个中断入口,18系列有两个中断入口,不同编译器下书写格式又不大一样。网上资源千篇一律,也不够系统,只是简单的罗列程序,代码生存的环境不一样也少有说明。在此做个简单的总结,因为又走了弯路...1.先说18系列(MCC18编译器下):MPLAB C18不自动把中断服务程序放在中端向量处。通常将GOTO指令放在中断向量处,从而把控制权转交给相应中断转载 2015-08-25 17:00:26 · 1318 阅读 · 0 评论 -
高单片机抗干扰
如何提高单片机抗干扰让你少走弯路搞过产品的朋友都有体会,一个设计看似简单,硬件设计和代码编写很快就搞定,但在调试过程中却或多或少的意外,这些都是抗干扰能力不够的体现。下面讨论一下如何让你的设计避免走弯路:抗干扰体现在2个方面,一是硬件设计上,二是软件编写上。这里重点提醒:在MCU设计中主要抗干扰设计是在硬件上,软件为辅。因为MCU的计算能力有限,所以要在硬件上花大工夫。看看干扰转载 2015-12-02 10:12:17 · 653 阅读 · 0 评论 -
PIC18F45K80 CAN通讯示例代码
这里转载的是别人现成的代码,进行了实际的编译和下载运行,罗列了实际运行中出现的问题,主要是证明代码的可靠性。1、新建工程、选择好器件、选择编译环境,我当时选择的是C:\Program Files (x86)\Microchip\mplabc18\v3.47文件夹下的C18编译器。实际操作时,我当时误选了_mplink.exe,实际上选择的应该是mplink.exe文件。编译时出现错误,重新选择转载 2016-02-17 09:29:04 · 8061 阅读 · 3 评论 -
2016.2.17问题总结
1、完成主板和抽屉板之间的通讯。2、在操作I/O输出的电平时,用操作LATAbits.LATA0的方式代替操作PORTAbits.RA0的方式。原创 2016-02-17 17:10:36 · 687 阅读 · 0 评论 -
实现高精度ADC测量的条件
1、基准源要稳定2、信号频率和采样频率和满足一定的条件3、ADC的输入阻抗要满足要求4、转换速度的设置要合适5、ADC分辨率和绝对精度对采样结果的影响6、ADC模块的电源对转换结果的影响。7、。。。目前,出现的ADC采集波动大的原因,主要是基准电源。直接引芯片的电压,若要实现精准的信号采集,需要独立的电源芯片的输出电压作为ADC的基准电压源。原创 2016-04-25 08:53:35 · 2008 阅读 · 0 评论 -
USB转TTL 与电路板的连接
USB转TTL的硬件设备:USB转TTL主机一台;芯片选用PL-2303HXUSB转TTL刷机线,采用进口PL2303HX芯片。连接上电脑并安装驱动后,电脑即扩展出一个COM3或COM4....等的串口,配合相应软件就能对路由器、机顶盒或接收机等各种TTL接口的设备系统进行调试、升级或更新等,比九针(DB9)串口接口转TTL的线适用性更广,因为大部分笔记本电脑都没有预留COM口原创 2016-09-11 15:39:03 · 24822 阅读 · 3 评论 -
PIC18F45K80 USART
初期参考了三篇文章1、PIC18F45K80单片机串口调试总结http://blog.youkuaiyun.com/sandyde123/article/details/480915352、用示波器 查看波特率是多少?http://blog.youkuaiyun.com/androidolblog/article/details/476591493、关于示波器测485串原创 2017-02-28 16:45:39 · 3915 阅读 · 0 评论 -
测试数据
0 0 0 0.(**V0 0 1 0.(**V0 1 0 0.(**V0 1 1 0.(**V1 0 0 0.(**V1 0 1 0.(**V1 1 0 0.(**V1 1 1 0.(**V2 0 0 0.(**V2 0 1 0.(**V2 1 0 0.(**V2 1 1 0.(**V3 0 0 0.(**V3 0 1 0.(**V3 1 0 0.(**V3 1 1 0.(**V4 0 0原创 2017-03-20 14:45:43 · 370 阅读 · 0 评论 -
抽屉板小型化
1、原理图2、PCB3、实物图2017.3.28原创 2017-03-28 10:52:33 · 276 阅读 · 0 评论 -
PIC18F45K80 将RA0等配置为数字输入I/O
1、在实际应用中的发现,虽然输入一直为高电平,但是I/O口检测到一直为低在网上找到了解决问题的办法http://bbs.21ic.com/icview-85731-1-1.html解释:并非只有18系列;所以PIC系列的单片机,大多在上电时AD.数字IO复位脚均默认为AD输入口;中档系列的作为输入时仍可以读出IO,输出关闭的,中档的还有些引脚,比如,比较器等也需要关原创 2017-04-08 15:38:54 · 1966 阅读 · 0 评论 -
单片机C语言代码-代码格式
/****************************************fuction: void BQ_config(void)description:BQ76930初始化Parameters: None******************************************/原创 2015-11-18 09:08:20 · 2741 阅读 · 1 评论 -
PIC16F887 RB0外部中断(2)
#include #include __CONFIG (CP_OFF&WDTE_OFF&BOREN_ON&PWRTE_OFF&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF); /*配置位 CP_OFF,代码保护位,程序存储器代码保护关闭; WDTE_OFF,看门狗定时器使能位,看门狗定时器关闭,可以通过WDTCON寄存器的SWDTEN位使能; B原创 2015-09-22 15:54:13 · 4024 阅读 · 0 评论 -
PIC16 MPLAB项目-安装CCS编译器
下载地址点击打开链接http://www.amobbs.com/thread-4177192-1-1.htmlccs 的PIC 单片机 C编译器 V4.108里面有注册机,运行注册机,会生成pcd.crg;pcb.crg;pch.crg;pcm.crg 这些文件 按 piccode 的办法,复制到安装目录下,就可使用;或把上面的破解文件,与安装文件放在同一目录下,再安装编译原创 2015-08-26 09:08:48 · 4008 阅读 · 0 评论 -
MPLAB PICKIT3、MPLAB SIM调试
1、MPLAB SIM不需要硬件支持,设定好断点后,单步或全速运行;可以通过Debugger->stopwatch 观察和测试延时函数实际执行的时间;时钟频率在Debugger->setting->Osc/Trace中设置。打开View中的Special Function Registers、Watch可以用来观察程序运行时,寄存器和参数的变化。2、MPLAB PICKIT3需要硬件支持,设定原创 2015-08-28 15:31:03 · 3521 阅读 · 0 评论 -
用中断方式,实现PIC单片机的串口传输
#include#define uchar unsigned char#define uint unsigned int__CONFIG(0x3B31);//__CONFIG (CP_OFF &WDTE_OFF& BOREN_OFF&PWRTE_OFF &FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);int a[10]={0x30,0x31,0x32,0x3原创 2015-09-07 18:49:02 · 5924 阅读 · 0 评论 -
PIC16F887 SPI CAN 传输,操作MCP2515
主函数#include #include #include #define uchar unsigned char#define uint unsigned int#define nop() asm("nop")#define CS RD1 //标签为CANCSRH4#define RESET RD0 //标签为RESETCAN__CONFIG (CP_OFF &WDTE_OFF& BOREN_O原创 2015-09-08 21:23:37 · 2225 阅读 · 0 评论 -
PIC知识点汇总
PICC变量的类型与定义PICC变量及定义1、当变量为多字节数据时,PICC按低字节存放在低地址、高字节存放在高地址的原则存放变量,并以最低字节的地址作为该变量的地址。例如int型变量i的值为0X1234,低字节0x34存放在0X30,高字节0x12存放在0X31,并以0x30作为变量i的地址。2、单片机的带符号的整数均以补码方式存放。对于二进制数来说,先减一后取反和先取反后加1得到的原创 2015-09-09 20:30:27 · 2080 阅读 · 0 评论 -
数制与表示法
1、在PICC程序中,支持的数据格式有二进制、十进制、八进制和十六进制2、参与逻辑运算的量本身就是逻辑量,运算结果也是逻辑量,而参与运算的量是整形量,运算结果也是整形量。 端口置1,按位或;//用按位或,对某位置一,其他位不变端口清0,按位与;//用按位与,对某位清零,其他位不变位取反,按位异或;//用按位异或,对某位取反,其他位不变在PICC中,判断某一位是否为1,可原创 2015-09-14 08:16:50 · 776 阅读 · 0 评论 -
PICC C中的函数
PICC中函数,由于堆栈资源的原因,在PICC中的函数不支持函数的递归调用。1、带返回值的函数2、无返回值的函数在PICC中,我们直接使用寄存器的名字和位名,这些都归功于相关的头文件。还有一些宏定义也在这些头文件中。’PIC.H‘文件是PICC编译必需的头文件。根据用户所选用的单片机芯片型号自动包含相应的头文件。定义常用的嵌入汇编宏定义。配置位定义、EEPROM初始原创 2015-09-14 09:44:57 · 1606 阅读 · 0 评论 -
尺寸单位
1 in=25.4mm=1000mil mil毫英寸 与ISIS中的符号“th”相同原创 2015-09-14 14:09:03 · 602 阅读 · 0 评论 -
宏定义
宏定义的使用宏分为不带参数的宏和带参数的宏1、不带参数的宏定义格式#define 标识符 字符串符号常量使用宏定义可以提高程序的通用性和易读性,减少输入错误和便于修改。。宏定义末尾不加分号。宏定义通常在文件的最开头。 宏定义不分配内存2、带参数的宏定义格式#define 宏名(参数表) 字符串 宏名和参数的括号间不能有空格带参原创 2015-09-14 07:08:21 · 513 阅读 · 0 评论 -
PIC RB0外部中断程序
#include #include //__CONFIG (CP_OFF&WDTE_OFF& BOREN_OFF&PWRTE_OFF &FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);__CONFIG (CP_OFF&WDTE_OFF&BOREN_ON&PWRTE_OFF&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);//__CONFIG (CP原创 2015-09-18 18:08:54 · 3203 阅读 · 0 评论 -
MPLAB X XC8编译器件入门 基于PIC18F45K80
从MPLAB HI-TECH的编译器开始入门PIC单片机,后知后觉发现PIC几年前已经推出了MPLAB X以及XC8等编译器,想想还是努力学习新知识,跟上外面的开发工具。原创 2017-03-07 08:56:00 · 3739 阅读 · 0 评论