久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7751|回復(fù): 18
打印 上一主題 下一主題
收起左側(cè)

MS83F1402單片機PIC兼容的芯片-6腳數(shù)碼管測試程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:136083 發(fā)表于 2021-1-3 18:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在網(wǎng)上找到幾個很便宜很便宜的移動電源板子,啥資料都么有,買來換上單片機折騰一下。先把6腳數(shù)碼管搞定。,壓縮包是這次折騰的資料。


單片機源程序如下:
  1. //                            MS83F1402的充電器方案應(yīng)用
  2. //                                       ----------------   
  3. // VDD            ------------|1(VDD)  (GND)14|---------  GND
  4. //_LEVEL        ------------|2(RA7)    (PA0)13|---------  DBG_CLK    A_ADC  
  5. // _STAT        ------------|3(PA6)    (PA1)12|---------- DBG_DAT    B+_ADC
  6. //_BST           ------------|4(PA4)    (PA2)11|-------------  LL1           
  7. // LL6             ------------|5(PC3)    (PA3)10|-------------  LL2
  8. // LL5             ------------|6(PC2)    (PC0)09|-------------  LL3
  9. // _KEY          ------------|7(PC4)    (PC1)08|-------------  LL4
  10. //                                      ----------------

  11. #include "SYSCFG.h"

  12. //宏定義
  13. #define OSC_16M    0x70
  14. #define OSC_8M      0x60
  15. #define OSC_4M      0x50
  16. #define OSC_2M      0x40
  17. #define OSC_1M      0x30
  18. #define OSC_500K   0x20
  19. #define OSC_250K   0x10
  20. #define OSC_32K     0x00

  21. #define WDT_256K   0x80
  22. #define WDT_32K     0x00


  23. //-----------------------------------//
  24. //GPIO功能

  25. //PA7         PA6         PA5        PA4        PA3       PA2        PA1           PA0       //0-輸出   1-輸入
  26. //_LEVEL    _STAT       \         _BST       LL2        LL1         B+_ADC    A_ADC  //0b11011111    0xdf

  27. //PC7        PC6          PC6        PC4       PC3       PC2        PC1           PC0
  28. //\                \             \        _KEY        LL6        LL5         LL4            LL3      //0b00001111    0x0f

  29. #define  _KEY          PC4     //平時為高電平,低電平觸發(fā),復(fù)用功能為PWM3
  30. #define  _BST          PA4     //
  31. #define  _STAT        PA6     //
  32. #define  _LEVEL       PA7     //充電芯的狀態(tài)指示燈

  33. //6腳數(shù)碼管IO
  34. #define SetPortIn()                { TRISA = 0xdf; PORTA = 0x00; TRISC = 0x0f; PORTC = 0x00;}//高阻態(tài)

  35. #define  LL1  PA2
  36. #define  LL2  PA3
  37. #define  LL3  PC0
  38. #define  LL4  PC1
  39. #define  LL5  PC2
  40. #define  LL6  PC3

  41. //-----------------------------------//
  42. //函數(shù)名稱:DelayUs
  43. //功能:   短延時函數(shù) --16M-2T--大概快1%左右.
  44. //輸入?yún)?shù):Time 延時時間長度 延時時長Time Us
  45. //返回參數(shù):無
  46. void DelayUs(unsigned char Time)
  47. {
  48.         do{
  49.                     NOP();
  50.             --Time;
  51.         }while( Time > 0 );
  52. }                  

  53. //函數(shù)名稱:DelayMs
  54. //功能:    短延時函數(shù)
  55. //輸入?yún)?shù):Time 延時時間長度 延時時長Time ms
  56. //返回參數(shù):無
  57. void DelayMs(unsigned char t)
  58. {
  59.         unsigned char a,b;
  60.         for(a=0;a<t;a++)
  61.         {
  62.                 for(b=0;b<5;b++)
  63.                 {
  64.                          DelayUs(197);         //快1%
  65.             CLRWDT();
  66.                 }
  67.         }
  68. }



  69. //-----------------------------------//

  70. //功能:  單片機上電始化
  71. //函數(shù)名:_INIT
  72. //功能:上電器件初始化
  73. //        OSCCON寄存器    Bit7   >>> LFMOD=0       >>> WDT振蕩器頻率=32KHz
  74. //                            Bit6:4 >>> IRCF[2:0]=101 >>> 內(nèi)部RC頻率=4MHz
  75. //                            Bit0   >>> SCS=1         >>> 系統(tǒng)時鐘選擇為內(nèi)部振蕩器
  76. //        MSCKCON寄存器  bit6   >>>  VREG_OE=0    >>> 禁止穩(wěn)壓輸出
  77. //                            Bit5  >>> T2CKSRC=0  >>> Timer2時鐘源為系統(tǒng)時鐘
  78. //                            Bit4  >>> SLVREN=0   >>> 關(guān)閉LVR
  79. //        INTCON寄存器      設(shè)為0,禁止所有中斷
  80. // CMCON0寄存器0B00000111; 關(guān)閉比較器,CxIN為數(shù)字IO口
  81. // ANSEL寄存器        設(shè)為0,關(guān)閉中斷引腳模擬輸入功能,也就是把相應(yīng)位設(shè)為0,置為數(shù)字IO
  82. // WDTCON寄存器0B00010001;看門狗定時器預(yù)分配比  datasheet 第39頁
  83. //                            7:5  N/A
  84. //                            4:1  WDTPS[3:0]   1000 1:8192
  85. //                                    0  SWDTEN  軟件打開/關(guān)閉看門狗定時器:
  86. //                                    1 =  打開
  87. //                                    0 =  關(guān)閉
  88. #define _INIT()\
  89. {\
  90.         OSCCON = WDT_32K|OSC_16M|0x00;\
  91.         MSCKCON = 0B00000000;\
  92.         INTCON = 0B00000000;\
  93.     CMCON0 = 0B00000111;\
  94.     ANSEL = 0B00000000;\
  95.    }

  96. //功能:端口初始化
  97. //MS83F的IO口初始化可分為:
  98. //1.數(shù)字輸出
  99. //2.數(shù)字輸入
  100. //3.模擬輸出
  101. //4.模擬輸入
  102. //相關(guān)寄存器有:
  103. //1.CMCON0
  104. //2.ANSEL
  105. //3.TRISA和TIRSC
  106. //4.PORTA和PORTC
  107. //5.WPUA、OPTION和WPUC(OPTION的BIT7為PORTA口內(nèi)部上拉總閘)
  108. //6.WPD
  109. //需要特別注意的是:CMOCN0上電模式是0,也就是對應(yīng)的IO口為模擬口
  110. //ANSEL上電復(fù)位默認為0xFF,也就是所有AD口都默認為模擬口
  111. //這兩個寄存器一般是要初始化的,尤其是需要把IO口設(shè)置為數(shù)字口
  112. //因此程序中有CMCON0=0x07和ANSEL=0 這點很多人會忽略到
  113. void  GPIO_INIT(void)
  114. {

  115.     CMCON0 |= 0B00000111;              //關(guān)閉比較器,CxIN為數(shù)字IO口
  116.     ANSEL |= 0B00000000;            //所有IO口都為數(shù)字IO
  117.    
  118.         
  119.         TRISA = 0B11011111;       //PA輸入輸出 0-輸出 1-輸入  
  120.     PORTA = 0B00000000;        
  121.         WPUA = 0B00000000;       //PA端口上拉控制 1-開上拉 0-關(guān)上拉
  122.                                               //PA0,PA1模擬輸入  BATT_ADC
  123.                                               //PA2  LL1
  124.                                               //PA3  LL2
  125.                                               //PA4  _BST
  126.                                               //PA5在芯片內(nèi)部
  127.                                               //PA6  _STAT
  128.                                               //PA7  _LEVEL                                 
  129.         
  130.         TRISC = 0B00001111;                 //PC輸入輸出 0-輸出 1-輸入
  131.     PORTC = 0B00000000;
  132.     WPUC = 0B00010000;      //PC端口上拉控制 1-開上拉 0-關(guān)上拉
  133.      
  134.                                              //PC0  LL3
  135.                                              //PC1  LL4
  136.                                              //PC2  LL5
  137.                                              //PC3  LL6
  138.                                              //PC4  KEY
  139.                                              //SOP14封裝無PC5 PC6 PC7引腳

  140.         OPTION = 0B00000000;         //Bit3=1 WDT MODE,PS=000=1:1 WDT RATE
  141.                                                                                   //Bit7(PAPU)=0 ENABLED PULL UP PA
  142.                                              
  143. //注意,各個引腳要有確定的狀態(tài)

  144. _KEY = 1;       //  PC4      //平時為高電平,低電平觸發(fā),復(fù)用功能為PWM3
  145. _BST = 0;       //  PA4     
  146. _STAT = 0;     //  PA6      //休眠的時候這里要設(shè)置為1
  147. _LEVEL = 0;    //  PA7      //充電狀態(tài)指示燈
  148.                               
  149. }

  150. //=========================================//

  151. //函數(shù)名:  main
  152. //功能:  主函數(shù)
  153. void main()
  154. {
  155.     _INIT();//系統(tǒng)初始化
  156.      CLRWDT();     
  157.          GPIO_INIT(); //GPIO初始化

  158.         while( 1 )
  159.         {   
  160.         
  161.         SetPortIn();
  162.         TRISA &= ~( 1 << 2); //將PA2設(shè)為輸出 LL1
  163.         TRISA &= ~( 1 << 3); //將PA3設(shè)為輸出 LL2
  164.         LL1 = 1;  //1A
  165.         LL2 = 0;  
  166.         DelayUs(500);
  167.         LL1 = 0;
  168.         LL2 = 1; //2A
  169.         DelayUs(500);
  170.         
  171.         SetPortIn();
  172.         TRISA &= ~( 1 << 2); //將PA2 設(shè)為輸出  LL1
  173.         TRISC &= ~( 1<< 0);  //將PC0 設(shè)為輸出  LL3
  174.         LL1 = 1;
  175.         LL3 = 0;  //1B
  176.         DelayUs(500);
  177.         LL1 = 0;
  178.         LL3 = 1; //2B
  179.         DelayUs(500);

  180.         SetPortIn();
  181.         TRISA &= ~( 1 << 2); //將PA2 設(shè)為輸出  LL1
  182.         TRISC &= ~( 1<< 1);  //將PC1 設(shè)為輸出  LL4
  183.         LL1 = 1;
  184.         LL4 = 0;  //1C
  185.         DelayUs(500);
  186.         LL1 = 0;
  187.         LL4 = 1; //2C
  188.         DelayUs(500);
  189.         
  190.         SetPortIn();
  191.         TRISA &= ~( 1 << 2); //將PA2 設(shè)為輸出  LL1
  192.         TRISC &= ~( 1<< 2);  //將PC2 設(shè)為輸出  LL5
  193.         LL1 = 1;
  194.         LL5 = 0;  //1D
  195.         DelayUs(500);
  196.         LL1 = 0;
  197.         LL5 = 1; //2D
  198.         DelayUs(500);
  199.         
  200.         SetPortIn();
  201.         TRISA &= ~( 1 << 2); //將PA2 設(shè)為輸出  LL1
  202.         TRISC &= ~( 1<< 3);  //將PC3 設(shè)為輸出  LL6
  203.         LL1 = 1;
  204.         LL6 = 0;  //1E
  205.         DelayUs(500);
  206.         LL1 = 0;
  207.         LL6 = 1; //2E
  208.         DelayUs(500);
  209.         
  210. //----------------------------------------------------------//
  211.         SetPortIn();
  212.         TRISA &= ~( 1 << 3); //將PA3設(shè)為輸出 LL2
  213.         TRISC &= ~( 1<< 0);  //將PC0 設(shè)為輸出  LL3
  214.         LL2 = 1;
  215.         LL3 = 0;  //??
  216.         DelayUs(500);
  217.         LL2 = 0;
  218.         LL3 = 1; //2F
  219.         DelayUs(500);

  220.         SetPortIn();
  221.         TRISA &= ~( 1 << 3); //將PA3設(shè)為輸出 LL2
  222.         TRISC &= ~( 1<< 1);  //將PC1 設(shè)為輸出  LL4
  223.         LL2 = 1;
  224.         LL4 = 0;  //OUT
  225.         DelayUs(500);
  226.         LL2 = 0;
  227.         LL4 = 1; //2G
  228.         DelayUs(500);
  229.         
  230.         SetPortIn();
  231.         TRISA &= ~( 1 << 3); //將PA3設(shè)為輸出 LL2
  232.         TRISC &= ~( 1<< 2);  //將PC2 設(shè)為輸出  LL5
  233.         LL2 = 1;
  234.         LL5 = 0;  //5.0V 1.0A
  235.         DelayUs(500);
  236.         LL2 = 0;
  237.         LL5 = 1; //1F
  238.         DelayUs(500);
  239.         
  240.         SetPortIn();
  241.         TRISA &= ~( 1 << 3); //將PA3設(shè)為輸出 LL2
  242.         TRISC &= ~( 1<< 3);  //將PC3 設(shè)為輸出  LL6
  243.         LL2 = 1;
  244.         LL6 = 0;  //??
  245.         DelayUs(500);
  246.         LL2 = 0;
  247.         LL6 = 1; //1G
  248.         DelayUs(500);
  249.         
  250. //----------------------------------------------------------//
  251.         SetPortIn();
  252.         TRISC &= ~( 1<< 0);  //將PC0 設(shè)為輸出  LL3
  253.         TRISC &= ~( 1<< 1);  //將PC1 設(shè)為輸出  LL4
  254.         LL3 = 1;
  255.         LL4 = 0;  //5.0V 2.0A
  256.         DelayUs(500);
  257.         LL3 = 0;
  258.         LL4 = 1; //3B
  259.         DelayUs(500);
  260.         
  261.         SetPortIn();
  262.         TRISC &= ~( 1<< 0);  //將PC0 設(shè)為輸出  LL3
  263.         TRISC &= ~( 1<< 2);  //將PC2 設(shè)為輸出  LL5
  264.         LL3 = 1;
  265.         LL5 = 0;  //IN
  266.         DelayUs(500);
  267.         LL3 = 0;
  268.         LL5 = 1; //3C
  269.         DelayUs(500);
  270.         
  271.         SetPortIn();
  272.         TRISC &= ~( 1<< 0);  //將PC0 設(shè)為輸出  LL3
  273.         TRISC &= ~( 1<< 3);  //將PC3 設(shè)為輸出  LL6
  274.         LL3 = 1;
  275.         LL6 = 0;  //??
  276.         DelayUs(500);
  277.         LL3 = 0;
  278.         LL6 = 1; //%
  279.         DelayUs(500);
  280.             
  281. //----------------------------------------------------------//

  282.         SetPortIn();
  283.         TRISC &= ~( 1<< 1);  //將PC1 設(shè)為輸出  LL4
  284.         TRISC &= ~( 1<< 2);  //將PC2 設(shè)為輸出  LL5
  285.         LL4 = 1;
  286.         LL5 = 0;  //??
  287.         DelayUs(500);
  288.         LL4 = 0;
  289.         LL5 = 1; //??
  290.         DelayUs(500);
  291.         
  292.         SetPortIn();
  293.         TRISC &= ~( 1<< 1);  //將PC1 設(shè)為輸出  LL4
  294.         TRISC &= ~( 1<< 3);  //將PC3 設(shè)為輸出  LL6
  295.         LL4 = 1;
  296.         LL6 = 0;  //??
  297.         DelayUs(500);
  298.         LL4 = 0;
  299.         LL6 = 1; //??
  300.         DelayUs(500);
  301.         
  302. //----------------------------------------------------------//
  303.         SetPortIn();
  304.         TRISC &= ~( 1<< 2);  //將PC2 設(shè)為輸出  LL5
  305.         TRISC &= ~( 1<< 3);  //將PC3 設(shè)為輸出  LL6
  306.         LL5 = 1;
  307.         LL6 = 0;  //??
  308.         DelayUs(500);
  309.         LL5 = 0;
  310.         LL6 = 1; //??
  311.         DelayUs(500);

  312.     }

  313. }
  314.         
復(fù)制代碼

以上資料51hei提供下載:
6腳數(shù)碼管測試.zip (355.97 KB, 下載次數(shù): 49)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:136083 發(fā)表于 2021-1-8 01:04 | 只看該作者
今天修改了LED的測試,可以動態(tài)顯示199了,附件是源碼。

_LED_T.zip

1.86 KB, 下載次數(shù): 35, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:136083 發(fā)表于 2021-1-8 01:07 | 只看該作者
  1. 今天修改了LED的顯示,可以動態(tài)顯示0-199了,源碼如下:

  2. #include "SYSCFG.h"
  3. //宏定義
  4. #define OSC_16M    0x70
  5. #define OSC_8M      0x60
  6. #define OSC_4M      0x50
  7. #define OSC_2M      0x40
  8. #define OSC_1M      0x30
  9. #define OSC_500K   0x20
  10. #define OSC_250K   0x10
  11. #define OSC_32K     0x00

  12. #define WDT_256K   0x80
  13. #define WDT_32K     0x00
  14. /************************************************************************************/

  15. #define uchar unsigned char
  16. #define uint unsigned int

  17. uint TIME_SS = 000;
  18. unsigned int TC = 0;
  19. unsigned int x = 100; //延時時間

  20. uchar _DELAY = 0;

  21. void delay ( uint a )//定時器延時
  22. {
  23.     while ( a != 0 )
  24.     {
  25.           while( 7 == _DELAY );
  26.       _DELAY = 0;       
  27.       a--;       
  28.     }                    
  29. }


  30. #define _INIT()\
  31. {\
  32.         OSCCON = WDT_32K|OSC_16M|0x00;\
  33.         MSCKCON = 0B00000000;\
  34.         INTCON = 0B00000000;\
  35.     CMCON0 = 0B00000111;\
  36.     ANSEL = 0B00000000;\
  37.    }  
  38.    
  39. //6腳數(shù)碼管IO定義

  40. #define SetPortIn()                { TRISA |= 0xdf; PORTA |= 0x00; TRISC |= 0x0f; PORTC |= 0x00;}//高阻態(tài)

  41. #define  LL1  PA2
  42. #define  LL2  PA3
  43. #define  LL3  PC0
  44. #define  LL4  PC1
  45. #define  LL5  PC2
  46. #define  LL6  PC3


  47. #define _1A()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISA &= ~( 1 << 3 );  LL1 = 1; LL2 = 0; delay(x); } //1A
  48. #define _1B()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 0 );  LL1 = 1; LL3 = 0; delay(x); } //1B
  49. #define _1C()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 1 );  LL1 = 1; LL4 = 0; delay(x); } //1C
  50. #define _1D()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 2 );  LL1 = 1; LL5 = 0; delay(x); } //1D
  51. #define _1E()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 3 );  LL1 = 1; LL6 = 0; delay(x); } //1E
  52. #define _1F()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 2 );  LL2 = 0; LL5 = 1; delay(x); } //1F
  53. #define _1G()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 3 );  LL2 = 0; LL6 = 1; delay(x); } //1G

  54. #define _2A()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISA &= ~( 1 << 3 );  LL1 = 0; LL2 = 1; delay(x); } //2A
  55. #define _2B()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 0 );  LL1 = 0; LL3 = 1; delay(x); } //2B
  56. #define _2C()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 1 );  LL1 = 0; LL4 = 1; delay(x); } //2C
  57. #define _2D()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 2 );  LL1 = 0; LL5 = 1; delay(x); } //2D
  58. #define _2E()  { SetPortIn(); TRISA &= ~( 1 << 2 ); TRISC &= ~( 1 << 3 );  LL1 = 0; LL6 = 1; delay(x); } //2E
  59. #define _2F()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 0 );  LL2 = 0; LL3 = 1; delay(x); } //2F
  60. #define _2G()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 1 );  LL2 = 0; LL4 = 1; delay(x); } //2G

  61. #define _3B()  { SetPortIn(); TRISC &= ~( 1 << 0 ); TRISC &= ~( 1 << 1 );  LL3 = 0; LL4 = 1; delay(x); } //3B
  62. #define _3C()  { SetPortIn(); TRISC &= ~( 1 << 0 ); TRISC &= ~( 1 << 2 );  LL3 = 0; LL5 = 1; delay(x); } //3C

  63. #define _IN()     { SetPortIn(); TRISC &= ~( 1 << 0 ); TRISC &= ~( 1 << 2 );  LL3 = 1; LL5 = 0; delay(x*2); } //IN
  64. #define _OUT()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 1 );  LL2 = 1; LL4 = 0; delay(x*2); } //OUT
  65. #define _AA()     { SetPortIn(); TRISC &= ~( 1 << 0 ); TRISC &= ~( 1 << 3 );  LL3 = 0; LL6 = 1; delay(x*2); } //%
  66. #define _VA1()  { SetPortIn(); TRISA &= ~( 1 << 3 ); TRISC &= ~( 1 << 2 );  LL2 = 1; LL5 = 0; delay(x*3); } //5.0V 1.0A
  67. #define _VA2()  { SetPortIn(); TRISC &= ~( 1 << 0 ); TRISC &= ~( 1 << 1 );  LL3 = 1; LL4 = 0; delay(x*3); } //5.0V 2.0A


  68. //================================//
  69. void DG1(int a)
  70. {
  71. switch(a)
  72.    {
  73.      case 0: { _1A(); _1B(); _1C(); _1D(); _1E(); _1F();  break; }
  74.      case 1: { _1B(); _1C(); break;}
  75.      case 2: { _1A(); _1B(); _1D(); _1E();  _1G(); break; }              
  76.      case 3: { _1A(); _1B(); _1C(); _1D();  _1G(); break; }
  77.      case 4: { _1B(); _1C(); _1F(); _1G(); break; }
  78.      case 5: { _1A(); _1C(); _1D(); _1F(); _1G(); break; }
  79.      case 6: { _1A(); _1C(); _1D(); _1E(); _1F(); _1G(); break; }
  80.      case 7: { _1A(); _1B(); _1C(); break;  }
  81.      case 8: { _1A(); _1B(); _1C(); _1D(); _1E(); _1F(); _1G(); break; }
  82.      case 9: { _1A(); _1B(); _1C(); _1D(); _1F(); _1G(); break;}
  83.      default: break;
  84.    }
  85. }

  86. void DG2(int a)
  87. {
  88. switch(a)
  89.    {
  90.      case 0: { _2A(); _2B(); _2C(); _2D(); _2E(); _2F();  break; }
  91.      case 1: { _2B(); _2C(); break;}
  92.      case 2: { _2A(); _2B(); _2D(); _2E(); _2G(); break; }              
  93.      case 3: { _2A(); _2B(); _2C(); _2D(); _2G(); break; }
  94.      case 4: { _2B(); _2C(); _2F(); _2G(); break; }
  95.      case 5: { _2A(); _2C(); _2D(); _2F(); _2G(); break; }
  96.      case 6: { _2A(); _2C(); _2D(); _2E(); _2F(); _2G(); break; }
  97.      case 7: { _2A(); _2B(); _2C(); break;  }
  98.      case 8: { _2A(); _2B(); _2C(); _2D(); _2E(); _2F(); _2G(); break; }
  99.      case 9: { _2A(); _2B(); _2C(); _2D(); _2F(); _2G(); break; }
  100.      default: break;
  101.    }
  102. }
  103. void DG3(int a)
  104. {
  105. switch(a)
  106.    {
  107.      case 1: { _3B(); _3C(); break; }
  108.      default: break;
  109.   
  110.    }
  111. }


  112. //========================================
  113. //函數(shù)名:TIMER0_INIT
  114. //功能:Timer0初始化
  115. //========================================
  116. void TIMER0_INIT(void)
  117. {
  118.         OPTION = 0B00000111;       
  119.   T0IF = 0;
  120.   TMR0 = 6;                     
  121. }

  122. //========================================
  123. //函數(shù)名:ENABLE_INTERRUPT
  124. //功能:開啟所需中斷
  125. //========================================
  126. void ENABLE_INTERRUPT(void)
  127. {
  128.         T0IE = 1;                       //使能TIMER0中斷
  129.         GIE = 1;                        //開啟總中斷
  130. }



  131. void main (void) //主程序
  132. {
  133.     _INIT();
  134.    
  135.         TRISA = 0B11011111;       //PA輸入輸出 0-輸出 1-輸入  
  136.     PORTA = 0B00000000;       
  137.         WPUA = 0B00000000;       //PA端口上拉控制 1-開上拉 0-關(guān)上拉
  138.                                               //PA0,PA1模擬輸入  BATT_ADC
  139.                                               //PA2  LL1
  140.                                               //PA3  LL2
  141.                                               //PA4  _BST
  142.                                               //PA5在芯片內(nèi)部
  143.                                               //PA6  _STAT
  144.                                               //PA7  _LEVEL                                 
  145.        
  146.         TRISC = 0B00001111;                 //PC輸入輸出 0-輸出 1-輸入
  147.     PORTC = 0B00000000;
  148.     WPUC = 0B00010000;      //PC端口上拉控制 1-開上拉 0-關(guān)上拉
  149.      
  150.                                              //PC0  LL3
  151.                                              //PC1  LL4
  152.                                              //PC2  LL5
  153.                                              //PC3  LL6
  154.                                              //PC4  KEY
  155.                                              //SOP14封裝無PC5 PC6 PC7引腳

  156.         OPTION = 0B00000000;         //Bit3=1 WDT MODE,PS=000=1:1 WDT RATE
  157.                                                                                   //Bit7(PAPU)=0 ENABLED PULL UP PA
  158.                                              
  159.     TIMER0_INIT();
  160.     ENABLE_INTERRUPT();
  161.         while (1)
  162.     {
  163.         _IN();
  164.         _OUT();
  165.         _AA();
  166.         _VA1();
  167.         _VA2();
  168.         DG3(TIME_SS/100);
  169.         DG2(TIME_SS/10%10);
  170.         DG1(TIME_SS%10);
  171.     }
  172. }       


  173. //========================================
  174. //函數(shù)名:interrupt ISR
  175. //功能:中斷服務(wù)函數(shù)
  176. //========================================
  177. void interrupt ISR(void)
  178. {
  179.         if(T0IE&&T0IF)
  180.         {

  181.     _DELAY ++;
  182.                 TC ++;                  
  183.          if( TC > 99 )
  184.                         {               
  185.                TC = 0;              
  186.                        TIME_SS++;           
  187.                if( TIME_SS > 199 )
  188.                {   
  189.                    TIME_SS = 0;         
  190.                                 }  
  191.                         }  

  192.                 T0IF = 0; //清溢出標志
  193.                 TMR0 = 6;//重裝定時初值
  194.             

  195.         }
  196. }

復(fù)制代碼
回復(fù)

使用道具 舉報

地板
ID:71535 發(fā)表于 2021-1-13 08:24 | 只看該作者
支持樓主不斷地探索新用法。手邊也收了幾個沒資料的板子,跟風(fēng)學(xué)習(xí)學(xué)習(xí),堅持到底。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

5#
ID:285526 發(fā)表于 2021-3-24 04:30 | 只看該作者
我來自巴基斯坦,請幫助我,
我想用寫入的PIC16F676的固件來燒制MS83F1402。
通過提供用MS83F1402或MS83F1602編寫的伏安固件可以提供一些幫助。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:285526 發(fā)表于 2021-3-25 14:00 | 只看該作者
請看所附圖片
有人幫助使用LM358在單個MCU MS83F1602上生產(chǎn)伏安表

回復(fù)

使用道具 舉報

7#
ID:285526 發(fā)表于 2021-3-25 14:02 | 只看該作者
我可以通過提供電路圖或PCB來幫助您嗎
  6腳數(shù)碼管測試.zip
回復(fù)

使用道具 舉報

8#
ID:285526 發(fā)表于 2021-3-25 15:46 | 只看該作者
有誰能給我這個電路的頂部和底部清晰的圖片嗎
或者
電路原理圖
我想為所有論壇成員搭建PCB

作者出色的工作,可以從www點origin-gd點com  獲得有關(guān)如何使用廉價MCU的知識
在我以前的文章中,我提供了MS83xxxx MCU的必要數(shù)據(jù)。

感謝作者。
回復(fù)

使用道具 舉報

9#
ID:285526 發(fā)表于 2021-3-26 03:02 | 只看該作者
多虧了其他。

我正在介紹Volt_Ampere PCB設(shè)計。
請幫助任何人制作固件MS83F1602。 SOIC16。
我將送他/他一件皮夾克作為禮物。
回復(fù)

使用道具 舉報

10#
ID:285526 發(fā)表于 2021-3-29 10:14 | 只看該作者
http://www.zg4o1577.cn/bbs/dpj-200954-1.html
友人
我需要您為其制作固件的該硬件的電路圖。
管理員:-請建議作者共享PCB圖片或硬件電路圖。
回復(fù)

使用道具 舉報

11#
ID:136083 發(fā)表于 2021-9-20 09:39 | 只看該作者
umer94 發(fā)表于 2021-3-29 10:14
http://www.zg4o1577.cn/bbs/dpj-200954-1.html
友人
我需要您為其制作固件的該硬件的電路圖。

假期后上班了,我一直沒有時間畫這個的硬件電路圖。感謝您的支持了!
回復(fù)

使用道具 舉報

12#
ID:805324 發(fā)表于 2021-10-22 11:43 | 只看該作者
樓主的LED掃描浪費了很多程序啊,置輸入可以調(diào)用一次就可以了,后面的輸出也是,浪費了很多重復(fù)的程序空間
回復(fù)

使用道具 舉報

13#
ID:71535 發(fā)表于 2021-10-22 21:00 | 只看該作者
micle.zhou 發(fā)表于 2021-10-22 11:43
樓主的LED掃描浪費了很多程序啊,置輸入可以調(diào)用一次就可以了,后面的輸出也是,浪費了很多重復(fù)的程序空間

期待高手的分享指點迷津
回復(fù)

使用道具 舉報

14#
ID:285526 發(fā)表于 2022-2-28 03:35 | 只看該作者
http://www.zg4o1577.cn/bbs/dpj-200954-1.html

請作者您能否分享此硬件的清晰圖片。
要么
共享此硬件的型號及其使用位置。

我將為此制作它的圖表和pcb,并分享給論壇成員
回復(fù)

使用道具 舉報

15#
ID:136083 發(fā)表于 2022-3-1 22:59 | 只看該作者
本帖最后由 desig 于 2022-3-2 22:01 編輯

感謝各位支持,附件是配套的硬件資料

z12_1_3_貼片圖.pdf

70.18 KB, 下載次數(shù): 9, 下載積分: 黑幣 -5

z12_1_3_原理圖.pdf

225.83 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5

z12_1_3_pcbdoc.zip

363.38 KB, 下載次數(shù): 11, 下載積分: 黑幣 -5

z12_1_3_原理圖.zip

10.94 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

16#
ID:136083 發(fā)表于 2022-3-2 22:03 | 只看該作者
umer94 發(fā)表于 2021-3-25 15:46
有誰能給我這個電路的頂部和底部清晰的圖片嗎
或者
電路原理圖

我已經(jīng)發(fā)出硬件資料在本帖的回復(fù)樓層中,如有需要,請收下。
回復(fù)

使用道具 舉報

17#
ID:136083 發(fā)表于 2022-3-2 22:05 | 只看該作者
umer94 發(fā)表于 2022-2-28 03:35
http://www.zg4o1577.cn/bbs/dpj-200954-1.html

請作者您能否分享此硬件的清晰圖片。

上班后一直沒時間上論壇,現(xiàn)已發(fā)布相關(guān)的硬件資源,在本帖回復(fù)樓層中,您可以參考。
回復(fù)

使用道具 舉報

18#
ID:285526 發(fā)表于 2022-11-15 09:01 | 只看該作者
非常感謝您的分享。
我正在遭受covid 19,
今天看了你的分享,
我希望它會幫助我。
回復(fù)

使用道具 舉報

19#
ID:285526 發(fā)表于 2023-1-3 03:35 | 只看該作者
朋友,
干得好,
你能在這個 MS83f1602 芯片上做伏安表嗎,或者如果你有任何伏安項目,請在這里分享。
如果你需要我的幫助來制作這個項目的 pcb,我會提供我自己。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人性视频免费网站 | 最新日韩精品 | 国产精品不卡一区 | 久久久亚洲 | 国产精品久久99 | 成人av片在线观看 | 国产亚洲一区二区在线观看 | 亚洲一区二区网站 | 精品国产乱码久久久久久1区2区 | 日日夜夜av | 国产高清一区二区三区 | 精品日韩一区二区 | 日韩精品一区二区三区 | 成年人在线视频 | 国产欧美精品一区二区三区 | 国产精品久久久久久久久久免费 | 可以在线看的黄色网址 | 网络毛片 | 国产一区二区三区四区hd | 欧美一二三四成人免费视频 | 国产精品久久av | 久草a√ | 成人免费视频网站在线看 | 黑人精品欧美一区二区蜜桃 | 欧美在线a| 精品欧美一区二区三区久久久 | a级免费观看视频 | 麻豆久久久久久 | 国产精品1区 | 国产69精品久久久久777 | 日韩在线免费视频 | 日韩欧美一区二区三区四区 | 自拍偷拍中文字幕 | 色视频欧美 | 欧美日韩精品一区二区三区视频 | 日韩欧美视频免费在线观看 | 成年网站在线观看 | 91久久国产综合久久91精品网站 | 国产成人午夜精品影院游乐网 | 午夜网| 波多野结衣先锋影音 |