當前位置:編程學習大全網 - 編程語言 - 緊急單片機定時鬧鐘電路

緊急單片機定時鬧鐘電路

帶時鐘的匯編源代碼

沒有IC,聲音很難聽

壹、8051的總體結構

8051是壹個ROM型單片機(只能寫壹次),它有壹個用4K廠掩模編程的ROM程序存儲器(8031沒有ROM)。

硬件資源包括:

用於控制的8位CPU

128B內部RAM數據存儲;

32位雙向輸入/輸出線;

1全雙工異步串口;

2個16位定時器/計數器;

5個中斷源和2個中斷優先級;

時鐘發生器;

可尋址的64KB程序存儲器和64KB外部數據存儲器。

8051的內存

壹、程序記憶

程序存儲器用於存儲編程程序和表格常數,

8051芯片有4KB ROM,最多可以擴展片外16位地址線。

64KB ROM,兩者統壹尋址(訪問方式相同)。

如果EA端子保持高電平,8051的程序計數器PC處於

0000H-0FFFFH範圍內(即第壹個4KB地址)是執行片。

ROM程序。當尋址範圍是1000H-0FFFFH時,

從片外存儲器中取出指令。

EA端子保持低電平時8051的所有取指令操作。

都是在片外程序存儲器中進行的,然後片外存儲器

您可以從0000H開始尋址(ORG 0000H

SJMP 200H

…)。

程序存儲器中有六個具有特殊功能的單元:

▲0000H:8051復位後,PC=0000H,程序從0000H開始執行指令。

▲0003H:外部中斷0入口

▲000BH:定時器0溢出中斷入口。

▲0013H:外部中斷1入口

▲001BH:定時器1溢出中斷入口。

▲0023H:串口中斷入口。

使用時,通常會在這些入口地址存儲壹條絕對跳轉指令,讓程序跳轉到用戶安排的中斷程序的起始地址(因為這些中斷入口之間的間隔很小,不足以編寫中斷程序,所以不要忘記在中斷子程序後寫RETI返回主程序)。

第二,數據存儲

數據存儲器用於存儲中間運算結果、數據暫存和緩沖、標誌位等。8051片上有256B RAM,片外最高可擴展至64KB。

RAM由兩個地址空間組成,MOV用於訪問片內RAM,MOVX用於訪問片外RAM。

R0、R1和DPTR可以用作地址寄存器。前兩個是8位地址指針(尋址範圍:256b),DPTR是16位地址指針(可分為DPH和DPL,尋址範圍:64K)。只有間接尋址可以用於片外數據存儲。

8051片內數據存儲器中有21個特殊寄存器SFR,也稱為特殊工作寄存器。它們離散分布在高位128B地址80H-0FFH。☆只允許直接尋址來訪問這些特殊寄存器。

SFR表示地址

ACC累加器a(使用PUSH和POP指令時,以及尋址位時,只能使用ACC)字節地址:0E0H。

位地址:0E0H-0E7H

B B寄存器的字節地址:0F0H

位地址:0F0H-0F7H

PSW程序狀態字字節地址:0D0H

位地址:0D0H-0D7H

SP堆棧指針字節地址:81H

不能位尋址

DPTR數據存儲器指針(由DPH和DPL組成)DPH字節地址:83H不能位尋址。

DPL字節地址:82H不能進行位尋址。

P0-P3 I/O端口P0字節地址:80H位地址:80H-87H。

P1字節地址:90H位地址:90H-97H。

P2字節地址:0A0H位地址:0A0H-0A7H。

P3字節地址:0B0H位地址:0B0H-0B7H

IP中斷優先級字節地址:0B8H

位地址:0B8H-0BFH

IE中斷允許字節地址:0A8H

位地址:0A8H-0AFH

TMOD定時器/計數器模式字節地址:89H

不能位尋址

TCON定時器/計數器控制字節地址:88H

位地址:88H-8FH

定時器/計數器0

(高字節)字節地址:8CH

不能位尋址

TL0定時器/計數器0

(低位字節)字節地址:8AH

不能位尋址

TH1定時器/計數器1

(高字節)字節地址:8DH

不能位尋址

TL1定時器/計數器1

(低位字節)字節地址:8BH

不能位尋址

SCON串行控制字節地址:98H

位地址:98H-9FH

SBUF串行數據緩沖器字節地址:99H

不能位尋址

PCON電源控制字節地址:87H

不能位尋址

8051指令系統

8051指令系統使用七種尋址模式:1。立即尋址(例如,MOV A,#3AH)。2.直接尋址(例如MOV A,3AH)。3.寄存器尋址(例如MOV A,R2)。4.寄存器的間接尋址(例如,MOV A,@R0)。5.索引尋址(基址+變址寄存器間接尋址)(例如MOVC A,@A+DTPR)常用於查表。6相對尋址(例如:JC 03H)。7.位尋址(例如,SETB 3DH)。

***111指令。1.按字節數可分為:49條單字節指令;45條雙字節指令;三字節指令17。知道指令占用的字節數,可以幫助妳在編程時計算出指令的空間位置,在使用跳轉指令時確定長度,估算出代碼使用了多少空間。2.按運算速度分類,可分為:64條單周期指令;45雙循環指令;兩個四周期指令。(沒有三周期指令)方便知道指令占用的周期數。我們在優化程序運行速度時盡量使用單循環指令,在編寫延時子程序時確定壹段代碼所用的時間。

1.程序狀態字寄存器PSW

PSW位地址D7HD6HD5HD4D3HD2H1HD0H

字節地址d0h c AC f0rs 1 RS 0 ov f 1p。

PSW是壹個8位寄存器。它通過相應的標誌位記錄CPU進行各種邏輯運算或算術運算時的運算狀態或運算結果。這些標誌的狀態可以通過特殊說明來測試,也可以通過說明來閱讀。每個標誌位的功能如下:

p:平價馬克。它總是跟蹤累加器a內容的奇偶性,如果有“1”的奇數,就讓p為“1”,否則就讓p為“0”。At 80C51

在指令系統中,任何改變累加器A內容的指令都會影響奇偶標誌p,可用於單片機通訊中發送奇偶位,檢查是否有接收到的錯誤數據。

F1:用戶徽標。由用戶設置或復位。寫程序的時候,往往會有壹些分支,比如檢測電壓是否超標(過高或過低),超標就發出報警信號。這時候我們可以用F1作為電壓是否超標的標誌,如果超標則設置為“1”,否則設置為“0”。然後用F1來判斷電壓是否超標。

Over:溢出標誌。有符號數運算時,如果發生溢出,OV置為“1”,否則清零。對於1字節的有符號數,如果用最高有效位表示符號,則只有7個有效位,可以表示-128-+127之間的數。如果運算結果超出這個數值範圍,就會溢出,OV=1。乘法運算中,OV=1表示乘積超過255,除法運算中,OV=1表示除數為0。

RS0,RS1:工作寄存器組選擇位,用於選擇指令當前工作的寄存器組。RS0和RS1的組合通過用戶軟件改變來切換當前使用的工作內存庫,組合關系如下:RS1 RS0寄存器庫的片內RAM地址。

0 0組0 0h-07h

0 1組1 08H - 0FH

1 0組2 10h-17h

1 1組3 18h-1fh

微控制器復位後,RS0 = RS1 = 0,CPU自然選擇組0作為當前工作寄存器組。當我們需要做很多運算的時候,比如寫很多延時子程序,經常會覺得R0 - R7不夠用。這時我們可以通過設置RS0和RS1來切換寄存器組,這樣就多了8個寄存器可以給妳用了。

F0:用戶標誌位,同F1。

AC:半旗。加(或減)時,如果下半字節進位(或借位)上半字節,AC將置“1”,否則清除“0”。調整BCD碼時,AC也可用於確定該位。

CY:舉旗。在加(或減)運算過程中,如果運算結果的最高位有進位,則CY置為“1”,否則清零。在位操作期間,它也用作位累加器C。

2.定時器/計數器模式寄存器TMOD

TMOD

(89H) D7 D6 D5 D4 D3 D2 D1 D0

M0門M1 M0門M1

TMOD是設置T0和T1工作模式的寄存器,其中D4-D7設置定時器1,D0-D3設置定時器0。功能描述:

(1)M1和M0模式選擇位。設置如下:

M1 M0工作模式功能描述

0 0模式0 13位計數器

0 1模式1 16位計數器

1 0模式2自動重載8位計數器

1 1模式3 T0:分為兩個8位計數器;T1:停止計數

(2)-功能選擇位。當=0時,處於定時器模式;=1,是計數器模式。

(3)門-門位。當GATE=0時,只要將軟年控制位TR0或TR1置為“1”,定時器就可以開始工作。當GATE=1時,只有OR引腳為高電平且TR1或TR0置為“1”時,才能啟動相應的定時器開始工作。

TMOD不能尋址位,只能用字節傳輸指令來設置定時器工作模式。復位時,TMOD的所有位都是0。

例如,如果定時器1被設置為定時工作模式,則軟件需要啟動定時器1並按照模式2工作。定時器0是壹種計數器模式,需要軟件啟動定時器0,工作在模式1。它的指令是:MOV TMOD,#25H。

在無線電設備中,集成電路的應用越來越廣泛,識別集成電路的應用圖是電路分析中的壹個重點和難點。

1.集成電路應用電路圖功能

集成電路應用電路圖有以下功能:

(1)表達集成電路各引腳外的電路結構和元件參數,從而表示集成電路的完整工作狀態。

②在壹些集成電路應用電路中,繪制集成電路內部電路的框圖,對於分析集成電路應用電路是相當方便的,但這樣的表示並不多。

(3)集成電路應用電路有兩種:典型應用電路和實用電路。前者可以在集成電路手冊中找到,後者出現在實際電路中。這兩種應用電路幾乎沒有區別。根據這壹特點,在沒有實際應用電路圖時,可以使用典型的應用電路圖作為參考,這種方法在維修中經常使用。

④集成電路應用電路壹般表示壹個完整的單元電路或電路系統,但在某些情況下,壹個完整的電路系統需要兩個或兩個以上的集成電路。

2.集成電路應用的特點

集成電路的應用電路圖具有以下特點:

①大多數應用電路不畫內部電路框圖,不利於繪圖識別,尤其是初學者分析電路工作時。

對於初學者來說,分析集成電路的應用電路比分析分立元件的電路更難,這也是他們不了解集成電路內部電路的原因。其實還不如看圖紙修,集成電路比分立元件的電路更方便。

(3)對於集成電路應用電路,在對集成電路內部電路有壹個大致的了解,對各引腳的作用有壹個詳細的了解後,更便於識圖。這是因為同壹類型的集成電路具有規律性,掌握了它們的特性後,就可以很容易地分析出許多功能相同、模型不同的集成電路應用電路。

3.集成電路應用電路圖識別方法及註意事項

分析集成電路的方法和註意事項主要包括以下幾點:

(1)理解每個引腳的功能是理解圖紙的關鍵。

要了解每個管腳的作用,可以參考集成電路的應用手冊。知道了每個管腳的作用後,就方便分析每個管腳外電路的工作原理和元器件的作用。比如知道①腳是輸入腳,與①腳串聯的電容是輸入耦合電路,與①腳連接的電路是輸入電路。

(2)理解集成電路各引腳功能的三種方式。

了解集成電路各引腳的作用有三種方法:壹是查閱相關資料;第二,根據集成電路內部電路框圖的分析;三是分析集成電路應用電路中各引腳電路的特點。第三種方法要求有良好的電路分析基礎。

(3)電路分析步驟

集成電路應用電路的分析步驟如下:

① DC電路分析。這壹步主要是分析電源和接地引腳以外的電路。註意:當有多個電源引腳時,需要區分這些電源之間的關系,比如是前後路的電源引腳,還是左右聲道的電源引腳;對於多個接地引腳也應如此。區分多個電源引腳和接地引腳對於維修非常有用。

②信號傳輸分析。這壹步主要分析信號輸入引腳和輸出引腳以外的電路。當集成電路有多個輸入輸出引腳時,需要弄清楚是前壹級電路的輸出引腳還是後壹級電路的輸出引腳;對於雙通道電路,左右通道的輸入和輸出引腳也是有區別的。

③其他離針電路分析。比如找負反饋引腳和消振引腳,這是最難的壹步。對於初學者來說,需要依靠管腳動作數據或者內部電路框圖。

(4)在妳有了壹定的讀圖能力後,要學會總結各種功能集成電路的引腳外電路的規律,掌握這個規律,這對提高讀圖速度是有用的。比如輸入引腳外電路的規則是通過耦合電容或耦合電路與前壹電路的輸出端相連;輸出引腳外電路的規律是通過耦合電路與後續電路的輸入端相連。

⑤分析集成電路內部電路的信號放大和處理過程時,最好參考集成電路內部電路的框圖。在分析內部電路的框圖時,通過信號傳輸線中的箭頭可以知道信號經過了哪些電路的放大或處理,信號是從哪個管腳輸出的。

⑥了解集成電路的壹些關鍵測試點和引腳DC電壓規律,對電路維護非常有用。OTL電路輸出端的DC電壓等於集成電路DC工作電壓的壹半;OCL電路輸出端的DC電壓等於0V;BTL電路兩個輸出端的DC電壓相等,單電源供電時等於DC工作電壓的壹半,雙電源供電時等於0V。當壹個電阻連接在集成電路的兩個管腳之間時,該電阻會影響這兩個管腳上的DC電壓;當壹個線圈接在兩個管腳之間時,這兩個管腳的DC電壓相等,不相等時線圈必然開路;當壹個電容連接在兩個管腳之間或者壹個RC串聯電路被連接時,兩個管腳的DC電壓肯定不相等。如果相等,就說明電容器壞了。

⑦壹般情況下,不要分析集成電路內部電路的工作原理,這個比較復雜。

  • 上一篇:做app需要學什麽軟件,最好是平臺通用的,稍微有點基礎的需要學多久?
  • 下一篇:中專學校招生話術。最好來幾個模板。在線等各位大神。
  • copyright 2024編程學習大全網