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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機多個IO輸入端,有什么比較好的方法檢測出其中的IO口發生變化

[復制鏈接]
跳轉到指定樓層
樓主
ID:878906 發表于 2021-3-3 18:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
IAP15W系列的單片機芯片,假設有30個IO口(P0~P7都有用到)都作為輸入口,初始化時都默認為高電平。有什么比較好的方法檢測出其中的IO口發生變化(有可能是多個都變低)后去做相應動作?請各個大神指教?

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

使用道具 舉報

沙發
ID:743654 發表于 2021-3-3 20:30 | 只看該作者
最土的方法,全接LED燈,看燈的狀態。
回復

使用道具 舉報

板凳
ID:888199 發表于 2021-3-4 00:40 | 只看該作者
不能輪詢或者定時中斷查詢嗎?
回復

使用道具 舉報

地板
ID:470833 發表于 2021-3-4 08:41 | 只看該作者
用萬用表測
回復

使用道具 舉報

5#
ID:798631 發表于 2021-3-4 12:26 | 只看該作者
設置各個口線觸發的任務序號           序號根據需要進行任務的輕重緩急進行分配 ,合理調度就可以了   
回復

使用道具 舉報

6#
ID:451718 發表于 2021-3-4 14:35 | 只看該作者
本帖最后由 robinsonlin 于 2021-3-4 14:37 編輯

//--------對于每個端口,定義一個結構體
struct ADDR
{
        unsigned char bit0: 1;
        unsigned char bit1: 1;
        unsigned char bit2: 1;
        unsigned char bit3: 1;
        unsigned char bit4: 1;
        unsigned char bit5: 1;
        unsigned char bit6: 1;
        unsigned char bit7: 1;
}addrP0;
//---------定義一個狀態變量
unsigned char Dev_AddrP0 ;
//---------端口狀態讀取函數
unsigned char ReadDevAddrP0(void)
{
        if(P0^0 == 1)addrP0.bit0 = 1;
        else addrP0.bit0 = 0;
        
        if(P0^1 == 1)addrP0.bit1 = 1;
        elseaddrP0.bit1 = 0;
        
        if(P0^2 == 1)addrP0.bit2 = 1;
        else addrP0.bit2 = 0;

       .........省略P0^3到P0^7的檢測語句
        
        Dev_AddrP0 = (*((unsigned char*)&addrP0)) & 0xff;
       return Dev_AddrP0;
}

檢測函數返回的值,就是端口對于IO口的狀態
回復

使用道具 舉報

7#
ID:451718 發表于 2021-3-4 14:58 | 只看該作者
補充:上貼是默認初始狀態都為低的。  如果初始狀態都為高,要檢測低電平事件,就把返回值按位取反就好了。
回復

使用道具 舉報

8#
ID:883031 發表于 2021-3-4 21:34 | 只看該作者
先保存初始端口值,再讀入端口值,若兩者不等,說明端口有變化,再將新讀入的值保存,反復判斷。
回復

使用道具 舉報

9#
ID:858964 發表于 2021-3-5 14:31 | 只看該作者
若僅是監測IO口變化而無須對變化作處理,
建議用cheney03推薦的做法:查看各路IO的LED燈亮/滅,
這一般的工控做法,用指示燈顯示外設狀態;
.
若須要對IO口發后變化進行實時處理,
建議用robinsonlin推薦的做法:
循環掃描各IO口的0/1狀態并作相應處理。

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲天天干 | 欧美一级电影免费观看 | 福利网址 | 男女激情网站免费 | 久久人体视频 | 本道综合精品 | 国产aaaaav久久久一区二区 | av大片 | 欧美一区中文字幕 | 午夜精品久久 | 成人久草| 国产九九九九 | 欧美成人a | 国产操操操 | 国产综合精品一区二区三区 | 欧美一区二区免费电影 | 四虎在线视频 | 国产成人一区二区三区久久久 | 亚洲视频在线播放 | 久久久久久综合 | 国产精品一区二区无线 | 可以免费观看的av片 | 欧美黄视频 | 成人av在线大片 | 国产 欧美 日韩 一区 | 日韩三级一区 | 91大神在线看 | 国产精品成人一区二区三区夜夜夜 | 欧美 中文字幕 | 国产精品资源在线观看 | 国产亚洲精品精品国产亚洲综合 | 九九久视频 | 亚洲久视频 | 久久噜噜噜精品国产亚洲综合 | 日日做夜夜爽毛片麻豆 | 美女天天操 | 日韩精品1区2区3区 成人黄页在线观看 | 天天干狠狠干 | 日本高清aⅴ毛片免费 | 激情三区 | 欧美a区 |