找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

使用74HC573鎖存器和138譯碼器共同完成8位數(shù)碼管的動態(tài)顯示 單片機(jī)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

內(nèi)容包含:keil+protues
適合剛接觸單片機(jī)的同學(xué)
有什么單片機(jī)的問題大家也可以留言評論!
本貼保證原創(chuàng)。



單片機(jī)源程序如下:
  1. /*********************************************
  2. 程序功能:使用74H573鎖存器和138譯碼器共同完成8位數(shù)碼管的動態(tài)顯示
  3. 138譯碼器的真值表:
  4.           C B A         數(shù)碼管位
  5.           0 0 0          1        
  6.           0 0 1                 2  
  7.           0 1 0          3
  8.           0 1 1          4
  9.           1 0 0          5
  10.           1 0 1          6
  11.           1 1 0          7
  12.           1 1 1          8
  13.                 程序公開,共同學(xué)習(xí)
  14.                 如有錯誤,敬請糾正
  15. *********************************************/
  16. #include "reg52.h"
  17. #include "intrins.h"

  18. typedef unsigned char uchar;
  19. typedef unsigned int  uint;

  20. sbit LSA = P2^0;     //定義138譯碼器管腳A
  21. sbit LSB = P2^1;         //定義138譯碼器管腳B
  22. sbit LSC = P2^2;         //定義138譯碼器管腳C

  23. uchar code table[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //共陰極數(shù)碼管字段

  24. uchar G,S,bai,Q,W,SW,BW,QW;
  25. long int num = 12345678 ;   

  26. void count();
  27. void display();
  28. void delay(uint z);

  29. void main()
  30. {
  31.         while(1)
  32.         {
  33.                 count();                 //計(jì)算
  34.                 display();                         //顯示
  35.         }
  36. }
  37. void count()                                 //把每一位數(shù)字都單獨(dú)存到一個變量中
  38. {
  39.         G =   num%10;                        
  40.         S =   num/10%10;
  41.         bai = num/100%10;
  42.         Q =   num/1000%10;
  43.         W =   num/10000%10;
  44.         SW =  num/100000%10;
  45.         BW =  num/1000000%10;
  46.         QW =  num/10000000%10;        
  47. }
  48. void display()
  49. {
  50. /*********個位數(shù)碼管*********/
  51.         P0 = 0X00;
  52.         LSA = 1;LSB = 1;LSC = 1;                                
  53.         P0 = table[G];
  54.         delay(5);
  55. /*********十位數(shù)碼管*********/        
  56.         P0 = 0X00;
  57.         LSA = 0;LSB = 1;LSC = 1;
  58.         P0 = table[S];
  59.         delay(5);
  60. /*********百位數(shù)碼管*********/        
  61.         P0 = 0X00;
  62.         LSA = 1;LSB = 0;LSC = 1;
  63.         P0 = table[bai];
  64.         delay(5);
  65. /*********千位數(shù)碼管*********/        
  66.         P0 = 0X00;
  67.         LSA = 0;LSB = 0;LSC = 1;
  68.         P0 = table[Q];
  69.         delay(5);
  70. /*********萬位數(shù)碼管*********/        
  71.         P0 = 0X00;
  72.         LSA = 1;LSB = 1;LSC = 0;
  73.         P0 = table[W];
  74.         delay(5);
  75. /*********十萬位數(shù)碼管*********/        
  76.         P0 = 0X00;
  77.         LSA = 0;LSB = 1;LSC = 0;
  78.         P0 = table[SW];
  79.         delay(5);
  80. /*********百萬位數(shù)碼管*********/        
  81.         P0 = 0X00;
  82.         LSA = 1;LSB = 0;LSC = 0;
  83.         P0 = table[BW];
  84.         delay(5);
  85. /*********千萬位數(shù)碼管*********/        
  86.         P0 = 0X00;
  87.         LSA = 0;LSB = 0;LSC = 0;
  88.         P0 = table[QW];
  89.         delay(5);               
  90. }

  91. void delay(uint z)
  92. {
  93.         uint x,y;
  94.         for(x=0;x<z;x++)
  95.                 for(y=0;y<123;y++);
  96. }
復(fù)制代碼


全部資料51hei下載地址:
DEMO_8SMG_74H573+74LS138.rar (2.02 MB, 下載次數(shù): 56)

評分

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

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:294062 發(fā)表于 2021-5-9 10:52 | 只看該作者
不錯,可以借鑒
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表