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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3771|回復: 0
上一主題 下一主題
收起左側

單片機4*4按鍵設計 帶實驗文檔說明,仿真圖

[復制鏈接]
跳轉到指定樓層
樓主
一個基于AT89C51簡單的4*4按鍵設計,帶實驗文檔說明,仿真圖,帶注釋程序。


所有資料51hei提供下載:

新建壓縮(zipped)文件夾.zip (30.39 KB, 下載次數: 11)

實驗24 單片機鍵盤顯示控制實驗.doc (57.5 KB, 下載次數: 5)



單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int        //引用頭文件和定義宏

  4. uchar n,i;
  5. uchar code number[]={"0123456789ABCDEF"};
  6. uchar code k_t[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};

  7. //相連一行為0,不相連為1,找出所有按鍵值(可列表實現)
  8. //K_T={0xee,...};


  9. sbit lcdrs=P2^0;                                                                                                
  10. sbit lcdrw=P2^1;
  11. sbit lcden=P2^2;  //定義LCD的引腳

  12. void delaylcd() //延時,用于LCD控制
  13. {  uchar i;
  14.    for(i=0;i<125;i++); }

  15. void delay()          //延時20ms
  16. {  uchar i;
  17.    uchar t=20;
  18.    while(t--)
  19.    for(i=0;i<125;i++); }

  20. void w_lcdcom(uchar com) //寫LCD命令數據
  21. {  lcdrs=0;
  22.    lcdrw=0;
  23.    delay();
  24.    P0=com;
  25.    lcden=1;
  26.    delay();
  27.    lcden=0; }

  28. void w_lcddat(uchar dat)//寫LCD一個字符數據
  29. {  lcdrs=1;
  30.    lcdrw=0;
  31.    delay();
  32.    P0=dat;
  33.    lcden=1;
  34.    delay();
  35.    lcden=0; }

  36. void initlcd()//初始化LCD
  37. {  lcden=0;
  38.    w_lcdcom(0x38);
  39.    w_lcdcom(0x06);
  40.    w_lcdcom(0xc); }

  41. void w_lcdstr(uchar *s)//寫LCD字符串
  42. {   while(*s)
  43.    {  w_lcddat(*s);
  44.       s++;} }

  45. void key()
  46. { uchar x=0,y=0,i;
  47.    P3=0xf0;  //行線送全“1”
  48.    while(P3==0xf0); //無鍵按下等待
  49.    delay(); //延時20ms去抖動
  50.    y=P3; //讀行值
  51.    P3=0xf; //列線送全“1”
  52.    x=P3; //讀列值
  53.    x=x|y; //將4位行值和4位列值,組合成8位的鍵值。
  54.    P3=0xf0;
  55.    while(P3!=0xf0);
  56.    for(i=0;i<16;i++)  
  57.    {  if(x==k_t[i])
  58.       {  n=i; break;}
  59.    }}


  60. void main()//主程序
  61. {  uint count=0,i;
  62.    initlcd(); //初始化LCD
  63.    while(1)
  64.    { //讀按鍵
  65.               w_lcdcom(0x80);   //置光標到第1行第1列
  66.       for(i=0;i<16;i++)
  67.       {  key();
  68.          w_lcddat(number[n]);delaylcd();count++; }

  69.          if(count==17)        w_lcdcom(0xc0);
  70.          
  71.           {for(i=0;i<16;i++)
  72.       {  key();
  73.          w_lcddat(number[n]);delaylcd();count++;}}        //顯示
  74.         
  75.         if(count==33)        {w_lcdcom(1);count=0;}
  76.           }
  77. }
復制代碼









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

使用道具 舉報

沙發
ID:535857 發表于 2019-5-12 00:44 來自手機
打不開,解壓不了,上傳不上,唉

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区四区 | jdav视频在线观看免费 | 夜夜爽99久久国产综合精品女不卡 | 成人深夜福利在线观看 | 亚洲精品一区二区三区四区高清 | 久久久久久亚洲精品不卡 | av电影一区二区 | 久久精品久久精品 | 日韩在线观看精品 | 欧美专区在线 | 欧美区在线观看 | 99精品视频免费在线观看 | 久久久久久成人 | 久久这里只有精品首页 | 欧美视频免费在线观看 | 免费观看一级毛片 | 欧美大片黄| 国产精品资源在线观看 | 久久伊人影院 | 91精品久久久久久久久久 | 美女爽到呻吟久久久久 | 亚洲精品区 | 国产精品一区在线观看你懂的 | 青青草亚洲 | 精品久久久久一区二区国产 | 日韩免费中文字幕 | 国产美女视频一区 | 精品一区二区三区在线观看国产 | 欧美白人做受xxxx视频 | 一区天堂| 久久久久国产 | 久久99精品久久久久久秒播九色 | 欧美亚州 | 欧美精品一区二区三区在线 | 日本黄色片免费在线观看 | 特级毛片爽www免费版 | 日韩在线看片 | 国产精品一区二区久久 | 欧美一级黄视频 | 免费观看www7722午夜电影 | 欧美一区二区三区在线观看视频 |