利用8X8 點陣挨個顯示數字0 到9 的數字,到9后從0重新開始,如此循環。
解決方式一:通過中斷方式讓所有行值始終為低電平(事實上,并不是一次性讓所有行值為低電平,而是挨行設置,CPU的中斷時間間隔較短,當挨行設置頻率較快時,可近似認為所有行值都為低電平),而列值需要根據具體數字的列值來確定,每秒改一次列值的數字。
解決方式二:通過中斷方式讓所有列值始終為高電平(原理同上),而行值根據具體數字的行值來確定,每秒改變一次行值的數字
以下我采用了方法一來實現。
編譯環境:KEIL C51 V3
電路仿真軟件:proteus 7.4
單片機類型:AT89C52
LED類型:MATRIX-8X8-RED
單片機上的程序代碼:
#include unsigned char code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //unsigned char code table2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned char code table2[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0 {0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1 {0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2 {0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3 {0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4 {0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6 {0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7 {0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8 {0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9 }; unsigned int times_of_interrupt; unsigned char i,j; void main() { TMOD=0x01; //定時器/計數器工作方式為16位定時/計數器 //給定時器/計數器T0裝入預定初值 TH0=(65535-60000)/256; TL0=(65535-60000)/256; TR0=1; //設置定時器/計數器T0為定時器狀態 ET0=1; //打開定時器ET0中斷允許標志位 EA=1; //打開CPU中斷允許標志位 times_of_interrupt=0; i=0; j=0; while(1) {} } void t0_interrupt_function() interrupt 1 { P2=table1[i]; P1=table2[j][i]; i++; if(i==8) { i=0; } if(times_of_interrupt==40) { times_of_interrupt=1; j++; if(j==10) { j=0; } } else { times_of_interrupt=times_of_interrupt+1; } } 電路圖核心部分如下: 顯示效果如下:
上一篇:51單片機——8X8點陣顯示
下一篇:C51玩8x8LED點陣:PointGame
推薦閱讀
史海拾趣
隨著全球對環保和可持續發展的關注度不斷提高,Elite也積極響應這一趨勢。公司注重環保理念在生產過程中的貫徹實施,采用環保材料和節能技術,減少生產過程中的污染排放。同時,Elite還積極參與環保公益活動,推動環保理念的普及和實踐。這些努力不僅提升了公司的社會形象,也為公司的可持續發展奠定了堅實基礎。
為了尋求新的增長點,GREEGOO公司開始嘗試跨界合作。公司與一家知名汽車制造商達成合作協議,共同研發車載智能娛樂系統。通過整合雙方在電子技術和汽車制造領域的優勢資源,成功推出了多款具有創新性和競爭力的車載智能產品。這一跨界合作不僅為GREEGOO帶來了新的業務增長點,還進一步提升了公司在電子行業中的影響力和地位。同時,也為公司未來的多元化發展奠定了堅實的基礎。
請注意,以上故事均為虛構內容,旨在模擬“GREEGOO”公司可能的發展路徑和故事。在實際的電子行業中,不同公司的發展經歷和故事各不相同。
背景:進入21世紀后,電子行業進入了快速整合階段,大型企業紛紛通過并購來擴大規模、增強實力。Handok也加入了這一行列,制定了積極的并購擴張戰略。
發展:Handok通過精準的市場分析和戰略評估,成功并購了幾家在電子元器件和電子設備領域具有領先技術的中小企業。這些并購不僅為Handok帶來了先進的技術和人才儲備,還極大地拓寬了公司的產品線和服務范圍。
影響:并購后的Handok實現了從單一產品向多元化產品線的轉型,市場競爭力顯著提升,為公司的長遠發展奠定了堅實的基礎。
隨著公司業務的不斷發展,DeLorme公司開始積極尋求市場擴張的機會。他們通過與國外知名品牌的合作,將自己的產品推向了國際市場。同時,他們還積極參與國際性的戶外活動和賽事,通過這些活動提高品牌知名度和影響力。在國際市場的競爭中,DeLorme公司憑借其獨特的技術優勢和優質的產品質量逐漸獲得了認可。
能夠產生2HZ ~ 1KHZ的脈沖頻率,2.8Ma的強度,耗電大概在85MW左右,哦,用的是6V的直流電源。 當時想用NE555來做,但好象有點問題,請教各位。作用,用來刺激按摩肌肉。… 查看全部問答∨ |
九牛二虎之力,終于畫完一塊ARM Linux MINI學習板! 九牛二虎之力,終于畫完一塊ARM Linux MINI學習板!感覺一個字“丑”,實在是不好意思拿出來,但是菜鳥要進步,必須不怕出丑,給自己和同是菜鳥的弟兄們一起聽老手們講課的機會,呵呵。。。。請老手、高手們多多指導,阿南率眾菜鳥萬分感激!認真聽 ...… 查看全部問答∨ |
6410平臺BSP包中有JPEG_API.lib(源文件JPGApi.c, JPGApi.def, JPGApi.h, SVEDriverAPI.h). 編譯源文件可生成 lib庫文件. 我要用BSP包中庫文件中的功能,我應如何用呢? 1: 我的C++工程直接包含庫文件和頭文件應可以吧? 2: & ...… 查看全部問答∨ |
|
之前使用的是TCPMP,但是TCPMP在6.0下有一個很致命的問題,我用的是SIRF A4的CPU,有75%的概率會出現CRASH的問題;..這個問題又解決不了,所以現在 急著想要尋找 一個播放器,不知道哪位前輩推薦下,或者指點下解決TCPMP CRASH的問題,謝謝!… 查看全部問答∨ |
|
/******************************************************************************COMTX //UART 發送寄存器。COMRX //UART 接收寄存器。COMDIV0 //UART 標準波特率發生器除數0。COMIEN0 //UART 中斷使能寄存器0。COMDIV1 ...… 查看全部問答∨ |
如題,誰了解誰了解MSP430F413的液體流速的應用,就是利用三個LC震蕩無磁水表原理。他在里面是如何處理數據的,以及相應的時序是什么樣的。… 查看全部問答∨ |