找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機led燈板顯示漢字程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:333114 發(fā)表于 2018-5-19 09:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
燒錄程序是個好玩的事情。打開燒錄軟件之后,我把光盤中的實驗程序從基礎(chǔ)到高級能燒的都燒了一遍。有需要按鈕的就去源程序中找控制按鈕。1.實驗前我第N次燒這個循環(huán)顯示漢字的程序的時候覺得這個“中”子兩頭多的倆點不好看,就想去掉它倆
每個燈顯示亮與不亮是開和關(guān)就是1與0,想改要從源程序入手

中字(多兩點的)

2.發(fā)現(xiàn)有F,E,A等字母我明白了這是16進(jìn)制,
燈板上最左邊從底向上亮為1暗為0二進(jìn)制轉(zhuǎn)換為16進(jìn)制恰好為0x后兩位的值(明白了字形是如何編碼的)






將多兩點的兩列由0x7c,0x7c改為0x78,0x78,重新燒錄如圖

去掉兩點的中





改過的中字字形碼

3.更改其他字(我,Li,心的形狀,你),由于不知道有字形碼轉(zhuǎn)換器,所以就算了一遍(哭)



字碼




4.由于對C語言不是很懂(苦笑),所以照著老師寫好的代碼打了一遍
但是照著打還是出現(xiàn)了諸多錯誤(如下)





對delay函數(shù)修改了數(shù)次,甚至重新在英文狀態(tài)下編輯了一遍(還是失。┳詈蟀l(fā)現(xiàn)是void前少了個“ ; ”








函數(shù)Hc595Send沒有聲明,就跑到程序最開始聲明了一下#define Hc595SendByte,還是不對
最終發(fā)現(xiàn)s沒有大寫,最后引用的時候中間多了個空格(去掉空格重新編譯,成功)


5.實驗感悟
1.深切感受到了實驗板的魅力
2.重新復(fù)習(xí)了2進(jìn)制轉(zhuǎn)16進(jìn)制
3.悔不當(dāng)初,沒有認(rèn)真學(xué)習(xí)C語言(錯誤基本是百度解決)
4.亡羊補牢,借此學(xué)期機會學(xué)習(xí)C語言,搞明白基本函數(shù),控制語句,數(shù)據(jù)類型,關(guān)鍵字,運算符等基本編程知識,獲取高級思維模式
本文是自己初學(xué)單片機的經(jīng)驗分享,希望對初學(xué)的同學(xué)有用。感謝平臺

單片機源程序如下:
  1. //該板子上的點陣為8*8,只能顯示簡單的一些漢子,如果要顯示真正的漢字
  2. //通過取模軟件取的可以選擇16*16點陣的板子

  3. #include<reg51.h>
  4. #include<intrins.h>

  5. sbit SRCLK=P3^6;
  6. sbit RCLK=P3^5;
  7. sbit SER=P3^4;

  8. //--定義要使用的IO口--//
  9. #define COMMONPORTS                P0

  10. //--列選通控制--//
  11. unsigned char code TAB[8]  = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

  12. //--點陣字碼--//
  13. unsigned char code CHARCODE[4][8]=
  14. {

  15. 0x7F,0x01,0x01,0x01,0x00,0x00,0x5F,0x00,  //Li
  16. 0x10,0x55,0xBF,0x14,0x10,0xFE,0x99,0x52,   //我
  17. 0x38,0x64,0x22,0x11,0x11,0x22,0x64,0x38,  //心形

  18. {0x20,0x7F,0x84,0x6A,0xC1,0x5F,0x68,0x44}  //你

  19. };
  20. void delay(unsigned int time)
  21. {
  22.   unsigned int i,j;
  23.   for(i=0;i<time;i++)
  24.     for(j=0;j<121;j++);
  25. }

  26. /*******************************************************************************
  27. * 函數(shù)名         : Hc595SendByte(unsigned char dat)
  28. * 函數(shù)功能                   : 想74H595發(fā)送一個字節(jié)的數(shù)據(jù)
  29. * 輸入           : 無
  30. * 輸出                  : 無
  31. *******************************************************************************/
  32. void Hc595SendByte(unsigned char dat)
  33. {
  34.         unsigned char a;
  35.         SRCLK=0;
  36.         RCLK=0;
  37.         for(a=0;a<8;a++)
  38.         {
  39.                 SER=dat>>7;
  40.                 dat<<=1;

  41.                 SRCLK=1;
  42.                 _nop_();
  43.                 _nop_();
  44.                 SRCLK=0;       
  45.         }

  46.         RCLK=1;
  47.         _nop_();
  48.         _nop_();
  49.         RCLK=0;
  50. }
  51. /*******************************************************************************
  52. * 函數(shù)名         : main
  53. * 函數(shù)功能                   : 主函數(shù)
  54. * 輸入           : 無
  55. * 輸出                  : 無
  56. *******************************************************************************/

  57. void main()
  58. {       
  59.         unsigned char tab, j;
  60.         unsigned int  i;

  61.         while(1)
  62.         {       
  63.                 for(i= 0; i<50; i++ )   //兩個字之間的掃描間隔時間
  64.                 {
  65.                         for(tab=0;tab<8;tab++)
  66.                         {       

  67.                                 Hc595SendByte(0x00);                             //消隱                                                                                                                               
  68.                                 COMMONPORTS        = TAB[tab];                                 //輸出字碼       
  69.                                 Hc595SendByte(CHARCODE[j][tab]);       
  70. ……………………

  71. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
LED點陣顯示漢字.rar (24.31 KB, 下載次數(shù): 34)


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

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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