微控制器原理

2023-01-10 17:09:02 字數 4491 閱讀 5130

第一章緒論

計算機中的資訊包括:

指令、資料,他們是以一定的編碼形式表示

指令:計算機中執行某種操作的命令

指令格式:指令的編碼規則,包含操作碼、運算元

多運算元指令格式:

操作碼第一運算元第二運算元

減法被減數減數

指令型別

(1)資料傳輸類2)算術類,如:加、減、乘、除

(3)邏輯指令,如:邏輯與、或、非等 (4)程式控制類

(5)輸入/輸出指令6)其他指令

資料和指令都是一組二進位制編碼,是作為乙個整體進行處理、運算的,統稱為機器字,簡稱字。

儲存器:程式儲存器、資料儲存器

控制器: 由程式計數器(pc)、指令暫存器(ir)、指令操作碼解碼器、位址形成器、脈衝發生器、啟停電路、時序電路微操作控制部件等組成。

單片微型計算機整合在乙個晶元上的微型計算機,簡稱微控制器 ——實質就是乙個晶元

微控制器的特點價效比高控制功能強、執行速度快低電壓、低功耗整合度高、抗干擾能力強,可靠性高

微控制器按功能分類基本型增大儲存器型低功耗型 a/d型 dma型多並行口型

按儲存器配置分類片內rom型片內eprom型外接eprom型

微控制器應用系統: 由硬體系統和軟體系統組成

硬體是應用系統的基礎

軟體是在硬體的基礎上對其資源進行合理調配和使用,從而完成應用系統所要求的任務,二者相互依賴,缺一不可

位元組(byte): 8個二進位制位(bit),無符號表達範圍0~255

字word:雙位元組,16個二進位制位,無符號表達範圍0~65535

十六進製制的基數為16,它所使用的數碼共有16個:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,其中a~f相當於十進位制數的l0~15。十六進製制的權是以16為底的冪

十六進製制數如是字母打頭,則在使用彙編指令時前面需加乙個0

bcd碼與十進位制數的相互轉換

bcd碼與二進位制之間的轉換不是直接的,要先經過十進位制,然後再轉換為二進位制,反之過程類似

第二章微控制器結構

cpu由運算器、控制器組成

控制器:程式計數器(pc) 16位指令暫存器指令解碼器資料指標

定時控制邏輯、復位電路、堆疊指標、時鐘發生器

運算器:累加器acc 算邏單元 alu

程式狀態暫存器psw 存放程式執行中的各種狀態資訊(p13)

b暫存器、暫存器、十進位制調整電路、布林處理器

mcs-51微控制器訊號引腳簡介

1電源線:vcc(+5v)、vss(地) 2振盪電路:xtal1、xtal2 3復位引腳:rst

4並行口:p0、p1、p2、p3 5 ea:訪問程式儲存控制訊號

6 psen:外部rom讀選通訊號 7 ale:位址鎖存控制訊號

三個獨立的儲存器空間 64kb程式儲存器空間(0~0ffffh)

256b內部ram空間(0~0ffh)

64k外部資料儲存器空間(0~0ffffh)

mcs 51儲存器配置內部ram 特殊功能暫存器sfr 片外64k ram空間

p0口的結構 1.作一般i/o口 2.位址/資料匯流排的a0~a7 /d0~d7

p1口帶上拉電阻,每一位可分別定義為輸入線/輸出線

p2口 1.輸入/輸出口 2.系統擴充套件高位位址匯流排a8~a15

p3口多功能口每一位可分別定義為第一功能或第二功能

微控制器時鐘電路通常有兩種形式: 1.內部振盪方式:2.外部振盪方式:p28

復位電路微控制器復位電路包括片內、片外兩部分。外部復位電路就是為內部復位電路提供兩個機器週期以上的高電平而設計的。mcs-51微控制器通常採用上電自動復位和按鍵手動復位兩種方式。

微控制器復位後的狀態 p32

微控制器執行出錯或進入死迴圈時,可按復位鍵重新執行。

21個特殊功能暫存器復位後的狀態為確定值。

第四章組合語言程式設計

多重迴圈,50毫秒延時(12mhz晶振)

del: mov r7, #200 ;1

del1: mov r6, #123 ;1

nop1

del2: djnz r6, del2 ;2

djnz r7, del1 ;2

ret ;2 延時1+(1+1 + 2×r6 +2) × r7+2=50,003 us

用軟體延時時,不允許有中斷,否則將嚴重的影響定時的準確性

在p1.0口產生20hz的方波(12mhz晶振) 。

org 0000h

ajmp main

org 0030h

main:cpl p1.0

acall del

ajmp main

del: mov r7, #200

del1: mov r6, #123

nopdel2:djnz r6, del2

djnz r7, del1

retendp1口控制八個發光二極體點亮、熄滅,迴圈執行

org 0000h

start:mov p1,#00h

acall delay

mov p1,#0ffh

acall delay

sjmp start

delay: mov r3,#0ffh

del2: mov r4,#0ffh

del1: nop

djnz r4,del1

djnz r3,del2

retend第五章 mcs-51中斷系統

與中斷系統有關的特殊功能暫存器有:

中斷允許暫存器中斷優先級別控制暫存器中斷源暫存器

中斷源二個外中斷三個內中斷:t0、t1、串列埠傳送接收中斷

自然優先順序由硬體形成,排列次序由高到低如下 p91

t1溢位中斷標誌(tcon.7):

t1啟動計數後,計滿溢位由硬體置位tf1=1,向cpu請求中斷,此標誌一直保持到cpu響應中斷後,才由硬體自動清0。也可用軟體查詢該標誌,並由軟體清0。

外部中斷int1中斷標誌位(tcon.3) :

ie1=1,外部中斷1向cpu申請中斷

外部中斷int1觸發方式控制位(tcon.2):

it1=0,電平觸發方式 it1=1, 下降沿觸發方式

如果存在以上三條件,cpu放棄查詢結果,在下一機器週期重新查詢p92

cpu響應中斷時,先置位相應的優先順序狀態觸發器,然後執行一條內部自動形成的長呼叫指令,使控制轉移至至相應的入口位址並清零相應的中斷請求源(串列埠ti、ri除外)

cpu執行中斷處理程式移一直到reti指令為止

執行reti指令:將清零優先順序狀態觸發器,然後從堆疊中彈出兩個位元組到pc。

在中斷響應過程中,斷點的保護主要由硬體電路自動實現。它將斷點壓人堆疊,再將中斷服務程式的入口位址送入程式計數器pc,使程式轉向中斷服務程式,即為中斷源的請求服務

中斷服務程式的固定入口:

0003h單元——外部中斷int0的中斷服務程式入口

000bh單元——內部定時器/計數器t0的中斷服務程式入口

0013h單元——外部中斷int1的中斷服務程式入口

001bh單元——內部定時器/計數器t1的中斷服務程式入口

0023h單元——序列口的中斷服務程式入口

中斷請求的撤除p94

特別要注意不能用子程式返回指令「ret」代替中斷返回指令「reti」

中斷程式一般包含中斷控制程式(即中斷初始化程式)和中斷服務程式兩部分

例1 假設規定外部中斷0為電平觸發方式,高優先順序,試寫出有關的初始化程式

setb ea ;開中斷允許總控制位

setb ex0 ;外中斷0開中斷

setb px0 ;外中斷0高優先順序

clr it0 ;電平觸發

外部中斷源的擴充套件 1. 定時器t0,t1。(工作在計數方式下) 2. 中斷和查詢結合。

時mcs-51定時/計數器由振盪器分頻輸入電路、外部計數脈衝輸入電路、計數脈衝選擇電路、計數啟停電路、加1計數器和中斷標誌等組成

定時器的初始化 1確定工作方式 2確定定時器的初值 3是否採用中斷 4啟動定時器

讀取定時/計數器的當前值 1、先停止定時/計數器的執行

2、先讀高8位,再讀低8位,然後再讀高8位

模式0的結構 13位定時/計數器計數初值 x=213-t×fosc/12

模式1的結構16位定時/計數器計數初值 x=216-t×fosc/12

模式2的結構 8位定時/計數器,自動重灌,計數/定時溢位後,將th0或th1裝入tl0或tl1 計數初值 x=28-t×fosc/12

模式3的結構p108

12mhz晶振,使用t1,方式1,在p1.0產生500hz方波。(p105)

12mhz晶振,使用t0計數 ,每計滿100次,累加器a加1。(p107)

用定時器1編1s的定時程式,6mhz。p109

頻率測量1,在乙個定時內數脈衝個數

2,利用gate控制位,測量乙個脈衝寬度

微控制器復位原理總結

題6是作者在2006年10月份全國巡迴人才招聘的考題,居然60 的同學得零分,卻只有一位同學得滿分,這種現象值得我們徹底地反思。題6 微控制器上電復位電路如圖3所示,請回答下列問題 12分 1 該復位電路適用於高電平復位還是低電平復位?2 試述復位原理,畫出上電時vc的波形 3 試述二極體d的作用。...

微控制器原理及應用

網路教育學院 題目 課題一 微控制器電子時鐘設計 學習中心 甘肅農墾河西分校 層次 專公升本 專業 電氣工程及其自動化 年級 2015年春季 學號 201303576510 學生姓名 王書飛 一,引言 1957年,ventura發明了世界上第乙個電子錶,從而奠定了電子時鐘的基礎,電子時鐘開始迅速發展...

微控制器原理及應用

開始進棧保護 消抖開中斷 a r0 查表數碼管顯示r0 r0自加1 開始進棧保護 消抖開計數器 a r1 查表數碼管顯示r1 r1自加1 恢復現場 恢復現場 中斷返回 中斷返回 外中斷0顯示數a加1 定時器 計數器t0顯示數b加1 開始進棧保護 消抖開中斷 a r0 30h r1 n a 30h y...