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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7197|回復: 3
收起左側

普中51單片機開發板,12864和矩陣鍵盤源程序

[復制鏈接]
ID:189450 發表于 2017-4-18 09:58 | 顯示全部樓層 |閱讀模式
QQ圖片20170418095459.jpg QQ圖片20170418095438.jpg QQ圖片20170418095506.jpg

main.c(參考了好多大神的源碼,結合矩陣鍵盤和LCD12864,顯示相應的數字)
  1. #include<AT89X52.h>
  2. #include"12864.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar code dazi[9][64]=
  6. {
  7.         { //1
  8.         0x00,0x10,0x10,0x10,0x18,0x38,0xFC,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  9.         0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10.         0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  11.         0x00,0x40,0x40,0x40,0x60,0x70,0x7F,0x7F,0x7F,0x70,0x60,0x40,0x40,0x40,0x00,0x00,        
  12.         },

  13.         {//2
  14.         0x00,0xE0,0xF8,0xFC,0x8C,0x06,0x06,0x02,0x02,0x06,0x0E,0x1E,0xFC,0xF8,0xF0,0x00,
  15.         0x00,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xF8,0xFF,0x7F,0x1F,0x00,
  16.         0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x3C,0x1E,0x0F,0x03,0x01,0x00,0x00,0x80,0x80,
  17.         0x70,0x7C,0x7E,0x77,0x73,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x78,0x7E,0x7F,0x01,
  18.         },

  19.         {//3
  20.         0x00,0xF0,0xF8,0xFC,0xCE,0x06,0x02,0x02,0x06,0x06,0x1E,0xFC,0xF8,0xF0,0xC0,0x00,
  21.         0x00,0x01,0x01,0x01,0x01,0x00,0x80,0x80,0xC0,0xE0,0xF0,0x7F,0x3F,0x1F,0x03,0x00,
  22.         0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x01,0x01,0x03,0x07,0xFF,0xFE,0xF8,0xE0,
  23.         0x00,0x0F,0x1F,0x3F,0x77,0x60,0x40,0x40,0x40,0x60,0x70,0x38,0x3F,0x1F,0x0F,0x01,
  24.         },

  25.         {//4
  26.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8,0xFE,0xFF,0xFE,0x00,0x00,0x00,
  27.         0x00,0x00,0x00,0xC0,0xF0,0x7C,0x1F,0x07,0x01,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,
  28.         0x70,0x7C,0x7F,0x77,0x71,0x70,0x70,0x70,0x70,0xFF,0xFF,0xFF,0xFF,0x70,0x70,0x70,
  29.         0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xE0,0xC0,0xC0,

  30.         },

  31.         {//5
  32.         0x00,0x00,0xFE,0xFE,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,
  33.         0x00,0x00,0xFF,0xFF,0xE0,0x70,0x70,0x30,0x30,0x70,0x70,0xF0,0xE0,0xC0,0x80,0x00,
  34.         0x00,0xC0,0xC3,0xC3,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFC,
  35.         0x00,0x0F,0x1F,0x3F,0x73,0x60,0x60,0x40,0x40,0x60,0x70,0x78,0x3F,0x1F,0x07,0x00,
  36.         },

  37.         {//6
  38.         0x00,0x00,0xE0,0xF0,0xF8,0x1C,0x0E,0x06,0x02,0x02,0x06,0x7E,0x7E,0x7C,0x70,0x00,
  39.         0xF0,0xFF,0xFF,0xFF,0xC1,0xE0,0x70,0x70,0x30,0x30,0x70,0xF0,0xF0,0xE0,0xC0,0x00,
  40.         0x3F,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFE,
  41.         0x00,0x03,0x0F,0x1F,0x3F,0x78,0x70,0x60,0x40,0x40,0x60,0x70,0x3F,0x1F,0x0F,0x03,
  42.         },

  43.         {//7
  44.         0x00,0xF8,0xFE,0x1E,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0xC6,0xF6,0x7E,0x1E,0x06,
  45.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x7F,0x0F,0x03,0x00,0x00,0x00,
  46.         0x00,0x00,0x00,0x00,0x00,0x80,0xF8,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
  47.         0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  48.         },

  49.         {//8
  50.         /*--  ¿í¶èx¸ß¶è=16x32  --*/
  51.         0x00,0xF0,0xF8,0xFC,0x0E,0x06,0x06,0x02,0x02,0x06,0x06,0x0E,0xFC,0xF8,0xF0,0x80,
  52.         0x00,0x0F,0x1F,0x3F,0xFC,0xF8,0xF0,0xE0,0xE0,0xC0,0xE0,0xF0,0x3F,0x1F,0x0F,0x01,
  53.         0xE0,0xFC,0xFE,0x1F,0x03,0x01,0x00,0x01,0x03,0x03,0x07,0x0F,0x7F,0xFE,0xFC,0xE0,
  54.         0x03,0x0F,0x1F,0x3C,0x70,0x60,0x60,0x40,0x40,0x60,0x60,0x70,0x3C,0x1F,0x0F,0x03,
  55.         },

  56.         {//9
  57.         0x80,0xF0,0xF8,0xFC,0x1E,0x06,0x06,0x02,0x02,0x06,0x0E,0x3C,0xFC,0xF0,0xE0,0x00,
  58.         0x7F,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFE,
  59.         0x00,0x03,0x07,0x07,0x0F,0x0E,0x0E,0x0C,0x0E,0x0E,0x07,0x83,0xFF,0xFF,0xFF,0x0F,
  60.         0x00,0x0C,0x3E,0x7E,0x7E,0x70,0x40,0x40,0x60,0x70,0x3C,0x1F,0x0F,0x07,0x00,0x00,
  61.         }
  62. };
  63. void delay1ms(uchar x)
  64. {
  65.         uint i,j;
  66.         for(i = x;i > 0;i --)
  67.                 for(j = 110;j > 0;j --);
  68. }
  69. /**************Ö¸¶¨μú¼¸oáÅÅÏÔê¾ÄúèY 16*32********************/
  70. void WRITE_STRING1632(uchar plat,uchar column,uchar p)
  71. {
  72.         uchar page,page1,col,col_h,col_l;
  73.         uchar i,a,jj=0;
  74.         page1= plat*2;
  75.         page=page1+Page0;
  76.         col=column*16;
  77.         col_h=((col>>4)|0xf0)&0x1f;
  78.         col_l=col&0x0f;
  79.         for(a = 0; a < 4; a++)
  80.         {
  81.                 LCD_WRITE_COM(col_h);
  82.                 LCD_WRITE_COM(col_l);
  83.                 LCD_WRITE_COM(page+a);
  84.                 for(i = 0;  i < 16; i ++ )
  85.                  {
  86.                         LCD_WRITE_DATA(dazi[p][jj++]);        
  87.                 }
  88.         }         
  89. }
  90. void keyscanf()
  91. {
  92.         uchar temp, key;
  93.         P2 = 0Xef;
  94.         temp = P2;
  95.         temp = temp & 0x0f;
  96.         if(temp != 0x0f)
  97.         {
  98.                 delay1ms(5);//襶¶¶ˉ
  99.                 temp=P2;
  100.                 temp = temp & 0x0f;
  101.                 if(temp != 0x0f)
  102.                 {
  103.                         temp = P2;
  104.                         switch(temp)//′Ëê±°′¼üòѾ-¶¨Î»μ½μúò»DDáË
  105.                         {
  106.                                 case 0xe7: key = 1; break;//′Ëê±′ú±íμúò»DDμÄμúò»¸ö°′¼ü°′Ï£¬¼′11100111
  107.                                 case 0xeb: key = 2; break;
  108.                                 case 0xed: key = 3; break;
  109.                         }
  110.                         while(temp != 0x0f)//°′¼üËé¿a
  111.                         {
  112.                                 temp = P2;
  113.                                 temp = temp & 0x0f;
  114.                         }
  115.                         WRITE_STRING1632(1,3,key-1);
  116.                 }
  117.         }
  118.         P2 = 0Xdf;
  119.         temp = P2;
  120.         temp = temp & 0x0f;
  121.         if(temp != 0x0f)
  122.         {
  123.                 delay1ms(5);//襶¶¶ˉ
  124.                 temp = P2;
  125.                 temp = temp & 0x0f;
  126.                 if(temp != 0x0f)
  127.                 {
  128.                         temp = P2;
  129.                         switch(temp)
  130.                         {
  131.                                 case 0xd7: key = 4; break;
  132.                                 case 0xdb: key = 5; break;
  133.                                 case 0xdd: key = 6; break;

  134.                         }
  135.                         while(temp != 0x0f)//°′¼üËé¿a
  136.                         {
  137.                                 temp = P2;
  138.                                 temp = temp & 0x0f;
  139.                         }
  140.                         WRITE_STRING1632(1,3,key-1);
  141.                 }
  142.         }
  143.         P2 = 0Xbf;
  144.         temp = P2;
  145.         temp = temp & 0x0f;
  146.         if(temp != 0x0f)
  147.         {
  148.                 delay1ms(5);//襶¶¶ˉ
  149.                 temp=P2;
  150.                 temp = temp & 0x0f;
  151.                 if(temp != 0x0f)
  152.                 {
  153.                         temp = P2;
  154.                         switch(temp)
  155.                         {
  156.                                 case 0xb7: key = 7; break;
  157.                                 case 0xbb: key = 8; break;
  158.                                 case 0xbd: key = 9; break;

  159.                         }
  160.                         while(temp != 0x0f)//°′¼üËé¿a
  161.                         {
  162.                                 temp = P2;
  163.                                 temp = temp & 0x0f;
  164.                         }


  165. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
LCD1602顯示1-9.zip (39.61 KB, 下載次數: 49)

評分

參與人數 2黑幣 +57 收起 理由
sheng7533967 + 7 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:257024 發表于 2017-12-10 13:13 | 顯示全部樓層
我也有這個開發板。馬上試試樓主的代碼。謝謝分享!
回復

使用道具 舉報

ID:257024 發表于 2017-12-10 13:17 | 顯示全部樓層
實驗了在我的開發板上不能顯示。仔細看不是同一版本。
回復

使用道具 舉報

ID:472268 發表于 2019-3-13 11:14 | 顯示全部樓層
你掌握的很好,值得表揚!后面繼續努力!

評分

參與人數 3黑幣 +25 收起 理由
春風十里吹 + 10
正規007 + 5 很給力!
shuisheng60 + 10 很給力!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产综合久久福利软件 | caoporn国产 | 国产伦精品一区二区三区高清 | 精品久久久久久久久久久久久久 | 日本成人在线网址 | 全免一级毛片 | 欧美日韩在线视频一区 | 亚洲网在线| 91精品亚洲| 国产精品久久久久久久久久妇女 | 在线成人av | 久久国产一区 | 欧美极品少妇xxxxⅹ免费视频 | 久久精品在线播放 | 日韩国产精品一区二区三区 | 亚洲欧洲精品成人久久奇米网 | 日韩一区二区在线视频 | 日韩欧美在线视频 | 久久人人网 | 99久久99| 久久久久国产精品一区二区 | a在线视频观看 | 日韩欧美网 | 男女视频在线免费观看 | 亚洲欧美日韩精品久久亚洲区 | 精品日韩一区二区 | 91精品国产91久久久久久 | 日韩欧美电影在线 | 久草在线在线精品观看 | 欧美一区二区久久 | 国产专区在线 | 日韩在线免费电影 | 丁香六月激情 | 日韩爱爱网站 | 视频1区| 中文字幕国产精品 | 91资源在线 | av中文字幕在线 | 国产精品免费播放 | 91在线网站 | 一级毛片免费完整视频 |