新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機CCS之C語言(#FUSES的用法)

        PIC單片機CCS之C語言(#FUSES的用法)

        作者: 時間:2016-11-17 來源:網絡 收藏
        #FUSES

        語法: #fuse options

        本文引用地址:http://www.104case.com/article/201611/315394.htm

        options要根據設備改變.一系列有效的可選項都要放在每個devices.h文件的頂部,注釋用來參考.PCW能有效編輯修改特殊的設備fuses.PCW下拉菜單VIEW|Valid fuses將會顯示所有的fuses描寫.

        一些公共的可選項如下:

        LP, XT, HS, RC

        WDT, NOWDT

        PROTECT, NOPROTECT

        PUT, NOPUT, (Power Up Timer)

        BROWNOUT, NOBROWNOUT

        目的:這種指示定義要fuses的東西在編程時設定在器件中.這種指示不影響編輯,可是信息放在輸出文件中.如果在Parallax格式中需要fuses,則添加PAR可選項.SWAP有將在Hex文件的不用編程的數據的高和低字節進行交換的功能.對于一些可編程的設備,這將被要求.

        帶有某些fuses一些處理器允許有不同的電平,為了接受這些電平,就將一個值賦給fuse.例如18F452.這個fuse PROTECT=6就將6這個值賦給CONFIG5L,保護代碼塊0和代碼塊3

        例子:

        #fuses HS, NOWDT

        例子文件:ex_sqw.c

        文件: ex_sqw.c如下:

        #if defined(__PCM__) //若使用了PCM編譯器,則defined( __PCM__)返回值為1

        #include <16F877.h> //包含16F877.h頭文件

        #fuses HS,NOWDT,NOPROTECT //HS:高速晶振/諧振器, NOWDT:不使用WDT

        // NOPROTECT:程序存儲器代碼不保護

        #use delay(clock=20000000) //使能內置函數的功能:delay_ms()和delay_us()

        //#USE DELAY()必須在#use rs232()使用之前出現.

        #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

        //使用波特率為9600,

        //發送腳為PIN_C6

        //接收腳為PIN_C7

        //使能內置函數:GETC,PUTC和PRINTF, kbhit();

        #elif defined(__PCB__)

        #include <16c56.h>

        #fuses HS,NOWDT,NOPROTECT,NOLVP

        #use delay(clock=20000000)

        #use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2) // Jumpers: 11 to 17, 12 to 18

        #elif defined(__PCH__)

        #include <18F452.h>

        #fuses HS,NOWDT,NOPROTECT,NOLVP

        #use delay(clock=20000000)

        #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Jumpers: 8 to 11, 7 to 12

        #endif //結束if定義

        void main() {

        printf("Press any key to beginnr");

        getc();

        printf("1 khz signal activatednr");

        while (TRUE) {

        output_high(PIN_B0); //腳(PIN_B0)輸出高電平

        delay_us(500); //延時500us

        output_low(PIN_B0); //腳(PIN_B0)輸出低電平

        delay_us(500); //延時500us

        }

        }

        上面的例子介紹delay_us(), output_high(), output_low()函數的用法



        關鍵詞: PIC單片機CCSFUSE

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 蓝山县| 寿宁县| 巫溪县| 灵台县| 赤城县| 防城港市| 左权县| 沾益县| 铜川市| 宁晋县| 广西| 吐鲁番市| 确山县| 禹城市| 渑池县| 崇左市| 石阡县| 连江县| 辽中县| 林周县| 上犹县| 门源| 称多县| 宿松县| 思茅市| 横峰县| 嵩明县| 兰西县| 宜章县| 通海县| 博客| 辉南县| 进贤县| 伊川县| 罗甸县| 凤庆县| 宜宾县| 沅陵县| 固始县| 沂源县| 南靖县|