久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機16X32LED點陣顯示屏程序設計+仿真

  [復制鏈接]
跳轉到指定樓層
樓主
    51單片機16X32LED點陣顯示屏由單片機最小系統、行驅動電路74HC154、列驅運電路74HC595組成,實現漢字、數字的顯示。電路簡單。程序中以20個漢字作為顯示示例。資料含51單片機C語言源程序、PROTEUS7.8仿真源文件。附送取模軟件及取模說明文檔,方便你自己更換顯示內容。顯示移動速度可在程序中進行設置。




#include <REG51.H>
#define FOSC        12                                //定義晶振頻率
#define        INIT_TH0 0x3C                        //定時器T0初始值
#define        INIT_TL0 0xB0
#define        TMOD_T00 0x00                        //定義T0為方式0,GATE=0,C/T=0,13位計數器
#define        TMOD_T01 0x01                        //定義T0為方式1,GATE=0,C/T=0,16位計數器
#define        TMOD_T02 0x02                        //定義T0為方式2,GATE=0,C/T=0,自動裝入8位計數器
#define        TMOD_T03 0x03                        //定義T0為方式3,GATE=0,C/T=0,定時器0分成兩個8位計數器,定時器1停止計數

/*縮定定義*/

#define uchar unsigned char
#define        uint unsigned int

/************位定義***************/
sbit STTP = P2^7;
/************函數聲明*************/
void        delay(uint c);                                //延時函數
void        out_rxd(uchar *d);                                //漢字輸出
/************漢字點陣*************/
char code hanzi[32][32]={
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,        //顯示空屏,如果只有一個字或將字全部移出必須設置一個空屏幕
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,        //顯示空屏,如果只有一個字或將字全部移出必須設置一個空屏幕
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  基  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x88,0x20,0x88,0x20,0x91,0x20,0xA1,0xFF,0xC9,0x2A,0x89,0x2A,0x89,0x2A,0xBF,
0x2A,0x89,0x2A,0x89,0xFF,0xC9,0x20,0xA1,0x20,0x91,0x20,0x88,0x00,0x88,0x00,0x00,
                        
/*--  文字:  于  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x02,0x00,0x02,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x02,0x42,0x01,0x7F,0xFE,
0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x02,0x00,0x02,0x00,0x00,0x00,

/*--  文字:  5  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00,               

/*--  文字:  1  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,

/*--  文字:  單  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x08,0x00,0x08,0x1F,0xC8,0x92,0x48,0x52,0x48,0x32,0x48,0x12,0x48,0x1F,0xFF,
0x12,0x48,0x32,0x48,0x52,0x48,0x92,0x48,0x1F,0xC8,0x00,0x08,0x00,0x08,0x00,0x00,

/*--  文字:  片  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x00,0x00,0x01,0x00,0x06,0x7F,0xF8,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,
0x04,0x40,0xFC,0x40,0x04,0x7F,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,
                        
/*--  文字:  機  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x08,0x20,0x08,0xC0,0x0B,0x00,0xFF,0xFF,0x09,0x00,0x08,0xC1,0x00,0x06,0x7F,0xF8,
0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x02,0x00,0x1E,0x00,0x00,

/*--  文字:  的  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x00,0x1F,0xFE,0x30,0x84,0xD0,0x84,0x10,0x84,0x10,0x84,0x1F,0xFE,0x02,0x00,
0x0C,0x00,0xF1,0x00,0x10,0xC2,0x10,0x01,0x10,0x02,0x1F,0xFC,0x00,0x00,0x00,0x00,
/*--  文字:  1  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,
                        
/*--  文字:  6  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00,

/*--  文字:  ×  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x08,0x20,0x04,0x40,0x02,0x80,
0x01,0x00,0x02,0x80,0x04,0x40,0x08,0x20,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  3  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00,

                        
/*--  文字:  2  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=8x16   --*/
0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00,

                                
/*--  文字:  點  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x01,0x00,0x02,0x03,0xEC,0x02,0x20,0x02,0x20,0x02,0x28,0xFE,0x26,0x12,0x20,
0x12,0x28,0x12,0x26,0x12,0x20,0x13,0xE0,0x10,0x08,0x10,0x07,0x00,0x00,0x00,0x00,
                        
/*--  文字:  陣  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x10,0x10,0x13,0x10,
0x1D,0x10,0xF1,0x10,0x17,0xFF,0x11,0x10,0x11,0x10,0x11,0x10,0x10,0x10,0x00,0x00,
                        
/*--  文字:  顯  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x02,0x00,0x42,0x00,0x22,0x7F,0x1A,0x49,0x02,0x49,0xFE,0x49,0x02,0x49,0x02,
0x49,0x02,0x49,0xFE,0x49,0x02,0x7F,0x0A,0x00,0x12,0x00,0x62,0x00,0x02,0x00,0x00,

/*--  文字:  示  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x02,0x04,0x02,0x08,0x42,0x10,0x42,0x60,0x42,0x00,0x42,0x02,0x42,0x01,0x43,0xFE,
0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x40,0x42,0x20,0x02,0x10,0x02,0x0C,0x00,0x00,

/*--  文字:  屏  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x02,0x00,0x0C,0x7F,0xF0,0x48,0x20,0x49,0x21,0x4D,0x26,0x4B,0xF8,0x49,0x20,
0x49,0x20,0x49,0x20,0x4B,0xFF,0x4D,0x20,0x79,0x20,0x00,0x20,0x00,0x00,0x00,0x00,               

/*--  文字:  程  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC4,0x80,0x44,0x60,0x00,0x02,0x7C,0x92,
0x44,0x92,0x44,0x92,0x44,0xFE,0x44,0x92,0x44,0x92,0x7C,0x92,0x00,0x82,0x00,0x00,
/*--  文字:  序  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x02,0x00,0x0C,0x3F,0xF0,0x20,0x00,0x20,0x80,0x20,0x80,0x28,0x80,0xA8,0x82,
0x6A,0x81,0x29,0xFE,0x2A,0x80,0x2C,0x80,0x28,0x80,0x20,0xA0,0x20,0xC0,0x00,0x00,

/*--  文字:  設  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFC,0x00,0x09,0x02,0x11,0x05,0x02,0x79,0xC2,
0x41,0x34,0x41,0x08,0x41,0x14,0x79,0x62,0x05,0x82,0x04,0x01,0x04,0x01,0x00,0x00,

/*--  文字:  計  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFE,0x00,0x04,0x02,0x08,0x02,0x00,0x02,0x00,
0x02,0x00,0xFF,0xFF,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,

/*--  文字:  與  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x10,0x00,0x10,0x07,0x10,0xF9,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,
0x11,0x10,0x11,0x12,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  仿  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x01,0x10,0x02,0x10,0x0C,0x1F,0xF0,
0x91,0x00,0x71,0x02,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x10,0x00,0x00,0x00,

/*--  文字:  真  --*/
/*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
0x00,0x08,0x20,0x08,0x20,0x09,0x2F,0xFA,0x2A,0xAC,0x2A,0xA8,0x2A,0xA8,0xFA,0xA8,
0x2A,0xA8,0x2A,0xA8,0x2A,0xAC,0x2F,0xFA,0x20,0x09,0x20,0x08,0x00,0x08,0x00,0x00,
               

                                                        
                                
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,        //顯示空屏,如果只有一個字或將字全部移出必須設置一個空屏幕
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

                };

/************主函數***************/
void main()
{
        uchar i,j,k;        //i:每個字的顯示循環;j每個字的顯示碼除以2;k每列刷新次數
        uint b=0;                //顯示偏移控制,char類型最多只能顯示14個漢字+一個空白位字符
        uchar a;                //控制移動間隔時間
        SCON = 0x00;
        while(1)
        {        
          j=0;
          if(a>6)        //移動間隔時間;取值0-20
                {
                  a=0;
                  b+=2;
                  if(b>=700)        //顯示到最后一個字,回頭顯示,判斷值=字數*32
                   {
                     b=0;
                   }        
                }
            for(i=0;i<16;i++)
           {
                   P1=i;

                 for(k=0;k<1;k++)
                     {        
                        STTP = 0;
                        out_rxd(&hanzi[3][j+b+1]);
                        out_rxd(&hanzi[3][j+b]);
                        out_rxd(&hanzi[2][j+b+1]);
                        out_rxd(&hanzi[2][j+b]);
                        out_rxd(&hanzi[1][j+b+1]);
                        out_rxd(&hanzi[1][j+b]);
                        out_rxd(&hanzi[0][j+b+1]);
                        out_rxd(&hanzi[0][j+b]);
                        STTP = 1;
                        delay(15);
                        
                  }
                 j=j+2;
           }
           a++;
            }

}

/************子函數**************/

void delay(uint c)
        {
          int i,j;
          for(i=0;i<c;i++)
                for(j=0;j<10;j++)
                        ;


.......................................................................完整程序請自行下載附件

全部資料51hei下載地址:
_基于51單片機16X32點陣顯示屏程序設計與仿真.rar (434.46 KB, 下載次數: 357)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:675383 發表于 2019-12-31 14:29 | 只看該作者
想問一下這個字 想改的話怎么改
回復

使用道具 舉報

板凳
ID:688367 發表于 2020-1-28 02:57 來自手機 | 只看該作者
NeverForever 發表于 2019-12-31 14:29
想問一下這個字 想改的話怎么改

取模復制粘貼
回復

使用道具 舉報

地板
ID:432653 發表于 2020-2-19 20:26 | 只看該作者
好東西,贊贊贊
回復

使用道具 舉報

5#
ID:707654 發表于 2020-3-16 21:25 來自手機 | 只看該作者
想問一下LED點陣的連接,怎么區分他的行線列線啊?
回復

使用道具 舉報

6#
ID:694903 發表于 2020-4-21 18:40 | 只看該作者
這個程序怎樣樣靜止顯示一個字呢?
回復

使用道具 舉報

7#
ID:727406 發表于 2020-4-22 16:03 | 只看該作者
PROTEUS8.6打不開7.8的程序么
回復

使用道具 舉報

8#
ID:235055 發表于 2020-7-7 08:29 | 只看該作者
收藏了,謝謝樓主無私分享
回復

使用道具 舉報

9#
ID:84791 發表于 2020-10-8 03:44 | 只看該作者

下載了,謝謝樓主無私分享,近期在學點陣,多參考一下大神們的思路。
回復

使用道具 舉報

10#
ID:611988 發表于 2021-5-27 09:09 | 只看該作者
下載了,謝謝樓主無私分享,近期在學點陣,多參考一下大神們的思路。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天曰夜夜 | 国产亚洲网站 | 成人中文字幕在线观看 | 亚洲综合二区 | 国产高清视频一区二区 | 国产一区二区三区高清 | 欧美色偷拍 | 国产精品久久国产精品久久 | 亚洲国产一区二区三区四区 | 午夜视频在线观看网址 | 玖玖精品视频 | 精品国产免费一区二区三区演员表 | 综合在线视频 | 亚洲午夜精品一区二区三区 | 精品一区二区久久久久久久网站 | 精品亚洲一区二区三区 | 亚洲精品在线视频 | 91久久精品一区二区二区 | 一级大片 | 中文字幕成人 | 中文字幕 国产精品 | 亚洲视频在线观看一区二区三区 | 精品一二三 | 亚洲高清在线视频 | www.久| 2020天天操| 亚洲精品一区中文字幕乱码 | 久久久久网站 | 欧美日本高清 | 精品日韩在线 | 中文字幕欧美日韩 | 国产欧美一区二区三区日本久久久 | 色综合一区二区三区 | 国产色婷婷久久99精品91 | 视频一二区| 久久首页 | 粉嫩一区二区三区四区公司1 | 国产欧美精品一区二区 | 日韩一区二区av | 亚洲精品字幕 | 色屁屁在线观看 |