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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7795|回復(fù): 4
收起左側(cè)

STM32按鍵控制數(shù)碼管 計數(shù) 翻轉(zhuǎn)的程序源碼

[復(fù)制鏈接]
ID:412827 發(fā)表于 2018-11-7 17:39 | 顯示全部樓層 |閱讀模式
stm32單片機源程序如下:
  1. /*******************************************************************************
  2. --------------------------------------------------------------------------------
  3. * 實 驗 名                 : 使用庫函數(shù)點亮一個LED
  4. * 實驗說明       :
  5. * 連接方式       :
  6. * 注    意                 : LED驅(qū)動文件在led.c內(nèi)
  7. *******************************************************************************/

  8. #include "stm32f10x.h"
  9. #include "led.h"

  10. /*******************************************************************************
  11. * 函 數(shù) 名         : main
  12. * 函數(shù)功能                   : 主函數(shù)
  13. * 輸    入         : 無
  14. * 輸    出         : 無
  15. *******************************************************************************/
  16. unsigned char shumaguan_Tab[] = {
  17.                                                                                                 0xc0, // 顯示 0
  18.                                                                                                 0xf9, // 顯示 1
  19.                                                                                                 0xa4, // 顯示 2
  20.                                                                                                 0xb0, // 顯示 3
  21.                                                                                                 0x99, // 顯示 4
  22.                                                                                                 0x92, // 顯示 5
  23.                                                                                                 0x82, // 顯示 6
  24.                                                                                                 0xf8, // 顯示 7
  25.                         0x80, // 顯示 8
  26.                                                                                                 0x98, // 顯示 9
  27.                                };                     //  數(shù)碼管顯示字符表
  28. //unsigned char shumaguan1_Tab[] = {
  29. //                                                                                                0x98, // 顯示 9
  30. //                                                                                                0x80, // 顯示 8
  31. //                                                                                                0xf8, // 顯示 7
  32. //                                                                                                0x82, // 顯示 6
  33. //                                                                                                0x92, // 顯示 5
  34. //                                                                                                0x99, // 顯示 4
  35. //                                                                                                0xb0, // 顯示 3
  36. //                                                                                                0xa4, // 顯示 2
  37. //                        0xf9, // 顯示 1
  38. //                                                                                                0xc0, // 顯示 0
  39. //                               };      

  40.        
  41. void delay(unsigned int xms)  //    延時xms
  42. {
  43.     unsigned int x,y;
  44.     for(x=xms;x>0;x--)
  45.         for(y=110;y>0;y--);
  46. }


  47.                                                                                                                          
  48. int main()
  49. {
  50. int i1=0,i2=0,a ,cnt=0,i3=0,i4=0,cnt1,b,c=1,d=0,i5=0,i6=0,i7=0,kcnt=0;

  51. // Init               
  52.                 key_Init();    //按鍵初始化
  53.                  BUZ_Init();           //蜂鳴器初始化
  54.                 LED_Init();            //LED初始化

  55.   while(1)
  56.         {
  57.                 {//
  58.     delay(1);
  59.           i1++;
  60.     i2++;
  61.           i3++;
  62.     i4++;
  63.                 i5++;
  64.                 i6++;
  65.                 i7++;
  66.           //TimerBase_TaskA++;
  67.                 }

  68. // Tasks

  69. // Task  每次按下按鍵次數(shù)
  70.                 if(i5>20&& KEY1_DOWN==0 )
  71.                 { i5=0;       
  72.                         // beep = ~beep;
  73.                         delay(5);
  74.                         if(         KEY1_DOWN==0)
  75.                 {       
  76.                        
  77.                        
  78.                         kcnt=kcnt+1;

  79.                 }
  80.        
  81.        
  82.   // Task 判斷按鍵按下的奇偶
  83.                 if( kcnt%2==0 )       
  84.         {i6=0;
  85.                
  86.                 a=1;    //傳遞給數(shù)碼管  使之反向計數(shù)
  87.                 b=1;     //  傳遞給蜂鳴器   使蜂鳴器發(fā)出聲音
  88.                 c=1;     //   將數(shù)碼管正向計數(shù)程序 鎖死
  89.                 cnt1 = cnt ;    //讀取cnt的值   
  90.                 cnt=0;        //清除正向計數(shù)的值
  91.         }
  92.            else
  93.                 { i6=0;
  94.                        
  95.                         a=0;   // 將數(shù)碼管反向計數(shù)程序   鎖死
  96.                         b=0;   //傳遞給蜂鳴器   使蜂鳴器沒有聲音
  97.                          c=0;   //傳遞給數(shù)碼管  使之正向計數(shù)
  98.                         cnt=0;     
  99.                         cnt1=0;    //清除反向計數(shù)的值
  100.                 }
  101.                 while(KEY1_DOWN==0);
  102.         }
  103.                
  104.                
  105.                
  106.     // Task 數(shù)碼管正向計數(shù)                
  107.                 if((i1 > 50000) && (c==0))               
  108.                 {
  109.                         i1=0;
  110.       
  111.                         if(cnt > 9)        // 產(chǎn)生從cnt 0~9循環(huán)
  112.                         {         
  113.                                 cnt =0;
  114.                
  115. //                        a=0;   // 將數(shù)碼管反向計數(shù)程序   鎖死
  116. //                        b=1;   //傳遞給蜂鳴器   使蜂鳴器有聲音
  117.                         }
  118.                                
  119.                         GPIO_Write(GPIOC, shumaguan_Tab[cnt]);
  120.                        
  121.                         cnt++;
  122.                
  123.                 }
  124.                
  125.                

  126. // Task 數(shù)碼管反向計數(shù)       
  127.                 if(i3 > 50000&&a==1)
  128.                 {
  129.                         i3=0;
  130.                                
  131.                 if(cnt1 <0)        // 產(chǎn)生從cnt1 0~9循環(huán)
  132.                         {         
  133. //                       
  134. //                      b=1;     //  傳遞給蜂鳴器   發(fā)出聲音
  135. //                      c=0;     // 開始正向計數(shù)
  136.                                 cnt1=0;
  137.                         }
  138.                                                   
  139.                         GPIO_Write(GPIOC, shumaguan_Tab[cnt1]);

  140.                         cnt1--;         
  141.                         //b=0;
  142.        }
  143.                
  144.      

  145.                          // Task 翻轉(zhuǎn)時蜂鳴器發(fā)出聲音
  146.                 if(i2 > 10 )
  147.                 {i2=0;       
  148.        if(  b==1)
  149.                          {
  150.                                 c=1;
  151.                           a=1;        //反向計數(shù)
  152.                                  d=1;
  153.                         beep = ~beep;// 產(chǎn)生固定頻率
  154.                    }
  155.          
  156.           }
  157.                
  158.                 //清零蜂鳴器
  159.                         if(i7 > 50000&& d==1 )   
  160.                 {       
  161.        i7=0;
  162.                                 b=0;
  163.           }
  164.                
  165.                
  166.                                                                            
  167.                

  168.             
  169.          

  170.     // Task D       
  171.         /*        if(i4 > 10)
  172.                 {i4=0;
  173.                
  174.                        
  175.                                 if(d==1)
  176.                         {
  177.                                 a=0;
  178.                           c=0;
  179.                                   beep = ~beep; // 產(chǎn)生固定頻率
  180.         cnt =0;
  181.                                 d=0;
  182.                   }
  183.                                                 
  184.           }*/
  185. }
  186.        
  187. }
  188.        
  189.        
復(fù)制代碼

所有資料51hei提供下載:
第三次數(shù)碼管 立即反轉(zhuǎn).rar (264.71 KB, 下載次數(shù): 57)


回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2018-11-7 17:42 | 顯示全部樓層
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報

ID:412827 發(fā)表于 2018-11-7 17:47 | 顯示全部樓層
admin 發(fā)表于 2018-11-7 17:42
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣

在哪補全..
回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2018-11-7 17:57 | 顯示全部樓層
回帖框右側(cè)的高級模式可以上圖
回復(fù)

使用道具 舉報

ID:412827 發(fā)表于 2018-11-13 23:06 | 顯示全部樓層
原理圖.doc (335.5 KB, 下載次數(shù): 23) 原理圖.doc (335.5 KB, 下載次數(shù): 9)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩高清成人 | 欧美性区| 九九热视频这里只有精品 | 欧美视频在线看 | 日韩中文字幕第一页 | 在线观看国产视频 | av在线播放国产 | 免费看91 | 久久99精品国产 | 国产成人av在线 | 91久久国产综合久久 | 九九综合 | 久久久久无码国产精品一区 | 国产亚洲精品美女久久久久久久久久 | 一区网站 | 久久久五月天 | 91精品国产综合久久小仙女图片 | julia中文字幕久久一区二区 | 欧美精品一区二区在线观看 | 天天射影院 | 91精品一区二区三区久久久久久 | h视频在线免费 | 亚洲国产精品99久久久久久久久 | 影音先锋成人资源 | 成人免费在线网 | 在线视频一区二区三区 | 久久久久av | 国产精品18久久久 | 日韩久久久久久 | 中文字幕三区 | 久久88| 国产在线中文字幕 | 亚洲国产伊人 | 亚洲成人国产精品 | 日韩欧美国产一区二区三区 | 97久久精品午夜一区二区 | 精品欧美一区二区精品久久久 | 亚洲精品久久区二区三区蜜桃臀 | 国产伦一区二区三区视频 | 午夜激情视频 | 五十女人一级毛片 |