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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20432|回復: 19
收起左側

16×16點陣漢字橫移方法(附代碼)

  [復制鏈接]
ID:72243 發表于 2015-1-14 23:55 | 顯示全部樓層 |閱讀模式
本帖最后由 dfyy8888 于 2015-1-18 17:35 編輯
  1. <p>//matrix.h(字模數組文件)</p><p>//使用zimoV2.2.exe取模,因為是橫向移動字幕,所以要縱向取模。</p><p>//在zimoV2.2.exe里面可以一次性取出所有字符的字模數據,不用做任何修改,粘貼到數組即可使用</p><p>//可以單獨做一個頭文件,字符數不限,只要你單片機rom夠大^_^</p><p>
  2. unsigned char code matrix[]={
  3. /*--  文字:  [空字符]  --*/
  4. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  5. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  6. ////////////////////////////////////////////////////////////////////////////////

  7. /*--  文字:  《  --*/
  8. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  9. 0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x09,0x12,0x24,0x48,0x90,0x20,0x40,0x00,0x00,
  10. 0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x90,0x48,0x24,0x12,0x08,0x04,0x00,0x00,

  11. /*--  文字:  三  --*/
  12. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  13. 0x00,0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x20,0x00,0x00,
  14. 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,

  15. /*--  文字:  字  --*/
  16. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  17. 0x08,0x30,0x20,0x24,0x24,0x24,0xA4,0x64,0x25,0x26,0x24,0x20,0x20,0x28,0x30,0x00,
  18. 0x40,0x40,0x40,0x40,0x40,0x42,0x41,0xFE,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,

  19. /*--  文字:  經  --*/
  20. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  21. 0x04,0x0C,0x35,0xC6,0x04,0x18,0x01,0x41,0x42,0x44,0x48,0x58,0x64,0x42,0x01,0x00,
  22. 0x44,0xE6,0x44,0x48,0x48,0x48,0x02,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x02,0x00,

  23. /*--  文字:  》  --*/
  24. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  25. 0x00,0x00,0x40,0x20,0x90,0x48,0x24,0x12,0x09,0x04,0x02,0x01,0x00,0x00,0x00,0x00,
  26. 0x00,0x00,0x04,0x08,0x12,0x24,0x48,0x90,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,</p><p>
  27. ////////////////////////////////////////////////////////////////////////////////
  28. /*--  文字:  [空字符]  --*/
  29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  31. };


  32. /********************************************************************/

  33. //字幕橫向移動程序,需要改內容時請修改matrix.h文件的字模數據即可。
  34. #include<reg51.h>
  35. #include<intrins.h>
  36. #include"matrix.h"    //字模存放頭文件

  37. sbit SDI = P3^4;
  38. sbit SCK = P3^6;
  39. sbit LCK = P3^5;

  40. void HC595_Send(unsigned char dat0,unsigned char dat1,unsigned char dat2,unsigned char dat3);

  41. main()
  42. {
  43.         unsigned char dat0, dat1, dat2, dat3, j, k, n=0;
  44.         unsigned int neg, tmp, i;
  45.         neg = 0x7FFF;
  46.         while(1)
  47.         {
  48.                 for(i=0; i<(sizeof(matrix)-31);i++)
  49.                 {
  50.                         for(k=4; k>0; k--)
  51.                         {
  52.                                 for(j=0; j<16; j++)
  53.                                 {         
  54.                                         tmp = _iror_(neg,j);
  55.                                         dat0 = (unsigned char)(tmp);
  56.                                         dat1 = (unsigned char)(tmp>>8);
  57.                                         if((i+n)/16%2!=0) n+=16;
  58.                                         dat3 = (unsigned char)(*(matrix+i+n));
  59.                                         dat2 = (unsigned char)(*(matrix+i+n+16));
  60.                                         HC595_Send(dat0,dat1,dat2,dat3);
  61.                                         n++;
  62.                                 }
  63.                                 n=0;
  64.                         }
  65.                         if(i/16%2!=0) i+=16;
  66.                 }
  67.         }
  68. }
  69. //下面這個子函數如果把形參改成指針(即數組),速度會很慢,所以把四個for循環都寫出來了
  70. void HC595_Send(unsigned char dat0,unsigned char dat1,unsigned char dat2,unsigned char dat3)
  71. {
  72.         unsigned char i;
  73.         SCK = 1;
  74.         LCK = 1;
  75.         for(i=0;i<8;i++)
  76.         {
  77.                 SDI = dat0&0x01;
  78.                 dat0 >>= 1;
  79.                 SCK = 0;
  80.                 SCK = 1;
  81.         }         
  82.         for(i=0;i<8;i++)
  83.         {
  84.                 SDI = dat1&0x01;
  85.                 dat1 >>= 1;
  86.                 SCK = 0;
  87.                 SCK = 1;
  88.         }
  89.         for(i=0;i<8;i++)
  90.         {
  91.                 SDI = dat2&0x01;
  92.                 dat2 >>= 1;
  93.                 SCK = 0;
  94.                 SCK = 1;
  95.         }
  96.         for(i=0;i<8;i++)
  97.         {
  98.                 SDI = dat3&0x01;
  99.                 dat3 >>= 1;
  100.                 SCK = 0;
  101.                 SCK = 1;
  102.         }
  103.         LCK = 0;
  104.         LCK = 1;
  105. }</p>
復制代碼
附:電路圖(采用4片74HC595,橫列各兩片,JP595短路帽短接)
未標題-3.jpg
未標題-2.jpg

評分

參與人數 2黑幣 +55 收起 理由
zzqy + 5 很給力!
admin + 50 共享資料的積分獎勵!

查看全部評分

回復

使用道具 舉報

ID:72243 發表于 2015-1-14 23:57 | 顯示全部樓層
第一次在這兒發帖,有點亂
回復

使用道具 舉報

ID:51269 發表于 2015-1-15 12:08 來自手機 | 顯示全部樓層
樓主太謙虛了,我覺得很好,圖文并茂的,而且程序的結構很清晰。是我們學習的理想資料。有時間的話我把你的電路做成硬件來測試一下
回復

使用道具 舉報

ID:72415 發表于 2015-1-18 00:18 | 顯示全部樓層
嗯,好東西,學校一個比賽就是做這種類似的
回復

使用道具 舉報

ID:32773 發表于 2015-2-18 22:52 | 顯示全部樓層
學習  
回復

使用道具 舉報

ID:72050 發表于 2015-4-28 17:09 | 顯示全部樓層
這個很有用
回復

使用道具 舉報

ID:78850 發表于 2015-5-4 17:11 | 顯示全部樓層
這個不錯,只是只有16*16的嗎?
回復

使用道具 舉報

ID:78298 發表于 2015-5-5 12:10 | 顯示全部樓層
新人回帖賺幣。
回復

使用道具 舉報

ID:29438 發表于 2015-5-7 13:03 | 顯示全部樓層
好東西,謝謝!
回復

使用道具 舉報

ID:78813 發表于 2015-5-9 09:35 | 顯示全部樓層
樓主好人!
回復

使用道具 舉報

ID:82652 發表于 2015-6-10 20:14 | 顯示全部樓層
謝謝樓主,我最近在做這樣的課設
。萬分感謝
回復

使用道具 舉報

ID:87330 發表于 2015-7-31 11:44 | 顯示全部樓層
為什么我的顯示是亂碼?
回復

使用道具 舉報

ID:85435 發表于 2015-8-1 20:29 | 顯示全部樓層
在學習光立方程序
回復

使用道具 舉報

ID:140435 發表于 2016-9-25 20:43 | 顯示全部樓層
為什么會有led亂跳的現象
回復

使用道具 舉報

ID:205447 發表于 2017-6-1 16:02 | 顯示全部樓層
剛好課設需要,學習下,謝謝樓主
回復

使用道具 舉報

ID:211119 發表于 2017-6-17 20:05 | 顯示全部樓層
這個有仿真程序嗎
回復

使用道具 舉報

ID:265704 發表于 2017-12-24 14:24 | 顯示全部樓層
感謝樓主分享
回復

使用道具 舉報

ID:495804 發表于 2020-3-11 20:33 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:685726 發表于 2020-3-12 00:18 | 顯示全部樓層
挺完整的,如果能補充595的使用方法和8x8點陣如何連接成更大的點陣就好了
回復

使用道具 舉報

ID:905511 發表于 2023-12-19 23:40 | 顯示全部樓層
沒想到快9年了,還是那么經典
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区免费视频 | 国产高清视频在线观看播放 | 亚洲一区二区三区观看 | av免费网址| 中文字幕在线免费视频 | 亚洲日韩第一页 | 国产在线精品一区二区三区 | 午夜国产 | 91福利网| 毛片区 | 日韩视频专区 | 日本精品视频在线 | 国产高清亚洲 | 日韩精品中文字幕一区二区三区 | 久久国产高清 | 亚洲一区电影 | h视频在线观看免费 | 91精品国产91综合久久蜜臀 | 国产一区二区三区久久久久久久久 | 天天干天天草 | 在线观看国产网站 | 精品成人av | 99久久中文字幕三级久久日本 | 热久久免费视频 | 中文字幕福利 | 最新日韩在线视频 | 国产精品一区2区 | 黄色免费在线观看网址 | 色妞av| 在线欧美视频 | 亚洲午夜精品一区二区三区他趣 | 亚洲协和影视 | 日本黄色的视频 | 成人黄色电影免费 | 天堂资源 | 国产99久久精品一区二区300 | 日韩欧美在线视频一区 | 国产精品免费大片 | av天天爽| 久久久国产精品视频 | 免费国产视频在线观看 |