日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

當前位置:電子發(fā)燒友網(wǎng) > 圖書頻道 > 電子 > 《單片機原理與應(yīng)用》 > 第3章 MCS-51單片機指令系統(tǒng)

第8節(jié) LED顯示電路

  3.5.1 硬件電路

  硬件電路如圖3.7所示。

  

 

  圖3.7 LED顯示電路

  工作原理

  我們在電子技術(shù)中學過,七段LED共陽極數(shù)碼管在段碼加低電平和位控制信號加高電平后就可以點亮。所以,要顯示某個字符只要將對應(yīng)字段點亮即可。

  3.5.2 程序設(shè)計

  ORG 0000H

  LJMP MAIN

  ORG 0030H

  MIAN: MOV DPTR,#TABLE

  MOVC A,@A+DPTR

  MOV P1,A

  CLR P3.0

  TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H ;0-6

  DB 82H,0F8H,80H,90H ; 7-9

  END

  3.5.3 源程序的編輯、編譯、下載

  打開“偉福”模擬仿真軟件進行程序的編輯、編譯。

  打開“ISP下載軟件”將目標文件下載到ISP-4實驗開發(fā)板上的AT89S51單片機芯片,觀察程序運行結(jié)果。

  3.5.4 相關(guān)知識

  1. 單片機如何控制單根I/O口線?

  我們在上面任務(wù)中看到,P3口共有8根口線,現(xiàn)在我們只要控制其中一根線,在單片機中能不能實現(xiàn)?答案是肯定的。因為單片機中有一類位操作指令。

  2. MCS-51單片機有哪些位操作指令?

  位處理功能是MCS-51系列單片機的一個重要特征,這是出于實際應(yīng)用需要而設(shè)置的。位變量也即開關(guān)變量,它是以位(bit)為單位進行操作的。

  在物理結(jié)構(gòu)上,MCS-51單片機有一個位處理機,它以進位標志做為位累加器,以內(nèi)部RAM可尋址的128個為存儲位。

  既然有位處理機功能,所以也就有相應(yīng)的位操作指令集,下面我們分別談?wù)摗?/p>

  (1) 位傳送指令(2條)

  位傳送指令就是可尋址位與累加位CY之間的傳送,指令有兩條。

  MOV C,bit ;bit→CY,某位數(shù)據(jù)送CY。

  MOV bit,C ;CY→bit,CY數(shù)據(jù)送某位

  (2) 位置位復位指令(4條)

  這些指令對CY及可尋址位進行置位或復位操作,共有四條指令。

  CLR C ; 0→CY,清CY。

  CLR bit ; 0→bit,清某一位。

  SETB C ; 1→CY,置位CY。

  SETB bit ; 1→bit,置位某一位。

  如:任務(wù)中的CLR P3.0 指令,就是將P3.0清零。

  (3) 位運算指令(6條)

  位運算都是邏輯運算,有與、或、非三種指令,共六條。

  ANL C,bit ;(CY)∧(bit)→CY。

  ANL C,/bit ;(CY)∧(/bit)→CY。

  ORL C,bit ;(CY)∨(bit)→CY。

  ORL C,/bit ;(CY)∧(/bit)→CY。

  CPL C ;(/CY)→CY。

  CPL bit ;(/bit)→bir。

  (4) 位控制轉(zhuǎn)移指令(5條)

  位控制轉(zhuǎn)移指令是以位的狀態(tài)作為實現(xiàn)程序轉(zhuǎn)移的判斷條件,介紹如下:

  JC rel ; (CY)=1轉(zhuǎn)移,(PC)+2+rel→PC,否則程序往下執(zhí)行,(PC)+2→PC。

  JNC rel ; (CY)=0轉(zhuǎn)移,(PC)+2+rel→PC,否則程序往下執(zhí)行,(PC)+2→PC。

  JB bit, rel ; 位狀態(tài)為1轉(zhuǎn)移。

  JNB bit, rel ; 位狀態(tài)為0轉(zhuǎn)移。

  JBC bit, rel ; 位狀態(tài)為1轉(zhuǎn)移,并使該位清“0”。

  后三條指令都是三字節(jié)指令,如果條件滿足,(PC)+3+rel→PC,否則程序往下執(zhí)行,(PC)+3→PC。

  3. 位操作指令應(yīng)用舉例

  【例3.12】 完成(Z)=(X)⊕(Y)異或運算,其中:X、Y、Z表示位地址。

  解:異或運算可表示為(Z)=(X)(/Y)+(/X )(Y),參考子程序如下:

  PR!:MOV C,X ;(CY)←(X)

  ANL C,/Y ;(CY)←(X)∧/(Y)

  MOV Z,C ;暫存Z中

  MOV C,X ;(CY)←(X)

  ANL C,/X ;(CY)←(X)∧/(X)

  ORL C,Z ;(CY)←(X)∧/(X)+(X)∧/(Y)

  MOV Z,C ;保存異或結(jié)果

  RET

?
阿坝| 余江县| 乌兰察布市| 淮阳县| 元谋县| 临高县| 彭泽县| 晋州市| 安阳县| 中卫市| 周宁县| 崇州市| 历史| 依兰县| 梁山县| 资源县| 双鸭山市| 博白县| 哈巴河县| 临沂市| 慈利县| 亚东县| 巧家县| 雅江县| 梁平县| 新兴县| 禹城市| 眉山市| 富源县| 安陆市| 德化县| 大宁县| 山阳县| 渑池县| 淮安市| 盐源县| 张家川| 永康市| 锦屏县| 都兰县| 永济市|