




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
手把手教你學51單片機——之MCS-51實戰篇主講:尹延輝策劃:張勇開發板:LT-Super51QQ群:31646346網址:E-Mail:實戰篇第三講——數碼管與定時器本講內容提要八段數碼管多位合一的數碼管靜態顯示與掃描顯示定時/計數器MCS51的定時/計數器溫故知新——單個按鍵與中斷輸入方式使用IO口IO口的’0’與’1’反映外部輸入的電平高低按鍵與單片機的接口按鍵電路,上拉或下拉電阻查詢方式使用單個按鍵循環語句實現查詢方式使用按鍵按鍵消抖按鍵輸入需要消抖的原因、常用方法MCS51的中斷系統中斷系統的機理、應用場合、與查詢方式相比的優勢中斷相關的寄存器IE、TCON,中斷使能位與標志位的區別外部中斷的使用:邊沿觸發與電平觸發、使用外部中斷的步驟釋疑解惑——單個按鍵與中斷填空題IO口輸入方式使用時,可以采用兩種程序設計方式:查詢方式和中斷方式,其中中斷方式可以自動響應非預期的事件,避免占用CPU運行時間。51系列有5個中斷源,5x系列增加了定時器2中斷源。外部中斷0和外部中斷1的中斷向量地址分別是0x03,0x13。MCS51中斷服務函數的格式是void函數名()interruptN,其函數名可以自定義實驗題用按鍵給流水燈調速(手冊實驗十七):編寫C語言程序,實現以下實驗現象:上電后流水燈以1S
的速度流動,每按一下S3
速度快
100mS,直到速度達到100mS時,每按一下S3速度慢100mS,直到1S速度。如此循環往復。新語新知——八段數碼管八段數碼管由八段LED構成,各LED陰極或陽極并在一起,稱為“位選線”:共陰、共陽,其余8個引腳各自引出,稱為“段選線”,各段可以分別控制。段碼表將需要的字形對應的各個段點亮,即可顯示對應的數字。一般將數
字對應的段列表做成數組的形式,稱為段碼表。AA16109854237DS?a
b
c
d
e
f
gDPDpy
Red-CA新語新知——多位合一的數碼管多位合一的數碼管將多個八段數碼管的段選線分別并在一起,位選線引出。com2afcom1com0bcom3gcdpdeagbagb
fagb
fagb
fc
e
c
e
c
e
cd
d
d
ddp
dp
dp
dpfeLED1新語新知——靜態顯示與掃描顯示靜態顯示共陽數碼管:公共端接Vcc,用單片機的一個8位IO(以P0為例)口接在段選線上,P0輸出相應段碼的反碼即可顯示相應的數字。共陰數碼管:公共端接地,用單片機的一個8位IO(以P2為例)口接在段選線上,P2輸出相應段碼即可顯示相應的數字。MCS51的IO口拉電流能力很弱,不推薦此種接法。掃描顯示將多位數碼管的共陰/共陽數碼管的公共端也用IO口加以控制,各個位輪番顯示,利用人眼的視覺暫留效應,使得看上去所有位一起亮。位選線上的電流可能會很大(例如8位數碼管一起亮時,相當于64個LED一起發光的電流),一般要用三極管或者數字芯片驅動。新語新知——靜態顯示與掃描顯示靜態顯示電路10EA/VPP3119X2
X118RESET91716121314151234567P1.0/T2P1.1/T2
EXP1.2P1.3
P1.4P1.5/MOSI
P1.6/MISOP1.7/SCK839383736353433P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD73221222324252627P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10P2.1/A9P2.0/A828PSEN29ALE/PROG30P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD11GND20VCC40U2(AT/STC/SST)89(S/C)5XR210KC10.1uFVCCS5RESETRESTGNDGNDX112-40MC922pC822pVCCVCC10aA196bA8c5d4e2f3g7DPDS?Dpy
Red-CAVCC12345AA6879a
b
c
d
e
f
gDP10DS?Dpy
Red-CAGND新語新知——靜態顯示與掃描顯示掃描顯示電路10EA/VPP3119X2
X118RESET91716121314151234567P1.0/T2P1.1/T2
EXP1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCK8P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7393837363534333221222324252627P2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A828PSEN29ALE/PROG30P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD11GND20VCC40(AT/STC/SST)89(S/C)5XR210KC10.1uFVCCS5RESETRESTGNDGNDX112-40MC922pC822pU2
VCCVCCVCCA
A61109854237DS?a
b
c
d
e
f
gDPA
A61109854237DS?a
b
c
d
e
f
gDPA
A61109854237DS?a
b
c
d
e
f
gDPA
A61109854237DS?a
b
c
d
e
f
gDPQ2S8550Q3S8550Q4S8550Q5S8550R?1KR?1KR?1KR?1K新語新知——靜態顯示與掃描顯示LT-Super51學學學數數數數數數AD[0..7]學習板上的數碼管掃描顯示電路CpoyRight@力力數力www.LT430.com10EA/VPP3119X2
X118RESET917P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD1213141516P1.0/T2
P1.1/T2
EX
P1.2P1.3234P1.4
P1.5/MOSI
P1.6/MISO
P1.7/SCK5678P0.0/AD0
P0.1/AD1P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8ALE/PROGPSEN3029P3.0/RXD
P3.1/TXD11GND20VCC40U21(AT/STC/SST)89(S/C)5XVCCVCCREST39
AD038
AD137
AD236
AD335
AD434
AD533
AD632
AD7GNDX1
12-40MC922pC822pR210KC1
104VCCS5RESETGND28
A1527
A1426
A1325
A1224
A11232221WR1E
LD0
D1
D2
D3
D4
D5
D6
D7Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q720VCC
GND10U17GNDVCCGNDACS72
1119
SD018
SD117
SD216
SD315
SD414
SD513
SD612
SD7AD0
2AD1
3AD2
4AD3
5AD4
6AD5
7AD6
8AD7
9E
LD0
D1D2
D3
D4
D5
D6
D7Q2
Q3
Q4
Q5
Q6
Q7Q0
Q120VCC
GND10U1974HC573GND
74HC573VCCGND1ACS73
1119
COM018
COM117
COM216
COM315
COM414
COM513
COM612
COM7AD0
9AD1
8AD2
7AD3
6AD4
5AD5
4AD6
3AD7
22U16A
3CS72CS731
ACS7210
ACS7374AHC02D
U40C9874AHC02DGNDVCCA
B
C5Y77GND812
CS7311109Y0
Y1OE1
Y2OE2A
Y3OE2B
Y4
Y5
Y6151413
CS72VCC16U1274HC138DA13
3A12
2/A14
4A11
1A15
631U39AA14
274AHC02Dcom2afcom1com0bcom3gcdpdeagdbcdpagdb
fc
edpagdb
fc
edpagdb
fc
edpLED2SD0SD1SD2SD3SD4SD5SD6SD7com2afcom1com0bcom3gcdpdeagdb
fc
edpagdb
fc
edpagdb
fc
edpagdb
fc
edpfeLED1SD0SD1SD2SD3SD4SD5SD6SD7COM0COM1COM2COM3COM4COM5COM6COM7新語新知——靜態顯示與掃描顯示實驗十九數碼管初級實驗實驗目的:通過編程查看數碼管各個段與單片機IO的對應關系。實驗現象:實驗板上的8位數碼管依次點亮,每位數碼管的各個段依次點亮。實驗原理:在LT-Super51學習板上8位數碼管的位選與段選分別通過1片接在英特爾總線上的74HC573驅動,因此其使用方法與蜂鳴器、繼電器類似。通過對位選與段選做移位操作,可以觀察段選信號的各個bit與數碼管各個段的對應關系,根據此對應關系可以自行編寫數碼管的段碼表。新語新知——靜態顯示與掃描顯示實驗二十軟延時方式掃描數碼管實驗實驗目的:初步掌握數碼管掃描編程的原理與方法。實驗現象:實驗板上的8位數碼管從左至右顯示“76543210”。實驗原理:利用人眼的視覺暫留效應,讓8位數碼管循環往復依次點亮(每一位數碼管在各次循環中顯示的內容要一樣),人眼看起來就像是8位數碼管一起亮。新語新知——定時/計數器定時/計數器的物理模型計數器的定義:可以計量輸入時鐘的個數,結果以二進制表示,存放在若干字節(取決于計數器的長度)的RAM中,該部分存儲單元稱為計數寄存器。精確的時鐘信號+計數器=定時器舉例子:手表計時新語新知——MCS51的定時/計數器16位定時/計數器MCS51的定時器/計數器的基本部件是兩個8位的計數器(其中TH1,TL1是T1的計數器,TH0,TL0是T0的計數器)拼裝而成。在作定時器使用時,輸入的時鐘脈沖是由晶體振蕩器的輸出經12分頻后得到的,所以定時器也可看作是對計算機機器周期的計數器(因為每個機器周期包含12個振蕩周期,故每一個機器周期定時器加1,可以把輸入的時鐘脈沖看成機器周期信號)。故其頻率為晶振頻率的1/12。如果晶振頻率為12MHZ,則定時器每接收一個輸入脈沖的時間為1us。當它用作對外部事件計數時,接相應的外部輸入引腳T0(P3.4)或T1(P3.5)。很少工作在此種模式。新語新知——MCS51的定時/計數器MCS51定時/計數器相關的寄存器MCS51定時器/計數器有四種工作方式,其工作方式的選擇及控制都由兩個特殊功能寄存器(TMOD和TCON)的內容來決定。TMOD和TCON寄存器在復位時其每一位均清零。定時器的方式寄存器TMOD特殊功能寄存器TMOD為定時器的方式控制寄存器,寄存器中每位的定義如圖所示。高4位用于定時器1,低4位用于定時器0。新語新知——MCS51的定時/計數器定時器的方式寄存器TMOD1.
M1
M0:定時器/計數器四種工作方式選擇工作方式選擇表M1M0方式說明00013
位定時器/計數器01116
位定時器/計數器102自動裝入時間常數的8
位定時器/計數器113對T0
分為兩個8
位獨立計數器;對T1
置方式3
時停止工作(無中斷重裝8
位計數器)新語新知——MCS51的定時/計數器定時器的方式寄存器TMODC/T:定時器方式或計數器方式選擇位。C/T=1時,為計數器方式;C/T=0時,為定時器方式。GATE定時器/計數器運行控制位,用來確定對應的外部中斷請求引腳(INT0,INT1)是否參與T0或T1的操作控制。當GATE=0時,只要定時器控制寄存器TCON中的TR0(或TR1)被置1時,
T0(或T1)被允許開始計數(TCON各位含義見后面敘述);當GATE=1時,不僅要TCON中的TR0或TR1置位,還需要P3口的
P3.2或P3.3引腳為高電平,才允許計數。新語新知——MCS51的定時/計數器定時器控制寄存器TCONTR0:T0的運行控制位。該位置1或清0用來實現啟動計數或停止計數。TF0:T0的溢出中斷標志位。當T0計數溢出時由硬件自動置1;在
CPU中斷處理時由硬件清為0。TR1:T1的運行控制位,功能同TR0。TF1:T1的溢出中斷標志位,功能同TF0。新語新知——MCS51的定時/計數器MCS51定時器工作于方式1當M1:M0設置為01時,定時器選定為方式1工作。在這種方式下,由TH0和TL0組成一個16位計數器。當GATE=0時,只要TCON中的TR0為1,TL0及TH0組成的16位計數器就開始計數.當GATE=1時,此時僅TR0=1仍不能使計數器計數,還需要P3.2引腳為1才能使計數器工作。由此可知,當GATE=1和TR0=1時,
TH0+TL0是否計數取決于P3.2引腳的信號,當P3.2由0變1時,開始計數;當P3.2由1變0時,停止計數,這樣就可以用來測量在
P3.2端出現的脈沖寬度。當16位計數器從0或設定的初值,加1到全“1”以后,再加1就產生溢出。這時,置TCON的TF0位為1,同時把計數器變為全“0”新語新知——MCS51的定時/計數器MCS51定時器使用步驟(工作于方式1)如果中斷方式使用定時器,則需置位中斷允許控制寄存器(IE)中的
ET0或ET1,而且要打開全局中斷(EA=1)。同時要寫好中斷服務函數。將TR0或TR1置位,啟動定時器。12初始化TMOD,設置工作模式。根據定時間隔,計算并初始化TH0與TL0的數值。計算公式如下。其中FOSC是晶振頻率(單位:Hz),T是定時間隔(單位:S)TH
0:
TL0
=
(216
-1)-
T
FOSC新語新知——MCS51的定時/計數器定時間隔計算公式的推導過程1.計算時鐘周期:MCS51的定時器的時鐘源就是CPU的工作時鐘,因此時鐘周期t。例如晶振頻率24MHz時,t=0.5*10-6S計算定時間隔經歷的時鐘周期數N。例如期望的定時間隔是10mS,則N=20000。計算TH0:TL0
的初值。對于T=10mS,FOSC=24MHz,結果為45535t
=
1
=
12FCPU
FOSC12N
=
T
/
t
=
T
FOSC12TH
0
:
TL0
=
(216
-1)-
N
=
65535
-
T
FOSC新語新知——定時器實驗十查詢方式使用定時器實驗目的:通過編寫蜂鳴器周期鳴響程序學習單片機定時器的原理,練習查詢方式使用定時器的方法。實驗現象:蜂鳴器周期性鳴響,周期為2S;同時1位流水燈以1S為周期循環移動。(同實驗七)新語新知——定時器實驗十查詢方式使用定時器(續)
實驗原理:在單片機編程中,精確的定時一般采用定時器來實現。定時器有兩種使用模式:查詢方式與中斷方式。查詢方式使用定時器主要分兩步:第一步,對定時器進行初始化,主要是設定計數器初值(就是啟動定時器時其計數器就有一個初值,然后在此初值基礎上做加1計數)、啟動定時器;第二步,在主程序中不停的查詢定時器溢出標志是否為1(定時器內的數值未達到其能容許的最大值時,該標志位為0,定時器溢出時,該標志位被置1)。51的定時器是16位的,最大計數值為65535,對于24MHz晶振最大定時長就是65535×0.5uS=32767uS,而本實驗要實現1秒定時,顯然直接使用定時器的話是實現不了的。這里我們可以定義一個變量cnt,在初始化定時器時將其賦初值0,并把定時器定時間隔設置為10mS,然后定時器每溢出一次此變量自增1,直到增至100時,我們可以知道時間已經過去了1秒,此時將cnt值歸零,并執行相應代碼。新語新知——定時器實驗十一中斷方式使用定時器實驗目的:通過編寫蜂鳴器周期鳴響程序學習單片機定時器的原理,練習中斷方式使用定時器的方法。實驗現象:蜂鳴器周期性鳴響,周期為2S;同時1位流水燈以1S為周期循環移動。(同實驗七)新語新知——定時器實驗十一中斷方式使用定時器(續)實驗原理:中斷方式使用定時器主要分兩步:第一步,對定時器進行初始化,主要是設定計數器初值(就是啟動定時器時其計數器就有一個初值,然后在此初值基礎上做加1計數)、開定時中斷和全局中斷(注意查詢方式沒有這一步),然后啟動定時器;第二步,在中斷服務函數中寫定時執行的代碼。51的定時器是16位的,最大計數值為65535
,對于24MHz
晶振最大定時長就是
65535×0.5uS=32767uS,而本實驗要實現1秒定時,顯然直接使用定時器的話是實現不了的。這里我們可以定義一個全局變量cnt(注意因為中斷服務函數與主函數不是同一個函數,故將變量定義為全局變量),在初始化定時器時將其賦初值0,并把定時器定時間隔設置為10mS,然后定時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 宣傳部硬件設備管理制度
- 富士康機器設備管理制度
- 山東省建筑公司管理制度
- 崇明區購買書架管理制度
- 工程造價咨詢公司管理制度
- 幼兒園封閉風控管理制度
- 幼兒園救生裝備管理制度
- 幼兒園校園閉環管理制度
- 幼兒園特殊設備管理制度
- 2025-2030年中國鹽酸異丙嗪注射液行業市場運行分析及競爭格局與投資發展研究報告
- 2025年河南鄭州中原綠色產業生態發展公司招聘筆試參考題庫含答案解析
- 2025年中國融通農業發展有限集團有限公司招聘筆試沖刺題(帶答案解析)
- 2025民用無人機駕駛員合格審定規則
- 夏令營筆試題及答案保研
- 法律文化-形考作業4-國開(ZJ)-參考資料
- 2025年中考物理押題猜想卷(山西卷)(全解全析)
- 陜西省中小學學生休學復學申請表
- 模具外發加工與驗收標準及流程
- 空調水管、流量、流速、管徑自動計算以及推薦表和水管各種參數對照表47729
- 《架空輸電線路防鳥擋板技術規范》征求
- 浙江省高速公路服務區建設指南
評論
0/150
提交評論