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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

再來請教個51單片機IO問題

  [復制鏈接]
跳轉到指定樓層
樓主
ID:1133220 發表于 2024-10-20 08:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大佬:      斷續學了點51單片機,學到中斷的時候,想請教一下,
.......
sbit KEY=P3^1;
KEY=1;
if(!KEY)
{
........
}
........
這種IO電平的改變檢測,是單片機硬件控制的嗎,是不是相當于隨時都在檢測IO電平并且可以即時響應?和硬件中斷的區別是什么?和中斷的優先級有高低之分嗎?

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

使用道具 舉報

沙發
ID:1109793 發表于 2024-10-20 10:49 | 只看該作者
這就是所以軟件檢測的方式了吧。
是否相應要看你這個if被執行的頻率了。如果還有其他更多代碼,就不可能即時相應了。中斷可以做到比較即時相應。高優先級的就更容易保證即時,低優先級,就看是否存在更高優先級的代碼在運行了。
話說讀取外部的按鍵設么的,不需要太高的即時相應的吧
回復

使用道具 舉報

板凳
ID:342197 發表于 2024-10-20 10:54 | 只看該作者
中斷優先級更高。
回復

使用道具 舉報

地板
ID:342197 發表于 2024-10-20 10:55 | 只看該作者
中斷優先級更高,電平檢測級別低
回復

使用道具 舉報

5#
ID:94031 發表于 2024-10-20 13:13 | 只看該作者
當IO口做輸入時,用指令可以隨時監測IO電平,這不是中斷,中斷有個響應過程,這直接指令讀取。
回復

使用道具 舉報

6#
ID:1133220 發表于 2024-10-20 20:22 | 只看該作者
xiaobendan001 發表于 2024-10-20 10:49
這就是所以軟件檢測的方式了吧。
是否相應要看你這個if被執行的頻率了。如果還有其他更多代碼,就不可能即 ...

編程軟件層面上是軟件檢測了,內部硬件層面呢?是不是它內部做出的電平改變響應是被動的?
回復

使用道具 舉報

7#
ID:1133220 發表于 2024-10-20 20:23 | 只看該作者

回復

使用道具 舉報

8#
ID:1133220 發表于 2024-10-20 20:23 | 只看該作者
遠征之路 發表于 2024-10-20 10:55
中斷優先級更高,電平檢測級別低

內部硬件層面是不是它內部做出的電平改變響應是被動的?
回復

使用道具 舉報

9#
ID:1133220 發表于 2024-10-20 20:24 | 只看該作者
xuyaqi 發表于 2024-10-20 13:13
當IO口做輸入時,用指令可以隨時監測IO電平,這不是中斷,中斷有個響應過程,這直接指令讀取。

多謝。它是主動讀取還是被動響應的?
回復

使用道具 舉報

10#
ID:624769 發表于 2024-10-20 21:53 | 只看該作者
當你程序運行到:   if(!KEY)  時,單片機會去查詢(讀取) P31 的狀態是 0/1
回復

使用道具 舉報

11#
ID:1134207 發表于 2024-10-21 10:46 | 只看該作者
中斷優先級更高,電平檢測級別低
回復

使用道具 舉報

12#
ID:1121801 發表于 2024-10-21 13:50 | 只看該作者
P3引腳因為沒有緩沖器,所以讀輸入電平時要先將P3.1置1,然后讀取的才是輸入電平,如果不置1,那么讀取的輸入電平會不正確。
讀電平是軟件執行到這個位置才會讀電平,沒有執行到這里是不會讀電平的。而且中斷的優先級是比正常程序運行級別要高的,所以一般是響應中斷程序先,退出中斷后才會按步執行主程序
回復

使用道具 舉報

13#
ID:332444 發表于 2024-10-21 14:04 | 只看該作者
當啟動中斷后硬件獨立運行并響應,但還是有等待CPU響應時間的,否則的話中斷時鐘就不會有誤差,提問寫的代碼是獨立按鍵不是中斷,因此是軟件寫怎么響應的由寫的軟件決定.
回復

使用道具 舉報

14#
ID:94031 發表于 2024-10-21 14:14 | 只看該作者
pcbbb2024 發表于 2024-10-20 20:24
多謝。它是主動讀取還是被動響應的?

你讀就能得到,cpu不發中斷。
回復

使用道具 舉報

15#
ID:276663 發表于 2024-10-21 16:32 | 只看該作者
你需要理解一下原理,
中斷,顧名思義就是,打斷一個正常的進程。

  1. void main(void)
  2. {
  3.         int_config();//中斷配置
  4.         while(1)
  5.         {
  6.                 delay(20);
  7.                 if(key1==0)
  8.                 {
  9.                         led = 1;//點亮
  10.                         delay(200);//延時200ms
  11.                 }
  12.                 led = 0;
  13.         }
  14. }

  15. //中斷處理程序
  16. //產生中斷,說明已經有了低電平
  17. viod Int_KEY2 interrupt X
  18. {
  19.         delay(20);//消抖
  20.         if (key2 == 0)//還按著,說明確定有按鍵按下
  21.         {
  22.                 if (led2 == 1)
  23.                 {
  24.                         led2 = 0;//滅掉
  25.                 }
  26.                 else
  27.                 {
  28.                         led2 = 1;//點亮
  29.                 }
  30.         }
  31. }
復制代碼


看上面的程序主程序在循環檢查key1按鍵,key2就是靠中斷處理,啥時候有key2按下就會打斷正常的主程序,插入運行一段中斷程序,然后再繼續從主程序打斷的位置繼續執行。

執行中斷程序時,單片機內部會有記錄主程序運行位置的保存和恢復處理。
回復

使用道具 舉報

16#
ID:517951 發表于 2024-10-22 07:34 | 只看該作者
KEY=1;
if(!KEY)
{
........
}  
這個檢測KEY的語句就只是執行一瞬間就完成了.
不是隨時都在檢測KEY. 中斷服務函數里面也可以加入這個語句做KEY電平檢測.

中斷的高低優先級取決于軟件設置中斷號的高低優先級別.

回復

使用道具 舉報

17#
ID:1072347 發表于 2024-10-23 22:04 | 只看該作者
這個是軟件檢測,如果你把if寫在while死循環里面是可以做到一直檢測的(前提是你if里面也要清P3.1的狀態)。

中斷的優先級更高,還有就是即時響應的問題,寫在死循環里響應絕大部分情況下都比中斷需要的時間要長。這兩個都可以實現同樣的功能,如果不是中斷不夠用了或者對時序要求不高的情況下,這樣用沒什么差別。(ps:如果你和我一樣從匯編入手單片機的話,應該會對這種控制轉移指令很熟悉了,可惜現在初學者沒多少嘗試過匯編的痛了)
回復

使用道具 舉報

18#
ID:1133220 發表于 2024-10-26 17:44 | 只看該作者
明白了,謝謝各位大佬
回復

使用道具 舉報

19#
ID:1128908 發表于 2024-10-28 09:09 | 只看該作者
中斷優先級更高
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 国产片侵犯亲女视频播放 | 国产精品国产自产拍高清 | 欧美成年人网站 | 男女羞羞视频网站 | 日韩精品一区二区不卡 | 亚洲视频在线一区 | 久久久国产一区二区三区四区小说 | 福利视频亚洲 | 午夜视频在线观看网址 | 瑟瑟视频在线看 | 国产日韩欧美一区二区 | 自拍 亚洲 欧美 老师 丝袜 | 一级片在线视频 | 亚洲精品在线视频 | 天天干天天操天天射 | 久久电影一区 | 国产精品我不卡 | 国产区在线观看 | 天天干夜夜操视频 | 久久久久久看片 | 亚洲日本欧美日韩高观看 | 亚洲国产一区二区三区四区 | 日韩在线精品视频 | 日本三级精品 | 欧美8一10sex性hd | 久热精品免费 | 日韩久久综合 | 国产98色在线 | 日韩 | 久久剧场 | 午夜一区二区三区 | 欧美国产日韩一区二区三区 | 亚洲精品中文字幕在线观看 | 欧美日韩国产欧美 | 国产日韩欧美中文字幕 | 亚洲 中文 欧美 日韩 在线观看 | 欧美黑人国产人伦爽爽爽 | 亚洲第一av网站 | 欧美精品二区 | 精品一区二区久久久久久久网站 |