tag 标签: pic单片机

相关帖子
相关博文
  • 热度 2
    2024-5-13 16:09
    159 次阅读|
    0 个评论
    张明峰书例子8-7
    代码 # include CRC_RESULT equ 0x20 org 0x000 goto main org 0x020 main MOVLW 0X00 MOVWF CRC_RESULT movlw 0x96 CALL CRC_CAL2 GOTO $ CRC_CAL2 XORWF CRC_RESULT,F CALL CRC_Lookup movwf CRC_RESULT return CRC_Lookup movlw high(CRC_TABLE) MOVWF PCLATH MOVLW low(CRC_TABLE) ADDWF CRC_RESULT,W SKPNC INCF PCLATH,F MOVWF PCL CRC_TABLE dt 00 h, 5 eh, 0 bch, 0e2 h, 61 h, 3 fh, 0 ddh, 83 h dt 0 c2h, 9 ch, 07 eh, 020 h, 0 a3h, 0 fdh, 01 fh, 41 h dt 9 dh, 0 c3h, 021 h, 07 fh, 0 fch, 0 a2h, 040 h, 1 eh dt 5 fh, 1 h, 0e3 h, 0 bdh, 3 eh, 60 h, 82 h, 0 dch dt 23 h, 7 dh, 9 fh, 0 c1h, 42 h, 1 ch, 0 feh, 0 a0h dt 0e1 h, 0 bfh, 5 dh, 03 h, 80 h, 0 deh, 3 ch, 62 h dt 0 beh, 0e0 h, 2 h, 5 ch, 0 dfh, 81 h, 63 h, 3 dh dt 7 ch, 22 h, 0 c0h, 9 eh, 1 dh, 43 h, 0 a1h, 0 ffh dt 46 h, 18 h, 0 fah, 0 a4h, 27 h, 79 h, 9 bh, 0 c5h dt 84 h, 0 dah, 38 h, 66 h, 0e5 h, 0 bbh, 59 h, 7 h dt 0 dbh, 85 h, 67 h, 39 h, 0 bah, 0e4 h, 6 h, 58 h dt 19 h, 47 h, 0 a5h, 0 fbh, 78 h, 26 h, 0 c4h, 9 ah ; 12 dt 65 h, 3 bh, 0 d9h, 87 h, 4 h, 5 ah, 0 b8h, 0e6 h dt 0 a7h, 0 f9h, 1 bh, 45 h, 0 c6h, 98 h, 7 ah, 24 h dt 0 f8h, 0 a6h, 44 h, 1 ah, 99 h, 0 c7h, 25 h, 7 bh dt 3 ah, 64 h, 86 h, 0 d8h, 5 bh, 5 h, 0e7 h, 0 b9h ; 16 dt 8 ch, 0 d2h, 30 h, 06 eh, 0 edh, 0 b3h, 51 h, 0 fh dt 4 eh, 10 h, 0 f2h, 0 ach, 2 fh, 71 h, 93 h, 0 cdh dt 11 h, 4 fh, 0 adh, 0 f3h, 70 h, 2 eh, 0 cch, 92 h dt 0 d3h, 8 dh, 6 fh, 31 h, 0 b2h, 0 ech, 0 eh, 50 h ; 20 dt 0 afh, 0 f1h, 13 h, 4 dh, 0 ceh, 90 h, 72 h, 02 h dt 6 dh, 33 h, 0 d1h, 8 fh, 0 ch, 52 h, 0 b0h, 0 eeh dt 32 h, 6 ch, 8 eh, 0 d0h, 53 h, 0 dh, 0 efh, 0 b1h dt 0 f0h, 0 aeh, 4 ch, 12 h, 91 h, 0 cfh, 2 dh, 73 h ; 24 dt 0 cah, 94 h, 76 h, 28 h, 0 abh, 0 f5h, 17 h, 49 h dt 08 h, 56 h, 0 b4h, 0 eah, 69 h, 37 h, 0 d5h, 08 bh dt 57 h, 9 h, 0 ebh, 0 b5h, 36 h, 68 h, 8 ah, 0 d4h dt 95 h, 0 cbh, 29 h, 77 h, 0 f4h, 0 aah, 48 h, 16 h ; 28 dt 0e9 h, 0 b7h, 55 h, 0 bh, 88 h, 0 d6h, 34 h, 6 ah dt 2 bh, 75 h, 97 h, 0 c9h, 4 ah, 14 h, 0 f6h, 0 a8h dt 74 h, 2 ah, 0 c8h, 96 h, 15 h, 4 bh, 0 a9h, 0 f7h dt 0 b6h, 0e8 h, 0 ah, 54 h, 0 d7h, 89 h, 6 bh, 35 h end 仿真效果
  • 热度 26
    2013-12-20 10:24
    3760 次阅读|
    0 个评论
    PIC24HJ头文件中包含了delay函数,定义如下: /************************** 延时函数头文件 **************************/ #include "Generic.h" #if defined(__PIC24H__) #ifndef Fcy #define Fcy 10000000 //10 000 000 10M #endif #endif   #define Delay_60nS_Cnt (Fcy * 0.00000006) #define Delay_150nS_Cnt (Fcy * 0.00000015) #define Delay_360nS_Cnt (Fcy * 0.00000036) #define Delay_450nS_Cnt (Fcy * 0.00000045) #define Delay_600nS_Cnt (Fcy * 0.0000006) #define Delay200uS_count (Fcy * 0.0002) #define Delay_1mS_Cnt (Fcy * 0.001) #define Delay_2mS_Cnt (Fcy * 0.002) #define Delay_5mS_Cnt (Fcy * 0.005) #define Delay_15mS_Cnt (Fcy * 0.015) #define Delay_1S_Cnt (Fcy * 1)     /* delays specific to each LCD type */ /* delay btw RS/RW signal to E signal */ #define DelayRSSetupTime_Cnt Delay_60nS_Cnt /* delay btw E rise and Data available */ #define DelayDBOutput_Cnt Delay_360nS_Cnt /* min E pulse width low */ #define DelayEPulseWidthLow_Cnt Delay_150nS_Cnt /* min E pulse width high */ #define DelayEPulseWidthHigh_Cnt Delay_450nS_Cnt /* E pulse cycle time */ #define DelayEPulseWidth_Cnt Delay_600nS_Cnt /* min Power On Reset time */ #define DelayPORXLCD_Cnt Delay_15mS_Cnt /* generic delay for LCD */ #define DelayXLCD_Cnt Delay_5mS_Cnt   //void delaynus(uint); 就是进行了一些简单的宏定义,没有看到实际的延时函数,然后找了一下PIC24FJ中的函数函数,是用于XLCD的,而里面的函数在src中已经定义了,进行移植怕出现问题。 然后在PIC24HJ的目录下找delay的函数,果然找到了一个,但是放在XLCD目录下,也就是说,这个是编译器一定定义好的,发现这个延时函数也是用于液晶的延时,定义的形式如下: void DelayDBOutput(void) /* provides delay for Data Output */ {  int i;  for(i=0;i   asm("clrwdt"); } 这里有一个CLRWDT,如何通过这样的形式实现延时?另外还有一个参数TCY_CNT_PER_LOOP这个是怎么用的? 这里的一条汇编语句,clrwdt应该是在函数函数中避免看门狗复位。 这样的话,延时函数还是需要自己来编写的,但是时钟的问题又出现了。   下面先引用一段关于XT,LP和   HS是使用超过4M的 石英晶体振荡器 。 XT是使用1M到4M的 石英晶体振荡器 。 LP是使用低于1M的陶瓷 振荡器 ,不是什么 感抗 震荡 上述都是用外部 晶振 ,只是所用 晶振 的材质和频率不同。 RC是不使用外部 晶振 ,直接用内部的RC时钟电路。 其中HS和XT因为用 石英晶体振荡器 ,所得时钟比较准确,适用于各种串口、can、TCPIP通信的场合。但缺点是频率大所以功耗也大。 用LP和RC的特点是功耗小,但LP频率低,陶瓷 振荡器 输出的时钟精度不够高,RC的误差更大。适用于不用通信的普通控制场合。 一共有四个时钟源,包括外部晶振,内部快速RC和慢速RC,以及一个辅助时钟源。 其中,外部晶振可以选择是否倍频,以及XT,HS,EC三种模式,就有6种时钟。 FRC包括不分频,固定为16和N分频,和PLL,一共有四种。 另外包括一个辅助晶振和一个低频的振荡器,一个有12种。 其中POSCMD选择外部时钟还是高速,低速的时钟模式:   其中HS模式为高增益模式,在高频时应用。       按照分频和倍频,可以将外部时钟设置到高达40M的Fcy,如下图:         这里,如果选用外部晶振为10M,然后通过PLLPRE分频到0.8M~8M,默认为/2,这样,为5M,然后,经过锁相环倍频, 这里默认为50,这样,得到的频率为250M,然后再经过PLLPOST,默认为/4,这样得到的是62.5M,超过了40M的限制。 应该设置PLLPOST为/8,则时钟为31.25M   下面是头文件对CLKDIV的申明,如下: __extension__ typedef struct tagCLKDIVBITS {   union {     struct {       unsigned PLLPRE:5;       unsigned :1;       unsigned PLLPOST:2;       unsigned FRCDIV:3;       unsigned DOZEN:1;       unsigned DOZE:3;       unsigned ROI:1;     };     struct {       unsigned PLLPRE0:1;       unsigned PLLPRE1:1;       unsigned PLLPRE2:1;       unsigned PLLPRE3:1;       unsigned PLLPRE4:1;       unsigned :1;       unsigned PLLPOST0:1;       unsigned PLLPOST1:1;       unsigned FRCDIV0:1;       unsigned FRCDIV1:1;       unsigned FRCDIV2:1;       unsigned :1;       unsigned DOZE0:1;       unsigned DOZE1:1;       unsigned DOZE2:1;     };   }; } CLKDIVBITS; 寄存器的结构如下:       OK,根据上面的设置,可以进行如下的编程: 采用10M的时钟,通过如下的时钟的初始化得到: void osc_init() {  //_CLKLOCK=0;  _PLLPRE=0;  _PLLDIV=0X1E;  _PLLPOST=0; } 得到一个40M的FCY,然后主程序中执行如下程序: int main(void) {  osc_init(); // uchar i;  mPORTBOutputConfig(IOPORT_BIT_9);  while(1)  {     mPORTBClearBits(IOPORT_BIT_9);  delayn(255);  mPORTBSetBits(IOPORT_BIT_9);  delayn(255);    }  return 0; } 查看汇编语言窗口,执行一条设置端口电平的指令的时间为:4个周期,这样,按照上面的设置,B9拉低电平,然后延时25*4+(25*6*255)=38.35us 25: mPORTBOutputConfig(IOPORT_BIT_9);  004F2 801630 mov.w 0x02c6,0x0000  004F4 2FDFF1 mov.w #0xfdff,0x0002  004F6 600001 and.w 0x0000,0x0002,0x0000  004F8 881630 mov.w 0x0000,0x02c6   如果设置PLLPRE为6,则一开始8分频,得到指令周期是10M,则一条设置端口的指令时间为4*100ns=400ns。 通过仿真验证程序OK.   而DOZE模式的设置,对端口是没有影响的,以为端口是外设,不会影响外设的时间,而只会影响到CPU. ;i+=tcy_cnt_per_loop)
  • 热度 25
    2013-12-19 16:35
    1937 次阅读|
    0 个评论
      先看经过整理以后的头文件: /************************************************************************/ /*输入捕捉模块头文件 */ /*修改:guitronic */ /*日期:2013.12.19 */ /*输入捕捉模块头文件 */ /*本头文件只针对PIC24HJ系列有效 */ /************************************************************************/   #if defined(__PIC24H__) #include p24Hxxxx.h #else #error "Does not build on this target" #endif   #ifndef __INCAP_H #define __INCAP_H   /* 相关寄存器复位初始值,可以根据需要进行修改 */ /* 这里注意没有IC0CON */ #define IC1CON_VALUE 0x0000 #define IC1BUF_VALUE 0x0000 #define IC2CON_VALUE 0x0000 #define IC2BUF_VALUE 0x0000 #define IC3CON_VALUE 0x0000 #define IC3BUF_VALUE 0x0000 #define IC4CON_VALUE 0x0000 #define IC4BUF_VALUE 0x0000 #define IC5CON_VALUE 0x0000 #define IC5BUF_VALUE 0x0000 #define IC6CON_VALUE 0x0000 #define IC6BUF_VALUE 0x0000 #define IC7CON_VALUE 0x0000 #define IC7BUF_VALUE 0x0000 #define IC8CON_VALUE 0x0000 #define IC8BUF_VALUE 0x0000     /*ICXCON各位宏定义 */ #define IC_IDLE_CON 0xdfff /* IC operate in sleep mode */ #define IC_IDLE_STOP 0xffff /* IC stop in sleep mode */   #define IC_TIMER2_SRC 0xffff /* Timer2 is the clock source for Capture */ #define IC_TIMER3_SRC 0xff7f /* Timer3 is the clock source for Capture */   #define IC_INT_4CAPTURE 0xffff /* Interrupt on fourth Capture*/ #define IC_INT_3CAPTURE 0xffdf /* Interrupt on third Capture */ #define IC_INT_2CAPTURE 0xffbf /* Interrupt on second Capture*/ #define IC_INT_1CAPTURE 0xff9f /* Interrupt on first Capture */   #define IC_INTERRUPT 0xffff /* Interrupt pin only in CPU sleep and idle mode */ #define IC_EVERY_16_RISE_EDGE 0xfffd /* Every 16th rising edge */ #define IC_EVERY_4_RISE_EDGE 0xfffc /* Every 4th rising edge */ #define IC_EVERY_RISE_EDGE 0xfffb /* Every rising edge */ #define IC_EVERY_FALL_EDGE 0xfffa /* Every falling edge */ #define IC_EVERY_EDGE 0xfff9 /* Every rising/falling edge */ #define IC_INPUTCAP_OFF 0xfff8 /* Input Capture Off */   /*中断使能和中断优先级设置宏定义*/ #define IC_INT_ON 0xffff /* Input Capture Enable */ #define IC_INT_OFF 0xfff7 /* Input Capture Disable */   #define IC_INT_PRIOR_0 0xfff8 /* Input Capture PriorityLevel 0 */ #define IC_INT_PRIOR_1 0xfff9 /* Input Capture PriorityLevel 1 */ #define IC_INT_PRIOR_2 0xfffa /* Input Capture PriorityLevel 2 */ #define IC_INT_PRIOR_3 0xfffb /* Input Capture PriorityLevel 3 */ #define IC_INT_PRIOR_4 0xfffc /* Input Capture PriorityLevel 4 */ #define IC_INT_PRIOR_5 0xfffd /* Input Capture PriorityLevel 5 */ #define IC_INT_PRIOR_6 0xfffe /* Input Capture PriorityLevel 6 */ #define IC_INT_PRIOR_7 0xffff /* Input Capture PriorityLevel 7 */   /* 下面定义捕获1~8的使能,优先级,开关捕捉,配置和读取函数 */ /**********************************************************/ #define EnableIntIC1 _IC1IE = 1 #define DisableIntIC1 _IC1IE = 0 #define SetPriorityIntIC1(priority) _IC1IP = priority /* CloseCapture 1 */ void CloseCapture1() __attribute__ ((section(".libperi"))); /* ConfigIntCapture1 */ void ConfigIntCapture1(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture1 */ void OpenCapture1 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture1 */ void ReadCapture1(unsigned int * buffer) __attribute__ ((section (".libperi")));   /**********************************************************/ #define EnableIntIC2 _IC2IE = 1 #define DisableIntIC2 _IC2IE = 0 #define SetPriorityIntIC2(priority) _IC2IP = priority /* CloseCapture 2 */ void CloseCapture2() __attribute__ ((section(".libperi"))); /* ConfigIntCapture2 */ void ConfigIntCapture2(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture2 */ void OpenCapture2 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture2 */ void ReadCapture2(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #define EnableIntIC3 _IC3IE = 1 #define DisableIntIC3 _IC3IE = 0 #define SetPriorityIntIC3(priority) _IC3IP = priority /* CloseCapture 3 */ void CloseCapture3() __attribute__ ((section(".libperi"))); /* ConfigIntCapture3 */ void ConfigIntCapture3(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture3 */ void OpenCapture3 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture3 */ void ReadCapture3(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #define EnableIntIC4 _IC4IE = 1 #define DisableIntIC4 _IC4IE = 0 #define SetPriorityIntIC4(priority) _IC4IP = priority /* CloseCapture 4 */ void CloseCapture4() __attribute__ ((section(".libperi"))); /* ConfigIntCapture4 */ void ConfigIntCapture4(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture4 */ void OpenCapture4 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture4 */ void ReadCapture4(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #define EnableIntIC5 _IC5IE = 1 #define DisableIntIC5 _IC5IE = 0 #define SetPriorityIntIC5(priority) _IC5IP = priority /* CloseCapture 5 */ void CloseCapture5() __attribute__ ((section (".libperi"))); /* ConfigIntCapture5 */ void ConfigIntCapture5(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture5 */ void OpenCapture5 (unsigned int) __attribute__ ((section (".libperi"))); /**********************************************************/   /* ReadCapture5 */ void ReadCapture5(unsigned int * buffer) __attribute__ ((section (".libperi"))); #define EnableIntIC6 _IC6IE = 1 #define DisableIntIC6 _IC6IE = 0 #define SetPriorityIntIC6(priority) _IC6IP = priority /* CloseCapture 6 */ void CloseCapture6() __attribute__ ((section (".libperi"))); /* ConfigIntCapture6 */ void ConfigIntCapture6(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture6 */ void OpenCapture6 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture6 */ void ReadCapture6(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #define EnableIntIC7 _IC7IE = 1 #define DisableIntIC7 _IC7IE = 0 #define SetPriorityIntIC7(priority) _IC7IP = priority /* CloseCapture 7 */ void CloseCapture7() __attribute__ ((section (".libperi"))); /* ConfigIntCapture7 */ void ConfigIntCapture7(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture7 */ void OpenCapture7 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture7 */ void ReadCapture7(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #ifdef _IC8IF #define EnableIntIC8 _IC8IE = 1 #define DisableIntIC8 _IC8IE = 0 #define SetPriorityIntIC8(priority) _IC8IP = priority /* CloseCapture 8 */ void CloseCapture8() __attribute__ ((section (".libperi"))); /* ConfigIntCapture8 */ void ConfigIntCapture8(unsigned int ) __attribute__ ((section (".libperi"))); /* OpenCapture8 */ void OpenCapture8 (unsigned int) __attribute__ ((section (".libperi"))); /* ReadCapture8 */ void ReadCapture8(unsigned int * buffer) __attribute__ ((section (".libperi"))); /**********************************************************/   #endif /*头文件结束 */   从上面可以看出,捕获的功能很简单,就一个控制寄存器,和一个和其他资源公用的中断寄存器。 端口的功能也很简单,使能,优先级,开关捕捉,配置和读取函数。  
  • 热度 20
    2012-11-23 15:40
    1116 次阅读|
    0 个评论
    最近要用PIC的单片机的I/O做IIC模拟 写了段程序,用proteus仿真写24c02了一下 结果数据死活写不进去 SCL总是处于低电平状态,可在proteus里明明拉高了 仔细看程序和数据手册发现个错误 我是这样定义的 #define SCLT RA1 数据手册里规定 Each port has three standard registers for its operation. These registers are: • TRISx registers (data direction) • PORTx registers (reads the levels on the pins of the device) • LATx registers (output latch) 没仔细看当51用了。。。 改成#define SCLT LATA1后一次成功 看来手册还是得好好看。。。  
  • 热度 37
    2012-8-14 14:43
    1206 次阅读|
    0 个评论
      摘要:W5100应用广泛,可以应用在医疗仪器中。可以设计一种基于SPI总线和W5100的医疗仪器网络接口的设计方法。网络接口由PIC单片机、W5100网络芯片和RJ-45组成。W5100通过RJ-45接口连接到PC机、局域网或Internet;单片机通过SPI总线获取W5100的网络信息,并实现与医疗仪器的信息交换与控制。实验结果表明:基于SPI总线和W5100的医疗仪器网络接口的硬件结构简单、性能稳定、兼容性强。     说明:本文作者是 来自南方医科大学生物医学工程学院的刘关德和余学飞,发表于《生物医学工程研究》2008年第3期。   详细内容请参考http://www.cqvip.com/qk/83776a/200803/29884311.html
相关资源
  • 所需E币: 3
    时间: 2019-12-26 00:47
    大小: 58.47KB
    上传者: 16245458_qq.com
    PIC单片机控制的遥控防盗报警器……
  • 所需E币: 5
    时间: 2019-12-26 00:47
    大小: 144.74KB
    上传者: 二不过三
    PIC单片机编写显示表头,用于测量脉冲输出式速度信号……
  • 所需E币: 4
    时间: 2019-12-25 21:12
    大小: 10.5KB
    上传者: 微风DS
    编写PIC单片机的源程序,除了源程序的开始处要求严格的列表指令外,还需注意源程序中字母符号大小写的有关规则,否则在PC机上汇编源程序时不会成功。笔者用下列的PIC16F84单片机对B口送数的源程序(源程序各自定义)为实例,说明其注意的问题。……
  • 所需E币: 3
    时间: 2019-12-25 21:13
    大小: 12KB
    上传者: 238112554_qq
    美国微芯科技公司(MicrochipTechnology)日前推出首款具备全速USB2.0连接功能的闪存PIC单片机。该产品工作频率达48MHz,数据传输速率高达12Mbps。与新器件配套的一系列片上外设和纳瓦技术(nanoWatt)的功耗管理功能,该系列器件针对采用USB的工业、医疗和其它多种嵌入式应用,为设计人员提供了全套嵌入式控制解决方案。……
  • 所需E币: 3
    时间: 2019-12-25 21:09
    大小: 104KB
    上传者: 978461154_qq
    针对平面关节型机械手各关节联动的特点,研制和开发了基于PIC16F877单片机和运动芯片LM629的底层控制系统。采用LM629这样的集成运动芯片,简化整个控制系统的硬件电路结构,提高系统的可靠性和控制精度。……
  • 所需E币: 5
    时间: 2019-12-25 21:04
    大小: 1.34MB
    上传者: 微风DS
    PIC单片机图解入门教程Ver1.0……
  • 所需E币: 3
    时间: 2019-12-25 17:12
    大小: 6.16MB
    上传者: rdg1993
    PIC单片机移植资料……
  • 所需E币: 3
    时间: 2019-12-25 17:14
    大小: 3.67MB
    上传者: 238112554_qq
    数据手册PIC16F627A/628A/648ADataSheetFLASH-Based8-BitCMOSMicrocontrollers2002MicrochipTechnologyInc.PreliminaryDS40044ANotethefollowingdetailsofthecodeprotectionfeatureonMicrochipdevices:MicrochipproductsmeetthespecificationcontainedintheirparticularMicrochipDataSheet.Microchipbelievesthatitsfamilyofproductsisoneofthemostsecurefamiliesofitskindonthemarkettoday,whenusedintheintendedmannerandundernormalconditions.Therearedishonestandpossiblyillegalmethodsusedtobreachthecodeprotectionfeature.Allofthesemethods,toourknowl-edge,requireusingtheMicrochipproductsinamanneroutsidetheoperatingspecificationscontainedinMicrochip'sDataSheets.Mostlikely,thepersondoingsoisengage……
  • 所需E币: 5
    时间: 2019-12-25 17:15
    大小: 1.59MB
    上传者: 16245458_qq.com
    数据手册PIC16F62XFLASH-Based8-BitCMOSMicrocontrollersDevicesincludedinthisdatasheet:SpecialMicrocontrollerFeatures:PIC16F627PIC16F628Power-onReset(POR)ReferredtocollectivelyasPIC16F62X.Power-upTimer(PWRT)andOscillatorStart-upTimer(OST)HighPerformanceRISCCPU:Brown-outDetect(BOD)Only35instructionstolearnWatchdogTimer(WDT)withitsownon-chipRCAllsingle-cycleinstructions(200ns),exceptforoscillatorforreliableoperationprogrambrancheswhicharetwo-cycleMultiplexedMCLR-pinOperatingspeed:-DC-20MHzclockinput……
  • 所需E币: 3
    时间: 2019-12-25 17:15
    大小: 445.14KB
    上传者: givh79_163.com
    数据手册!"#$%&'()*+,-./+,-0./+,-0)12345678956:;?@ABCDC2EFGHIJKLMKLN'-!"2OPQRN'-"STN'-!"UVWXY#$=OP-XZ=[\]^_`abcIJXde=OP-_`a%fghijklmno$Zp#=WqLro$Z7stuvwx+,-#$Lyz{$#9$#|*}1L~%f&z{_`am#&'%m#&'=jL~{"'%()V-=N'-l.-"'%()V-=N'-l.-mqOP'('m*((+Df"'%()V+--2-=N'-l---!5-$-!.¤-VJ2J=V,H§¨=C-"V!2°±=$VyM=y¨Lr$$+,-$)*)1$./2+,-$"'%()$"'%()$"'%()$!,$o$$C-$.¤-$$$f$L$2$$=X×ààáààààèèéêè5ìíXòóìí÷ùúùüó==t=2q=uèèéê=……
  • 所需E币: 3
    时间: 2019-12-25 09:50
    大小: 32KB
    上传者: 2iot
    pic单片机的模拟I2C通信;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;                      Copyright (C) 1997 by Innovatus; This code may be distributed and used freely provided that this; copyright notice stays intact and that any modifications are noted.; For more information about Innovatus: http://www.innovatus.com;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;    File Name: i2c_low.asm;       Author: Alan G. Smith;      Purpose: This code is borrowed from Microchip with all of the fancy;               stuff taken out.;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++InitI2CBusMaster;********************************************************……
  • 所需E币: 4
    时间: 2019-12-25 03:30
    大小: 8.44MB
    上传者: quw431979_163.com
    MPLAB及C18安装使用简介MPLAB6.XX及PICC18安装使用简介MPLAB的安装软件可以从微芯公司网站上(http://www.microchip.com)下载,本人使用的是MPLABV6.43版本,其余版本的操作与此相同,推荐使用MPLABV6.30以后的软件版本。MPLAB-C18,可以从微芯公司网站上(http://www.microchip.com)下载,本人选择的版本分别为安装软件MPLAB-C18-V2.00-win32和升级版MPLAB-C18-upgrade-V2.20-win32。我们用的仿真器是微芯公司生产的MPLABICD2仿真器(福州贝能科技公司生产的MPLABICD2也一样),调试时用USB口进行调试,这样调试和下载速度很快。一、MPLAB6.XX的安装1.点击MPLABv6.43.EXE进行安装,将出现如图1所示安装界面。[pic]图12.在如图1所示中点击NEXT将出现如图2所示界面。[pic]图23.在图2中选择IACCEPT后点击NEXT,将出现如图3所示界面,其中C:\ProgramFiles\MPLABIDE为默认安装路径。[pic]图3如要改变软件安装……
  • 所需E币: 4
    时间: 2019-12-24 19:09
    大小: 295.47KB
    上传者: 978461154_qq
    ThisapplicationnotedescribestheworkingofaKEELOQ®codehoppingdecoderimplementedonaMicrochipMidrangeMCUs(PIC16C6X,PIC16C7X,PIC16C62X)Thesoftwarecanbeusedtoimplementastandalonedecoderorbeintegratedwiththeuserapplication.ThedecodersupportstheMicrochip’sHCS200,HCS201,HCS300,HCS301,HCS360,andHCS361KEELOQhoppingcodeencoders.Thedecodersupportsnormalandsecurelearning.Twomanufactur-erscodesallowdifferentmanufacturerstoshareapub-lickey,butretaintheirownprivatekeys.AN672PICMCUMid-RangeCodeHoppingDecoderAuthor:VivienDelportFIGURE1:MICROCHIPMIDRANGEMicrochipTechnologyInc.DECODEROVERVIEWLRNIN118RFINThisapplicationnotedescribestheworkingofaLRNOUT217NCKEELOQcodehoppingdecoderimplementedonaNC316OSCINMicrochipMidrangeMCUs(PIC16C6X,PIC16C7X,……
  • 所需E币: 5
    时间: 2019-12-25 17:15
    大小: 1.73MB
    上传者: 微风DS
    数据手册PIC16F5X数据手册8位CMOS闪存单片机系列2006MicrochipTechnologyInc.DS41213C_CN请注意以下有关Microchip器件代码保护功能的要点:Microchip的产品均达到Microchip数据手册中所述的技术指标。Microchip确信:在正常使用的情况下,Microchip系列产品是当今市场上同类产品中最安全的产品之一。目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以Microchip数据手册中规定的操作规范来使用Microchip产品的。这样做的人极可能侵犯了知识产权。Microchip愿与那些注重代码完整性的客户合作。Microchip或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是“牢不可破”的。代码保护功能处于持续发展中。Microchip承诺将不断改进产品的代码保护功能。任何试图破坏Microchip代码保护功能的行为均可视为违反了《数字器件千年版权法案(DigitalMillenniumCopyrightAct)》。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。提供本文档的中文版本仅为了便于理解。Microchip商标TechnologyInc.及其分公司和相关公司、各级主管与员工及Microchip的名称和徽标组合、Microchip徽标、Accuron、事务代理机构对译文中可能存在的任何差……
  • 所需E币: 5
    时间: 2019-12-25 17:15
    大小: 2.94MB
    上传者: 238112554_qq
    数据手册PIC16F627A/628A/648A数据手册采用纳瓦技术的8位CMOS闪存单片机2005MicrochipTechnologyInc.DS40044D_CN请注意以下有关Microchip器件代码保护功能的要点:Microchip的产品均达到Microchip数据手册中所述的技术指标。Microchip确信:在正常使用的情况下,Microchip系列产品是当今市场上同类产品中最安全的产品之一。目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以Microchip数据手册中规定的操作规范来使用Microchip产品的。这样做的人极可能侵犯了知识产权。Microchip愿与那些注重代码完整性的客户合作。Microchip或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是“牢不可破”的。代码保护功能处于持续发展中。Microchip承诺将不断改进产品的代码保护功能。任何试图破坏Microchip代码保护功能的行为均可视为违反了《数字器件千年版权法案(DigitalMillenniumCopyrightAct)》。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。提供本文档的中文版本仅为了便于理解。Microchip商标TechnologyInc.及其分公司和相关公司、各级主管与员工及Microchip的……
  • 所需E币: 4
    时间: 2019-12-25 17:14
    大小: 2.4MB
    上传者: givh79_163.com
    数据手册PIC24H系列数据手册高性能16位单片机2007MicrochipTechnologyInc.初稿DS70175D_CN请注意以下有关Microchip器件代码保护功能的要点:Microchip的产品均达到Microchip数据手册中所述的技术指标。Microchip确信:在正常使用的情况下,Microchip系列产品是当今市场上同类产品中最安全的产品之一。目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以Microchip数据手册中规定的操作规范来使用Microchip产品的。这样做的人极可能侵犯了知识产权。Microchip愿与那些注重代码完整性的客户合作。Microchip或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是“牢不可破”的。代码保护功能处于持续发展中。Microchip承诺将不断改进产品的代码保护功能。任何试图破坏Microchip代码保护功能的行为均可视为违反了《数字器件千年版权法案(DigitalMillenniumCopyrightAct)》。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止……
  • 所需E币: 4
    时间: 2019-12-25 21:15
    大小: 15KB
    上传者: rdg1993
    为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。……
  • 所需E币: 5
    时间: 2019-12-30 09:41
    大小: 125.49KB
    上传者: 微风DS
    本文详细描述了用PIC16C73单片机构成此全功能充电器的设计方案,并提供了硬件接口图及相应的软件算法流程’……