freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機課程設(shè)計指導(dǎo)書-文庫吧資料

2025-01-24 15:45本頁面
  

【正文】 AJMP PROG2 AJMP PROG3 散轉(zhuǎn)表(對于大程序用LJMP) AJMP PROG4 AJMP PROG5PRO0:MOV HOUR,0AH AJMP DCSPRO1:MOV HOUR,0BH ;* AJMP DCSPRO2:MOV HOUR,0CH ;* AJMP DCSPRO3:MOV HOUR,0DH ;* AJMP DCSPRO4:MOV HOUR,0EH ;* AJMP DCSPRO5:MOV HOUR,0FH ;* AJMP DCS 并字子程序BZ子程序名:BZ入口條件:R0(被并字節(jié)的首地址)出口條件:A功能:將兩個單字節(jié)的BCD碼并為一個字節(jié)的壓縮BCD碼BZ:MOV A,R0SWAP AANL A, 0FHMOV B,AINC R0MOV A,R0ANL A, 0FHADD A,BRET第四章 單片機課程設(shè)計示例二(交通燈控制)一、總體設(shè)計明確任務(wù)交通燈的任務(wù)要求為:模擬十字路口的交通燈的亮、滅及閃爍基本工作原理:根據(jù)交通燈的亮滅情況,可以分為四種狀態(tài),利用定時計數(shù)器每20秒產(chǎn)生一次中斷,每產(chǎn)生一次中斷后由是否有特殊情況決定交通燈的狀態(tài)變換。入口條件:WJH、LJM、HOUR、MINI、SEC、CSEC出口條件:HOUR、MINI、SEC、CSECADD1: CLR EA PUSH ACC PUSH PSW SETB EA MOV TH0,WJH MOV TL0,LJM MOV A,CSEC ADD A,01H MOV CSEC,A CJNE A,64H,ADD2 MOV CSEC,00H MOV A,SEC ADD A,01H DA A MOV SEC,A CJNE A,60H,ADD2 MOV SEC,00H MOV A,MINI ADD A,01H DA A MOV MINI,A CJNE A,60H,ADD2 MOV MINI,00H MOV A,HOUR ADD A,01H DA A MOV HOUR,A CJNE A,24H,ADD2 MOV HOUR,00HADD2: CLR EA POP PSW POP ACC SETB EA RETI 全掃描子程序:QSM子程序名:QSM入口條件:無出口條件:F0功能:判斷是否有鍵按下。顯示子程序:DISP顯示子程序名:DISP功能:將LED5~LED0中的內(nèi)容在數(shù)碼管上顯示出來。最后,將定時器初始化、中斷初始化、即完成本課題。鍵定義不同各鍵處理程序的框圖各異。具體修改如圖所示。當(dāng)SET=“1”表明系統(tǒng)處于參數(shù)設(shè)置狀態(tài),系統(tǒng)停止顯示時間,當(dāng)SET=“0”表明系統(tǒng)處于走時狀態(tài),系統(tǒng)正常顯示當(dāng)前時間,兩種狀態(tài)中定時器仍在計數(shù),并中斷,只是顯示或不顯示。那么,必須先按數(shù)字鍵,若先按其它鍵,均不處理。例如,本課題中,程序一開始運行,就從0時0分0秒自動計時。子程序名:BZ入口條件:R0(被并字節(jié)的首地址)出口條件:A具體程序見本章附錄。、并字子程序工作原理:當(dāng)在數(shù)碼管上輸入兩個數(shù)“2“和”3“時,LED5和LED4中實際上存放的是”02H“和”03H“,而用戶是需要BCD碼的”23H“,因此,必須將LED5和LED4中的兩個單字節(jié)的BCD碼并為一個字節(jié)的壓縮BCD碼并存放在某一內(nèi)部RAM中,這就是并字程序。使用時,只要按課題要求修改數(shù)字鍵和各命令鍵的程序即可。由此,可將,。為了實現(xiàn)程序執(zhí)行與按鍵時間長短無關(guān),按鍵后釋放只計一數(shù)。按“A”鍵在最左邊兩個數(shù)碼管顯示“0A”,按“B”鍵在最左邊兩個數(shù)碼管顯示“0B”,……。則數(shù)字鍵處理程序為MOV LED5,LED4MOV LED4,AAJMP DCS;返回而將命令鍵處理程序PRO0、PROPROPROPRO4和PRO5寫為:PRO0:MOV HOUR,0AH AJMP DCSPRO1:MOV HOUR,0BH AJMP DCSPRO2:MOV HOUR,0CH AJMP DCSPRO3:MOV HOUR,0DH AJMP DCSPRO4:MOV HOUR,0EH AJMP DCSPRO5:MOV HOUR,0FH AJMP DCS完整程序由讀者在上一步驟基礎(chǔ)上自行編寫。由此,得區(qū)分?jǐn)?shù)字鍵、命令鍵模塊的框圖如圖所示。、區(qū)分?jǐn)?shù)字鍵、命令鍵模塊(A)≤09H求鍵名子程序框圖(A)― 0AH→AY(A)2→A查散轉(zhuǎn)表數(shù)字鍵處理NY我們定義數(shù)字鍵為0~9,命令鍵為A~F,因此,得知鍵名大于等于0AH為命令鍵,否則為數(shù)字鍵。調(diào)試時,:DCS:ACALL CZ ACALL QSM ACALL LINE ACALL KEYV MOV HOUR,A ACALL DISP SJMP DCSADD1:RETI 運行程序,無鍵按下時,顯示全“0”;依次按各鍵,應(yīng)該得到如下表的結(jié)果,該表的位置與DVCC鍵盤的32個鍵的位置相對應(yīng)。程序框圖如圖所示。那么,鍵值則等于所在行的最小鍵值加列號。我們定義第0行第0列的鍵值為00H,第0行第1列的鍵值為01H,……,第0行第7列的鍵值為07H,……,第1行第0列的鍵值為08H,……,第1行第7列的鍵值為0FH,……。、確定閉合鍵所在行兼求鍵值子程序工作原理:調(diào)用確定閉合鍵所在列子程序LINE后,R3中是鍵列號,A中是回復(fù)碼。調(diào)試時,:DCS:ACALL CZ ACALL QSM ACALL LINE MOV LED5,R3 ACALL DISP SJMP DCSADD1:RETI 運行程序,無鍵按下時,顯示全“0”;按“B”鍵,處于第7列,LINE返回主程序時(R7)=07H,在最左邊顯示“7”;按“A”鍵,處于第6列,LINE返回主程序時(R7)=06H,在最左邊顯示“6”;按“6”鍵,處于第5列,LINE返回主程序時(R7)=05H,在最左邊顯示“5”;按“9”鍵,處于第4列,LINE返回主程序時(R7)=04H,在最左邊顯示“4”;按“5”鍵,處于第3列,LINE返回主程序時(R7)=03H,在最左邊顯示“3”;按“8”鍵,處于第2列,LINE返回主程序時(R7)=02H,在最左邊顯示“2”;按“4”鍵,處于第1列,LINE返回主程序時(R7)=01H,在最左邊顯示“1”;按“7”鍵,處于第0列,LINE返回主程序時(R7)=00H,在最左邊顯示“0”注意:不要用按“EXEC”鍵的方式運行,而按PC的“F9”運行,否則看不到無鍵按下時顯示全“0”的結(jié)果。子程序框圖如圖所示。、確定閉合鍵所在列子程序工作原理:首先令列號(R3)=00H,并使第0列為“0”,其它各列為“1”,即由PA口輸出掃描碼(R4)11111110B=0FEH,若該列無鍵按下,PC口接收的回復(fù)碼全為高電平“1”,若該有鍵按下,則PC口接收的回復(fù)碼必有一位為低電平“0”。調(diào)試時,:DCS:ACALL CZ ACALL QSM MOV LED5,A ACALL DISP全掃描子程序框圖A=00H?掃描碼為00H送PA口送PA口讀PC口回復(fù)碼→A求反,與0FH相與返回清標(biāo)志位F0=0置標(biāo)志位F0=1YN SJMP DCSADD1:RETI 運行程序,無鍵按下時,顯示全“0”;按“7”鍵,回復(fù)碼為:“XXXX1110B”QSM返回主程序時(A)=01H,在最左邊顯示“1”;按“1”鍵,回復(fù)碼為:“XXXX1101B”QSM返回主程序時(A)=02H在最左邊顯示“2”;按“MEN”鍵,回復(fù)碼為:“XXXX1011B”QSM返回主程序時(A)=04H在最左邊顯示“4”;按“EXEC”鍵,回復(fù)碼為:“XXXX0111B”QSM返回主程序時(A)=08H在最左邊顯示“8”;注意:不要用按“EXEC”鍵的方式運行,而按PC的“F9”運行,否則看不到無鍵按下時顯示全“0”的結(jié)果。因此,子程序框圖如右圖所示。、全掃描鍵盤子程序工作原理:從鍵識別原理圖可見,當(dāng)8列均為“0”時(即PA口輸出00H),若無鍵按下,PC口接收的回復(fù)碼為高電平“1”,若有鍵按下,則PC口接收的回復(fù)碼必有一位為低電平“0”。第二項工作一般用散轉(zhuǎn)指令JMP A+DPTR完成。F0=1延時識別閉合鍵的行產(chǎn)生鍵碼YN鍵盤識別模塊框圖識別閉合鍵的列全掃描鍵盤全掃描鍵盤F0=0NY是數(shù)字鍵?數(shù)字鍵處理A鍵應(yīng)用程序YN鍵盤功能處理模塊框圖JMP A+DPTR鍵號變換……F鍵應(yīng)用程序返回A=00HA=0FH③鍵識別,以確定閉合鍵的列位置。本課題只考慮去抖動。我們用全掃描子程序QSM完成這一功能,并以標(biāo)志位F0()=1表示有鍵按下。有程序控制掃描方式(如8155控制通過程序掃描)、定時掃描方式(由定時中斷服務(wù)程序掃描)、中斷掃描方式(由鍵閉合產(chǎn)生中斷請求,CPU響應(yīng)中斷,對鍵盤進(jìn)行掃描)三種方式。、鍵盤處理模塊從按一個鍵到鍵的功能被執(zhí)行主要應(yīng)包括兩項工作:一項是鍵的識別,即在鍵盤中找出被按的是哪個鍵,另一項是鍵功能的實現(xiàn)。將HOUR、MINI、SEC、CSEC設(shè)為23H、59H、59H、63H,單步執(zhí)行后,HOUR、MINI、SEC、CSEC為全“00H”,則程序正確。程序名:ADD1功能:CSEC的內(nèi)容加1,并根據(jù)情況對SEC、MINI、HOUR進(jìn)位。后者需要用DA A進(jìn)行十進(jìn)制調(diào)整。DCS:ACALL CZ ACALL DISP SJMP DCSADD1:RETI ;中斷服務(wù)程序暫時什么也不做。入口條件:LED5~LED0出口條件:無為提高學(xué)生獨立編程能力,以后的程序清單見本章附錄。由此,可繪制程序框圖如右圖所示。在LED5~LED0存放欲顯示字符在表中的序號,通過查表程序得到相應(yīng)的字形碼,由PB口輸出。共循環(huán)6次,則6個數(shù)碼管自左至右順序顯示一次,調(diào)整好中間的間隔時間(用延時程序?qū)崿F(xiàn)),利用人的視覺暫留,得到同時顯示的效果。然后,由PA口輸出字選碼(在這里為00010000B,即40H),由8155的PB口輸出欲顯示的字形碼,則在下一個數(shù)碼管顯示相應(yīng)字符。調(diào)試成功后保存子程序CZ備用。子程序名:CZ功能:將將時間存儲區(qū)的時、分、秒寄存器的壓縮BCD碼拆成單字節(jié)BCD碼,存儲到顯示存儲區(qū)中。、拆字子程序拆字的過程如下:17H01H07HHOURLED5LED436H03H06HMINILED3LED248H04H08HSECLED1LED0顯然這是一個循環(huán)程序,次數(shù)為3次,循環(huán)體為將一個字節(jié)壓縮BCD碼拆成兩個單字節(jié)BCD碼。功能:將時間存儲區(qū)的時、分、秒中的內(nèi)容在6個數(shù)碼管上顯示出來。DVCC的晶振頻率為6MHz,則機器周期為2μs。因此,要隨時保存不同的版本。因此,無需初始化,則初始化的框圖如圖所示。這樣程序主要由初始化模塊、顯示模塊和中斷服務(wù)模塊組成,主程序框圖就簡化為右圖:、初始化模塊功能:完成變量初始化、8155初始化、定時器初始化和中斷初始化。YN初始化顯示時間鍵按下?數(shù)字鍵處理主程序框圖YN鍵掃描數(shù)字鍵?命令鍵處理初始化顯示時間簡化程序框圖置堆棧指針時間存儲區(qū)單元清零初始化框圖8155初始化定時器初始化中斷初始化 模塊設(shè)計根據(jù)主程序框圖,定義如下幾個模塊:初始化模塊、顯示時間模塊、鍵掃描模塊、數(shù)字鍵處理模塊、命令鍵處理模塊和中斷處理模塊。無論采用哪一種方案,主程序的框圖都如圖所示。方案一:若按A鍵,小時位熄滅,按數(shù)字鍵在小時位輸入小時值,按
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1