欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

采用74HC573實(shí)現(xiàn)數(shù)碼管顯示實(shí)驗(yàn) 我的部分作業(yè)內(nèi)容,總結(jié)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
題目
平臺(tái)驗(yàn)證【3】:采用74HC573實(shí)現(xiàn)數(shù)
碼管顯示實(shí)驗(yàn)
用573鎖存器控制輸出段碼,用單片機(jī)PIN引
腳直接進(jìn)行位選,實(shí)現(xiàn)數(shù)碼管顯示
連接方法:P0與J12用8PIN排線連接,J16與P2用
8PIN排線連接,P1.0接到J21中柱
將8個(gè)數(shù)碼管分為兩組,同時(shí)顯示同一個(gè)數(shù),該數(shù)
從00.00到99.99,每次顯示完成后加0.01
0-9的段碼:
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f



  1. #include "at89x51.h"
  2. #include <intrins.h>

  3. #define USE_573_LE

  4. #ifdef USE_573_LE
  5. sbit LE = P1^0;  //定義輸出使能控制腳在P1.0上
  6. #endif

  7. //此表為 LED 的字模, 共陰數(shù)碼管 0-9
  8. unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};

  9. //此表為8個(gè)數(shù)碼管位選控制, 共陰數(shù)碼管 1-8個(gè)
  10. unsigned char code dispbit[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};

  11. unsigned int LedOut[8];           //變量定義

  12. void delay(unsigned int i);

  13. void setValue(unsigned int v)
  14. {
  15.     LedOut[0] = Disp_Tab[(v % 10000) / 1000];
  16.     LedOut[1] = Disp_Tab[(v % 1000) /100] | 0x80;
  17.     LedOut[2] = Disp_Tab[(v % 100) / 10];
  18.     LedOut[3] = Disp_Tab[v % 10];
  19.    
  20.     LedOut[4] = LedOut[0];           //千位
  21.     LedOut[5] = LedOut[1];      //百位帶小數(shù)點(diǎn)
  22.     LedOut[6] = LedOut[2];        //十位
  23.     LedOut[7] = LedOut[3];      //個(gè)位     
  24. }

  25. void dispBit(unsigned char i)
  26. {
  27.     P0 = LedOut[i];
  28. #ifdef USE_573_LE
  29.     LE = 1;              //輸出使能,鎖存器將P0的8位數(shù)據(jù)全部接收
  30.     LE = 0;              //鎖存數(shù)據(jù), P0不再影響鎖存器的輸出
  31. #endif

  32.     P2 = dispbit[i];       //使用查表法進(jìn)行位選
  33. }

  34. void main()
  35. {  
  36.     unsigned int DelayCNT, i, LedNumVal = 0;       //變量定義
  37.    
  38.     DelayCNT = 0;
  39.     setValue(LedNumVal);
  40. #ifdef USE_573_LE
  41.     LE = 0;
  42. #else
  43.     P1_0 = 1;
  44. #endif

  45.     while(1)
  46.     {
  47.         if(++DelayCNT >= 20)          //控制數(shù)字變化速度
  48.         {
  49.             DelayCNT = 0;              //20個(gè)掃描周期清零一次
  50.             ++LedNumVal;              //每隔20個(gè)掃描周期加一次
  51.             if(LedNumVal >= 10000)
  52.             {
  53.                 LedNumVal = 0;
  54.             }
  55.             setValue(LedNumVal);
  56.         }

  57.         for(i = 0; i < 8; i++)
  58.         {
  59.             dispBit(i);     
  60.             delay(6);             //掃描間隔時(shí)間太長(zhǎng),數(shù)碼管會(huì)有閃爍感. 注意晶振頻率。
  61.         }
  62.     }   
  63. }   

  64. void delay(unsigned int i)
  65. {
  66.     unsigned char j;
  67.     for(i; i > 0; i--)
  68.         for(j = 200; j > 0; j--);
  69. }
復(fù)制代碼

c51-03.zip

29.95 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5

實(shí)驗(yàn)源代碼

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

使用道具 舉報(bào)

沙發(fā)
ID:765666 發(fā)表于 2020-6-30 15:43 | 只看該作者
為啥沒(méi)有.sdn圖
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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