PIC单片机的XC8】的更多相关文章

用MPLAB IDE 对pic16f887进行编程的时候需要配置字 用__CONFIG(0xc3e4);__CONFIG(0xffff); 就可以 但是用MPLAB X IDE 对pic16f887编程的时候老出错 查XC8的使用手册 发现新版的配置字定义已经改了 变成:#pragma config FOSC = INTRC_CLKOUT 可以在软件中>窗口>PIC存储器view>Configuration Bits 然后对pic16f887单片机进行配置…
查阅PIC单片机芯片手册,关于进位/借位位的说明为: C:进位/借位位. 1 = 结果的最高位发生了进位 0 = 结果的最高位未发生进位 同时有一条标注:借位的极性是相反的. 通过以上说明,可以将C的分析分为两种情况: 1.加法: 最高位发生了进位:C = 1: 最高位未发生进位:C = 0: 2.减法: 最高位发生了借位:C = 0: 最高位未发生借位:C = 1: 为了加深理解,在MPLAB中写入一段代码,通过观测STATUS寄存器的值来测试以上分析: ;测试SUBWF.ADDWF指令与状态…
PIC中档系列单片机,每条指令14位,共有35条汇编指令,根据操作对象不同,可将其分为三类: 字节操作类指令 位操作类指令 立即数与控制类操作指令 1.字节操作类指令,以MOVF指令为例: 指令:MOVF     f, d 说明: 功能:寄存器f值传送: MOVF为助记符,即操作指令,大小写均可: f代表文件寄存器标识符,即RAM寄存器(PIC单片机基础1中有说明),取值范围为[0, 127] d代表目标标识符,表明指令操作的结果放在何处: d=0:操作的结果放在W寄存器中: d=1:操作的结果…
1.PIC单片机总线结构——哈佛结构:即指令和数据空间是完全分开的,所以与常见的微控制器不同的一点是,程序和数据总线可以采用不同的宽度.以PIC16F684单片机为例,数据总线是8位的,但指令总线位数是14位. 2.在PIC单片机中,我们将RAM存储器称作文件寄存器(F寄存器). 3.PIC中程序寄存器和数据存储器分开,两者总线不同: 以PIC16F684单片机为例: 1)程序存储器构成:具有一个13位程序计数器,物理上具有2Kx14(0000H-07FFH)存储空间.复位后初始地址为0000H…
引言:近期由于项目实践需要,开始动手学习相关硬件知识.从PIC单片机入手. 单片机学习核心要点:查数据手册 配置寄存器 一.基于MPLAB X IDE配置位设置 MPLAB X IDE和MPLAB IDE 8不同. MPLAB IDE 8 可以再界限中选择配置位就行.配置选项可以不写在代码中. MPLAB X IDE 如果要配置的话必须在代码中写出配置. 配置字中最重要的配置选项就是: 看门狗配置 如:WDTE<1;0>: 一般选择关闭看门狗. MCLRE复位脚的配置 如:MCLRE:一般选择…
PIC单片机之时钟设置 http://blog.csdn.net/superanters/article/details/8541650 内部时钟和外部时钟? PIC单片机有许多型号可以设置成 用外部时钟(如外部接个4MHZ的石英晶振),也可以设置成用内部RC时钟.而且还有许多型号可以选择多种频率的时钟. 如 PICLF1823 内部时钟最高可以到达32MHZ 最低可以达到 31kHz. 这事实上提供了一条降低功耗的新路子.一般的单片机降低功耗常常用的睡眠,而睡眠期间CPU是什么都不做.如果希望…
PIC单片机的定时器有3个 timer0 timer1 timer2 定时器的计算方法 256*k*Tcy=定时时间 (256-Init-value)*k*Tcy=定时时间…
本次学习采用PIC16F877A芯片及HJ-5G 开发板 一.IO口操作 1.1 设置I/O口方向:input or output TRISx 方向寄存器 (Transport and Receive Index Storage) 1.2 设置I/O口的数值 PORTx 数值寄存器 端口 P.S.复位后初始状态:输入 数值为1 (记忆方法 input 1:output 0) //流水灯 void main(void) { uint8 i = 0; TRISD = 0X00; // while(1…
程序: #include "led.h" void InitLed(void) { TRISB &= ~0x70; ANSELB &= ~0x70; } void LedBlink(void) { u8 i; ;i<;i++){ LED0 = ;LED1 = ;LED2 = ; delay_10ms(); LED0 = ;LED1 = ;LED2 = ; delay_10ms(); } } void main() { InitLed(); LedBlink();…
#include<pic.h>#define uchar unsigned char#define uint unsigned int#define add 0xaa__CONFIG(0xc3e4);__CONFIG(0xffff);#define DS1302 RC2 //定义关掉DS1302时钟芯片,使RC4 RC3 IO口可以用于AT24C02控制. const uchar ee_data[]={1,2,3,3,2,1};uchar read_data[6];const uchar ta…