色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

51單片機的數制和指令系統的講解及制作一個單片機最小系統的概述

Wildesbeast ? 來源:未知 ? 2019-09-08 11:01 ? 次閱讀

在講指令系統前我們先來復習一下數制的概念。

1.十進制(Decimal)

基數是10,它有10個數字符號,即0,l,2,3,4,5,6,7,8,9。其中最大數碼是基數減1,即9,最小數碼是0。

2.二進制(Binary)

基數是2,它只有兩個數字符號,即0和1。這就是說,如果在給定的數中,除0和1外還有其它數,例如 1012,它就決不會是一個二進制數。

3、十六進制(Hexadecilnal)

基數是16,它有16個數字符號,除了十進制中的10個數可用外,還使用了6個英文字母。它的16個數字依次是0,l,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A至F分別代表十進制數的10至15,最大的數字也是基數減1。

4、二進制數與十六進制數的相互轉換。

(1)、二進制轉換為十六進制:

整數部分,從低位開始,小數部分,從高位開始,每四位一組(不夠四位的補0),轉換為對應的十六進制數。

例:(1 0001 0011.1100 0111)2=(113.C7)H

(2)、十六進制轉換為二進制:

將十六進制數的每一位分別轉換為對應的四位二進制數。

例:(3E9D)H=(11 1110 1001 1101)B

例:( 2ABE)H= 0010 1010 1011 1110B

以后我們在單片機編程方面采用十六進制,這個請大家注意了!

MCS-51系列單片機的指令系統共有111條指令,其中49條是單字節指令,45條是雙字節指令,17條是三字節指令。

MCS-51的指令系統共有33個功能,用匯編編程時只需要42個助記符就能指明這33個功能操作。

1、 指令格式:MCS-51匯編語言指令格式與其他微機的指令格式一樣,均由以下幾部分組成:[標號:]操作碼 [操作數][,操作數][;注釋]

標號:又稱為指令地址符號,地址的符號化,一般由1到6個字符組成,以字母開頭的字母數字串,與操作碼之間用冒號分開。

操作碼:是由助記符表示的字符串,它規定了指令的操作功能。

操作數:是指參加操作的數據和數據的地址。

注釋:是為該條指令作說明,以便于閱讀。

注意:[ ]中表示為可選項。操作數可以為1、2、3個,也可以沒有。

不同功能的指令,操作數作用不同,如:傳送指令多數有兩個操作數,寫在左面的是目的操作數(表示操作結果存放的單元地址),寫在右面的稱為源操作數(指出操作數的來源)。操作碼和操作數之間必須用空格分隔,操作數與操作數之間必須用逗號“,”分隔。帶方括號項可有可無,稱為可選項。操作碼是指令的核心不可缺少。

2、 指令分類

MCS-51的111條指令分為下面5類:

(1) 數據傳送類指令29條,分為片內RAM,片外RAM、程序存儲器的傳送指令,交換及堆棧操作指令。

(2) 算術運算類24條,分為加,帶進位加,減,乘,除,加1,減1指令。

(3) 邏輯運算類24條,分為邏輯與、或、異或、移位指令。

(4) 控制程序轉移類17條,分為無條件轉移與調用,條件轉移,空操作指令。

(5) 布爾變量操作類17條,分為數據傳送、位與、位或,位轉移指令。

3. 指令代碼:

(1) 數據傳送類

MOV 傳送數據

指令格式:MOV A,#DATA;將立即數DATA送到累加器A中。

例:

MOV P1,#11111110B;把立即數11111110B傳送到P1口。

MOVX 片外數據存儲器傳送數據

指令格式:MOVX A,@DPTR;將DPTR指向的地址單元中的內容傳送至A中。

例:MOV DPTR,#1000H;將地址1000H傳送到數據指針DPTR中。

MOVX A,@DPTR;將DPTR指向的地址單元(1110H)中的內容傳送至A中。

MOVC 程序存儲器傳送數據

指令格式: MOVC A,@A+DPTR;

例:MOV A,#00H

MOV DPTR,#1000H;將地址1000H傳送到數據指針DPTR中。

MOVC A,@A+DPTR;把累加器A的值和DPTR的值相加得到值作為地址,把這個程序存儲器的地址單元中的內容傳送到A中。

(2) 算術運算指令

ADD 不帶進位的加法類指令

指令格式:ADD A,#DATA;把立即數DATA和累加器A的內容相加得到的值存放到累加器A中。A+DATA→A

例:

SETB C;讓累加器C置1

MOV A,#01H;A=01H

ADD A,#01H;A=02H

ADDC 帶進位的加法類指令

指令格式:ADDC A,#DATA;把立即數DATA和累加器A的內容相加,再加上進位標志C得到的值存放到累加器A中。A+DATA+C→A

例:

SETB C; 把累加器C置1

MOV A,#01H ; A=01H

ADDC A,#01H; A+DATA+C→A ,A=03H

SUBB帶借位的減法類指令

指令格式:SUBB A,#DATA;把累加器A的內容減去立即數DATA再減去進位標志C得到的值存放到累加器A中。A-DATA-C→A

例:

SETB C; 讓累加器C置1

MOV A,#03H; A=03H

SUBB A,#01H; A=01H

INC加一指令

指令格式:INC A ;把A的內容加1再存儲到A中。

例:

MOV A,#01H;A=01H

INC A ;A=02H

DEC 減1指令

指令格式:DEC A ;把A的內容減1再存儲到A中。

例:

MOV A,#03H ;A=03H

DEC A ;A=02H

(3) 邏輯運算指令

CLR 清零指令

指令格式:CLR A ;把A的內容清零再存儲到A中,A=00H。

MOV A,#00000001B;A=00000001B

CLR A ;A=00000000B

CPL 按位取反

指令格式:CPL A ;把A的內容按位取反后再存儲到A中。

例:

MOV A,#00000001B;A=00000001B

CPL A ;A=11111110B

ANL 按位取與

指令格式:ANL A ;把A的內容按位取與后再存儲到A中。

例:

MOV A,#01000001B ; A=00000001B

ANL A,#01001111B ; A=01000001B

ORL 按位取或

指令格式:ORL A ;把A的內容按位取或后再存儲到A中。

例:

MOV A,#00000001B ;A=00000001B

ORL A,#10001111B ;A=10001111B

XRL 按位取異或,相同為0,不同為1。

指令格式:XRL A ;把A的內容按位取異或后再存儲到A中。

例:

MOV A,#00000001B;A=00000001B

XRL A,#00001111B ;A=00001110B

RL左移位指令

指令格式:RL A ;把A的內容按位左移后再存儲到A中。

例:

MOV A,#00000001B;A=00000001B

RL A ;A=00000010B

RL A ;A=00000100B

RL A;A=00001000B

RR右移位指令

指令格式:RR A ;把A的內容按位右移后再存儲到A中。

例:

MOV A,#00000001B ;A=10000000B

RR A ;A=01000000B

RR A ;A=00100000B

RR A ;A=00010000B

(4) 位操作指令

SETB 置1指令,只能對位操作,不可以對字節操作。

指令格式:SETB BIT ;對位BIT置1。

例:

SETB P1.0 ;P1.0=1

CLR 清零指令,可對位操作,也可對字節操作。

指令格式:CLR BIT ;對位BIT置0。

SETB C

MOV A,#11110000B

CLR C

CLR A

CPL 取反,可對位操作,也可對字節操作。

指令格式:CPL BIT ;對位BIT取反。

SETB C

MOV A,#11110000B

CPL C

CPL A

(5) 控制及轉移指令

LJMP 長跳轉指令

指令格式: LJMP 標號;程序將跳轉到標號處執行。

LCALL長調用子程序指令,常與RET配合使用。

指令格式: LCALL 標號;調用為標號的子程序去執行。

RET子程序返回指令。

DJNZ 條件轉移類指令(自減一指令)

指令格式: LOOP:DJNZ R7,LOOP

執行分兩步:

(1) 將R7的內容減一后再送到R7中。

(2) 判斷R7是不是等于0

如果是等于0,順序執行下面的程序。

如果不等于0,跳轉到標號為LOOP的地方去執行。

例:

MOV R7,#3;送循環次數。

CLR A;對A清零。

LOOP:INC A;對A加1。

DJNZ R7,LOOP;先讓R7自減1,后判斷是否等于0。

;不等于0跳轉,等于零往下執行。

END

運行上面的程序后累加器A的值是多少?

答案:A=03H

學完了指令系統現在我們來實戰一下,一個單片機最小系統的制作

單片機最小系統制作

一、確定任務

開發單片機最小系統

二、任務分析:

該系統具有的功能:

(1)具有2位LED數碼管顯示功能。

(2)具有八路發光二極管顯示各種流水燈。

(3)可以完成各種奏樂,報警等發聲音類實驗。

(4)具有復位功能。

三、功能分析

(1)兩位LED數碼管顯示功能,我們可以利用單片機的P0口接兩個數碼管來現這個功能;

(2)八路發光二極管顯示可以利用P1口接八個發光二極管實現這個功能;

(3)各種奏樂、報警等發聲功能可以采用P2.0這個引腳接一蜂鳴器來實現。

(4)利用單片機的第9腳可以設計成復位系統,我們采用按鍵復位;利用單片機的18、19腳可以設計成時鐘電路,我們利用單片機的內部振蕩方式設計的。

四、設計框圖

五、硬件電路設計

根據本系統的功能,和單片機的工作條件,我們設計出下面的電路圖。

六、元件清單的確定:

數碼管:共陰極2只(分立)

電解電容:10UF的一只

30PF的電容2只

220歐的電阻9只

4.7K的電阻一只

1.2K的電阻一只

4.7K的排阻一只,

12MHZ的晶振一只

有源5V蜂名器一只

AT89S51單片機一片

常開按鈕開關1只

緊鎖座一只(方便芯取下來的,綠色的)

發光二極管(5MM紅色)8只

萬能板電路版15*17CM

S8550三極管一只

4.5V電池盒一只,導線若干。

七、硬件電路的焊接

按照原理圖把上面的元件焊接好,詳細步驟省略。

八、相關程序編寫

針對上面的電路原理圖,設計出本系統的詳細功能:

(1)、第一個發光二極管點亮,同時數碼管顯示“1”。

(2)、第二個發光二極管點亮,同時數碼管顯示“2”。

(3)、依次類推到第八個發光二極管點亮,同時數碼管顯示“8”。

以上出現的是流水燈的效果

(4)、所有的發光二極管滅了,同時數碼管現實“0”。

(5)、數碼管顯示“1”。

(6)、數碼管顯示“2、……”直到“9、A、B、C、D、E、F、Y”。

(7)、蜂鳴器發出九聲報警聲后重復上面所有步驟。

(8)程序如下:

ORG 0000H;偽指令,定義下面的程序代碼(機器代碼)從地址為0000H的單元存放。

LJMP START;跳轉到標號為START的地方去執行。

ORG 0030H;偽指令,定義下面的程序代碼(機器代碼)從地址為0030H的單元存放。

START:MOV P1,#0FEH ;點亮第一個發光二極管。

CLR P2.7 ;送低電平到第一個數碼管,開啟數碼管。

CLR P2.6 ;送低電平到第二個數碼管,開啟數碼管。

MOV P0,#06H;讓數碼管顯示“1” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0FDH;點亮第二個發光二極管。

MOV P0,#5bH;讓數碼管顯示“2” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0FBH;點亮第三個發光二極管。

MOV P0,#4fH;讓數碼管顯示“3” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0F7H;點亮第四個發光二極管。

MOV P0,#66H;讓數碼管顯示“4” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0EFH;點亮第五個發光二極管。

MOV P0,#6dH;讓數碼管顯示“5” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0DFH;點亮第六個發光二極管。

MOV P0,#7dH;讓數碼管顯示“6” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#0BFH;點亮第七個發光二極管。

MOV P0,#07H;讓數碼管顯示“7” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#7FH;點亮第八個發光二極管。

MOV P0,#7fH;讓數碼管顯示“8” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P1,#00H;滅了所有的發光二極管。

MOV P0,#3FH;讓數碼管顯示“0” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#06H;讓數碼管顯示“1” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#5bH;讓數碼管顯示“2” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#4fH;讓數碼管顯示“3” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#66H;讓數碼管顯示“4” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#6dH;讓數碼管顯示“5” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7dH;讓數碼管顯示“6” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#07H;讓數碼管顯示“7” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“8” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#6fH;讓數碼管顯示“9” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“A” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“b” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“C” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“d” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“E” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“F” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV P0,#7fH;讓數碼管顯示“Y” 。

LCALL DELAY;調用延時子程序,起到延時的目的。

MOV R4,#9;送蜂鳴器的報警次數。

LOOP:SETB P2.0;不發聲

LCALL DELAY;調用延時子程序,起到延時的目的。

CLR P2.0;發聲。

LCALL DELAY;調用延時子程序,起到延時的目的。

DJNZ R4,LOOP;發聲九次后向下執行。

SETB P2.0;關閉發聲

LJMP START;跳轉到標號為START處執行,循環本程序。

DELAY:MOV R7,#200;這是延時子程序。

D1:MOV R6,#200

D2:MOV R5,#200

D3:DJNZ R5,D3

DJNZ R6,D2

DJNZ R7,D1

RET;延時子程序返回指令。

END;結束偽指令。

九、利用KEIL C51 軟件對上面的程序進行調試和編譯,產生*.HEX文件,以便用編程器寫入單片機芯片中。

十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。

十一、產品調試:通上4.5V(三節電池)的電源,可以調試本系統,如果沒有錯誤就可以正常工作了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163764
  • 51單片機
    +關注

    關注

    274

    文章

    5702

    瀏覽量

    123492
  • 指令系統
    +關注

    關注

    1

    文章

    81

    瀏覽量

    15642
收藏 人收藏

    評論

    相關推薦

    單片機最小系統原理圖講解

    單片機最小系統,或者稱為最小應用系統,是指能夠維持單片機正常工作的最小工作單元。對
    的頭像 發表于 11-22 14:13 ?1.5w次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>原理圖<b class='flag-5'>講解</b>

    單片機最小系統的相關知識

    單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統。對
    發表于 11-29 15:57 ?1909次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>的相關知識

    單片機最小系統設計介紹

    單片機最小系統設計》 介紹單片機最小系統,及單片機知識講解
    發表于 11-19 10:23 ?29次下載

    MCS-51單片機指令系統講解

    MCS-51單片機指令系統是學習單片機是的難點,所以值得好好學
    發表于 06-08 16:46 ?4次下載

    51單片機最小系統制作

    51單片機最小系統制作包含電路圖,制作材料等資料
    發表于 06-29 15:04 ?5次下載

    51單片機最小系統

    單片機最小系統,或者稱為最小應用系統,AT89S51單片機
    發表于 12-06 13:39 ?9374次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>

    什么是單片機最小系統

    單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統。 對
    的頭像 發表于 03-05 09:14 ?7.7w次閱讀
    什么是<b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>

    51單片機最小系統是什么?51單片機最小系統的電路介紹

    單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統。 對
    發表于 08-12 17:33 ?44次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>是什么?<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>的電路介紹

    單片機最小系統的調試方法_單片機最小系統設計制作及開發流程

    本文主要介紹了單片機最小系統的調試方法及單片機最小系統設計制作及開發流程。
    的頭像 發表于 04-24 09:35 ?1.3w次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>的調試方法_<b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>設計<b class='flag-5'>制作</b>及開發流程

    51單片機最小系統講解和應用的資料總結

    單片機最小系統, 或者稱為最小應用系統, 是指用最少的元件組成的單片機可以工作的系統。對
    發表于 11-05 14:53 ?22次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>的<b class='flag-5'>講解</b>和應用的資料總結

    設計并制作單片機最小系統

    設計并制作單片機最小系統方法。
    發表于 03-25 09:47 ?37次下載
    設計并<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>

    單片機最小系統的設計與制作講解

    單片機最小系統的設計與制作講解說明。
    發表于 04-19 15:19 ?17次下載

    理解51單片機最小系統的工作原理

    51單片機最小應用系統概述要想使用單片機,第一個要搭
    發表于 11-10 19:05 ?36次下載
    理解<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>的工作原理

    單片機最小系統詳解

    單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統.對
    發表于 11-17 09:36 ?14次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>詳解

    單片機最小系統

    、復位電路,如圖 2-1 所示:這張最小系統的電路圖節選自我們的 KST-51 開發板原理圖,下面我們就照這張電路圖來具體分析最小系統的三要素。電源這個很好理解,電子設備都需要供電,就連我們的家用電器(手電筒_)也不例外。目前主
    發表于 12-29 19:36 ?69次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統</b>
    主站蜘蛛池模板: 99久久爱re热6在线播放| 色偷偷91综合久久噜噜| 精品久久久久久无码人妻国产馆| 顶级欧美不卡一区二区三区| 99视频在线免费观看| 99久久免费只有精品| 99re6热这里在线精品视频| 中文字幕亚洲无线码在线| 亚洲字幕久久| 伊人影院香蕉久在线26| 亚洲中字慕日产2020| 曰批国产精品视频免费观看| 怡春院国产精品视频| 在线免费看a| 97精品国产亚洲AV高清| 99在线观看| 爱很烂qvod| 大香伊人久久| 国产精品一区二区制服丝袜 | 亚洲精品视频免费| 小货SAO边洗澡边CAO你动漫| 小伙无套内射老女人| 亚洲欭美日韩颜射在线二| 亚洲综合AV在线在线播放| 在线天天看片免费视频观看| 最近高清日本免费| 99久久国产露脸精品国产麻豆| MD传媒在线观看佳片| 国产99久久久欧美黑人刘玥| 国产成人拍精品视频网| 国产一及毛片| 久热久热精品在线观看| 暖暖 免费 高清 日本视频5| 人妖和美女玩| 性女传奇 快播| 一本之道高清在线观看免费 | 肉色欧美久久久久久久蜜桃| 无码人妻少妇色欲AV一区二区| 亚洲视频黄| 99精品国产自在自线| 国产成人a v在线影院|