娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

前面那些流水燈的例程,我們已經(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指令改寫?

關(guān)鍵字:單片機(jī)  位操作指令  流水燈 引用地址:15課:單片機(jī)位操作指令

上一篇:14課:單片機(jī)條件轉(zhuǎn)移指令
下一篇:51單片機(jī)實(shí)驗(yàn)8:led點(diǎn)陣(2):點(diǎn)亮一個(gè)數(shù)字圖案

推薦閱讀

元大投顧表示,考慮在手機(jī)產(chǎn)業(yè)中低端機(jī)型的比重提高下,未來雙鏡頭采用率可能下滑,認(rèn)為鏡頭及中高端模組廠恐將受到負(fù)面沖擊。因此,對(duì)大立光維持審慎看法, 主要因預(yù)估至少就2018年而言,iPhone/中國需求平淡且規(guī)格升級(jí)趨緩,將對(duì)公司的獲利與評(píng)價(jià)造成負(fù)面影響。 另外,舜宇光學(xué)也可能受到雙鏡頭采用率放緩及模組/鏡頭競爭加劇沖擊。中低端機(jī)型需求轉(zhuǎn)...
本文作者:是德科技SVP Hamish Gray,文章首先刊登于是德科技官方博客中最近,是德科技(Keysight)的CTO Jay Alexander和我相識(shí)已經(jīng)有17年了,我們多年都在公司位于科羅拉多斯普林斯的辦公室工作。在那里,Jay是Keysight的副總裁兼示波器部門總經(jīng)理。此外,他還在科羅拉多州科羅拉多斯普林斯大學(xué)工作,并擔(dān)任Pikes Peak United Way主席兩年。由于...
平臺(tái)介紹:mini2440開發(fā)板,S3c2440主芯片硬件信息1.130個(gè)IO口,289個(gè)引腳17*17,BGA封裝2.電源內(nèi)核:1.25v內(nèi)存電源:1.8VGPIO:3.3v3.芯片內(nèi)部有4K字節(jié)的SRAM空間0x40000000-0x40001000;4.s3c2440外部主頻:12M晶振內(nèi)部RTC晶振(時(shí)鐘,萬年歷)32.768KHZ5.復(fù)位電路MAX811:上電復(fù)位。按鍵復(fù)位,電壓低于一定值復(fù)位6.存儲(chǔ)芯片K9F1216D0A為NANDflashAm29LV...
TrendForce集邦咨詢指出,車用DRAM相關(guān)應(yīng)用目前分為四大領(lǐng)域,包含車載信息娛樂系統(tǒng) (Infotainment)、先進(jìn)駕駛輔助系統(tǒng)(ADAS)、車載信息系統(tǒng)(Telematics)、數(shù)位儀表板(D-cluster)。然而,現(xiàn)下市售車款DRAM消耗量仍低,僅車載信息娛樂系統(tǒng)使用量最高,且該項(xiàng)目相對(duì)ADAS系統(tǒng)來說,進(jìn)入的門檻較不受車輛安全或現(xiàn)行法規(guī)所限制,因此吸引不少半導(dǎo)體與...

史海拾趣

問答坊 | AI 解惑

響應(yīng)組織號(hào)召,曬我的“工作現(xiàn)場”

單位做項(xiàng)目好多都保密,畢竟企業(yè)涉及很多機(jī)密的東西,所以我也不介紹項(xiàng)目情況了,就拍了幾個(gè)照片,大家看看,聊聊! 圖中涉及產(chǎn)品的部分我做了處理,見諒! 桌子被我弄的凌亂不堪,太不好意思了!呵呵。另外,細(xì)心的同學(xué)們,有沒有發(fā)現(xiàn)我的肢體呢 ...…

查看全部問答∨

wince 啟動(dòng)停止了。

我在編寫流驅(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 ...…

查看全部問答∨

在編譯環(huán)境:Silicon Laboratories IDE中能混合編程嗎?

如題,搞了好久不知道如何搞,最好詳細(xì)一點(diǎn)…

查看全部問答∨

can總線是什么樣的?

   哪位大蝦給貼個(gè)can總線的圖片看看 ?還有怎么通過它去收集一些數(shù)據(jù)呢?…

查看全部問答∨

訂制較大容量的內(nèi)核

我想用PBWORKS訂制一個(gè)包括簡體中文,繁體中文,和英文的系統(tǒng),可是每次Make Image的時(shí)候都過不了,NK也開到足夠在了. 請(qǐng)問各位要同時(shí)包括簡體和繁體中文要注意哪些事項(xiàng)啊?…

查看全部問答∨

申請(qǐng)的AVR開發(fā)板到了

AVR的板子終于到了    感謝版主tiankai001和SOSO姐。。。。           呵呵    好多貼片啊     現(xiàn)在開始焊接了      有時(shí)間上個(gè)焊接好的圖& ...…

查看全部問答∨

Keil MDK的安裝與工程建立

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)接觸不良 ...…

查看全部問答∨

avr studio打開.cof報(bào)錯(cuò)

各位高手,我用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è)問題,不知道大家有沒有人做過,如果將一個(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ā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 平原县| 富平县| 九龙城区| 望城县| 温宿县| 台江县| 凌海市| 油尖旺区| 保康县| 大关县| 泰和县| 固原市| 齐齐哈尔市| 湖口县| 汶川县| 门头沟区| 穆棱市| 扎鲁特旗| 东莞市| 九龙坡区| 连州市| 绥江县| 沅陵县| 辉县市| 奉新县| 邵阳县| 丽江市| 将乐县| 六枝特区| 南宫市| 防城港市| 合水县| 碌曲县| 新丰县| 高青县| 徐州市| 观塘区| 茌平县| 周口市| 静安区| 莲花县|