找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5869|回復: 3
打印 上一主題 下一主題
收起左側

旋轉LED屏制作成功。!

[復制鏈接]
跳轉到指定樓層
樓主
ID:71407 發(fā)表于 2014-12-31 00:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                                                                                                                                                       
               
                                                                                                                                                    繼昨天晚上干了一個通宵完成了點陣LED的調(diào)試之后,今天中午起床后又和老同學做了一個旋轉LED顯示屏。張魁是我中專的同學,我們酷愛技術。中專就一起做過很多電子小制作,后來我們一起上了大學,他學的是計算機網(wǎng)絡,我學計算機應用。學的專業(yè)是計算機,但是我們干的事情卻是電子老本行。到桂林不到2個星期,我們就找到了桂林的二手家電市場和跳蚤市場。這對于我們來說有著重大意義,因為這樣可以花比較少的價錢獲得多的電子元件。
        回到柳州后,雖然他的工作不是電子技術,但是業(yè)余生活中還是和電機技術混在一起。呵呵。早在一年前就在論壇上看見有網(wǎng)友用單片機做了旋轉LED時鐘,當時就心癢癢的想做一個,但是由于時間和材料問題,一直沒有做成。這次有了點陣屏的數(shù)據(jù)算法經(jīng)驗,做LED旋轉屏就容易多了。我和張魁分工合作,他負責機械設計,我負責程序編寫?蓜e小看機械這一塊。難度是相當大的,主要處理好旋轉時的平衡和供電就很難了。今天機械樣本已經(jīng)做出,我們通過一天的努力,終于讓旋轉LED屏顯示出了內(nèi)容。

#include <reg52.h>
sbit hall = P2^7;//霍爾信號,低電平
unsigned char dang_qian_lie;//當前掃描到哪一列
unsigned char wei_fan_zhuan,wei_fz;//P0口位反轉臨時變量
unsigned int pian_yi_liang;//控制走字偏移量
unsigned char code LEDDOT[]={點陣數(shù)據(jù)};
void delay(unsigned time)
  {
  while(time--);//延時
  }
void main(void)
  {
  while(1)
    {
while(hall);//等待霍爾信號變低
dang_qian_lie=0;//當前掃描列復位
pian_yi_liang++;//走屏偏移量+1
if(pian_yi_liang>1245){pian_yi_liang=0;}//判斷掃過一圈了沒有,736是圖片寬度
while(dang_qian_lie<=200)//掃描一圈的圖像寬度
   {
   dang_qian_lie++;//當前掃描列+1
   P3=LEDDOT[dang_qian_lie+pian_yi_liang];//P3口LED數(shù)據(jù)=當前列+偏移量
   P1=LEDDOT[dang_qian_lie+1245+pian_yi_liang];//P1口數(shù)據(jù)=當前列+圖片寬度+偏移量
   wei_fz=LEDDOT[dang_qian_lie+2490+pian_yi_liang];//P0口數(shù)據(jù)=當前列+圖片寬度X2+偏移

   wei_fan_zhuan=0;//臨時變量初始化
   if(wei_fz&0x01){wei_fan_zhuan=wei_fan_zhuan|0x80;}
   if(wei_fz&0x02){wei_fan_zhuan=wei_fan_zhuan|0x40;}
   if(wei_fz&0x04){wei_fan_zhuan=wei_fan_zhuan|0x20;}
   if(wei_fz&0x08){wei_fan_zhuan=wei_fan_zhuan|0x10;}
   if(wei_fz&0x10){wei_fan_zhuan=wei_fan_zhuan|0x08;}
   if(wei_fz&0x20){wei_fan_zhuan=wei_fan_zhuan|0x04;}
   if(wei_fz&0x40){wei_fan_zhuan=wei_fan_zhuan|0x02;}
   if(wei_fz&0x80){wei_fan_zhuan=wei_fan_zhuan|0x01;}
   P0=wei_fan_zhuan;//數(shù)據(jù)輸出
   delay(40);//字體寬度,與旋轉速度有關,值越大字越寬
   P1=0XFF;//關閉LED,準備下一次掃描
   P3=0XFF;//關閉LED,準備下一次掃描
   P0=0XFF;//關閉LED,準備下一次掃描
   }
}
  }


LED
接口
LED
接口
LED
接口
1
3.7
9
1.7
17
0.0
2
3.6
10
1.6
18
0.1
3
3.5
11
1.5
19
0.2
4
3.4
12
1.4
20
0.3
5
3.3
13
1.3
21
0.4
6
3.2
14
1.2
22
0.5
7
3.1
15
1.1
23
0.6
8
3.0
16
1.0
24
0.7
                                                                                            
                                                                               

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

使用道具 舉報

沙發(fā)
ID:72901 發(fā)表于 2015-1-28 12:22 | 只看該作者
不錯,值得學習。
回復

使用道具 舉報

板凳
ID:86621 發(fā)表于 2015-9-7 17:38 | 只看該作者
樓主有沒有電路圖啊
回復

使用道具 舉報

地板
ID:83138 發(fā)表于 2015-11-9 13:18 | 只看該作者

不錯,值得學習。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表