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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2008|回復: 1
打印 上一主題 下一主題
收起左側

我的單片機數碼管學習,源碼,項目運行文件,電路圖

[復制鏈接]
跳轉到指定樓層
樓主
          數碼管的學習,本項目涉及到數碼管顯示保留不同位小數的floatl類型的小數以及顯示整數的方法。
          準確的運用的六位數碼管正確顯示方法。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #include <stdio.h>
  4. #include <string.h>

  5. #define u16 unsigned int
  6. #define u8  unsigned char
  7. sbit DX=P2^0;
  8. sbit WX=P2^1;
  9. void delay_ms(u16 x)//毫秒延時函數
  10. {u16 i,j;
  11. for(i=0;i<x;i++)
  12.     for(j=0;j<115;j++);
  13. }
  14. u8 code table[]={
  15. 0x3f,0x06,0x5b,0x4f,
  16. 0x66,0x6d,0x7d,0x07,
  17. 0x7f,0x6f,0x77,0x7c,
  18. 0x39,0x5e,0x79,0x71,0x00}; //共陰數碼管編碼


  19. void print_float_LED2(char str[])
  20. {
  21. u8 temp;
  22. int i,j;
  23. //char str[9] = "11-15-30";
  24. /*switch(x)
  25. {
  26.         case 1:sprintf(str,"%.1f",n);break;
  27.         case 2:sprintf(str,"%.2f",n);break;
  28.         case 3:sprintf(str,"%.3f",n);break;
  29.         case 4:sprintf(str,"%.4f",n);break;
  30.         case 5:sprintf(str,"%.5f",n);break;
  31. } */
  32. for(j=0;j<95;j++)
  33. {
  34. i=strlen(str)-1;          //從最低位開始輸出
  35. temp=0x7f;
  36. while(i>=0)
  37.   {
  38.            P0=0XFF;          /*消除P0的值*/
  39.            WX=1;                 /*位選輸入有效*/
  40.            P0=temp;          /*輸出位選碼*/
  41.            WX=0;                 /*位選鎖存*/
  42.            P0=0;          /*消除P0的值*/
  43.            DX=1;         /*段選輸入有效*/
  44.        if(str[i]=='-') { P0=0x40;}  /*如果為-,則直接顯示-*/
  45.        else   P0=table[str[i]-'0'];                   /*否則,輸出不帶小數點的段碼*/
  46.            DX=0;                         /*段碼鎖存*/
  47.            temp=_cror_(temp,1);
  48.            i--;
  49.            delay_ms(1);
  50.            }
  51.    }
  52. }
  53. void main()
  54. {
  55. char str[8] = "23-59-59";
  56. print_float_LED2(str);
  57. while(1)
  58. {
  59.         str[7] = str[7]+1;

  60.         if(str[7]=='9'+1)
  61.         {
  62.                 str[7]='0';
  63.                 str[6] = str[6]+1;
  64.         }
  65.         if(str[6]=='6'){
  66.                 str[6]='0';
  67.                 str[4] = str[4]+1;
  68.         }
  69.         if(str[4]=='9'+1){
  70.                 str[4]='0';
  71.                 str[3] = str[3]+1;
  72.         }

  73.         if(str[3]=='6')
  74.         {
  75.                 str[3]='0';
  76.                 str[1] = str[1]+1;
  77.         }

  78.         if(str[0]!='2' && str[1]=='5')
  79.         {
  80.                 str[1]='0';
  81.                 str[0] = str[0]+1;
  82.         }

  83.        
  84.         if(str[0]=='2' && str[1]=='4')
  85.         {
  86.                 str[0] = '0';
  87.                 str[1] = '0';
  88.         }

  89.         print_float_LED2(str); //Str[7]的值更新后,再次輸出函數
  90.                  
  91.         }
  92. }
復制代碼

所有資料51hei提供下載:
數碼管學習.7z (37.53 KB, 下載次數: 22)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:398859 發表于 2018-9-17 09:40 | 只看該作者
       大家學習數碼管的顯示可以做參考
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久免费精品 | 欧美精品一区二区三区四区 在线 | 人人玩人人添人人澡欧美 | 中文字幕日韩一区 | 99国产在线 | 91视频中文| 国产午夜精品一区二区三区四区 | 中文字幕不卡一区 | 欧美一区二区三区高清视频 | 国产精品免费观看视频 | 精品www| 中文字幕在线观看一区二区 | 波多野吉衣在线播放 | 中文字幕日韩一区二区 | 中文天堂网 | 亚洲欧美激情精品一区二区 | 国产成人区 | 99久久中文字幕三级久久日本 | av大全在线观看 | 精品不卡 | 久久久久一区二区三区四区 | 免费在线观看一级毛片 | 成人午夜在线 | 欧美视频免费在线 | 中文字幕免费 | 欧美精品一区二区在线观看 | 欧美日韩国产在线 | 久久日韩精品 | 亚洲一区自拍 | 一区二区免费看 | .国产精品成人自产拍在线观看6 | 国产精品中文字幕在线观看 | 亚洲精品一区二区网址 | 一级毛片色一级 | 色中文在线 | 欧美福利视频一区 | 网站国产 | 日本人和亚洲人zjzjhd | 国户精品久久久久久久久久久不卡 | 国产精品资源在线 | 一区二区日韩 |