PIC16F1824有什么C编译器能用?

2020-02-06 09:56发布

本帖最后由 1125526801 于 2013-6-15 09:24 编辑

PIC16F1824有什么C编译器能用?之前学习板上的单片机不一样是18F4520,用的MCC18。PIC16F1824是用PICC吗?



360截图20130615092316974.jpg (177.04 KB, 下载次数: 0) 下载附件 2013-6-15 09:23 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
64条回答
1125526801
2020-02-09 19:50
本帖最后由 1125526801 于 2013-6-20 18:52 编辑
  1. #include<pic.h>

  2. __CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_ON & CLKOUTEN_OFF & IESO_ON & FCMEN_OFF);
  3. __CONFIG(WRT_OFF & PLLEN_OFF & STVREN_ON & BORV_LO & LVP_OFF);//将FOSC<2:0>:振荡器选择位设置成 INTOSC,


  4. void init_fosc(void)
  5. {
  6. OSCCON = 0x70;//8MHZ IRCF<3:0>时钟频率选择位设置成8MHZ
  7. }


  8. void delay500ms(void)   //误差 0us
  9. {
  10.     unsigned char a,b,c;
  11.     for(c=20;c>0;c--)
  12.         for(b=152;b>0;b--)
  13.             for(a=7;a>0;a--);
  14. }
  15. //---------------------------------------
  16. //名称: 主函数                 
  17. //-----------------------------------------
  18. void main()
  19. {       
  20.         init_fosc();
  21.        
  22.         TRISA=0B00000000;       //RA设置为输出
  23.         TRISC=0B00000000;           //RC设置为输出

  24.         PORTA=0B00000000;        //初始化RA
  25.         PORTC=0B00000000;        //初始化RC


  26.         while(1)
  27.         {
  28.                  RC2=1;
  29.                 delay500ms();
  30.                 RC1=1;
  31.                 delay500ms();       
  32.         }
  33. }
复制代码又出状况了。按理接在RC1和RC2的两个LED,应该是常亮的,可是实际他是交替闪。RC1=1时,RC2会自动变为0,什么情况???

一个IO置1,会让同一组的其它自动置0?  试了下一如 RC2=1; RA1=1;,  则不会互相影响。

一周热门 更多>