<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的一些開(kāi)發(fā)技巧(一)

          單片機(jī)的一些開(kāi)發(fā)技巧(一)

          作者: 時(shí)間:2012-11-15 來(lái)源:網(wǎng)絡(luò) 收藏

          很多朋友正在學(xué)習(xí)開(kāi)發(fā)技術(shù),但開(kāi)發(fā)中免不了要碰到這樣、那樣的問(wèn)題,有些問(wèn)題可能無(wú)礙大局,但有一些問(wèn)題卻直接影響到產(chǎn)品的成本、體積、性能。這里介紹筆者的幾個(gè)技巧,希望對(duì)大家的工作有幫助。

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

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

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

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

            #include P 晶振頻率12.000MHz《》

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

            void delay(void)//延時(shí)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();}


          上一頁(yè) 1 2 3 4 5 6 下一頁(yè)

          關(guān)鍵詞: 單片機(jī) 開(kāi)發(fā)技巧

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();