欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1115|回復: 4
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:1138180 發表于 2024-12-2 19:45 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
矩陣鍵盤和lcd1602的接口一樣導致按矩陣鍵盤時改變了lcd1602液晶的讀寫狀態,有解決的方法嗎?

Screenshot_20241202_192846.jpg (221.56 KB, 下載次數: 0)

Screenshot_20241202_192846.jpg

Screenshot_20241202_192852.jpg (218.3 KB, 下載次數: 0)

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

使用道具 舉報

沙發
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.           }
復制代碼
回復

使用道具 舉報

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

使用道具 舉報

6#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表