找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)和74LS47簡單的數(shù)碼管靜態(tài)顯示程序+Proteus仿真

[復(fù)制鏈接]
ID:391355 發(fā)表于 2020-4-15 20:54 | 顯示全部樓層 |閱讀模式
基于51單片機(jī)和74LS47簡單的數(shù)碼管靜態(tài)顯示,用51單片機(jī)連接四個(gè)74LS47模塊,每個(gè)模塊連接一個(gè)數(shù)碼管。調(diào)了很長時(shí)間,調(diào)出來了,很不容易,但是理解了就挺簡單。對自認(rèn)為有很大幫助。

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

具體程序如下:

  1. //數(shù)碼管動態(tài)顯示
  2. //74LS164(移位寄存器)
  3. #include<reg51.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. sbit DAT=P1^6; //數(shù)據(jù)輸入
  7. sbit CLK=P1^7; //時(shí)鐘使能
  8. unsigned char disp[4];
  9. unsigned code dtab[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
  10.                                                 //共陽極接法0~9段碼表(上)

  11. void disp_164() //一位顯示164移位輸出函數(shù)
  12. {
  13.         uchar x,i,j;
  14.         for(i=0;i<4;i++) //循環(huán)4次(4個(gè)數(shù)碼管)
  15.         {
  16.                 x=dtab[disp[i]];  //查表取段碼
  17.                 for(j=0;j<8;j++)
  18.                 {
  19.                         if(x&0x01) //先移出低位
  20.                         DAT=1;
  21.                         else DAT=0;
  22.                         CLK=1;           //產(chǎn)生上升沿
  23.                         x>>=1;
  24.                         CLK=0;
  25.                 }
  26.         }
  27. }
  28. void main()
  29. {
  30.         disp[0]=8;
  31.         disp[1]=7;
  32.          disp[2]=6;
  33.         disp[3]=5;
  34.         disp_164();
  35.         while(1);
  36. }
復(fù)制代碼

51hei.png

全部資料51hei下載地址:
例6-10數(shù)碼管.zip (47.85 KB, 下載次數(shù): 20)

評分

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

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:102963 發(fā)表于 2020-4-16 18:59 | 顯示全部樓層
寫錯(cuò)了吧,是74LS164,怎么是74LS47呢???
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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