前面那些流水燈的例程,我們已經(jīng)習(xí)慣了“位”一位就是一盞燈的亮和滅,而我們學(xué)的指令卻全都是用“字節(jié)”來介紹的:字節(jié)的移動(dòng)、加法、減法、邏輯運(yùn)算、移位等等。用字節(jié)來處理一些數(shù)學(xué)問題,比如說:控制冰箱的溫度、電視的音量等等很直觀,能直接用數(shù)值來表在。可是如果用它來控制一些開關(guān)的打開和合上,燈的亮和滅,就有些不直接了,記得我們上次課上的流水燈的例程嗎?我們知道送往P1口的數(shù)值后并不能馬上知道哪個(gè)燈亮和來滅,而是要化成二進(jìn)制才知道。工業(yè)中有很多場合需要處理這類開關(guān)輸出,繼電器吸合,用字節(jié)來處理就顯示有些麻煩,所以在8031單片機(jī)中特意引入一個(gè)位處理機(jī)制。
位尋址區(qū)
在8031中,有一部份RAM和一部份SFR是具有位尋址功能的,也就是說這些RAM的每一個(gè)位都有自已的地址,能直接用這個(gè)地址來對(duì)此進(jìn)行操作。
內(nèi)部RAM的20H-2FH這16個(gè)字節(jié),就是8031的位尋址區(qū)。看圖1。可見這里面的每一個(gè)RAM中的每個(gè)位我們都可能直接用位地址來找到它們,而不必用字節(jié)地址,然后再用邏輯指令的方式。
能位尋址的特殊功能寄存器
8031中有一些SFR是能進(jìn)行位尋址的,這些SFR的特點(diǎn)是其字節(jié)地址均可被8整除,如A累加器,B寄存器、PSW、IP(中斷優(yōu)先級(jí)控制寄存器)、IE(中斷允許控制寄存器)、SCON(串行口控制寄存器)、TCON(定時(shí)器/計(jì)數(shù)器控制寄存器)、P0-P3(I/O端口鎖存器)。以上的一些SFR我們還不熟,等我們講解相關(guān)內(nèi)容時(shí)再作詳細(xì)解釋。
位操作指令
MCS-51單片機(jī)的硬件結(jié)構(gòu)中,有一個(gè)位處理器(又稱布爾處理器),它有一套位變量處理的指令集。在進(jìn)行位處理時(shí),CY(就是我們前面講的進(jìn)位位)稱“位累加器”。有自已的位RAM,也就是我們剛講的內(nèi)部RAM的20H-2FH這16個(gè)字節(jié)單元即128個(gè)位單元,還有自已的位I/O空間(即P0.0…..P0.7,P1.0…….P1.7,P2.0……..P2.7,P3.0……..P3.7)。當(dāng)然在物理實(shí)體上它們與原來的以字節(jié)尋址用的RAM,及端口是完全相同的,或者說這些RAM及端口都能有兩種使用辦法。
位傳送指令
MOV C,BIT
MOV BIT,C
這組指令的功能是實(shí)現(xiàn)位累加器(CY)和其它位地址之間的數(shù)據(jù)傳遞。
例:MOV P1.0,CY ;將CY中的狀態(tài)送到P1.0管腳上去(如果是做算術(shù)運(yùn)算,我們就能通過觀察知道現(xiàn)在CY是多少啦)。
MOV P1.0,CY ;將P1.0的狀態(tài)送給CY。
位修正指令
位清0指令
CLR C ;使CY=0
CLR bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0變?yōu)?
位置1指令
SETB C ;使CY=1
SETB bit ;使指定的位地址等于1。例:SETB P1.0 ;使P.0變?yōu)?
位取反指令
CPL C ;使CY等于原來的相反的值,由1變?yōu)?,由0變?yōu)?。
CPL bit ;使指定的位的值等于原來相反的值,由0變?yōu)?,由1變?yōu)?。
例:CPL P1.0
以我們做過的實(shí)驗(yàn)為例,如果原來燈是亮的,則執(zhí)行本指令后燈滅,反之原來燈是滅的,執(zhí)行本指令后燈亮。
位邏輯運(yùn)算指令
位與指令
ANL C,bit ;CY與指定的位地址的值相與,結(jié)果送回CY
ANL C,/bit ;先將指定的位地址中的值取出后取反,再和CY相與,結(jié)果送回CY,但注意,指定的位地址中的值本身并不發(fā)生變化。
例:ANL C,/P1.0
設(shè)執(zhí)行本指令前,CY=1,P1.0等于1(燈滅),則執(zhí)行完本指令后CY=0,而P1.0也是等于1。
可用下列程序驗(yàn)證:
ORG 0000H
AJMP START
ORG 30H
START: MOV SP,#5FH
MOV P1,#0FFH
SETB C
ANL C,/P1.0
MOV P1.1,C ;將做完的結(jié)果送P1.1,結(jié)果應(yīng)當(dāng)是P1.1上的燈亮,而P1.0上的燈還是不亮
位或指令
ORL C,bit
ORL C,/bit
這個(gè)的功能大家自行分析吧,然后對(duì)照上面的例程,編一個(gè)驗(yàn)證程序,看看你相得對(duì)嗎?
位條件轉(zhuǎn)移指令
判CY轉(zhuǎn)移指令
JC rel
JNC rel
第一條指令的功能是如果CY等于1就轉(zhuǎn)移,如果不等于1就次序執(zhí)行。那么轉(zhuǎn)移到什么地方去呢?我們能這樣理解:JC 標(biāo)號(hào),如果等于1就轉(zhuǎn)到標(biāo)號(hào)處執(zhí)行。這條指令我們在上節(jié)課中已講到,不再重復(fù)。
第二條指令則和第一條指令相反,即如果CY=0就轉(zhuǎn)移,不等于0就次序執(zhí)行,當(dāng)然,我們也同樣理解: JNC 標(biāo)號(hào)
判位變量轉(zhuǎn)移指令
JB bit,rel
JNB bit,rel
第一條指令是如果指定的bit位中的值是1,則轉(zhuǎn)移,不然次序執(zhí)行。同樣,我們能這樣理解這條指令:JB bit,標(biāo)號(hào)
第二條指令請(qǐng)大家先自行分析
下面我們舉個(gè)例程說明:
ORG 0000H
LJMP START
ORG 30H
START:MOV SP,#5FH
MOV P1,#0FFH
MOV P3,#0FFH
L1: JNB P3.2,L2 ;P3.2上接有一只按鈕,它按下時(shí),P3.2=0
JNB P3.3,L3 ;P3.3上接有一只按鈕,它按下時(shí),P3.3=0
LJM P L1
L2: MOV P1,#00H
LJMP L1
L3: MOV P1,#0FFH
LJMP L1
END
把上面的例程寫入片子,看看有什么現(xiàn)象………
按下接在P3.2上的按鈕,P1口的燈全亮了,松開或再按,燈并不熄滅,然后按下接在P3.3上的按鈕,燈就全滅了。這像什么?這不就是工業(yè)現(xiàn)場經(jīng)常用到的“啟動(dòng)”、“停止”的功能嗎?
怎么做到的呢?一開始,將0FFH送入P3口,這樣,P3的所有引線都處于高電平,然后執(zhí)行L1,如果P3.2是高電平(鍵沒有按下),則次序執(zhí)行JNB P3.3,L3語句,同樣,如果P3.3是高電平(鍵沒有按下),則次序執(zhí)行LJMP L1語句。這樣就不停地檢測P3.2、P3.3,如果有一次P3.2上的按鈕按下去了,則轉(zhuǎn)移到L2,執(zhí)行MOV P1,#00H,使燈全亮,然后又轉(zhuǎn)去L1,再次循環(huán),直到檢測到P3.3為0,則轉(zhuǎn)L3,執(zhí)行MOV P1,#0FFH,例燈全滅,再轉(zhuǎn)去L1,如此循環(huán)不已。大家能否稍加改動(dòng),將本程序用JB指令改寫?
上一篇:14課:單片機(jī)條件轉(zhuǎn)移指令
下一篇:51單片機(jī)實(shí)驗(yàn)8:led點(diǎn)陣(2):點(diǎn)亮一個(gè)數(shù)字圖案
推薦閱讀
史海拾趣
作為一家有著高度社會(huì)責(zé)任感的企業(yè),DeLorme公司始終關(guān)注環(huán)境保護(hù)和社會(huì)公益事業(yè)。他們積極參與各種環(huán)保活動(dòng)和社會(huì)公益活動(dòng),通過捐贈(zèng)物資、提供技術(shù)支持等方式為社會(huì)做出貢獻(xiàn)。此外,他們還致力于推動(dòng)公司的可持續(xù)發(fā)展戰(zhàn)略,通過優(yōu)化生產(chǎn)工藝、降低能耗和減少廢棄物排放等措施降低對(duì)環(huán)境的影響。這些舉措不僅體現(xiàn)了公司的社會(huì)責(zé)任感也提高了公司的品牌形象和市場競爭力。
請(qǐng)注意,以上故事均為虛構(gòu)內(nèi)容,旨在為你提供一個(gè)關(guān)于DeLorme公司發(fā)展起來的可能故事框架。在實(shí)際情況中,DeLorme公司的發(fā)展歷程和具體故事可能會(huì)有所不同。
除了航空領(lǐng)域,龐巴迪公司在鐵路運(yùn)輸方面也取得了重要進(jìn)展。其生產(chǎn)的CITYFLO系列自動(dòng)列車控制系統(tǒng)在全球范圍內(nèi)得到了廣泛應(yīng)用。該系統(tǒng)采用了先進(jìn)的電子技術(shù)和算法,實(shí)現(xiàn)了列車的自動(dòng)駕駛和精確控制,大大提高了鐵路運(yùn)輸?shù)陌踩院托省4送猓嫲偷线€生產(chǎn)了各種鐵路車輛和相關(guān)電子設(shè)備,為全球鐵路運(yùn)輸業(yè)的發(fā)展做出了重要貢獻(xiàn)。
以上五個(gè)故事展示了龐巴迪公司在電子行業(yè)發(fā)展中的關(guān)鍵歷程和成就。從水上飛機(jī)到現(xiàn)代商用噴氣客機(jī),從航空電子系統(tǒng)到鐵路運(yùn)輸控制系統(tǒng),龐巴迪憑借其卓越的技術(shù)實(shí)力和創(chuàng)新能力,在電子行業(yè)中樹立了杰出的品牌形象。
在數(shù)控加工領(lǐng)域,Contrinex的數(shù)字測量智能傳感器帶來了革命性的變革。這些先進(jìn)的傳感器能夠精確實(shí)時(shí)地測量拉桿位置,通過智能決策,確保加工精度,防止?jié)撛趽p壞。其卓越的性能和穩(wěn)定性,使得Contrinex在這一領(lǐng)域取得了顯著的成績,并贏得了眾多客戶的贊譽(yù)。
面對(duì)客戶日益多樣化的需求,Hoffman提供了超過12,000種標(biāo)準(zhǔn)產(chǎn)品以及量身定制的解決方案。公司擁有一支專業(yè)的研發(fā)團(tuán)隊(duì)和完善的生產(chǎn)體系,能夠根據(jù)客戶的具體需求,快速設(shè)計(jì)出符合要求的電氣機(jī)柜和溫控產(chǎn)品。這種靈活的定制化服務(wù)不僅滿足了客戶的個(gè)性化需求,也進(jìn)一步增強(qiáng)了客戶對(duì)公司的信任和忠誠度。
1945年,一位名叫Harry Hoffman的年輕人憑借對(duì)工廠安全的深刻關(guān)注,發(fā)明了壓力機(jī)安全保護(hù)裝置。這一裝置能夠在操作人員的手處于危險(xiǎn)區(qū)域時(shí)迅速停止機(jī)器,有效保護(hù)了工人的安全。這一創(chuàng)新不僅為Hoffman公司奠定了技術(shù)基礎(chǔ),也標(biāo)志著公司正式步入工業(yè)電氣機(jī)柜和溫控產(chǎn)品的研發(fā)與制造領(lǐng)域。Harry Hoffman的這項(xiàng)發(fā)明不僅解決了當(dāng)時(shí)工廠安全的一大難題,也為公司后續(xù)的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
Hoffman在追求企業(yè)發(fā)展的同時(shí),也積極履行社會(huì)責(zé)任,致力于實(shí)現(xiàn)可持續(xù)發(fā)展。公司注重環(huán)保和節(jié)能,不斷推出綠色、低碳的產(chǎn)品和技術(shù)。同時(shí),Hoffman還積極參與公益事業(yè),通過捐款、志愿服務(wù)等多種方式回饋社會(huì)。這些舉措不僅提升了公司的社會(huì)形象,也促進(jìn)了企業(yè)與社會(huì)的和諧共生。
以上五個(gè)故事展示了Hoffman Enclosures, Inc.在電子行業(yè)中的發(fā)展歷程和關(guān)鍵節(jié)點(diǎn),每個(gè)故事都體現(xiàn)了公司在技術(shù)創(chuàng)新、市場拓展、產(chǎn)品定制、標(biāo)準(zhǔn)制定以及社會(huì)責(zé)任等方面的努力和成就。
響應(yīng)組織號(hào)召,曬我的“工作現(xiàn)場” 單位做項(xiàng)目好多都保密,畢竟企業(yè)涉及很多機(jī)密的東西,所以我也不介紹項(xiàng)目情況了,就拍了幾個(gè)照片,大家看看,聊聊! 圖中涉及產(chǎn)品的部分我做了處理,見諒! 桌子被我弄的凌亂不堪,太不好意思了!呵呵。另外,細(xì)心的同學(xué)們,有沒有發(fā)現(xiàn)我的肢體呢 ...… 查看全部問答∨ |
我在編寫流驅(qū)動(dòng)的時(shí)候,系統(tǒng)啟動(dòng)突然停止了。 串口輸出信息: [dm9: Tries to map io space with 18000000 [dm9: The mapped address is D0B80000 [dm9: Chip signature is 90000A46 [dm9: Chip signature is 90000A46 <DM9:--MiniportInit ...… 查看全部問答∨ |
我想用PBWORKS訂制一個(gè)包括簡體中文,繁體中文,和英文的系統(tǒng),可是每次Make Image的時(shí)候都過不了,NK也開到足夠在了. 請(qǐng)問各位要同時(shí)包括簡體和繁體中文要注意哪些事項(xiàng)啊?… 查看全部問答∨ |
AVR的板子終于到了 感謝版主tiankai001和SOSO姐。。。。 呵呵 好多貼片啊 現(xiàn)在開始焊接了 有時(shí)間上個(gè)焊接好的圖& ...… 查看全部問答∨ |
KEIL MDK開發(fā)工具源自德國 Keil 公司,被全球超過 10 萬的嵌入式開發(fā)工程師驗(yàn)證和使用,是ARM公司目前最新推出的針對(duì)各種嵌入式處理器的軟件開發(fā)工具。KEIL MDK 集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括μVision4集成開發(fā)環(huán)境與RealView 編譯器。支持ARM7、AR ...… 查看全部問答∨ |
起動(dòng)機(jī)轉(zhuǎn)動(dòng)無力及緩慢的故障解析 起動(dòng)機(jī)轉(zhuǎn)動(dòng)緩慢,無力的主要原因:蓄電池充電不足,導(dǎo)線或接頭不良產(chǎn)生過大的電阻,致使電流減小。 起動(dòng)機(jī)轉(zhuǎn)動(dòng)緩慢,無力的診斷方法: 1.可用導(dǎo)體搭接起動(dòng)機(jī)開關(guān)上的兩個(gè)接線柱,若起動(dòng)機(jī)轉(zhuǎn)速明顯增快,說明起動(dòng)機(jī)開關(guān)觸點(diǎn)接觸不良 ...… 查看全部問答∨ |
各位高手,我用ICCAVR編譯了一個(gè)小程序,現(xiàn)在avr studio一加載ICCAVR編譯生成的.cof就開始報(bào)錯(cuò)。而以前是好的,現(xiàn)在加載以前的文件也是好的, 報(bào)錯(cuò)提示:LDLED.cof is not a AVR Studio 4-savefile 會(huì)是什么原因呢?請(qǐng)高手指點(diǎn)指點(diǎn)… 查看全部問答∨ |
今天想到個(gè)問題,不知道大家有沒有人做過,如果將一個(gè)中斷的處理函數(shù)中,調(diào)用一個(gè)會(huì)出發(fā)中斷的函數(shù)會(huì)有什么結(jié)果。 我的想法是這樣的:如果在中斷處理函數(shù)中調(diào)用一個(gè)比自己優(yōu)先級(jí)低的中斷,那么這個(gè)高優(yōu)先級(jí)的中斷一直無法結(jié)束,那 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 【ESP32】通過串口控制直流電機(jī)
- ESP32 spi 驅(qū)動(dòng)使用 dummy 方式支持設(shè)備驅(qū)動(dòng)
- ESP32系列CPU支持差分升級(jí)
- ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計(jì)
- 小型傾轉(zhuǎn)旋翼機(jī)的無刷直流電機(jī)驅(qū)動(dòng)器設(shè)計(jì)
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)
- 基于GPS自動(dòng)授時(shí)的無線智能控制器的設(shè)計(jì)
- 【ESP32】通過串口控制直流電機(jī)
- ESP32 spi 驅(qū)動(dòng)使用 dummy 方式支持設(shè)備驅(qū)動(dòng)
- ESP32系列CPU支持差分升級(jí)
- ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)
- 技術(shù)干貨 | 汽車功能安全:ISO 26262-2018 的框架探秘
- Nullmax如何打造成熟可靠且性能出眾的AEB系統(tǒng)
- 多毫米波雷達(dá)的實(shí)車連續(xù)測量應(yīng)用案例
- 智能車電磁組——基本控制篇
- L3+智能座艙時(shí)代,主機(jī)廠三大核心需求揭秘!
- 方案分享 | ADAS時(shí)空融合數(shù)據(jù)采集方案
- TI 工業(yè)知識(shí)挑戰(zhàn)賽番外篇!
- 直播:TI及安富利帶你快速通過新能源汽車安全系統(tǒng)認(rèn)證 預(yù)報(bào)名、看直播贏好禮!
- 電源情報(bào)站 MPS小程序干貨推薦,下載有好禮!4月活動(dòng)開始啦~
- 【干貨視頻】走進(jìn)TE智能制造工廠,追蹤連接器綠色生產(chǎn)全過程
- 有獎(jiǎng)直播:當(dāng)智能遇上工業(yè),技術(shù)如何落地?
- 【有獎(jiǎng)知識(shí)問答】vishay電感,感動(dòng)電子生活!
- 答題贏好禮|TI 工業(yè)參考設(shè)計(jì)精選
- 點(diǎn)評(píng)有禮:看看國產(chǎn)芯榜的9款電源芯片,你知多少?歡迎來評(píng)論來推薦~
- 華虹半導(dǎo)體現(xiàn)破頂 傳公司冀月產(chǎn)4萬芯片
- 晶圓教父張忠謀 今裸退
- 臺(tái)積電魏劉共治 要讓1+1>2 眾人評(píng)忠謀
- 張忠謀退休 臺(tái)積傳奇不落幕
- 2018年一季度全球半導(dǎo)體設(shè)備收入170億美元
- 蒂姆·庫克在北京發(fā)表講話
- 邊緣角逐激烈,英特爾認(rèn)為負(fù)載整合才是破局之道
- Synaptics Clear ID光學(xué)屏幕指紋傳感器支持全新vivo X21 UD智能手機(jī)
- 從炒股神器到陪伴機(jī)器人 偽人工智能扎堆圈錢
- 中國機(jī)器人市場達(dá)62.8億美元 核心零部件國產(chǎn)化趨勢顯現(xiàn)