標題: 基于51單片機的mini12864 SPI通信控制代碼 [打印本頁]

作者: 芒屏    時間: 2021-3-7 00:20
標題: 基于51單片機的mini12864 SPI通信控制代碼
通過SPI通信對mini12864進行驅(qū)動
此程序模塊化性高,可隨意搬運12864驅(qū)動代碼,
且C語言注釋詳細。第一次發(fā)帖希望對大家有用。
(注:暫時沒有用到圖片中字庫的四個引腳附件中包含圖片轉(zhuǎn)BMP文件以及BMP或文字轉(zhuǎn)HEX文件

單片機源程序如下:
  1. #include "config.h"

  2. /*=========================================================
  3. 函數(shù)        :        Delay_ms(unchar ms)
  4. 參數(shù)        :        ms:毫秒數(shù)
  5. 返回值:        無
  6. 描述        :        12T 51單片機自適應(yīng)主時鐘毫秒級延時函數(shù)
  7. =========================================================*/
  8. void        Delay_ms(int ms)        //@11.0592MHz
  9. {
  10.         int i;
  11.         do{
  12.                         i        =        11059200UL        /        96000;
  13.                         while(--i);                 //96T per loop
  14.                 }while (--ms);
  15. }


  16. /*===============================================================================
  17.                                                                                                                                                 數(shù)據(jù)區(qū)
  18. ===============================================================================*/
  19. unchar code        pict[]=
  20. {/*--  調(diào)入了一幅圖像:D:\單片機\51單片機\MSC51資料V3_1\9、視頻教程\【選配】漢字液晶12864\BMP圖片\蘋果.bmp  --*/
  21. /*--  寬度x高度=128x64  --*/
  22. //我(0) 愛(1) 你(2)

  23. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x3C,0xF8,0x00,0x00,0x00,0x20,0x60,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  24. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x18,0xF6,0x87,0xC2,0xC2,0x40,0x47,0x7E,0xE0,0x20,0x30,0x30,0x10,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  25. 0x00,0x00,0x00,0x40,0xC0,0xC3,0x63,0x63,0x21,0x31,0x11,0xFF,0xFF,0x04,0x04,0x00,0x00,0x80,0x83,0xCE,0x78,0xF8,0xCE,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  26. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x1C,0x0F,0x01,0x00,0x02,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x18,0x38,0x3F,0x30,0x00,0x00,/*"我",0*/

  27. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0xE0,0xA0,0x30,0x38,0x18,0x10,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  28. 0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x20,0x20,0x23,0x26,0x1E,0x10,0xF0,0xF3,0x57,0x10,0x0C,0x0B,0x09,0x88,0x88,0x4C,0x3C,0x3C,0x1C,0x18,0x10,0x00,0x00,0x00,0x00,
  29. 0x00,0x00,0x00,0x00,0x01,0x03,0x00,0x02,0x06,0x86,0xC6,0x72,0x9E,0xA7,0xA2,0x22,0x13,0x93,0xF3,0x71,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0x00,0x00,0x10,0x08,0x0C,0x06,0x03,0x21,0x20,0x20,0x10,0x18,0x08,0x0D,0x07,0x07,0x07,0x0C,0x18,0x18,0x38,0x30,0x70,0x30,0x20,0x20,0x20,0x20,0x00,0x00,/*"愛",1*/

  31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xF0,0x20,0x00,0x00,0x00,0x00,0x80,0xF8,0x78,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32. 0x00,0x00,0x00,0x00,0x00,0xC0,0x60,0x38,0x3C,0xF7,0x03,0x00,0x00,0x40,0x20,0x18,0x0E,0x17,0x19,0xC8,0xC8,0x88,0x04,0x04,0x36,0x1E,0x1C,0x0C,0x08,0x00,0x00,0x00,
  33. 0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0xC0,0xE0,0x7C,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x08,0x18,0x30,0x70,0xE0,0xC0,0x00,0x00,0x00,
  34. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x07,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x0C,0x1C,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,/*"你",2*/

  35. 0x1C,0x3E,0x7E,0xFC,0xFC,0x7E,0x3E,0x1C
  36. };

  37. unchar code M[]=
  38. {

  39. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF8,0xE8,0xF4,
  40. 0xFC,0x7E,0x7E,0x7E,0xFF,0xFF,0xFF,0xFE,0x7E,0x7E,0xFC,0xFC,0xF8,0xF0,0xF0,0xC0,
  41. 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x70,0xF0,0xF8,0xF0,0xE0,0xC0,0xC0,
  42. 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x61,0x61,0x60,0x60,0x7F,0x7F,0x73,0x67,
  43. 0x43,0x40,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xC0,0x00,0x00,0x00,0x00,0x00,
  44. 0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0xFF,0xFF,0x7F,0x7F,0xFF,0xFF,0xFC,0xFC,0xFC,
  45. 0xFC,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xFC,0xFE,0xFE,0xFD,0xFF,0xFF,0xFF,
  46. 0x7F,0xFF,0xFF,0xFF,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,
  47. 0x7F,0xC0,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
  48. 0x03,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x00,0x80,0xE0,0xFF,0x3F,0x1F,0x3F,0x7F,0x7E,
  49. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x41,0x83,0x86,0x8C,0x88,0x90,0x90,
  50. 0xA0,0xE0,0x60,0x60,0x20,0x20,0x20,0x60,0x60,0xE0,0xB0,0xB0,0x98,0x98,0x8C,0x86,
  51. 0x83,0xC3,0x4C,0x38,0x00,0x00,0x00,0x00,
  52. };

  53. /*===============================================================================
  54.                                                                                                                                                 主函數(shù)
  55. ===============================================================================*/
  56. void main()
  57. {
  58.         unchar i;
  59.         Initialize();
  60.         Clear(1, 1, 128, 64);
  61.         TEXTput(1,1,32,32,pict);
  62.         TEXTput(5,33,32,32,pict+128);
  63.         TEXTput(1,65,32,32,pict+256);
  64.         TEXTput(6,4,8,8,pict+128*3);
  65.         TEXTput(6,18,8,8,pict+128*3);
  66.         TEXTput(7,10,8,8,pict+128*3);
  67.         TEXTput(8,1,8,8,pict+128*3);
  68.         TEXTput(8,28,8,8,pict+128*3);
  69.         Delay_ms(999);
  70.         BMPput(4, 88, 40, 40, M);
  71. /*
  72.         for(i=0; i<64; i++)
  73.         {
  74.                 SPIsend_cd(0x40+i,0);                //起始行
  75.                 Delay_ms(900);
  76.         }滾動顯示
  77. */
  78.         SPIsend_cd(0xa7,0);                        //反顯
  79.         //SPIsend_cd(0xa6,0);                //關(guān)反顯
  80.         
  81.         while(1);
  82. }
復制代碼
全部程序51hei下載地址:
12864.zip (598.99 KB, 下載次數(shù): 29)

作者: 芒屏    時間: 2021-3-15 15:21
圖片上的代碼和壓縮包中的C代碼有出入




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1