股票

点亮第一个LED—MAC下的PIC16F873A/PIC16F877A程序烧写

东西还得一点点儿的学呀!

先讲一下熔丝位,上一篇博客介绍mac下工程文件的建立(PIC上的“Hello World”—第一个运行程序),熔丝位的配置是仿照官方库文件修改的,等我把最小系统建立好,因为一次次的烧写失败,无意间发现,MPLAB IDE已经给出了熔丝位配置工具了,就在编辑时候下面的状态输出框里。
点亮第一个LED---MAC下的PIC16F873A/PIC16F877A程序烧写
第一个是编译状态输出,第二个是任务列表(没发现有啥用),第三个Configuration Bits就是配置熔丝位了,在里面选你需要的熔丝位配置,再点击“Generate Source Code to Output”就直接生成配置代码,粘贴到你的程序里就行了。
点亮第一个LED---MAC下的PIC16F873A/PIC16F877A程序烧写
最小系统的原理图,网上找的图片,我用的是873A,这个是877A,两块芯片一样的,只是873A功能少了很多。搭建好系统后,把程序烧进去,我用的烧写器是PICkit2,某宝几十块一个,不过我建议大家选择PICkit3,我是当初不知道,随便选的,PICkit3可以进行仿真,我的只能烧写了。
程序再贴一下:

  1. #include & lt; pic.h & gt;  
  2. #include & lt; xc.h & gt;       /* PIC hardware mapping// CONFIG */  
  3.   
  4. #pragma config FOSC = HS        /* Oscillator Selection bits (HS oscillator) */  
  5. #pragma config WDTE = OFF       /* Watchdog Timer Enable bit (WDT disabled) */  
  6. #pragma config PWRTE = ON       /* Power-up Timer Enable bit (PWRT enabled) */  
  7. #pragma config BOREN = ON       /* Brown-out Reset Enable bit (BOR enabled) */  
  8. #pragma config LVP = ON         /* Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled) */  
  9. #pragma config CPD = OFF        /* Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) */  
  10. #pragma config WRT = OFF        /* Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) */  
  11. #pragma config CP = OFF         /* Flash Program Memory Code Protection bit (Code protection off) */  
  12.   
  13. void main( void )  
  14. {  
  15.     TRISAbits.TRISA0  = 0;  /* using pin as output */  
  16. /* PORTA = 0; //clear all pins to 0 */  
  17.     PORTAbits.RA0  = 1;     /* turn on the LED by writing to the latch */  
  18.     while ( 1 )  
  19.         ;  
  20. }  

在上篇博客后来补充说明过,因为引脚配置和引脚置位没对上,导致LED总点不亮,为此,我找了整整两天!总以为是熔丝位或者烧写过程中出问题了。TRISAbits.TRISA0这个和后面的PORTAbits.RA0不要错了,前面相当于AVR的DDRX,后面就是PORTX,当然你也可以直接用PORTX,这是个8位寄存器,每一位对应一个引脚,和AVR一样的。

点亮第一个LED---MAC下的PIC16F873A/PIC16F877A程序烧写
这是IDE的主要操作图标,第一个锤子是编译程序生成hex文件,第二个锤子是清空之前的编译文件重新编译再生成hex,播放图标是运行工程,我的执行不了,估计是不支持仿真;向下的箭头就是下载程序到MCU了,向上箭头是读取MCU中的程序;后面两个也是仿真用的,我主要用的就是两个锤子编译,看心情选哪个,然后直接向下箭头下载就OK了。

好了,祝你早日点灯成功!

打赏
原文链接:,转发请注明来源!

发表评论