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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機之三極管控數(shù)碼管源程序+電路-初學(xué)者

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:439613 發(fā)表于 2019-7-27 08:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
程序包含靜態(tài)顯示 和 計數(shù)  消隱問題都在程序中解決(本程序是用共陽數(shù)碼管)一原理圖
1.1數(shù)碼管引腳圖


2.2關(guān)于共陽與共陰的區(qū)別
  //共陽數(shù)碼管 段位全部接正極  段位數(shù)碼管 置零亮
2.3電路圖
程序使用的是共陽數(shù)碼管

二程序
主程序解釋:共陽數(shù)碼管,三極管控制,通過先關(guān)閉數(shù)碼管的位選,為什么要關(guān)閉位選呢?是因為要去消隱,因為數(shù)碼管利用的是余暉效應(yīng) 他們并不是同時顯示的而是一個接著一個顯示的,
例如 你打開一個數(shù)碼管 延時1ms,人眼是看不到的,所以看的時候是同時顯示的。
2.1延時函數(shù)
使用的是0us,防止數(shù)碼管過快

2.2數(shù)碼管程序 圖上有解釋
2.3主程序 利用的是定時器,在后面有程序源碼。

單片機源程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar code ddata[]={             //共陽數(shù)碼管 段位全部接正極  段位數(shù)碼管 置零亮  
  5.                                                 0xc0,//0                                
  6.                                                 0xf9,//1
  7.                                                 0xa4,//2
  8.                                                 0xb0,//3
  9.                                                 0x99,//4
  10.                                                 0x92,//5                  1001 0000
  11.                                                 0x82,//6
  12.                                                 0xf8,//7
  13.                                                 0x80,//8
  14.                                                 0x90,//9
  15.                                                 0x88,//A          10
  16.                                                 0x83,//b          11
  17.                                                 0xc6,//C          12
  18.                                                 0x86,//E        13
  19.                                                 0x9c,//F        14
  20.                                                 0x89,//H        15
  21.                                                 0xc7,//L        16
  22.                                                 0xab,//n        17
  23.                                                 0xe3,//u        18
  24.                                                 0x8c,//P        19
  25.                                                 0xbf,//-        20
  26.                                                 0xa3,//o        21
  27.                                                 0xff,
  28.                                                 0x00} ;
  29. uchar code wdata[]={          //位選 是讓第幾個數(shù)碼管亮 從左到右  
  30.                                                 0xfe,//0
  31.                                                 0xfd,//1
  32.                                                 0xfb,//2
  33.                                                 0xf7,//3                                       
  34.                                         };
  35. int a = 5210,count0;

  36.                                        
  37. void delay1(uint z)  //延時函數(shù)
  38. {
  39.         uint x,y;
  40.         for(x = z;x > 0;x --)
  41.                 for(y = 12;y > 0;y --);

  42. }
  43. void time_ds()  //定時器配置函數(shù)
  44. {
  45.         TMOD = 0x01; //0x89 只能字節(jié) 定時器0 16模式定時器
  46.         TH0 = 0x4b;//50ms
  47.         TL0 = 0xfe;
  48.         TR0 = 1;  //打開定時器
  49. }

  50. void delay(void)   //誤差 0us 數(shù)碼管延時專用
  51. {
  52.         unsigned char a,b,c;
  53.         for(c=1;c>0;c--)
  54.                         for(b=222;b>0;b--)
  55.                                 for(a=5;a>0;a--);
  56. }

  57. void display(int a) //數(shù)碼管顯示函數(shù)
  58. {
  59.            int g,s,b,q;  
  60.                         g = a % 10;    //取走形參的個位十位百位,千位
  61.                         s = a / 10 % 10;
  62.                         b = a / 100 % 10;
  63.                         q = a / 1000 % 10;
  64.         
  65.                         P2 = 0xff;  //關(guān)閉數(shù)碼管的位選 全部  防止產(chǎn)生重影
  66.                         P0 = ddata[g]; //為數(shù)碼管的段位賦值
  67.                         P2 = wdata[0];  // 接通數(shù)碼管的位選
  68.                         delay();  //延遲   延遲不要過大 防止重影
  69.         
  70.                         
  71.                         P2 = 0xff;
  72.                         P0 = ddata[s];
  73.                         P2 = wdata[1];
  74.                         delay();
  75.         

  76.                         P2 = 0xff;
  77.                         P0 = ddata[b];
  78.                         P2 = wdata[2];
  79.                         delay();

  80.                         P2 = 0xff;
  81.                         P0 = ddata[q];
  82.                         P2 = wdata[3];
  83.                         delay();



  84. }
  85. /*
  86.         共陽數(shù)碼管 ,三極管空  通過先關(guān)閉數(shù)碼管的位選
  87. 為什么要先關(guān)閉位選  ,是因為要去“消影”,因為數(shù)碼管利用余暉效應(yīng) 他們并不是同時顯示的而是一個接著一個顯示的  
  88. 例如 你打開一個數(shù)碼管 延時1ms 人眼是看不到的 ,所以人看的時候是同時顯示的 。
  89.         不懂可以看        鎖存器控制 http://www.zg4o1577.cn/bbs/dpj-10971-1.html

  90. */
  91. void main()
  92. {
  93.         time_ds();
  94.         while(1)
  95.         {
  96.                 display(a);  //數(shù)碼管顯示函數(shù)
  97.         //        delay1(); //延遲 496+4 0.5秒
  98.                 if(TF0 ==1) // 溢出 則TF = 0
  99.                 {
  100.                         TF0 = 0;
  101.                         TH0 = (65535 - 46082)/256;        //50ms 兩種書寫方法 一種十六進制 一種這個
  102.                         TL0 = (65535 - 46082)%256;
  103.                         count0++;
  104.                 }
  105.                 if(count0 == 20) //溢出等于0  50*20一秒走一次
  106.                 {
  107.                         count0 = 0;
  108.                         a--;
  109.                 }
  110.                 if(a == 0)   //如果a減到0則 賦初值 5210
  111.                         a = 5210;
  112.         }
  113.         
  114. }
復(fù)制代碼

所有資料51hei提供下載:
數(shù)碼管.zip (45.08 KB, 下載次數(shù): 19)



評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:21104 發(fā)表于 2019-9-11 11:15 | 只看該作者
標(biāo)記參考
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频在线一区 | 九九综合| 国产精彩视频在线观看 | 高清免费在线 | 久久久www成人免费无遮挡大片 | 欧美jizzhd精品欧美巨大免费 | 国产成人jvid在线播放 | 成人一区av偷拍 | 欧美激情va永久在线播放 | 国内激情av片 | 日本黄色大片免费 | 天堂网中文字幕在线观看 | 国产精品国产三级国产aⅴ中文 | 欧美aaaa视频 | 91一区二区在线观看 | 网站黄色在线免费观看 | 久久久久久久久久久国产 | 日韩精品在线观看一区二区三区 | 成人在线免费观看视频 | 久久久久久国产精品免费免费 | 中文字幕国产 | 日韩精品视频在线免费观看 | 久久国产综合 | 黄色毛片免费看 | 亚洲欧美在线观看 | 午夜视频在线观看网站 | 久久久久久久久久爱 | 免费黄色大片 | 美日韩中文字幕 | 国产免费国产 | 国产精品一区二区电影 | 人人擦人人 | 大香网伊人 | 欧美videosex性极品hd | 国产成人久久精品 | 美女拍拍拍网站 | 午夜男人视频 | 欧美日韩精品在线一区 | 日韩在线观看网站 | 国产精品无 | 亚洲成人精品 |