www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]點陣的動畫顯示,說到底就是對多張圖片分別進行取模,使用程序算法巧妙的切換圖片,多張圖片組合起來就成了一段動畫了,我們所看到的動畫片、游戲等等,它們的基本原理也都是這樣的。上一節(jié)我們學(xué)了如何在點陣上畫一

點陣的動畫顯示,說到底就是對多張圖片分別進行取模,使用程序算法巧妙的切換圖片,多張圖片組合起來就成了一段動畫了,我們所看到的動畫片、游戲等等,它們的基本原理也都是這樣的。

上一節(jié)我們學(xué)了如何在點陣上畫一個?形,有時候我們希望這些顯示是動起來的,而不是靜止的。對于點陣本身已經(jīng)沒有多少的知識點可以介紹了,主要就是編程算法來解決問題了。比如我們現(xiàn)在要讓點陣顯示一個 I ? U 的動畫,首先我們要把這個圖形用取模軟件畫出來看一下,如圖 7-10 所示。


圖 7-10 上下移動橫向取模


這張圖片共有 40 行,每 8 行組成一張點陣圖片,并且每向上移動一行就出現(xiàn)了一張新圖片,一共組成了 32 張圖片。

用一個變量 index 來代表每張圖片的起始位置,每次從 index 起始向下數(shù) 8 行代表了當(dāng)前的圖片,250ms 改變一張圖片,然后不停的動態(tài)刷新,這樣圖片就變成動畫了。首先我們要對顯示的圖片進行橫向取模,雖然這是 32 張圖片,由于我們每一張圖片都是和下一行連續(xù)的,所以實際的取模值只需要 40 個字節(jié)就可以完成,我們來看看程序。


#include

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

unsigned char code image[] = { //圖片的字模表

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3,0xFF,

0x99,0x00,0x00,0x00,0x81,0xC3,0xE7,0xFF,

0x99,0x99,0x99,0x99,0x99,0x81,0xC3,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF

};

void main(){

EA = 1; //使能總中斷

ENLED = 0; //使能 U4,選擇 LED 點陣

ADDR3 = 0;

TMOD = 0x01; //設(shè)置 T0 為模式 1

TH0 = 0xFC; //為 T0 賦初值 0xFC67,定時 1ms

TL0 = 0x67;

ET0 = 1; //使能 T0 中斷

TR0 = 1; //啟動 T0

while (1);

}

/* 定時器 0 中斷服務(wù)函數(shù) */

void InterruptTimer0() interrupt 1{

static unsigned char i = 0; //動態(tài)掃描的索引

static unsigned char tmr = 0; //250ms 軟件定時器

static unsigned char index = 0; //圖片刷新索引

TH0 = 0xFC; //重新加載初值

TL0 = 0x67;

//以下代碼完成 LED 點陣動態(tài)掃描刷新

P0 = 0xFF; //顯示消隱

switch (i){

case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=image[index+0]; break;

case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[index+1]; break;

case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[index+2]; break;

case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=image[index+3]; break;

case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=image[index+4]; break;

case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=image[index+5]; break;

case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=image[index+6]; break;

case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=image[index+7]; break;

default: break;

}

//以下代碼完成每 250ms 改變一幀圖像

tmr++;

if (tmr >= 250){ //達到 250ms 時改變一次圖片索引

tmr = 0;

index++;

if (index >= 32){ //圖片索引達到 32 后歸零

index = 0;

}

}

}

大家把這個程序下載到單片機上看看效果,一個 I ? U 一直往上走動的動畫就出現(xiàn)了,現(xiàn)在還有哪位敢說我們工科同學(xué)不懂浪漫的?還需要用什么玫瑰花取悅女朋友嗎?一點技術(shù)含量都沒有,要玩就玩點高科技,呵呵。


當(dāng)然,別光圖開心,學(xué)習(xí)我們還要繼續(xù)。往上走動的動畫我寫出來了,那往下走動的動畫,大家就要自己獨立完成了,不要偷懶,一定要去寫代碼調(diào)試代碼。瞪眼看只能了解知識,而能力是在真正的寫代碼、調(diào)試代碼這種實踐中培養(yǎng)起來的。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

  隨著數(shù)字科學(xué)的進步和廣泛應(yīng)用,媒體整合理念也日趨完善,戶外媒體也已經(jīng)成為中國21世紀(jì)廣告界的新寵,其發(fā)展?jié)摿σ策h遠高于傳統(tǒng)電視、報紙和雜志媒體。本文來介紹一下點陣LED點陣顯示屏的系統(tǒng)設(shè)計。

關(guān)鍵字: LED led顯示 led點陣

在8X8 LED點陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環(huán)下去。

關(guān)鍵字: 8x8 led點陣 顯示技術(shù)

點陣的動畫顯示,說到底就是對多張圖片分別進行取模,使用程序算法巧妙的切換圖片,多張圖片組合起來就成了一段動畫了,我們所看到的動畫片、游戲等等,它們的基本原理也都是這樣的。

關(guān)鍵字: led點陣 單片機 縱向移動

點陣 LED 顯示屏作為一種現(xiàn)代電子媒體,具有靈活的顯示面積(可任意分割和拼裝)、高亮度、長壽命、數(shù)字化、實時性等特點,應(yīng)用非常廣泛。

關(guān)鍵字: led點陣 單片機

獨立的 LED 小燈可以實現(xiàn)流水燈,數(shù)碼管可以顯示多位數(shù)字,那點陣 LED 就得來顯示一點花樣了。

關(guān)鍵字: led點陣 單片機 圖形顯示

一、實驗?zāi)康暮鸵蟆 ×私釲ED點陣顯示的基本原理和實現(xiàn)方法。掌握點陣漢字庫的編碼和從標(biāo)準(zhǔn)字庫中提取漢字編碼的方法。二、實驗設(shè)備  單片機測控實驗系統(tǒng)  LED點陣顯示器實驗?zāi)K  Keil開發(fā)環(huán)境  STC-ISP程

關(guān)鍵字: led點陣 單片機 控制實驗 顯示屏

LED點陣屏發(fā)光亮度強,指示效果好,可以制作運動的發(fā)光圖文,更容易吸引人的注意力,信息量大,隨時更新,有著非常好的廣告和告示效果。筆者此處就LED點陣屏動態(tài)掃描顯示作一個簡單的介紹。1. LED點陣屏顯示原理概述

關(guān)鍵字: 51單片機 led點陣 掃描顯示

點陣 LED 顯示屏作為一種現(xiàn)代電子媒體,具有靈活的顯示面積(可任意分割和拼裝)、高亮度、長壽命、數(shù)字化、實時性等特點,應(yīng)用非常廣泛。前邊學(xué)了 LED 小燈和 LED 數(shù)碼管后,學(xué) LED 點陣就要輕松得多了。一個數(shù)碼管

關(guān)鍵字: led點陣 單片機

獨立的 LED 小燈可以實現(xiàn)流水燈,數(shù)碼管可以顯示多位數(shù)字,那點陣 LED 就得來顯示一點花樣了。我們要顯示花樣的時候,往往要先做出來一些小圖形,這些小圖形的數(shù)據(jù)要轉(zhuǎn)換到我們的程序當(dāng)中去,這個時候就需要取模軟件

關(guān)鍵字: led點陣 圖形顯示

上下移動我們會了,那我們還想左右移動該如何操作呢?方法一、最簡單,就是把板子側(cè)過來放,縱向取模就可以完成。這里大家是不是有種頭頂冒汗的感覺?我們要做好技術(shù),但是不能沉溺于技術(shù)。技術(shù)是我們的工具,我們在

關(guān)鍵字: led點陣 橫向移動
關(guān)閉