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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機中斷函數問題分析

[復制鏈接]
跳轉到指定樓層
樓主
ID:37685 發表于 2013-9-5 13:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
問題:單片機中斷中void time0() interrupt 1 using 1

中斷函數類型void,說明中斷函數是不能有返回值的,這點要明確,所以不要企圖讓中斷函數給你個返回值。還有,函數名后面括弧內是沒有參數的。。。這點也需要注意,中斷函數不能傳遞參數。interrupt 后面的點是中斷號。重點我給你解釋下using。這是C51編譯器擴展的關鍵字。用來選擇80c51單片機中不同的寄存器組,你也知道R0-R7總共有4 組,那么using 后面的數字也就是0-3范圍里的一個數了。如果不需要using的話,編譯器會自動選擇一組寄存器作為絕對寄存器訪問的。using對代碼是有一定的影響的。給你說個簡單的例子,你可以想下,如果定義 void time0() interrupt 1 using 1假設,我們又在中斷里調用了一個delay();這個delay是起延時作用。那么,我們就需要確保我們使用的寄存器組是同一組,否則,就會出現混亂。
void INT0()interrupt 0 using 1
{....
.....
}
interrupt 0 指明是外部中斷0;
interrupt 1 指明是定時器中斷0;
interrupt 2 指明是外部中斷1;
interrupt 3 指明是定時器中斷1;
interrupt 4 指明是串行口中斷;


using 0 是第0組寄存器;
using 1 是第1組寄存器;
using 2 是第2組寄存器;
using 3 是第3組寄存器;


51單片機內的寄存器是R0--R7(不是R0-R3)


R0-R7在數據存儲器里的實際地址是由特殊功能寄存器PSW里的RS1、RS0位決定的。


using 0時設置 RS1=0,RS0 =0,用第0組寄存器,R0--R7的在數據存儲區里的實際地址是00H-07H。R0(00H)....R7(07H)


using 1時設置 RS1=0,RS0 =1,用第1組寄存器,R0--R7的在數據存儲區里的實際地址是08H-0FH。R0(08H)....R7(0FH)


using 2時設置 RS1=1,RS0 =0,用第2組寄存器,R0--R7的在數據存儲區里的實際地址是10H-17H。R0(10H)....R7(17H)


using 3時設置 RS1=1,RS0 =1,用第3組寄存器,R0--R7的在數據存儲區里的實際地址是18H-1FH。R0(18H)....R7(1FH)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人网在线播放 | 丝袜 亚洲 欧美 日韩 综合 | 成人av一区二区三区 | 中文字幕电影在线观看 | 国产美女精品 | www.日本在线观看 | 色在线免费视频 | 超碰超碰 | 91www在线观看 | 国产99在线 | 欧美 | 国产亚洲高清视频 | 中文字幕一区二区三区四区五区 | 久久精品国产99国产精品 | 亚洲成人观看 | 日韩一区二区三区四区五区六区 | 69av在线视频 | 久久com | 欧美日韩在线一区二区三区 | 久久精品99久久 | 日韩成人在线观看 | 99精品国产一区二区三区 | 国产精品久久久久久久岛一牛影视 | 欧美精品片 | 99久久精品视频免费 | 国产精品久久精品 | 精品伦精品一区二区三区视频 | 日本精品久久久久久久 | 亚洲 欧美 日韩在线 | 亚洲一区二区三区在线视频 | 亚洲网址在线观看 | 中文字幕日本一区二区 | 日韩久久综合 | 人人爱干 | 日韩波多野结衣 | 日韩免费| 日韩成人免费av | 国产精品久久久久久久久久久久 | 黑人巨大精品欧美一区二区免费 | 亚洲一区 中文字幕 | 性做久久久久久免费观看欧美 | 久久九 |