中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

picc18單片機(jī)應(yīng)用筆記—在源程序中設(shè)置配置位

更新時(shí)間: 2019-03-23
閱讀量:1985

十年專注單片機(jī)方案開(kāi)發(fā)的方案公司英銳恩,分享picc18單片機(jī)應(yīng)用筆記—在源程序中設(shè)置配置位。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

筆者在使用picc18單片機(jī)進(jìn)行基于PIC18F452單片機(jī)的軟件開(kāi)發(fā)時(shí),發(fā)現(xiàn)對(duì)于18系列的單片機(jī),手動(dòng)設(shè)置配置位非常麻煩,而且容易出錯(cuò),所以考慮在源程序中設(shè)定配置位,這樣編譯后,無(wú)論是用什么燒寫(xiě)工具,都不需要再進(jìn)行配置位的設(shè)定了。

     對(duì)于HI-TECH C18 , 配置字的設(shè)定通過(guò)宏 __CONFIG(n,x)來(lái)實(shí)現(xiàn).
宏__CONFIG(n,x)的聲明在文件pic18.h中,各位元的聲明在對(duì)應(yīng)芯片型號(hào)的頭文件中.18F452的例程如下:

//***************************************************************************************
        #include
//***************************************************************************************
//*The declaration of __CONFIG(n,x) is in pic18.h                                        *
//*The __CONFIG(n,x) directive defines configuration data within is in pic18fxx2.h                *
//***************************************************************************************
        __CONFIG(1,RC) ;
        __CONFIG(2,PWRTDIS & WDTPS1 & WDTEN ) ;
        __CONFIG(4,STVRDIS) ;
        
        void main(void) 

{
//your code
}
//*************************************************************************

在pic18.h中,__CONFIG(n,x)的聲明如下        
#define        __CONFIG(n, x)        asm("\tpsect config,class=CONFIG");\
                        asm("global config_word" ___mkstr(n)); \
                        asm("config_word" ___mkstr(n)":"); \
                        asm("\torg ("___mkstr(n)"-1)*2"); \
                        asm("\tdw "___mkstr(x))
部分在pic18.h中的聲明大體如下,具體請(qǐng)參考對(duì)應(yīng)的頭文件。
// Configuration bit values
// Config. Register 1
#define OSCSEN                0xDFFF                // enable oscillator system clock
#define OSCSDIS                0xFFFF
// oscilator types
#define RCRA6                0xFFFF                // RC w/OSC2 config as RA6
#define HSPLL                0xFEFF                // HS w/PLL Enabled, Clk Freq = 4xFreq Osc. 

#define ECRA6                0xFDFF                // EC w/OSC2 config. as RA6
#define ECDB4                0xFCFF                // EC w/OSC2 as divide by 4 clock output
#define RC                0xFBFF
#define HS                0xFAFF
#define XT                0xF9FF                
#define LP                        0xF8FF

// Config. Register 2
// Brown Out reset
#define        BOREN                0xFFFF                // Brown-out reset enable

n代表 Config. Register n, 例如__CONFIG(1,x); 1 代表Config. Register 1, X可為OSCSEN,RC等。

!??!最后還應(yīng)該注意的是如果在源程序中進(jìn)行配置位設(shè)置,如果使用的軟件版本(比如使用picc18的8.20版本和MPLAB6.30)較低,雖然編譯不會(huì)有問(wèn)題,但可能會(huì)出現(xiàn)配置位設(shè)置混亂,推薦使用picc18的8.35版本和MPLAB7.0以上。安裝HTSOFT的軟件時(shí),也必須保證完全安裝,尤其是一定要安裝MPLAB_toolsuites工具。

阜宁县| 綦江县| 华蓥市| 石狮市| 巴南区| 灵武市| 泰来县| 宁夏| 德兴市| 启东市| 奉新县| 江西省| 页游| 宜兰市| 泽州县| 辛集市| 南和县| 江北区| 务川| 莆田市| 红桥区| 仙游县| 宁南县| 永泰县| 乐清市| 德昌县| 九龙坡区| 长丰县| 安陆市| 普安县| 华蓥市| 澄江县| 泗洪县| 和平县| 塔城市| 潞城市| 朔州市| 海伦市| 迁西县| 余姚市| 温泉县|