Microchip
直播中

白边赫

8年用户 209经验值
私信 关注
[问答]

需要按字母顺序排列的pic16f8xx寄存器和单独的寄存器位该怎么翻译?

大家好,我有一个关于微芯片PIC16家族的简单问题:我最近买了一个很有前途的PIC10,12,16,18评估板。它带有一个PDF用户指南和许多高科技C代码示例。问题是所有的代码行的注释都是中文的(我应该有猜测)。所以我将着手翻译所有这些注释(!例如,关于PIC168xxfamily我需要的是所有可用寄存器和每个单独的reg位的列表——按字母顺序>是PIC16F877的示例代码的示例:tiMER1示例:*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************#include //µ÷ÓÃPIC16F87XAµ¥Æ¬»úµÄÍ·Îļþ//¸ù¾ÝÑ¡Ïî,ÅäÖÃ×ÖÓ¦¸ÃÈçÏÂËùʾ://__CONFIG(HS&WRTEN&WDTDIS&BOREN&PWRTDIS&UNPROTECT&DUNPROT&DEBUGDIS&LVPDIS);//ʵ¼ÊʹÓÃÖÐ,ÕâÑùÌ«Âé·³,¶ÔÓÚĬÈÏÑ¡Ïî,ÎÒÃǽ«ÆäºöÂÔµô:__CONFIG(HS&WDTDIS&LVPDIS);#define V0 RD0 //¶¨ÒåV0ΪRD0¶Ë¿Úvoid interrupt ISR(void) //PICµ¥Æ¬»úµÄËùÓÐÖж϶¼ÊÇÕâÒ»¸öÈë¿Ú{ if(TMR1IF==1) //ÐèÒª½øÒ»²½ÅжÏÊÇ·ñÊÇT1ÖÐ¶Ï { TMR1H=0x0B; //ÖØÖóõÖµ TMR1L=0xE9; //ÖØÖóõÖµ TMR1IF=0; //ÇåÖжϱê־룬ÒÔ±¸Ï´ÎÖÐ¶Ï //***´Ë´¦Óû§×ÔÐÐÌí¼Ó¶¨Ê±Æ÷T1Öжϴ¦Àí³ÌÐò*** V0=!V0; //0.5S¶ÔV0״̬ȡ·´£¬´ïµ½ÁËÃëÉÁ˸µÄ //****************************************** }}void main(void) //Ö÷º¯Êý,µ¥Æ¬»ú¿ª»úºó¾ÍÊÇ´ÓÕâ¸öº¯Êý¿ªÊ¼ÔËÐÐ{ TRISD=0B11111110; //³õʼ»¯RD7-RD0µÄÊäÈëÊä³ö·½Ïò PORTD=0B00000000; //³õʼ»¯RD7-RD0µÄÊýÖµ //***¶¨Ê±Æ÷TMR1³õʼ»¯*** TMR1CS=0; //TMR1ʱÖÓÔ´Ñ¡ÔñÄÚ²¿Ö¸ÁîÖÜÆÚʱÖÓ(Fosc/4) T1CKPS0=1; //1:8Ô¤·ÖƵ±È£¬T1CKPS0=1 T1CKPS1=1; //1:8Ô¤·ÖƵ±È£¬T1CKPS1=1 TMR1H=0x0B; //¶¨Ê±62500¡Á8΢Ãë,ÖóõֵΪ65536-62500+13 TMR1L=0xE9; //¶¨Ê±62500¡Á8΢Ãë,ÖóõֵΪ65536-62500+13 TMR1ON=1; //Æô¶¯¶¨Ê±Æ÷T1 TMR1IF=0; //Çå³ýT1µÄÖжϱêÖ¾ TMR1IE=1; //T1ÖжÏÔÊÐí PEIE=1; //ÍâÉèÖжÏÔÊÐí,TMR1ÊôÓÚÍâÉèÖжϷ¶Î§ //********************** //***¿ªÈ«¾ÖÖжÏÉèÖÃ**** //¶¨Ê±Æ÷T1ÉèÖÃÁËÖжÏÔÊÐí,´Ë´¦Òª¿ªÈ«¾ÖÖÐ¶Ï GIE=1; //¿ªÈ«¾ÖÖÐ¶Ï //********************* while(1) //ËÀÑ­»·,µ¥Æ¬»ú³õʼ»¯ºó,½«Ò»Ö±ÔËÐÐÕâ¸öËÀÑ­»· { }}**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************谢谢

回帖(4)

陈晨

2019-9-2 14:26:58
获取你的PIC的数据表,它将有你的芯片的所有寄存器。我不知道你会在哪里找到一个字母表。你可以试试数据表索引。PIC16F8XX很少。XX芯片可能有或可能没有共同元素。
举报

张新里

2019-9-2 14:39:40
寄存器和位取决于设备,甚至在PIC16族内。对于它的价值是一个排序的列表为PIC16F877 A是附加的。
举报

h1654155275.5809

2019-9-2 14:44:54
我将参考这个特定设备的数据表,在那里您应该能够找到寄存器和位的列表。()第2.2节:数据存储组织应该有你需要的信息。
举报

陈鲜孰

2019-9-2 15:04:03
对于那些没有访问Microchip的设备和寄存器数据库来为各种工具创建数据文件的人来说,生成这种排序列表最简单的选择可能是解析XC8 ASPIC汇编程序包含文件,然后对结果进行排序。由于ASPIC.inc文件比MPASM.inc文件具有更少的crud,并且对寄存器位有不同的命名,因此从ASPIC.inc文件进行工作更容易。它也比XC8C Health.h文件简单得多。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分