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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4183|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)中斷函數(shù)問(wèn)題分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:37685 發(fā)表于 2013-9-5 13:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
問(wèn)題:?jiǎn)纹瑱C(jī)中斷中void time0() interrupt 1 using 1

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


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


51單片機(jī)內(nèi)的寄存器是R0--R7(不是R0-R3)


R0-R7在數(shù)據(jù)存儲(chǔ)器里的實(shí)際地址是由特殊功能寄存器PSW里的RS1、RS0位決定的。


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


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


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


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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表