設計單片機并行口控制的兩個5×7點陣LED顯示器的驅動電路,并編寫程序實現在兩個5×7點陣LED顯示器上的字符顯示。 電路方面主要包括以下3部分。 (a)設計單片機的最小系統(包括復位電路和外接的晶振電路),并確定相關元器件參數。 (b)采用動態驅動的方式,設計單片機并行端口與兩個5×7點陣LED顯示器的驅動電路,包括控制點陣LED行和列的連線。 (c)設計點陣LED的給電流電路(單片機并行端口接上拉電阻)。 編寫單片機并行口控制(驅動)兩個5×7點陣LED顯示器字符(串)顯示程序,結合要顯示信息的(字符)字模,實現數字(0—9)或簡單的英文字符的顯示。顯示方式和內容自定,如每隔一段時間循環顯示數字0—9 或英文字符。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
- #include <reg51.h>
- #define u8 unsigned char //無符號字符型
- #define u16 unsigned int
- #define SPEED 1000
- u8 code table[]={
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
- /*-- 文字: 0 --*/
- 0xC1,0xDD,0xC1,0xFF,
-
- /*-- 文字: 1 --*/
- 0xED,0xC1,0xFD,0xFF,
-
- /*-- 文字: 2 --*/
- 0xD9,0xD5,0xCD,0xFF,
-
- /*-- 文字: 3 --*/
- 0xD5,0xD5,0xC1,0xFF,
-
- /*-- 文字: 4 --*/
- 0xF3,0xEB,0xC1,0xFB,
-
- /*-- 文字: 5 --*/
- 0xFF,0xC5,0xD5,0xD1,
-
- /*-- 文字: 6 --*/
- 0xFF,0xC1,0xD5,0xD1,
-
- /*-- 文字: 7 --*/
- 0xFF,0xCF,0xDF,0xC1,
-
- /*-- 文字: 8 --*/
- 0xFF,0xC1,0xD5,0xC1,
-
- /*-- 文字: 9 --*/
- 0xFF,0xC5,0xD5,0xC1,
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
-
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF };
- u8 i,k,m=0,n=0;
- u16 j;
- void main()
- {
- P0=0XFF;
- P2=0X00;
- P3=0X00;
- while(1)
- {
- for(i=0;i<48;i++)
- {
- for(j=0;j<SPEED;j++)
- {
- for(k=0;k<10;k++)
- {
- m=i+k;
- n=k-8;
- if(k>7)
- {
- P2=0;
- P3=(0X01<<n);
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
單片機并行口驅動的兩個5×7點陣LED顯示器字符顯示.rar
(83.82 KB, 下載次數: 61)
2018-1-21 20:08 上傳
點擊文件名下載附件
|