找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機流水燈怎么和數(shù)碼管一起工作

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:272089 發(fā)表于 2018-1-6 08:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這樣可以嗎?
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define leddata P0
  6. sbit cs1=P3^0;sbit cs2=P3^1;sbit wr=P3^2;
  7. uchar c=0,t=8;
  8. uchar code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  9. uchar buf[8];
  10. void delay(uint i){while(i--);}
  11. void display()
  12. {
  13.           uchar i,j=0x7f;
  14.          for(i=0;i<8;i++)
  15.          {
  16.             cs1=0;cs2=1;
  17.                 leddata=ledcode[buf[i]];wr=1;wr=0;
  18.                 cs1=1;cs2=0;
  19.                 leddata=j;wr=1;wr=0;
  20.                 delay(100);
  21.                 j=_cror_(j,1);
  22.                 leddata=0xff;wr=1;wr=0;
  23.          }
  24. }
  25. void main()
  26. {            
  27.      //uchar t;
  28.          TMOD=0x01;
  29.          EA=TR0=ET0=1;
  30.          
  31.          while(1){
  32.           buf[0]=t;
  33.           buf[1]=buf[2]=buf[3]=buf[4]=buf[5]=buf[6]=buf[7]=0xff;
  34.       display();
  35.          
  36.           }
  37. }

  38. time0() interrupt 1
  39. {
  40.    TL0=(65536-50000)%0X100;
  41.    TH0=(65536-50000)/0X100;
  42.    c++;
  43.    if(c>=20)
  44.    {
  45.    c=0;
  46.    if(t>0)t--;
  47.    delay(100);
  48.       P1=0x3f;
  49.           delay(50000);
  50.           P1=0xcf;
  51.           delay(50000);
  52.           P1=0xf3;
  53.           delay(50000);
  54.           P1=0xfc;
  55.           delay(50000);
  56.              P1=0xff;
  57.    }
  58. }
復(fù)制代碼


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

使用道具 舉報

沙發(fā)
ID:157238 發(fā)表于 2018-1-6 19:19 | 只看該作者
定時器中斷
回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2018-1-6 20:55 | 只看該作者
流水燈與LED是一馬事。你都將它們看作是一張張的小燈,就OK了。
流水也吧,掃描顯示也吧。都是在不同的時段里,將不同的明暗信號輸出到各個燈上而矣。
把顯示分成若干個段,例出各個時段每個燈是明是暗的邏輯關(guān)系,問題就基本解決了。
回復(fù)

使用道具 舉報

地板
ID:1 發(fā)表于 2018-1-7 18:01 | 只看該作者
回復(fù)

使用道具 舉報

5#
ID:272089 發(fā)表于 2018-1-11 14:15 | 只看該作者
admin 發(fā)表于 2018-1-7 18:01
參考:http://www.torrancerestoration.com/bbs/dpj-85522-1.html

有簡單點的嗎?
回復(fù)

使用道具 舉報

6#
ID:111634 發(fā)表于 2018-1-11 18:38 | 只看該作者
先學(xué)理論,打基礎(chǔ),就不會有這么多問題了,本壇至少有50%的問題屬于此類情況。
回復(fù)

使用道具 舉報

7#
ID:275005 發(fā)表于 2018-1-11 21:41 | 只看該作者
與LED是一馬事。你都將它們看作是一張張的小燈,就OK了。 流水也吧,掃描顯示也吧。都是在不同的時段里,將不同的明暗信號輸出到各個燈上而矣。 把顯示分成若干個段,例出各個時段每個燈是明是暗的邏輯關(guān)系,問題就基本解決了。
回復(fù)

使用道具 舉報

8#
ID:169533 發(fā)表于 2018-1-11 23:11 | 只看該作者
學(xué)單片機沒有硬件,就等于白學(xué)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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