久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

應(yīng)廣單片機(jī)(一)

 共同成長(zhǎng)888 2020-06-20
 本帖最后由 aqa 于 2019-8-21 18:40 編輯

新入職了一家公司,負(fù)責(zé)消費(fèi)電子,,接觸到了應(yīng)廣單片機(jī),,現(xiàn)在談?wù)剳?yīng)廣單片機(jī)相關(guān)的問題,后續(xù)還會(huì)更新,,本人也只是初學(xué)者,,發(fā)現(xiàn)網(wǎng)上應(yīng)廣單片機(jī)相關(guān)的資料太少了,一是把自己所知道的發(fā)出來,,幫助像我這樣的初學(xué)者,,方便學(xué)習(xí),二是記錄自己的學(xué)習(xí)歷程,。




先從一些基礎(chǔ)的開始吧,,有關(guān)于IDE的使用我就不多敘述了,資料連接里面有一個(gè)文件介紹了怎么使用,,需要的也可以下載,,目前我所使用的的僅限于應(yīng)廣的單核單片機(jī),所以這邊的都是單核的相關(guān)資料,,應(yīng)該單片機(jī)的開發(fā)語言是MINI-C語言,,屬于匯編和標(biāo)準(zhǔn)C的合體吧,,哈哈哈,具體了解可以去網(wǎng)上查相關(guān)資料,,資料鏈接里面也有一個(gè)開發(fā)語言的介紹,,下面是一個(gè)簡(jiǎn)單的例程,驅(qū)動(dòng)車載MP3數(shù)碼管,,展示部分程序,,需要的可以點(diǎn)擊鏈接下載
  1. /****************************************************************

  2. 函數(shù)名稱:void  Set_User_T16(void)

  3. 函數(shù)功能:定時(shí)器計(jì)數(shù)定時(shí)256us

  4. 函數(shù)參數(shù):無

  5. 函數(shù)返回值:無

  6. 函數(shù)說明:

  7. ****************************************************************/

  8. #define USER_TIMER_CONFIG()     $ T16M IHRC, /4, BIT10

  9. #define ENABLE_TIMER()               SET1 INTEN.2 //$ INTEN T16 //開定時(shí)器中斷

  10. #define DISENABLE_TIMER()          SET0 INTEN.2 //關(guān)定時(shí)器中斷

  11. #define INIT_TIMER_VALUE(n)       STT16 n//裝載定時(shí)器計(jì)數(shù)值

  12. #define CONST_TIMER_VALUE       0

  13. #define EA_INT()                           ENGINT//開總中斷

  14. #define DIS_INT()                          DISGINT//關(guān)總中斷

  15. /**************************************************************/

  16. void  Set_User_T16(void)/*定時(shí)256us進(jìn)一次中斷                   2^10/(16/) = 256us*/

  17. {

  18.         //SET0 T16flag;//reset the flag

  19.         USER_TIMER_CONFIG();

  20.         T16val = CONST_TIMER_VALUE;//256us

  21.         INIT_TIMER_VALUE(T16val);

  22.         INTRQ = 0;//清除INTRQ

  23.         EA_INT();

  24.         ENABLE_TIMER();

  25. }

  26. /************************************************

  27. 中斷服務(wù)函數(shù)

  28. ************************************************/

  29. void        Interrupt (void)

  30. {

  31.         pushaf;

  32.         if (Intrq.T16)/*256us進(jìn)入一次中斷*/

  33.         {        //        T16 Trig

  34.                 //        User can add code

  35.                 Intrq.T16        =        0;

  36.                 T16val = CONST_TIMER_VALUE;

  37.                 INIT_TIMER_VALUE(T16val);

  38.                 LED_Scan1();

  39.                 //LED_scan2();

  40.         }

  41.         popaf;

  42. }

復(fù)制代碼
我目前用的是PMS132B芯片驅(qū)動(dòng)的,上面是一個(gè)16位計(jì)數(shù)器寫的計(jì)數(shù)中斷程序,,計(jì)數(shù)256us進(jìn)入一次中斷
  1. /****************************************************************

  2. 函數(shù)名稱:void LED_Scan(void)

  3. 函數(shù)功能:掃描函數(shù),,掃描要顯示13:14,其他圖標(biāo)都亮

  4. 函數(shù)參數(shù):無

  5. 函數(shù)返回值:無

  6. 函數(shù)說明:沒有用到的引腳設(shè)置為高阻態(tài)

  7.                   if語句里面注釋的pbc位所有LED數(shù)碼管全亮

  8. ****************************************************************/

  9. void LED_Scan1(void)

  10. {

  11.         static u8 cnt = 0;

  12.         SetPortIn();//設(shè)置高阻態(tài),,關(guān)閉上拉

  13.         //SetPortOut();

  14.         $ pbdier = 0;

  15.         switch (cnt)//輪詢一個(gè)引腳為高電平

  16.         {

  17.                 case 0:

  18.                         pbc.0 = 1;//設(shè)置pb0輸出

  19.                         pb.0  = 1;//輸出高電平

  20.                         break;

  21.                 case 1:

  22.                         pbc.1 = 1;

  23.                         pb.1  = 1;

  24.                         break;

  25.                 case 2:

  26.                         pbc.2 = 1;

  27.                         pb.2  = 1;

  28.                         break;

  29.                 case 3:

  30.                         pbc.3 = 1;

  31.                         pb.3 = 1;

  32.                         break;

  33.                 case 4:

  34.                         pbc.4 = 1;

  35.                         pb.4  = 1;

  36.                         break;

  37.                 case 5:

  38.                         pbc.5 = 1;

  39.                         pb.5  = 1;

  40.                         break;

  41.                 case 6:

  42.                         pbc.6 = 1;

  43.                         pb.6  = 1;

  44.                         break;

  45.                 default:

  46.                         break;

  47.         }

  48.         //將發(fā)生變化的引腳所對(duì)應(yīng)要顯示的內(nèi)容更改

  49.         if (PIN1)

  50.         {

  51.                 //pbc = 0x3f;

  52.                 pbc = 0x35;//配置輸出引腳  0:輸入          1:輸出

  53.                 pb  = 0X01;//

  54.         }

  55.         if (PIN2)

  56.         {

  57.                 //pbc = 0x3f;

  58.                 pbc = 0x2e;

  59.                 pb  = 0x02;

  60.         }

  61.         if (PIN3)

  62.         {

  63.                 //pbc = 0x7f;

  64.                 pbc = 0x7c;

  65.                 pb  = 0x04;

  66.         }

  67.         if (PIN4)

  68.         {

  69.                 //pbc = 0x3f;

  70.                 pbc = 0x1b;

  71.                 pb  = 0x08;

  72.         }

  73.         if (PIN5)

  74.         {

  75.                 //pbc = 0x7f;

  76.                 pbc = 0x72;

  77.                 pb  = 0x10;

  78.         }

  79.         if (PIN6)

  80.         {

  81.                 //pbc = 0x7f;

  82.                 pbc = 0x72;

  83.                 pb  = 0x20;

  84.         }

  85.         if (PIN7)

  86.         {

  87.                 //pbc = 0x64;

  88.                 pbc = 0x44;

  89.                 pb  = 0x40;

  90.         }

  91.         cnt++;

  92.         if(cnt >= 7)

  93.         {

  94.                 cnt = 0;

  95.         }

  96.         //cnt = (cnt >= 8)?0:cnt+1;

  97. }

復(fù)制代碼
上面這個(gè)是LED數(shù)碼管動(dòng)態(tài)掃描程序,,與一般的數(shù)碼管有所區(qū)別,一般數(shù)碼管有共陰和共陽之分,,這個(gè)沒有,,動(dòng)態(tài)掃描的原理這里不細(xì)說了,不清楚的去網(wǎng)上查找,,這個(gè)相當(dāng)于是7個(gè)引腳驅(qū)動(dòng)五位七段數(shù)碼管,,相關(guān)引腳定義見下圖
  
          數(shù)碼管引腳定義圖

               數(shù)碼管實(shí)物圖
引腳定義圖是用萬用表測(cè)出來的,測(cè)量方法有很多,,我用的這種方法而以,,陽極和陰極就代表該引腳接在萬用表的正極和負(fù)極,每一段LED組合在一起形成以以為數(shù)碼管,,上面有五位數(shù)碼(第五位是將SD,、||、USB,、 :  等一共七個(gè)圖標(biāo)組成了第五位數(shù)碼管),,舉個(gè)例子方便大家理解,假如現(xiàn)在要點(diǎn)亮第一位數(shù)碼管的第一段(也就是1A),,此時(shí)P1引腳輸入高電平,,P2引腳輸入低電平或者接地,1A就亮了,。
                     

                    以上兩個(gè)圖片是動(dòng)態(tài)掃描程序掃描后所能顯示的兩種效果,圖一在掃描程序里為注釋的部分

                             
                  


                                                所用仿真開發(fā)板型號(hào)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多