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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1161|回復: 4
收起左側

清翔的51單片機開發板,矩陣鍵盤和lcd1602是不是不能同時使用?

[復制鏈接]
ID:1138180 發表于 2024-12-2 19:45 來自觸屏版 | 顯示全部樓層 |閱讀模式
矩陣鍵盤和lcd1602的接口一樣導致按矩陣鍵盤時改變了lcd1602液晶的讀寫狀態,有解決的方法嗎?
Screenshot_20241202_192846.jpg
Screenshot_20241202_192852.jpg
回復

使用道具 舉報

ID:940483 發表于 2024-12-3 08:11 | 顯示全部樓層
按鍵在按和松會產生抖動,加消抖,確保按鍵的識別。會有按鍵去重問題。可通過一定的延時或使用狀態標志來解決。
回復

使用道具 舉報

ID:161164 發表于 2024-12-3 09:25 | 顯示全部樓層
可以,但要有技巧
讀鍵盤前 要P0=0;
讀完鍵盤后 P34=0;
回復

使用道具 舉報

ID:961114 發表于 2024-12-3 09:26 | 顯示全部樓層
  1. #include "ai8051u.h"              //調用頭文件
  2. #include "stc32_stc8_usb.h"       //調用頭文件
  3. #include "intrins.h"               //調用頭文件


  4. #define u8 unsigned char    //8位無符號變量(0-255)
  5. #define u16 unsigned int    //16位無符號變量(0-65535)

  6. u8  state = 0;      //初始狀態

  7. char *USER_DEVICEDESC = NULL;
  8. char *USER_PRODUCTDESC = NULL;
  9. char *USER_STCISPCMD = "@STCISP#";

  10. void Delay20ms(void)        //@24.000MHz Delay20ms();
  11. {
  12.         unsigned long edata i;

  13.         _nop_();
  14.         _nop_();
  15.         i = 119998UL;
  16.         while (i) i--;
  17. }


  18. void main(void)      //主函數
  19. {
  20.     WTST = 0;  //設置程序指令延時參數,賦值為0可將CPU執行指令的速度設置為最快
  21.     EAXFR = 1; //擴展寄存器(XFR)訪問使能
  22.     CKCON = 0; //提高訪問XRAM速度

  23.        
  24.         P0M1 = 0x00;   P0M0 = 0x00;
  25.     P1M1 = 0x00;   P1M0 = 0x00;
  26.     P2M1 = 0x00;   P2M0 = 0x00;
  27.     P3M1 = 0x00;   P3M0 = 0x00;
  28.     P4M1 = 0x00;   P4M0 = 0x00;
  29.     P5M1 = 0x00;   P5M0 = 0x00;
  30.     P6M1 = 0x00;   P6M0 = 0x00;
  31.     P7M1 = 0x00;   P7M0 = 0x00;
  32.        

  33.         usb_init();                                     //USB CDC 接口配置
  34.    
  35.     IE2 |= 0x80;                                    //使能USB中斷
  36.     EA = 1;                                         //
  37.        
  38.         P40 = 0;
  39.     while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
  40.        
  41.         while(1)
  42.         {
  43.                  if (bUsbOutReady)                    //如果接收到了數據
  44.         {
  45.             //USB_SendData(UsbOutBuffer,OutNumber);   //發送數據緩沖區,長度(接收數據原樣返回, 用于測試)
  46.    
  47.             usb_OUT_done();
  48.         }
  49. //                //任務1:按下P32按鈕燈亮,松開P32按鈕燈滅;
  50. //                if( P32 == 0 )
  51. //                {
  52. //                        P00 = 0;
  53. //                }
  54. //                 else
  55. //                 {
  56. //                         P00 = 1;
  57. //          }
  58.                
  59. //                //任務1:按下P32按鈕燈滅,松開P32按鈕燈亮;
  60. //                if( P32 == 0 )
  61. //                {
  62. //                        P00 = 1;
  63. //                }
  64. //                 else
  65. //                 {
  66. //                         P00 = 0;
  67. //          }
  68.                 //任務1:按一下燈亮,按一下燈滅;
  69.                 if( P32 == 0 )           //判斷P32是否按下
  70.                 {
  71.                      Delay20ms();       //延時20ms消抖
  72.                         if ( P32 == 0 )
  73.                         {
  74.                            state = !state;       //  變量取反 0 1 0  1
  75.                            P00 = state;
  76.                                
  77.                            printf("state:%d\r\n",(int)state);
  78.                        
  79.                           while( P32 == 0);        //等待P32松開
  80.                        
  81.              }
  82.               }
  83.           }
復制代碼
回復

使用道具 舉報

ID:92781 發表于 2024-12-3 10:24 | 顯示全部樓層
不修改電路的話,基本沒有辦法,這個電路相當于用按鍵給lcd發送數據了,最簡單就是把1602的CE使能要獨立出去,也可以增加一個iic的1602驅動模塊,不過需要改程序。你也可以試試樓上通過改變P0和P34狀態的方法,這種方法仍然接受數據的輸入,讀寫狀態仍然改變,只不過輸入的值為0,LCD接受的是無效指令。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产一区在线 | 女人av在线 | 色视频www在线播放国产人成 | 日本成人免费网站 | 免费一级黄色 | 精品久久久久久久久久久 | 一区二区三区四区在线播放 | 99精品在线观看 | 在线播放国产精品 | 国产日韩欧美在线观看 | 91精品看片 | 国产精品手机在线 | 成人精品一区二区三区 | 日韩欧美精品 | 一区二区欧美日韩 | 国产黄色片在线观看 | 久久久久国产一区二区三区 | 一区二区三区在线看 | www中文字幕| 日本精品网站 | 欧美日韩国产一区二区 | 国产亚洲精品码 | 亚洲午夜18毛片在线看 | 国内自拍xxxx18| 国产一区在线视频 | 国产日韩欧美视频 | 欧美成在线 | 免费av网站在线观看 | 51av视频| 国产精品免费一区 | 四虎影视库 | 超碰精品在线 | 伊人久久艹 | 久久18| 69福利视频| 日日干干| 谁有毛片网址 | 亚洲iv一区二区三区 | a免费视频| 一级视频在线观看 | 欧美日韩二区三区 |