新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機利用視覺暫留現(xiàn)象顯示字符

PIC單片機利用視覺暫留現(xiàn)象顯示字符

作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
Persistance of Vision (PoV), 即視覺暫留現(xiàn)象, 人眼在觀察景物時,光信號傳人大腦神經(jīng),需經(jīng)過一段短暫的時間,光的作用結(jié)束后,視覺形象并不立即消失,這種殘留的視覺稱“后像”,視覺的這一現(xiàn)象則被稱為“視覺暫留”。其具體應(yīng)用是電影的拍攝和放映。原因是由視神經(jīng)的反應(yīng)速度造成的.其時值是二十四分之一秒。是動畫、電影等視覺媒體形成和傳播的根據(jù)。

利用PoV,還可以制作電子小玩意,比如利用幾個LED,就能顯示圖案,字符等。

本文引用地址:http://m.butianyuan.cn/article/201611/318658.htm

下面是一個利用PoV顯示時鐘的例子:

下面是一段利用PoV顯示字符PIC單片機程序,利用CCS C編譯器編譯:

主程序文件: pov.c





#fuses HS,NOWDT,NOPROTECT,NOLVP /* DONNOT use WDT */

/* Port D drives the LEDs */


#use delay(clock = 4000000) /* the crystal frequency is 4.000 MHz*/

void display_string(int8 *str)

















/**********************************************************















set_tris_d(0x00); /* set portD to output mode */

while(1)





字模頭文件: font.h




#define FONT_WIDTH 5

/*








void get_font_matrix(int8 ascii_code, int8 *buf);

字模c文件: font.c







const int8 font_blank_table[FONT_BLANK_TABLE_SIZE] = {



const int8 font_number_table[FONT_NUMBER_TABLE_SIZE] = {












const int8 font_uletter_table[FONT_UPPER_CASE_TABLE_SIZE] = {




























const int8 font_lletter_table[FONT_LOWER_CASE_TABLE_SIZE] = {




























void get_font_matrix(int8 ascii_code, int8 *buf)




if(ascii_code == )



























這段程序會在PIC單片機的Port D點亮一排LED,用手晃動這排LED,就會看到“china”字樣。




評論


技術(shù)專區(qū)

關(guān)閉