版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機技術(shù)單片機技術(shù) 運用實訓運用實訓主講人:張旭濤 項 目 一 覽w工程一 設(shè)計廣告燈w 義務(wù)1 單片機的最小系統(tǒng)建立w 義務(wù)2 顯示一位LED燈w 義務(wù)3 流水八位LED燈w工程二 設(shè)計表決器w工程三 設(shè)計計算器w工程四 設(shè)計電子時鐘w工程五 設(shè)計汽車轉(zhuǎn)彎信號燈模擬實驗w工程六 設(shè)計智能交通燈控制w工程七 設(shè)計電子琴模擬實驗w工程八 設(shè)計直流電機驅(qū)動實驗工程一工程一 義務(wù)義務(wù)1 1 單片機的最小系統(tǒng)建立單片機的最小系統(tǒng)建立 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 一、實際環(huán)節(jié)二、實驗內(nèi)容及
2、步驟二、實驗內(nèi)容及步驟用用P1P1口做輸出口,接八位邏輯電平顯示,程序功能使發(fā)光二極管從右到左輪口做輸出口,接八位邏輯電平顯示,程序功能使發(fā)光二極管從右到左輪番循環(huán)點亮。番循環(huán)點亮。1.1.運用單片機最小運用系統(tǒng)運用單片機最小運用系統(tǒng)1 1模塊。封鎖該模塊電源,用扁平數(shù)據(jù)線銜接單片模塊。封鎖該模塊電源,用扁平數(shù)據(jù)線銜接單片機機P1P1口與八位邏輯電平顯示模塊??谂c八位邏輯電平顯示模塊。2.2.用串行數(shù)據(jù)通訊線銜接計算機與仿真器,把仿真器插到模塊的鎖緊插座用串行數(shù)據(jù)通訊線銜接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請留意仿真器的方向:缺口朝上。中,請留意仿真器的方向:缺口朝上。3.3.翻開
3、翻開Keil uVision2Keil uVision2仿真軟件,首先建立本實驗的工程文件,接著添加仿真軟件,首先建立本實驗的工程文件,接著添加P1_A.ASMP1_A.ASM源程序,進展編譯,直到編譯無誤。源程序,進展編譯,直到編譯無誤。4.4.進展軟件設(shè)置,選擇硬件仿真,選擇串行口,設(shè)置波特率為進展軟件設(shè)置,選擇硬件仿真,選擇串行口,設(shè)置波特率為3840038400。5.5.翻開模塊電源和總電源,點擊開場調(diào)試按鈕,點擊翻開模塊電源和總電源,點擊開場調(diào)試按鈕,點擊RUNRUN按鈕運轉(zhuǎn)程序,察看按鈕運轉(zhuǎn)程序,察看發(fā)光二極管顯示情況。發(fā)光二極管單只從右到左輪番循環(huán)點亮。發(fā)光二極管顯示情況。發(fā)光二
4、極管單只從右到左輪番循環(huán)點亮。詳細內(nèi)容參見教材詳細內(nèi)容參見教材二、實際知識鏈接 1、單片機最小運用系統(tǒng)組成1 MCS-51單片機最小運用系統(tǒng)的構(gòu)成最小運用系統(tǒng)是指能維持單片機運轉(zhuǎn)的最簡單配置系統(tǒng)。它常用作一些簡單的控制系統(tǒng),如開關(guān)形狀的輸入/輸出控制、時序控制等。這種運用系統(tǒng)的硬件組成非常簡單,對于片內(nèi)有ROM的單片機(如8051),只需配上時鐘電路、復(fù)位電路和電源就可以構(gòu)成最小運用系統(tǒng)。電路銜接原理如以下圖所示:二、實際知識鏈接單片機的時鐘電路時鐘電路提供時鐘給計算機的各個部件,使各個部件按照一定的時序有條不紊的任務(wù)。時鐘的快慢決議著計算機的任務(wù)節(jié)拍。下面以8051為例,介紹MCS-5l系列
5、單片機的時鐘電路組成方式。8051內(nèi)部任務(wù)時,也可由外部時鐘信號提供,這種銜接方式稱為外部時鐘源方式。原理如以下圖所示。此時外部的時鐘信號由XTAL2引腳引入,由于TAL2端邏輯電平不是TTL型的,故需外接一上拉電阻。另外,外接信號應(yīng)為時鐘頻率低于12MHz的方波信號。二、實際知識鏈接3單片機的復(fù)位電路在單片機運用系統(tǒng)中,除單片機芯片本身需求復(fù)位、外部擴展的I/O接口電路等需求復(fù)位外,對于單片機程序也必需初試化后才干執(zhí)行。因此一個單片機系統(tǒng)需求同步復(fù)位信號,即單片機復(fù)位后,CPU開場任務(wù),此時片外的有關(guān)擴展芯片外部時鐘也要完成復(fù)位操作,以保證CPU有效地對外圍芯片進行初始化編程。單片機的復(fù)位方
6、式有上電復(fù)位和手動按鈕復(fù)位兩種,如以下圖 所示。 二、實際知識鏈接2、MCS-51單片機的外部存儲器的擴展(1) MCS-5l系列單片機的片內(nèi)構(gòu)造在了解單片機外部存儲器擴展知識之前,讓我們先認識一下單片機的內(nèi)部構(gòu)造。MCS-51系列單片機是雙列直插封裝方式的集成器件,內(nèi)部采用模塊式的構(gòu)造,包含了一個獨立的微機硬件系統(tǒng)所應(yīng)具有的各個功能部件和一些重要的功能擴展部件。其構(gòu)造框圖如以下圖所示。二、實際知識鏈接2 MCS-5l系列單片機的片外總線構(gòu)造 當系統(tǒng)要求擴展時,為了便于與各種芯片相銜接,應(yīng)把單片機外部連線變?yōu)槠胀ㄎC所具有的三總線構(gòu)造方式,即地址總線、數(shù)據(jù)總線、控制總線。MCS-5l系列單片機
7、的片外引腳可構(gòu)成如以下圖所示的三總線構(gòu)造,一切的外圍芯片都將經(jīng)過這三總線進展擴展。 二、實際知識鏈接3、單片機常用匯編指令 匯編言語,由標號、操作碼助記符、操作數(shù)和注釋4個字段組成,格式如下: 標號: 操作碼助記符 操作數(shù)1 ,操作數(shù)2 ;注釋(1)標號 標號是用戶定義的符號,由以字母開場的18個字符(字母或數(shù)字)組成,它代表指令的符號地址,通常在程序分支、轉(zhuǎn)移等所需求的地方加上一個標號,并不是每條指令都必需有標號。當將指令轉(zhuǎn)換成機器指令時,指令第一字節(jié)(也稱首字節(jié))的存儲單元地址值賦給該標號。(2)操作碼助記符 助記符是一些代表操作含義的英文縮寫,普通由25個英文字母組成,如“MOV表示“傳
8、送、“ADD表示“加等。操作碼助記符對應(yīng)的機器碼是指令的第一字節(jié),也是指令不可短少的部分。(3)操作數(shù) 與機器指令格式中的操作數(shù)類似。(4)注釋 注釋是對本指令或本段程序的功能闡明,便于對程序的閱讀了解,在轉(zhuǎn)換成機器指令時不予思索。注釋的前面需加分號“;。二、實際知識鏈接4、根據(jù)本實驗涉及相關(guān)指令內(nèi)容,本節(jié)重點引見跳轉(zhuǎn)和轉(zhuǎn)移指令。 1長跳轉(zhuǎn)指令 1)長跳轉(zhuǎn)指令 LJMP addrl6 2)功能 該指令執(zhí)行時把16位地址中的高8a15a8位送入PCH,低8位a7a0送入PCL中,無條件地轉(zhuǎn)向指定地址。該指令不影響任何標志,轉(zhuǎn)移的范圍可達64K字節(jié),故稱長轉(zhuǎn)移指令。 (2) 短跳轉(zhuǎn)指令 1)短跳轉(zhuǎn)
9、指令 AJMP addrll 2)功能 該指令的操作數(shù)“addrll應(yīng)是一個十六位二進制數(shù),表示轉(zhuǎn)向的目的地址,其中“addrll表示低11位,闡明轉(zhuǎn)向的目的地址范圍由低11位組合決議,故跳轉(zhuǎn)的范圍是2K字節(jié)。 (3) 相對轉(zhuǎn)移指令 1)相對轉(zhuǎn)移指令 SJMP rel 2)功能 該指令執(zhí)行時程序計數(shù)器指針PC+2后成為PC當前值,并把有符號數(shù)“rel值加到PC上,并計算出轉(zhuǎn)向目的地址。 二、實際知識鏈接(4)條件轉(zhuǎn)移指令 條件轉(zhuǎn)移指令是指滿足一定條件時,程序才進展相對轉(zhuǎn)移,假設(shè)條件不滿足時那么順序執(zhí)行下面的指令。測試條件符合轉(zhuǎn)移指令 1)指令與指令代碼 指令 :JZ rel;JNZ rel;J
10、C rel;JNC rel;JB bit,rel; JNB bit,rel;JBC bit,rel 2)功能 JZ 假設(shè)A為0,那么轉(zhuǎn)移;否那么順序執(zhí)行。 JNZ 假設(shè)A不為0,那么轉(zhuǎn)移;否那么順序執(zhí)行。 JC 假設(shè)進位標志CY=1,那么執(zhí)行轉(zhuǎn)移;否那么順序執(zhí)行。 JNC 假設(shè)進位標志CY=0,那么執(zhí)行轉(zhuǎn)移;否那么順序執(zhí)行。 JB 假設(shè)直接尋址的位值為1,那么執(zhí)行轉(zhuǎn)移;否那么順序執(zhí)行。 JNB 假設(shè)直接尋址的位值為0,那么執(zhí)行轉(zhuǎn)移;否那么順序執(zhí)行。 JBC 假設(shè)直接尋址的位值為1,那么執(zhí)行轉(zhuǎn)移,然后直接尋址的位清“0;否那么順序執(zhí)行。三、實際練習1硬件實驗操作步驟2keil uvision2的
11、軟件操作方法3軟件操作實驗 注:以上內(nèi)容略 四、隨堂思索對于本實驗延時子程序?qū)τ诒緦嶒炑訒r子程序DelayDelay: MOV R6 MOV R6,0 0 MOV R7, 0 MOV R7, 0DelayLoopDelayLoop:DJNZ R6DJNZ R6,DelayLoopDelayLoop DJNZ R7 DJNZ R7,DelayLoopDelayLoop RET RET如運用如運用12MHz12MHz晶振,粗略計算此程序的執(zhí)行時間為多少?晶振,粗略計算此程序的執(zhí)行時間為多少? 工程一工程一 義務(wù)義務(wù)2 2 顯示一位顯示一位LEDLED燈燈 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)
12、1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 3、詳細操作步驟如下:1運用單片機最小運用系統(tǒng)模塊。封鎖該模塊電源,用導線分別銜接P1.0、P1.1到兩個撥斷開關(guān),P1.2、P1.3到兩個發(fā)光二極管。留意,插座與銜接線的槽口是八個,一旦銜接,那么相應(yīng)單片機端口與其它電路相應(yīng)接口均接通。2用串行數(shù)據(jù)通訊線銜接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請留意仿真器的方向:缺口朝上。3翻開Keil uVision2仿真軟件,首先建立本實驗的工程文件,接著添加P1_B.ASM源程序,進展編譯,直到編譯無誤。4進展軟件設(shè)置,選擇硬件仿真,選擇串行口
13、,設(shè)置波特率為38400。5翻開模塊電源和總電源,點擊開場調(diào)試按鈕,點擊RUN按鈕運轉(zhuǎn)程序,撥動撥斷開關(guān),察看發(fā)光二極管的亮滅情況。向上撥為熄滅,向下?lián)転辄c亮。一、實際環(huán)節(jié)一、實際環(huán)節(jié)5、利用keil uvision2的軟件調(diào)試程序1翻開keil uvision2軟件,點擊“新建圖標 ,在彈出的窗口中輸入以上程序,如以下圖:2點擊“保管圖標,出現(xiàn)保管對話框,如以下圖所示:二、實際知識鏈接1、LED燈的顯示原理為方便人們察看和監(jiān)視單片機的運轉(zhuǎn)情況,通常把數(shù)碼顯示器作為單片機的輸出設(shè)備,用來顯示單片機的鍵輸入值、中間信息及運算結(jié)果等。在單片機運用系統(tǒng)中,常用的顯示器主要有LED(發(fā)光二極管顯示器)
14、和LCD(液晶顯示器)。這兩種顯示器具有耗電省、本錢低廉、配置靈敏、線路簡單、安裝方便、耐振動、壽命長等優(yōu)點。但因其顯示內(nèi)容有限,且不能顯示圖形,因此其運用有局限性,近年來對某些要求較高的單片機運用系統(tǒng)開場配置簡易方式的CRT接口。由于目前運用最廣泛的還是數(shù)碼顯示器,所以本節(jié)將以LED顯示器為例進展引見。1 LED顯示器構(gòu)造與原理 LED顯示器是由發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管。其外形構(gòu)造如以下圖)所示,由圖可見它由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,經(jīng)過不同的組合可用來顯示09、AF及小數(shù)點“.等字符。二、實際知識鏈接數(shù)碼管通常有共陰極和共陽極兩種構(gòu)造接法,見上圖(b)和(c)
15、。本實驗所采用的LED顯示電路為兩組共陽極電路,只不過LED燈不是管形的。圖中電阻為外接的,普通共陽極數(shù)碼管必需外接電阻,共陰極不一定外接電阻。共陰極數(shù)碼管的發(fā)光二極管陰極共地,當某發(fā)光二極管的陽極為高電平(普通為+5V)時,此二極管點亮;共陽極數(shù)碼管的發(fā)光二極管是陽極并接到高電平,對于需點亮的發(fā)光二極管使其陰極接低電平(普通為地)即可。顯然,要顯示某字形就應(yīng)使此字形的相應(yīng)字段點亮,實踐就是送一個用不同電平組合代表的數(shù)據(jù)至數(shù)碼管。這種裝入數(shù)碼管中顯示字形的數(shù)據(jù)稱字形碼。下面以共陽極數(shù)碼管為例闡明字形與字形碼的關(guān)系。對照以下圖字段,字形碼各位定義如下: D7 D6 D5 D4 D3 D2 D1
16、D0 數(shù)據(jù)線D0與a字段對應(yīng),D1與b字段對應(yīng),依此類推。參考圖1-2-6(a)和(c)可以看出,如要顯示“7字形,a、b、c三字段應(yīng)點亮,所以對應(yīng)的字形碼為lllll000B。如要顯示“E,對應(yīng)的a、f、g、e、d字段應(yīng)點亮,所以其字形碼為10000110B。二、實際知識鏈接二、實際知識鏈接二、實際知識鏈接二、實際知識鏈接無論是按鍵或鍵盤都是利用機械觸點的閉合與斷開來確認鍵的輸入。由于按鍵機械觸點的彈性作用,在閉合及斷開瞬間均伴隨有一連串的抖動過程,其波形如以下圖所示。抖動時間的長短,與開關(guān)的機械特性有關(guān),普通為510ms。按鍵的穩(wěn)定閉合期,由操作人員的按鍵動作所確定,普通為非常之幾至幾秒。
17、為了保證單片機對按鍵的一次閉合只作一次鍵輸入處置。必需去除抖動影響。通常去除抖動有硬件和軟件兩種方法。二、實際知識鏈接二、實際知識鏈接3軟件去抖除了以上所說的硬件除抖動的方法,也可以用軟件去除抖動。如前所述,假設(shè)采用硬件去除抖動的電路,那么N個鍵就必需配有N個去抖電路。因此,當鍵的個數(shù)比較多時,硬件去抖會過于復(fù)雜。為理處理這個問題,可以采用軟件的方法來去除抖動的影響。當?shù)谝淮螜z測到有鍵按下時,先用軟件延時1020ms,然后再確認該鍵電平能否仍維持閉合形狀電平。假設(shè)堅持閉合形狀電平,那么以為此鍵確已按下,從而消除了抖動的影響。這種方法由于不需求附加的硬件投入,而被廣泛運用,前面的實驗就采用了這種
18、方法。當然,是在確定按鍵能否被按下的根底上,采用延時程序獲得鍵盤信息。詳細實現(xiàn)程序如下:LOOP: MOV A, P1 CJNE A, #03H,NEXT AJMP LOOPNEXT: ACALL DELAY二、實際知識鏈接三、拓展型實際知識三、拓展型實際知識 1、單片機常用匯編指令、單片機常用匯編指令1定位偽指令定位偽指令ORG 格式:格式:ORG nn;nn為十進制或十六進制數(shù)。為十進制或十六進制數(shù)。nn指出在該偽指令后的指令的匯編地址,即生指出在該偽指令后的指令的匯編地址,即生成的機器指令起始存儲地址。成的機器指令起始存儲地址。2定義字節(jié)偽指令定義字節(jié)偽指令 格式:格式:DB X1,X2
19、,Xn; Xi為單字節(jié)數(shù)據(jù),它為十進制或十六進制數(shù),也可以為一個表為單字節(jié)數(shù)據(jù),它為十進制或十六進制數(shù),也可以為一個表達式。達式。Xi也可以為由兩個單引號括起來的也可以為由兩個單引號括起來的 一個字符串,這時一個字符串,這時Xi定義的字節(jié)長度等于字符串的長度,每一個字符為一個定義的字節(jié)長度等于字符串的長度,每一個字符為一個ASCII碼。碼。3賦值偽指令賦值偽指令 格式:字符稱號格式:字符稱號 EQU 數(shù)據(jù)或匯編符;數(shù)據(jù)或匯編符;EQU偽指令稱為賦值偽指令,用于給它左邊的偽指令稱為賦值偽指令,用于給它左邊的“字符稱字符稱號賦值。號賦值。4位地址賦值偽指令位地址賦值偽指令 格式:字符稱號格式:字符
20、稱號 BIT 位地址;位地址;BIT稱為位地址賦值偽指令,用于給以符號方式的位地址賦值。稱為位地址賦值偽指令,用于給以符號方式的位地址賦值。5匯編終了偽指令匯編終了偽指令 格式:格式:END ;該偽指令指出終了匯編,即使后面還有指令,匯編程序也不作處置。;該偽指令指出終了匯編,即使后面還有指令,匯編程序也不作處置。6短調(diào)用指令短調(diào)用指令 ACALL addrll;這條指令無條件調(diào)用首址由;這條指令無條件調(diào)用首址由addrll所指出的子程序。所指出的子程序。7長調(diào)用指令長調(diào)用指令 LCALL addrl6 ;這條指令無條件地調(diào)用位于指定地址的子程序。;這條指令無條件地調(diào)用位于指定地址的子程序。8
21、前往指令前往指令2條:條: 前往指令是使前往指令是使CPU從子程序前往到主程序執(zhí)行的指令。從子程序前往到主程序執(zhí)行的指令。 從子程序前往指令:從子程序前往指令:1)指令指令 RET,2)功能功能 從堆棧中退出從堆棧中退出PC的高位和低位字節(jié),把堆棧指針的高位和低位字節(jié),把堆棧指針SP-2,并從產(chǎn)生的,并從產(chǎn)生的PC值開場執(zhí)行程序。值開場執(zhí)行程序。 從中斷前往指令:從中斷前往指令: 1)指令指令 RETI,2)功能功能 這條指令除了執(zhí)行這條指令除了執(zhí)行RET指令功能外,還去除內(nèi)部相指令功能外,還去除內(nèi)部相應(yīng)的中斷形狀存放器應(yīng)的中斷形狀存放器二、實際知識鏈接三、實際練習1 1硬件實驗操作步驟硬件實
22、驗操作步驟2 2keil uvision2keil uvision2的軟件操作方法的軟件操作方法3 3軟件操作實驗軟件操作實驗 注:以上內(nèi)容略。注:以上內(nèi)容略。 四、隨堂思索 對于本實驗,假設(shè)按下一個按鈕,相應(yīng)的LED燈亮,并且閃爍,如何設(shè)計這個實驗。如運用12MHz晶振,閃爍延時為1ms,并予以實驗驗證。提示:可運用子程序指令進展設(shè)計。工程一工程一 義務(wù)義務(wù)3 3 流水八位流水八位LEDLED燈燈 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 一、實際環(huán)節(jié)(2) 流水燈設(shè)計程序二 ORG 0000
23、H LJMP START ORG 0030HSTART: MOV A, #0FEH MOV R2,#8OUTPUT: MOV P1,A RL A DELAY: MOV R6,#0 MOV R7,#0DELAYLOOP: ;延時程序 DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP DJNZ R2,OUTPUT LJMP START END二、實際知識鏈接1、數(shù)據(jù)傳送指令在單片機中,數(shù)據(jù)傳送是最根本和最主要操作。數(shù)據(jù)傳送操作可以在片內(nèi)RAM和SFR內(nèi)進展,也可以在累加器Acc和片外存儲器之間進展。指令中必需指定傳送數(shù)據(jù)的源地址和目的地址,以便機器執(zhí)行指令時把源地址中內(nèi)容傳送
24、到目的地址中,但不改動源地址中內(nèi)容。 MCS-51單片機的數(shù)據(jù)傳送指令共有28條,分為內(nèi)部數(shù)據(jù)傳送指令、外部數(shù)據(jù)傳送指令、堆棧操作指令和數(shù)據(jù)交換指令等四類。1內(nèi)部數(shù)據(jù)傳送指令1) 以A為目的操作數(shù)的指令這類指令的格式為: MOV 目的操作數(shù), 源操作數(shù) 指令與指令代碼含義 指令 操作 MOV A,Rn A(Rn) MOV A,direct A(direct) MOV A,Ri A(Ri) MOV A,#data Adata對Rn尋址的指令,其機器碼字節(jié)的低三位為rrr,對應(yīng)于8個任務(wù)存放器之一,當為000時,表示R0;為001時,表示R1;以此類推。 指令功能 這組指令的功能是把源操作數(shù)的內(nèi)容
25、送入累加器Acc。二、實際知識鏈接 2以Rn為目的操作數(shù)的指令 指令與指令代碼含義 指令 操作 MOV Rn,A Rn(A) MOV Rn,direct Rn(direct) MOV Rn,#data Rndata 功能 這組指令的功能是將源操作數(shù)的內(nèi)容送入當前任務(wù)存放器區(qū)的R0R7中的某一個存放器。 3以直接尋址的單元為目的操作數(shù)指令 指令與指令代碼含義 指令 操作 MOV direct,A direct(A) MOV direct,Rn direct(Rn) MOV directl,direct2 directl(direct2) MOV direct,Ri direct(Ri) MOV
26、direct,#data directdata 應(yīng)留意:“MOV directl,direct2指令譯成指令代碼時,源地址(direct2)在前,目的地址directl在后。 功能 這組指令的功能是把源操作數(shù)送入由直接地址指向的存儲單元。二、實際知識鏈接二、實際知識鏈接二、實際知識鏈接二、實際知識鏈接無論是按鍵或鍵盤都是利用機械觸點的閉合與斷開來確認鍵的輸入。由于按鍵機械觸點的彈性作用,在閉合及斷開瞬間均伴隨有一連串的抖動過程,其波形如以下圖所示。抖動時間的長短,與開關(guān)的機械特性有關(guān),普通為510ms。按鍵的穩(wěn)定閉合期,由操作人員的按鍵動作所確定,普通為非常之幾至幾秒。為了保證單片機對按鍵的一
27、次閉合只作一次鍵輸入處置。必需去除抖動影響。通常去除抖動有硬件和軟件兩種方法。二、實際知識鏈接二、實際知識鏈接3軟件去抖除了以上所說的硬件除抖動的方法,也可以用軟件去除抖動。如前所述,假設(shè)采用硬件去除抖動的電路,那么N個鍵就必需配有N個去抖電路。因此,當鍵的個數(shù)比較多時,硬件去抖會過于復(fù)雜。為理處理這個問題,可以采用軟件的方法來去除抖動的影響。當?shù)谝淮螜z測到有鍵按下時,先用軟件延時1020ms,然后再確認該鍵電平能否仍維持閉合形狀電平。假設(shè)堅持閉合形狀電平,那么以為此鍵確已按下,從而消除了抖動的影響。這種方法由于不需求附加的硬件投入,而被廣泛運用,前面的實驗就采用了這種方法。當然,是在確定按鍵
28、能否被按下的根底上,采用延時程序獲得鍵盤信息。詳細實現(xiàn)程序如下:LOOP: MOV A, P1 CJNE A, #03H,NEXT AJMP LOOPNEXT: ACALL DELAY二、實際知識鏈接三、拓展型實際知識三、拓展型實際知識 1、單片機常用匯編指令、單片機常用匯編指令1定位偽指令定位偽指令ORG 格式:格式:ORG nn;nn為十進制或十六進制數(shù)。為十進制或十六進制數(shù)。nn指出在該偽指令后的指令的匯編地址,即生指出在該偽指令后的指令的匯編地址,即生成的機器指令起始存儲地址。成的機器指令起始存儲地址。2定義字節(jié)偽指令定義字節(jié)偽指令 格式:格式:DB X1,X2,Xn; Xi為單字節(jié)數(shù)
29、據(jù),它為十進制或十六進制數(shù),也可以為一個表為單字節(jié)數(shù)據(jù),它為十進制或十六進制數(shù),也可以為一個表達式。達式。Xi也可以為由兩個單引號括起來的也可以為由兩個單引號括起來的 一個字符串,這時一個字符串,這時Xi定義的字節(jié)長度等于字符串的長度,每一個字符為一個定義的字節(jié)長度等于字符串的長度,每一個字符為一個ASCII碼。碼。3賦值偽指令賦值偽指令 格式:字符稱號格式:字符稱號 EQU 數(shù)據(jù)或匯編符;數(shù)據(jù)或匯編符;EQU偽指令稱為賦值偽指令,用于給它左邊的偽指令稱為賦值偽指令,用于給它左邊的“字符稱字符稱號賦值。號賦值。4位地址賦值偽指令位地址賦值偽指令 格式:字符稱號格式:字符稱號 BIT 位地址;位
30、地址;BIT稱為位地址賦值偽指令,用于給以符號方式的位地址賦值。稱為位地址賦值偽指令,用于給以符號方式的位地址賦值。5匯編終了偽指令匯編終了偽指令 格式:格式:END ;該偽指令指出終了匯編,即使后面還有指令,匯編程序也不作處置。;該偽指令指出終了匯編,即使后面還有指令,匯編程序也不作處置。6短調(diào)用指令短調(diào)用指令 ACALL addrll;這條指令無條件調(diào)用首址由;這條指令無條件調(diào)用首址由addrll所指出的子程序。所指出的子程序。7長調(diào)用指令長調(diào)用指令 LCALL addrl6 ;這條指令無條件地調(diào)用位于指定地址的子程序。;這條指令無條件地調(diào)用位于指定地址的子程序。8前往指令前往指令2條:條
31、: 前往指令是使前往指令是使CPU從子程序前往到主程序執(zhí)行的指令。從子程序前往到主程序執(zhí)行的指令。 從子程序前往指令:從子程序前往指令:1)指令指令 RET,2)功能功能 從堆棧中退出從堆棧中退出PC的高位和低位字節(jié),把堆棧指針的高位和低位字節(jié),把堆棧指針SP-2,并從產(chǎn)生的,并從產(chǎn)生的PC值開場執(zhí)行程序。值開場執(zhí)行程序。 從中斷前往指令:從中斷前往指令: 1)指令指令 RETI,2)功能功能 這條指令除了執(zhí)行這條指令除了執(zhí)行RET指令功能外,還去除內(nèi)部相指令功能外,還去除內(nèi)部相應(yīng)的中斷形狀存放器應(yīng)的中斷形狀存放器二、實際知識鏈接三、實際練習1 1硬件實驗操作步驟硬件實驗操作步驟2 2keil
32、 uvision2keil uvision2的軟件操作方法的軟件操作方法3 3軟件操作實驗軟件操作實驗 注:以上內(nèi)容略。注:以上內(nèi)容略。 四、隨堂思索 對于本實驗,假設(shè)按下一個按鈕,相應(yīng)的LED燈亮,并且閃爍,如何設(shè)計這個實驗。如運用12MHz晶振,閃爍延時為1ms,并予以實驗驗證。提示:可運用子程序指令進展設(shè)計。工程二工程二 設(shè)計表決器設(shè)計表決器 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)1、實驗銜接表示 、表決器顯示模塊 表示圖1、實驗銜接表示 、表決器顯示模塊 表示圖一、實際環(huán)節(jié) 一、實際環(huán)節(jié)二、實際知
33、識鏈接1、位操作指令在MCS-51系列單片機中,可以以程序形狀字存放器的進位位CY(PSW.7)作為累加器C,以數(shù)據(jù)存儲器(RAM)和特殊功能存放器SFR內(nèi)的位尋址區(qū)的位單元作為操作數(shù),進展位變量的傳送、修正和邏輯等操作。位變量傳送指令 1) 位操作指令 指令 MOV C,bit MOV bit,C 2) 功能 該指令把源位單元中的數(shù)據(jù)送到目的位單元中,其中一個操作數(shù)必需是位累加器C,另一個可以是任何直接尋址的位,也就是說位變量的傳送必需經(jīng)過C。其中位地址可參照書本。 位變量修正指令 1) 指令與指令代碼 指令 CLR C CLR bit CPL C CPL bit SETB C SETB b
34、it 2) 功能 這組指令將操作數(shù)指出的位清“0、取反、置“1?!癈LR是清0,“CPL是取反,“SETB是置“1二、實際知識鏈接3位變量邏輯與操作指令 1)位變量邏輯與指令 ANL C,bit ANL C,/bit 2) 功能 假設(shè)源位的內(nèi)容為邏輯0,那么CY清0,否那么CY堅持不變?!?bit的斜線表示用位內(nèi)容的邏輯非為源值,但不影響本身值。)位變量邏輯或操作指令 )位變量邏輯或指令 ORL C,bit ORL C,bit 2) 功能 假設(shè)源位的值為1,那么進位標志CY=1,否那么進位標志CY堅持原來形狀。斜線“表示邏輯非,但源位本身堅持不變。3、字節(jié)邏輯指令1邏輯與指令 指令助記符為“A
35、NL,表示是“AND(與)和“LOG(邏輯)的組合。1) 指令與指令代碼 指令 ANL A,Rn ; ANL A,direct;ANL A,Ri; ANL A,#data ANL direct,A ; ANL direct,#data 2) 功能 該組指令將源操作數(shù)和目的操作數(shù)之間按位進展邏輯與操作,結(jié)果存放在目的操作數(shù)中。二、實際知識鏈接 2邏輯或的指令 指令助記符“ORL,由“OR(或)和“LOG(邏輯)的組合。 1) 指令與指令代碼 ORL A,Rn ORL A,direct ORL A,Ri ORL A,#data ORL direct,A ORL direct,#data 2) 功能
36、 這組指令將源操作數(shù)和目的操作數(shù)之間按位進展邏輯或操作,結(jié)果存到目的操作數(shù)。 3邏輯異或指令 指令助記符“XRL,XR表示異或,比較的兩數(shù)碼,一樣出0,不同出1,“L表示“邏輯。 1) 指令與指令代碼 指令 XRL A,Rn XRL A,direct XRL A,Ri XRL A,#data XRL direct,A XRL direct,#data 2) 功能 這組指令將源操作數(shù)和目的操作數(shù)之間執(zhí)行按位的邏輯異或操作,結(jié)果存放到目的操作數(shù)中。二、實際知識鏈接三、實際練習1 1硬件實驗操作步驟硬件實驗操作步驟2 2keil uvision2keil uvision2的軟件操作方法的軟件操作方法
37、3 3軟件操作實驗軟件操作實驗 注:以上內(nèi)容略。注:以上內(nèi)容略。 四、隨堂思索1對于本實驗,假設(shè)八位表決者進展表決,如何設(shè)計這個實驗程序。并予以實驗驗證。提示:可運用字節(jié)傳送指令進展設(shè)計。可否將表決者信息用七段碼進展表示,設(shè)計相應(yīng)的顯示電路。工程三工程三 設(shè)計計算器設(shè)計計算器 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 2、計算器的實驗操作步驟本實驗采用44鍵盤,16個鍵依次對應(yīng)09、“+、“-、“、“、“=和去除鍵。可以進展小于255的數(shù)的加減乘除運算,并可延續(xù)運算。當鍵入值大于255時,將自動
38、清零,可以重新輸入。詳細步驟如下:1運用單片機最小運用系統(tǒng)模塊,P0口接陣列式鍵盤,P3.6、P3.7銜接串行靜態(tài)顯示模塊的DIN、CLK端。2用串行數(shù)據(jù)通訊線銜接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請留意仿真器的方向:缺口朝上。3翻開Keil uVision2仿真軟件,首先建立本實驗的工程文件,接著添加 計算器.ASM源程序,進展編譯,直到編譯無誤。4進展軟件設(shè)置,選擇硬件仿真,選擇串行口,設(shè)置波特率為38400。5翻開模塊電源和總電源,點擊開場調(diào)試按鈕,點擊RUN按鈕運轉(zhuǎn)程序。鍵入值,在延續(xù)5個八段數(shù)碼管上察看運算過程與結(jié)果。一、實際環(huán)節(jié)一、實際環(huán)節(jié)一、實際環(huán)節(jié)二、實際知識鏈接1
39、、44按鍵電路任務(wù)原理行列式鍵盤是鍵盤輸入的主要方式。鍵盤按鍵編碼分為獨立式鍵盤和行列式鍵盤兩種編碼方式。獨立式鍵盤主要是指直接用I/O線構(gòu)成的單個鍵盤電路,每個獨立式按鍵單獨占有一根I/O口線,每根I/O口線上的按鍵任務(wù)形狀不會影響其它I/O口線的任務(wù)形狀,如前面表決器輸入電路。行列式鍵盤由行線和列線組成,按鍵設(shè)置在行線和列線的交叉點上,按鍵的兩端分別銜接在行線和列線上。結(jié)合實驗,重點學習行列式鍵盤。鍵盤的任務(wù)方式普通有編程掃描方式和中斷掃描方式兩種。下面重點引見編程掃描方式。編程掃描方式是利用單片機在完成其它任務(wù)的空余,調(diào)用鍵盤掃描子程序,來呼應(yīng)鍵輸入要求。在執(zhí)行鍵功能程序時,CPU不再呼
40、應(yīng)鍵輸入要求。結(jié)合實驗,鍵盤電路如下所示:二、實際知識鏈接 鍵盤掃描程序普通應(yīng)具備下述幾個功能1判別鍵盤上有無鍵按下。其方法為P1.4-P1.7逐列掃描輸出“0(即低電平)時,讀P1.0-P1.3口形狀,假設(shè)全為1,那么鍵盤無鍵按下,假設(shè)不全為“1,那么有鍵按下。2去除鍵的抖動影響。方法為軟件延時一段時間(普通為10ms左右)后,再判別鍵盤形狀,假設(shè)仍為有鍵按下形狀,那么以為有一個確定的鍵被按下,否那么按鍵抖動處置。3掃描鍵盤,得到按下鍵的鍵號。按照行列式鍵盤的任務(wù)原理,圖3-4中16個鍵的鍵值從左上角的數(shù)字“0鍵開場向右下分布。4判別閉合的鍵能否釋放。鍵閉合一次僅進展一次鍵功能操作。等鍵釋放
41、后即將鍵值送入累加器Acc中,然后執(zhí)行鍵功能操作。5計算器讀鍵子程序分析: 計算器讀鍵子程序為列掃描方式,詳細功能分析如下: KEYTABLE: DB 0EEH,0DEH,0BEH,07EH ;鍵碼定義 DB 0EDH,0DDH,0BDH,07DH DB 0EBH,0DBH,0BBH,07BH DB 0E7H,0D7H,0B7H,077HGETKEY: MOV R6,#10 ;設(shè)定內(nèi)延時循環(huán)次數(shù) CALL DELAY ;延時去抖 MOV P0,#0FH ;將鍵盤列值全置“0 MOV A,P0 ;讀取鍵盤端口形狀 CJNE A,#0FH, K12 ;判別鍵盤端口形狀,有動作,跳轉(zhuǎn)到K12 LJM
42、P MLOOP ;鍵盤無動作,前往主程序,重新檢測K12: MOV B,A ;鍵盤端口值送給B MOV P0,#0EFH ;將鍵盤第一列置“0 MOV A,P0 ;讀取鍵盤端口形狀 CJNE A,#0EFH,K13 ;判別鍵盤端口形狀,有動作,跳轉(zhuǎn)到K13 MOV P0,#0DFH ;將鍵盤第二列置“0 MOV A,P0 ;讀取鍵盤端口形狀 CJNE A,#0DFH,K13 ;判別鍵盤端口形狀,有動作,跳轉(zhuǎn)到K13 MOV P1,#0BFH ;將鍵盤第三列置“0二、實際知識鏈接 、七段數(shù)碼管的顯示過程靜態(tài)串行顯示電路原理與程序在前面已講過,這里不再累述。重點要講解如何獲得顯示的數(shù)據(jù)。本實驗允許
43、的數(shù)值最多為3位。另外,如何將其轉(zhuǎn)換成十進制,為下面的運算做好預(yù)備任務(wù)。分析如下相關(guān)程序: INC R3 ;按鍵個數(shù)以下均為主程序部分 CJNE A,#0,NEXT1 ;判別能否為數(shù)字鍵“0,為“0轉(zhuǎn)E1,否那么轉(zhuǎn)NEXT1 LJMP E1 ;轉(zhuǎn)數(shù)字鍵處置NEXT1: CJNE A,#1,NEXT2 ;判別能否為數(shù)字鍵“1,為“1轉(zhuǎn)E1,否那么轉(zhuǎn)NEXT2 LJMP E1 NEX10: CJNE A,#10,NEX11 ;判別能否功能鍵“10,為“10轉(zhuǎn)E2, 否那么轉(zhuǎn)NEXT11 LJMP E2 ;轉(zhuǎn)功能鍵處置NEX11: CJNE A,#11,NEX12 ;判別能否功能鍵“11,為“11轉(zhuǎn)
44、E2, 否那么轉(zhuǎn)NEXT12 LJMP E2 NEX15: LJMP E3 ;判別能否功能鍵“15,為“15轉(zhuǎn)E3E1: CJNE R3,#1,N1 ;判別第幾次按鍵,R3為“1轉(zhuǎn)E11,否那么轉(zhuǎn)N1 LJMP E11 ;跳轉(zhuǎn)E11N1: CJNE R3,#2,N2 ;判別第幾次按鍵,R3為“2轉(zhuǎn)E12,否那么轉(zhuǎn)N2 LJMP E12 ;跳轉(zhuǎn)E12N2: CJNE R3,#3,N3 ;判別第幾次按鍵,R3為“3轉(zhuǎn)E13,否那么轉(zhuǎn)N3 LJMP E13 ;跳轉(zhuǎn)E13N3: LJMP E3 ;第四個數(shù)字輸入那么溢出E11: MOV R4,A ;輸入值暫存R4 MOV 34H,A ;輸入值送個位顯示
45、緩存 MOV 33H,#10H ;顯示鍵值“零送十位顯示緩存 MOV 32H,#10H ;顯示鍵值“零送百位顯示緩存 LJMP MLOOP ;前往主程序,等待再次輸入E12: MOV R7,A ;個位數(shù)暫存R7 MOV B,#10 ;將十賦予B二、實際知識鏈接、算術(shù)運算指令1加法指令加法指令運用助記符“ADD。 1)不帶進位的加法指令 指令代碼 ADD A,Rn ADD A,direct ADD A,Ri ADD A,#data 功能 將源操作數(shù)與累加器Acc的內(nèi)容相加,其結(jié)果放于累加器Acc中。 對標志位的影響 加法運算對程序形狀字存放器PSW的各標志位有一定的影響:假設(shè)位7有進位輸出,那么
46、CY=l,否那么CY=0;假設(shè)位3有進位輸出,那么AC=1,否那么AC=0;溢出標志位OV=C6C7,假設(shè)位6有進位輸出而位7沒有或者位7有進位而位6沒有,那么 OV=1,否那么OV=0;P標志位一直跟蹤累加器Acc內(nèi)“1的個數(shù),假設(shè)A中有奇數(shù)個“1,那么P=1。留意:程序形狀字存放器PSW是非常重要的特殊存放器。它有一個字節(jié)組成,字節(jié)中的每一位都代表特定的含義:表列出PSW存放器各位功能B7-CY;b6-AC;b5-F0;b4-RSl;b3-RS0;b2-OV;bl- -;bO-P二、實際知識鏈接 2帶進位加法指令 指令代碼 ADDC A,Rn ADDC A,direct ADDC A,Ri
47、 ADDC A,#data 功能:這組指令同時把源操作數(shù)、進位標志位和累加器Acc的內(nèi)容相加,結(jié)果存放在累加器Acc中 對PSW的影響 假設(shè)位7有進位輸出,那么進位標志位CY為“1;否那么CY為“0;假設(shè)位3有進位輸出, 那么標志位AC=1;假設(shè)位3無進位輸出,AC=0;假設(shè)位6有進位輸出而位7沒有或者位7有進位輸出而位6 沒有,那么溢出標志位OV=1,否那么OV=0。3增量指令 指令代碼 INC A INC Rn INC direet INC Ri INC DPTR 功能 這組指令是把源操作數(shù)加1,應(yīng)留意:當用本指令修正輸出口P0P3時,原始口數(shù)據(jù)的值將 從口鎖存器讀入,而不是從引腳讀入。
48、對標志位影響 假設(shè)原來為0FFH,加1后將溢出為00H,對A的操作能夠影響P外,不影響任何標志。二、實際知識鏈接 4十進制調(diào)整指令 指令代碼 DA A 功能 假設(shè)該指令上一條指令是一條加法指令,加數(shù)和被加數(shù)為十進制BCD碼,相加結(jié)果不是十進 制的BCD碼,所以必需將結(jié)果調(diào)整為BCD碼,該指令自動選擇調(diào)整值00H、06H、60H、66H,將結(jié) 果調(diào)整為十進制BCD碼。2減法指令 1帶進位減法指令 指令代碼 SUBB A,Rn SUBB A,direct SUBB A,Ri SUBB A,#data 功能 這組指令功能是從累加器Acc中減去源操作數(shù)和進位標志,結(jié)果在累加器Acc中。 2減1指令 指
49、令代碼 DEC A DEC Rn DEC direct DEC Ri 功能 將源操作數(shù)減1,假設(shè)原來為00H,減1后為0FFH 二、實際知識鏈接三、實際練習1 1硬件實驗操作步驟硬件實驗操作步驟2 2keiluvision2keiluvision2軟件操作方法軟件操作方法3 3軟件操作實驗軟件操作實驗 注:以上內(nèi)容略。注:以上內(nèi)容略。 四、隨堂思索1對于本實驗,如何將計算器各功能模塊有機組合起來, 如何設(shè)計這個實驗程序。并予以實驗驗證。2能否改動行列式鍵盤的鍵值規(guī)劃,設(shè)計相關(guān)實驗程序。工程四工程四 設(shè)計電子時鐘設(shè)計電子時鐘 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)1 實際知識鏈接實際知識鏈接
50、 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 一、實際環(huán)節(jié)一、實際環(huán)節(jié)一、實際環(huán)節(jié)二、實際知識鏈接1、中斷的相關(guān)概念單片機在執(zhí)行某一程序的過程中,由于某種緣由,如外部設(shè)備懇求輸入、輸出操作等,CPU暫時中止當前正在執(zhí)行的程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的處置程序(執(zhí)行中斷效力程序),待處置終了后,再回到原來被中止的程序繼續(xù)執(zhí)行的過程,稱為“中斷。為了實現(xiàn)這一中斷技術(shù),計算機有相應(yīng)的硬件機構(gòu)和軟件支持,稱之為中斷系統(tǒng)。中斷由中斷源產(chǎn)生,中斷源在需求時可以向CPU提出“中斷懇求。“中斷懇求通常是一種電信號,CPU一旦對這個電信號進展檢測和呼應(yīng)便可自動轉(zhuǎn)入該中斷源的中斷效力程序執(zhí)行,并
51、在執(zhí)行完后自動前往原程序繼續(xù)執(zhí)行,而且中斷源不同中斷效力程序的功能也不同。因此,中斷又可以定義為CPU自動執(zhí)行中斷效力程序并前往原程序執(zhí)行的過程。二、實際知識鏈接中斷是現(xiàn)代計算機必需具備的重要功能,也是計算機開展史上的一個重要里程碑。 實現(xiàn)一次完好的中斷,可分為以下5個步驟: 1中斷懇求 一次中斷是從某中斷源提出有效的中斷懇求信號開場的。該外設(shè)已做好任務(wù)預(yù)備后,將中斷懇求觸發(fā)器置“1,當該中斷源的中斷屏蔽觸發(fā)器為開放形狀時,那么中斷懇求信號送到CPU的中斷懇求輸入端,該信號不斷堅持到CPU呼應(yīng)中斷為止。CPU正常情況下每執(zhí)行完一條指令就去檢測各中斷源的懇求標志,一旦有中斷懇求,滿足具備的條件就
52、會中斷呼應(yīng)。 2中斷判優(yōu) CPU檢測到中斷懇求信號后,要經(jīng)中斷優(yōu)先級判別系統(tǒng)進展斷定,如沒有比它更高級的中斷懇求,該中斷源的中斷懇求信號才能夠被CPU呼應(yīng),否那么不予處置。 3中斷呼應(yīng) 所謂中斷呼應(yīng)是指從CPU接到中斷懇求信號起到進入相應(yīng)中斷效力程序為止的整個過程。 4中斷處置 所謂中斷處置就是指CPU執(zhí)行某中斷源的中斷效力程序。 二、實際知識鏈接 5中斷前往所謂中斷前往就是將堆棧中所保管的斷點地址送回到PC。它是由一條中斷前往指令來實現(xiàn)的,而該指令是放在中斷效力程序的最后一條指令。以下圖所示為中斷呼應(yīng)過程的流程圖,圖中虛線部分為可選項。二、實際知識鏈接中斷系統(tǒng)是單片機的重要組成部分,其中斷系
53、統(tǒng)構(gòu)造主要由片內(nèi)特殊功能存放器組成:中斷源存放器TCON及SCON的相關(guān)位、中斷允許控制存放器IE、中斷優(yōu)先級控制存放器IP及兩個不可尋址的優(yōu)先級形狀觸發(fā)器組成。中斷系統(tǒng)總體構(gòu)造如以下圖所示。二、實際知識鏈接2、單片機定時器任務(wù)原理1定時器及計數(shù)器的作用1定時用作時間規(guī)范2信息傳輸時的同步3對外部事件進展計數(shù)2定時/計數(shù)器的構(gòu)造常見的單片機在片內(nèi)普通設(shè)計了兩個定時/計數(shù)器T0和T1,采用的是加1計數(shù)器。屬可編程定時/計數(shù)器,其運轉(zhuǎn)和任務(wù)受軟件控制、切換。如以下圖所示為MCS-5l系列單片機的內(nèi)部定時/計數(shù)器的構(gòu)造框圖。二、實際知識鏈接 3單片機對內(nèi)部定時/計數(shù)器的控制內(nèi)部定時/計數(shù)器的控制主要
54、是經(jīng)過TCON和TMOD兩個特殊功能存放器實現(xiàn)的,另外還有4個8位的計數(shù)初值存放器TH0,TL0和THl,TLl。 定時/計數(shù)器任務(wù)方式控制存放器TMOD TMOD用于定義任務(wù)方式及操作方式,其格式如下: TMOD(字節(jié)地址89H) 二、實際知識鏈接3、堆棧指令 在單片機內(nèi)部RAM中可以設(shè)定一個后進先出的堆棧,地址為30H7FH,堆棧指針SP中的內(nèi)容總是堆棧區(qū)中最后一個進棧數(shù)據(jù)所在的存儲單元地址。堆棧操作包括進棧和出棧兩種。(1) 進棧指令與指令代碼 指令 操作PUSH direct SPSP+1 SPdirect 這條指令首先將堆棧指針SP+1,然后把直接地址里的內(nèi)容傳送到堆棧指針SP指出的
55、內(nèi)部RAM存儲單元中。 (2) 出棧指令與指令代碼 指令 操作 POP direct SPdirect SPSP-1 這條指令的功能是將堆棧指針SP指出的內(nèi)部RAM單元的內(nèi)容送入直接地址指出的存儲單元中,堆棧指針SP減l。出棧指令用于恢復(fù)CPU現(xiàn)場。二、實際知識鏈接 2定時器/計數(shù)器初值的計算 定時器/計數(shù)器初值X的計算可以經(jīng)過以下公式進展: 定時方式 式中:M是由任務(wù)方式而確定的,即方式0時,M=13;方式l時,M=16;方式2、3時,M=8。當初值X為0時,定時/計數(shù)器的定時時間(或計數(shù)值)為最大。對于方式0最大定時時間為:(如=6 MHz時最大定時時間為16.384 ms),最大計數(shù)值為
56、8192;方式1最大定時時間為: (如=6 MHz時最大定時時間為131.072 ms),最大計數(shù)值為65536;方式2、3最大定時時間為: (如=6 MHz時最大定時時間為0.512 ms),最大計數(shù)值為256。二、實際知識鏈接 4單片機內(nèi)部定時/計數(shù)器的任務(wù)方式 單片機的定時/計數(shù)器,由軟件對特殊功能存放器TMOD中的C/設(shè)置,可選擇定時或計數(shù)功能;對相應(yīng)M1,M0兩位的設(shè)置,可選擇4種任務(wù)方式。 1方式0 方式0是一個13位的定時/計數(shù)器。2方式1 方式1和方式0的獨一差別在于:方式1由TH和TL構(gòu)成16位計數(shù)器,而方式0為13位。3方式2 方式2是能自動重裝計數(shù)初值的8位定時/計數(shù)器。
57、4方式3 方式3只適用于定時/計數(shù)器T0。假設(shè)T1設(shè)置為方式3,那么它會停頓計數(shù),其效果與設(shè)置TRl=0一樣。5單片機對內(nèi)部定時/計數(shù)器的初始化 1初始化步驟 單片機內(nèi)部定時器/計數(shù)器是可編程序的,其任務(wù)方式和任務(wù)過程均可由單片機經(jīng)過程序?qū)λM展設(shè)定和控制。因此,單片機在定時器/計數(shù)器任務(wù)前必需先對它進展初始化。初始化步驟為: 根據(jù)標題要求先給定時器方式存放器TMOD送一個方式控制字,以設(shè)定定時器/計數(shù)器的相應(yīng)任務(wù)方式。(對TMOD 中的MIM0賦值) 根據(jù)實踐需求給定時器/計數(shù)器選送定時器初值或計數(shù)器初值,以確實需求定時的時間和需求計數(shù)的初值。(對 TH、TL賦初值) 根據(jù)需求給中斷允許存放
58、器IE選送中斷控制字和給中斷優(yōu)先級存放器IP選送中斷優(yōu)先級字,以開放相應(yīng)中斷和設(shè) 定中斷優(yōu)先級。 給定時器控制存放器TCON送命令字,以啟動或制止定時器/計數(shù)器的運轉(zhuǎn)。三、實際練習1 1硬件實驗操作步驟硬件實驗操作步驟2 2keiluvision2keiluvision2軟件操作方法軟件操作方法3 3軟件操作實驗軟件操作實驗 注:以上內(nèi)容略。注:以上內(nèi)容略。 四、隨堂思索1對于本實驗,定時器的1秒規(guī)范時間是如何獲得的,當內(nèi)部時鐘的頻率變?yōu)?MHZ,如何設(shè)計這個實驗程序。并予以實驗驗證。工程五工程五 設(shè)計汽車轉(zhuǎn)彎信號燈模擬實設(shè)計汽車轉(zhuǎn)彎信號燈模擬實驗驗 教學環(huán)節(jié)設(shè)計教學環(huán)節(jié)設(shè)計 實際環(huán)節(jié)實際環(huán)節(jié)
59、1 實際知識鏈接實際知識鏈接 2 實際練習實際練習3 隨堂思索隨堂思索4 一、實際環(huán)節(jié)一、實際環(huán)節(jié) 一、實際環(huán)節(jié)一、實際環(huán)節(jié)2端口功能分配 結(jié)合汽車轉(zhuǎn)彎信號燈模擬實驗?zāi)康募跋鄳?yīng)電氣原理圖,現(xiàn)將各端口的功能列表如下: 汽車轉(zhuǎn)彎信號燈模擬實驗中單片機端口功能分配表右尾燈P1。6一、實際環(huán)節(jié)一、實際環(huán)節(jié)二、實際知識鏈接1、分支程序的相關(guān)知識常用的程序構(gòu)造有順序構(gòu)造、分支構(gòu)造和循環(huán)構(gòu)造3種。前面我們的程序很多都具有順序構(gòu)造和循環(huán)構(gòu)造。但是在多數(shù)情況下,一個問題的求解或一個控制系統(tǒng)的實施,會有多條途徑需求選擇。這樣,在編寫程序時就要進展判別,以確定程序的流向,這在程序設(shè)計中稱為分支程序。 2、單片機端口
60、功能簡介本實驗運用到單片機的兩個端口,所以有必要對單片機的端口作必要的闡明。單片機端口也成并行I/O口輸入/輸出。經(jīng)過單片機的外觀圖可以看到它們的分布情況:二、實際知識鏈接 從上圖中我們可以看到單片機有四組八位I/O端口。這些端口具有特定的功能,詳細如下: (1)P0.0P0.7 P0口有8位雙向口線。在讀寫外部存儲器時,P0口作為“低8位地址/數(shù)據(jù)總線運用。即P0口先作地址總線運用,后作數(shù)據(jù)總線運用,關(guān)于三總線的知識前面已引見,這里不再累述。 (2)P1.0P1.7 P1口有8位雙向口線。P1.0、P1.1引腳除了可作為普通I/0引腳運用外,還具有第二輸入/輸出功能:P1.0為定時器T2的計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度拆除工程安全教育培訓拆房協(xié)議范本4篇
- 個人家居裝潢服務(wù)協(xié)議(2024版)版B版
- 二零二五年度FXBIB房地產(chǎn)經(jīng)紀網(wǎng)絡(luò)平臺合作協(xié)議3篇
- 2025年度產(chǎn)業(yè)園企業(yè)入駐產(chǎn)業(yè)園區(qū)安全與應(yīng)急管理合作協(xié)議4篇
- 2025年度高科技園區(qū)產(chǎn)權(quán)轉(zhuǎn)讓合同模板及范文3篇
- 二零二五年度南京市房產(chǎn)贈與合同(親情關(guān)懷版)3篇
- 事業(yè)單位固定期限勞動協(xié)議樣式版A版
- 2025年度城市軌道交通建設(shè)合同協(xié)議4篇
- 2025年度老舊廠房拆遷評估及補償執(zhí)行標準合同3篇
- 2025年度戶外活動柴油補給服務(wù)協(xié)議4篇
- GB/T 35005-2018集成電路倒裝焊試驗方法
- 投標報價明顯低于采購預(yù)算價說明函
- 福建師范大學(答案)課程考試2023年2月《刑事訴訟法》作業(yè)考核試題
- 寫人事物景作文課件
- 廠級安全培訓資料
- 中國藥科大學《藥物化學》教學日歷
- 露天礦山課件
- 經(jīng)濟效益證明(模板)
- 銀行卡凍結(jié)怎么寫申請書
- 果樹蔬菜病害:第一章 蔬菜害蟲
- 人工地震動生成程序
評論
0/150
提交評論