找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4192|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)串口協(xié)議16*64點(diǎn)陣顯示器制作 附源程序原理圖

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
使用STC8A8K64S4A12為主控,可以自由燒錄不同字體的16*16大小的字庫。
使用簡單的串口控制控制協(xié)議,實(shí)現(xiàn)時(shí)間專用字符顯示,短字符串,長字符串顯示;
詳細(xì)說明、原理圖及代碼已分享在附件中,有需要的可以下載查看。


顯示器具有如下基本功能:

1.時(shí)間顯示時(shí),時(shí)間分號(hào)點(diǎn)自動(dòng)閃爍,時(shí)間的每一個(gè)字符位均可獨(dú)立向上滾動(dòng)翻頁顯示;

2.短字符[8個(gè)字符]顯示,默認(rèn)向上滾動(dòng)后停滯顯示。

3.長字符[128個(gè)字符]顯示,可以配置向上、下、左、右滾動(dòng)顯示;滾動(dòng)速度可調(diào)節(jié)0~250共250級(jí)。

4.自定義顯示,此時(shí)可作為如同常見的OLED屏來發(fā)送顯示數(shù)據(jù)。

5.定義了幾個(gè)簡單的內(nèi)置動(dòng)畫,可通過命令指定顯示。

6.顯示亮度可自由調(diào)節(jié),可設(shè)置為0~10級(jí),可設(shè)置為自動(dòng)調(diào)節(jié)顯示亮度,此時(shí)將通過環(huán)境亮度自動(dòng)調(diào)節(jié)顯示亮度。

7.代碼及說明文檔: 2020-07-26 點(diǎn)陣屏.zip (728.66 KB, 下載次數(shù): 147)


限于文件大小,以下是一些簡單展示,實(shí)際效果并非如此,絕對(duì)的絲滑:

圖1-部分效果1




圖2-部分效果2



圖3-代碼列表



圖4-調(diào)試



圖5-應(yīng)用,網(wǎng)絡(luò)天氣時(shí)鐘


單片機(jī)源程序如下:
  1. #include "main.h"
  2. #include "image.h"


  3. /*!---------------------------------------------
  4. *@file: main.c
  5. *@author: mu yu qiu feng [Yuan Huafei]
  6. *@date: 2021-04-10
  7. *@descr: MCU:STC8A8K64S4A12
  8. ROM:64KB  SRAM:8KB  IRAM:256B  SYSCLK:24.8832
  9. -----------------------------------------------*/

  10. void main(void)
  11. {
  12.         stf_init();     // 初始化標(biāo)志定時(shí)器
  13.         display_init(); // 初始化顯示
  14.         spp_init();     // 初始化串口協(xié)議

  15.         while(1)
  16.         {        
  17.     spp_unpack(); //解包
  18.         
  19.     if(Comreg & DISP_EN) //打開顯示[默認(rèn)打開]
  20.                 {               
  21.                         if((Comreg & CUSTOM_EN)==0) //未開啟自定義顯示
  22.                         {
  23.                           switch( Disp_num )
  24.                           {
  25.                                   case 1:
  26.                                 if(display_time_string())
  27.                                 {
  28.                                          Uart1_Send_Byte(0x04|0x80);
  29.                                 }
  30.                             break;
  31.                                 
  32.                                   case 2:
  33.                                             if(display_short_string())
  34.                                                         {
  35.                                                Uart1_Send_Byte(0x05|0x80);
  36.                                                         }
  37.                             break;
  38.                                 
  39.                                   case 3:
  40.               if(display_long_string(Comreg & SCROLL_DIR,Long_len))
  41.                                                         {
  42.                                                Uart1_Send_Byte(0x06|0x80);
  43.                                                         }        
  44.                             break;
  45.                                                         
  46.                                   case 4: //播放內(nèi)置動(dòng)畫1 跳跳球
  47.                                                   display_animation(img2,17);
  48.                                                 
  49.                             break;
  50.                                        
  51.                                   case 5: //播放內(nèi)置動(dòng)畫2 滑稽臉
  52.                                                   display_animation(img3,2);
  53.                                                 
  54.                             break;

  55.                                   case 6: //播放內(nèi)置動(dòng)畫3 小娃跳大神
  56.                                                  display_animation(img4,4);
  57.                                                 
  58.                             break;                                                
  59.                                 
  60.                                   default: break;
  61.                     }
  62.                         }
  63.                   if(Comreg & 0x20) //開啟自動(dòng)亮度 [默認(rèn)關(guān)閉]
  64.                   {
  65.                      display_auto_lum( );
  66.                   }                        
  67.                 }
  68.         }
  69. }

復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏14 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:480686 發(fā)表于 2022-10-14 11:12 | 只看該作者
你好能問下字庫怎么燒錄
回復(fù)

使用道具 舉報(bào)

板凳
ID:1013588 發(fā)表于 2024-3-5 10:06 | 只看該作者
下載了,有時(shí)間做一個(gè)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表