色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機開發(fā)中的一些實用技巧(上)

          單片機開發(fā)中的一些實用技巧(上)

          作者: 時間:2012-02-06 來源:網絡 收藏

           很多朋友正在學習技術,但中免不了要碰到這樣、那樣的問題,有些問題可能無礙大局,但有問題卻直接影響到產品的成本、體積、性能。這里介紹筆者的幾個技巧,希望對大家的工作有幫助。

          本文引用地址:http://cafeforensic.com/article/172182.htm

            一.C語言中嵌入?yún)R編語言

            中,通常我們使用C語言編寫主程序,這樣可以充分借助C語言工具提供的運算庫函數(shù)及強大的數(shù)據(jù)處理能力。但C語言的可控性不及匯編語言,在有些對時序要求嚴格的處理上,我們還需用靈活性更強的匯編語言來編寫。上海AVR培訓這樣就產生了C語言和匯編語言混合編程的問題,一般分成三種方式:1.匯編語言調用C語言函數(shù);2. C語言調用匯編語言;3. C語言中嵌入?yún)R編語言。這里我們主要介紹第3種,即C語言中嵌入?yún)R編語言。

            下面的一段程序是主程序調用精確的205μS延時子程序并使P1.0交替輸出高、低電平的方波。

            /*------------程序名test.c------------*/

            #include P 晶振頻率12.000MHz>

            /****************/

            void delay(void)//延時205μS

            {

            #pragma asm

            MOV R0,#100

            LOOP:

            DJNZ R0,LOOP

            #pragma endasm

            }

            /***************/

            void main (void)//主函數(shù),其功能使P1.0交替輸出高、低電平的方波

            {

            while(1)

            {P1_0=!P1_0;

            delay();}

            }

            具體實現(xiàn)過程為:

            1.先用匯編語言編制一段延時程序,在keil開發(fā)環(huán)境中編譯,然后進行軟件仿真,晶振頻率的設置應和你的要求相符。仿真時注意觀察左邊寄存器窗口內的時間顯示,調整延時程序的參數(shù)可得到我們需要的精確延時。

            2.用C51編寫主程序及延時子程序的外殼(等待嵌入?yún)R編語言),假定此程序名稱為test.c。

            3.將第1步所得的匯編延時子程序放入C51編寫的延時子程序外殼中。注意在開始及結束時分別加上#pragma asm、#pragma endasm語句,這種方法是通過asm與endasm告訴C51編譯器,中間行不用編譯為匯編行。

            4.按照Keil的使用方法,建立工程文件并添加源程序。

            5.點擊含有匯編程序的C源程序后再右擊,在彈出的下拉菜單中選中Options for File ‘test.c’(圖1),這時出現(xiàn)圖2所示的界面,勾選Generate Assembler SRC File(生成匯編SRC文件)及Assembler SRC File(封裝匯編文件)使其有效。

            6. 根據(jù)項目的編譯模式加載封裝庫文件,通常在Small模式時為C51S.LIB(該文件在C:KeilC51LibC51S.LIB),具體見圖3。

            7.點擊Rebuild target(重建所有目標文件)即可得到編譯結果(圖4)。

            

            圖1

            

            圖2

            

            圖3

            

            圖4


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉