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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機keypad鍵盤數據采集這個百思不得其解的問題

[復制鏈接]
跳轉到指定樓層
樓主
temp=KEY_ScanPort;                 //讀P1口      
        temp=temp&0xF0;
        temp=~((temp>>4)|0xF0);
        if(temp==1)
                key=0;
        else if(temp==2)
                key=1;
        else if(temp==4)
                key=2;
        else if(temp==8)
                key=3;
        
        KEY_ScanPort=0xFF;//去掉這一句,下面temp就采集不到正確數據了,為什么?
        
        KEY_ScanPort=0x0F; //   高四位置0,低四位設置為數據采集狀態            
         temp=KEY_ScanPort; //上面那句去掉,這里采集到的數據就是錯的         
        temp=temp&0x0F;
        temp=~(temp|0xF0);        
        if(temp==1)
                key=key+0;
        else if(temp==2)
完整的代碼及電路在附件里。仿真觀察p2口數據顯示情況。如果去掉上面那一句,再對比觀察可知數據采集不正確。 keyboard.rar (72.86 KB, 下載次數: 6)

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

使用道具 舉報

沙發
ID:349276 發表于 2024-11-3 22:00 | 只看該作者
說明一下,不是延時等待電平穩定問題。測試過了。
回復

使用道具 舉報

板凳
ID:1121801 發表于 2024-11-4 08:22 | 只看該作者
回去好好看一下51單片機各口的定義,51單片機的各輸入輸出口只是準雙向口,不是真正的雙向口,所以當要接收外部數據輸入是,要先將輸入輸出口置1,然后讀取的數據才會正確,不置1的話,讀取到的數據就是內部緩沖器的數據,會不準確,因為內部緩沖器的數據不一定是輸入的數據,還有可能是內部代碼產生的數據。
回復

使用道具 舉報

地板
ID:161164 發表于 2024-11-4 09:20 | 只看該作者
仿真不真,詳情看此貼:
解決某些版本Proteus陣列鍵盤失效的奇葩方法
回復

使用道具 舉報

5#
ID:1109793 發表于 2024-11-4 09:42 | 只看該作者
這個不是前幾天剛問過?
回復

使用道具 舉報

6#
ID:349276 發表于 2024-11-5 13:12 | 只看該作者
cyi8 發表于 2024-11-4 08:22
回去好好看一下51單片機各口的定義,51單片機的各輸入輸出口只是準雙向口,不是真正的雙向口,所以當要接收 ...

KEY_ScanPort=0x0F; //   高四位置0,低四位設置為數據采集狀態
這一句,低4位就是置1,斷cmos門地,準備好采集數據。   所以,不是你說的原因。
回復

使用道具 舉報

7#
ID:349276 發表于 2024-11-5 13:13 | 只看該作者
xiaobendan001 發表于 2024-11-4 09:42
這個不是前幾天剛問過?

謝謝還記得前面的問題。這個問題是新問題。跟前面那個不一樣。這次這個代碼是個很神奇的問題。
回復

使用道具 舉報

8#
ID:349276 發表于 2024-11-5 13:21 | 只看該作者
lkc8210 發表于 2024-11-4 09:20
仿真不真,詳情看此貼:
解決某些版本Proteus陣列鍵盤失效的奇葩方法

你這測試有意思。我還沒有去這么仿真測過。不過這自畫鍵盤,我畫過,沒有任何問題,所以沒有去進一步研究。下次試試。這個帖子問的問題,只有才keypad這個鍵盤模板里才遇到。其它自畫鍵盤或真實鍵盤中,不存在這個問題的。所以,不知道是proteus 的keypad這個模型本身有問題還是,自己哪點沒有理解透。
回復

使用道具 舉報

9#
ID:349276 發表于 2024-11-5 13:24 | 只看該作者
cyi8 發表于 2024-11-4 08:22
回去好好看一下51單片機各口的定義,51單片機的各輸入輸出口只是準雙向口,不是真正的雙向口,所以當要接收 ...

KEY_ScanPort=0xFF;//真實鍵盤和其它仿真模型鍵盤,可以去掉這一句的。但keypad模型,刪除這一句,下面temp就采集不到正確數據了,為什么?
        
        KEY_ScanPort=0x0F; //   高四位置0,低四位設置為數據采集狀態            
         temp=KEY_ScanPort; //上面那句去掉,這里采集到的數據就是錯的
回復

使用道具 舉報

10#
ID:349276 發表于 2024-11-5 13:24 | 只看該作者
這個還沒有解決,頂一下。
回復

使用道具 舉報

11#
ID:349276 發表于 2024-11-5 13:58 | 只看該作者
我把上面的問題,縮在這個圖片里,方便大家討論。如果刪掉,P3的值是0xf0.也就是P1,第二次讀不到按鍵數據。
回復

使用道具 舉報

12#
ID:192020 發表于 2024-11-5 17:11 | 只看該作者
既然都說真實鍵盤正常了,何必還糾結這個仿真?畢竟還得以實物為主。
回復

使用道具 舉報

13#
ID:1109793 發表于 2024-11-6 07:35 | 只看該作者
萬家燈火51 發表于 2024-11-5 13:13
謝謝還記得前面的問題。這個問題是新問題。跟前面那個不一樣。這次這個代碼是個很神奇的問題。

前幾天有人問過類似的問題,不是你問的,我是說那個,你搜索一下就看到了。
回復

使用道具 舉報

14#
ID:161164 發表于 2024-11-6 11:01 | 只看該作者
萬家燈火51 發表于 2024-11-5 13:21
你這測試有意思。我還沒有去這么仿真測過。不過這自畫鍵盤,我畫過,沒有任何問題,所以沒有去進一步研究 ...

我仿真測試的就是自畫鍵盤啊,當然keypad這個鍵盤模板也會出現同樣問題
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产福利在线 | 亚洲精品9999久久久久 | 激情三区 | 国产激情综合五月久久 | 丁香五月网久久综合 | 中文字幕一区二区三区不卡 | 欧美日韩综合一区 | 亚洲一区二区精品视频在线观看 | 91精品久久久久久久久中文字幕 | 免费看91 | 欧美在线资源 | a国产视频 | 欧美日韩在线观看视频网站 | 91精品国产色综合久久 | 日韩欧美在线一区二区 | 日韩精品在线视频 | 国产一区二区三区视频 | 欧美日韩亚洲系列 | av中文字幕在线 | 国产视频福利一区 | 久久五月婷 | 亚洲精品久久久蜜桃 | 久久久久国产精品午夜一区 | 少妇一级淫片免费放播放 | 中文字幕 亚洲一区 | 毛片一级片| 久久99精品视频 | 精品视频在线观看 | 中文字幕一区二区三区在线视频 | 国产丝袜一区二区三区免费视频 | 欧美成人手机视频 | 欧美精品影院 | 亚洲国产精品成人 | 日本天堂视频 | 久久国产精品亚洲 | 亚洲夜射 | 高清久久久 | 国产日韩精品一区二区三区 | 国产性网 | 久久婷婷麻豆国产91天堂 | 国产精品一区二区三区四区 |