單片機原理課程設(shè)計說明書綜述_第1頁
單片機原理課程設(shè)計說明書綜述_第2頁
單片機原理課程設(shè)計說明書綜述_第3頁
單片機原理課程設(shè)計說明書綜述_第4頁
單片機原理課程設(shè)計說明書綜述_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、目錄一、課程設(shè)計目的1二、儀器設(shè)備1三、設(shè)計內(nèi)容1四、參考實驗11. 實現(xiàn)功能 12. 實驗接線 13程序清單 1五、系統(tǒng)硬件設(shè)計思想 121、課程設(shè)計任務(wù)122、設(shè)計思路 123、硬件原理圖 134、硬件連線 13六、單片機應(yīng)用程序 13七、系統(tǒng)總調(diào)試 161、軟件編輯 162、調(diào)試仿真 17八、存在的問題和改進設(shè)想 171存在的問題 172改進設(shè)想 173、設(shè)計總結(jié)與心得 17九、參考文獻 18一、課程設(shè)計目的1、培養(yǎng)學(xué)生正確的設(shè)計思想、嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)及處理工程技術(shù)問題的獨立 工作的能力;2、通過查閱資料,熟悉使用常用的與單片機有關(guān)的芯片;3、學(xué)習(xí)寫技術(shù)文件的方法。二、儀器設(shè)備DICE-5

2、210K單片機實驗開發(fā)系統(tǒng)三、設(shè)計內(nèi)容利用DICE-5210K、AEDK實驗開發(fā)系統(tǒng)及 AEDK-DJ6機電實驗平臺等,完 成步進電機/直流電機控制實驗(啟動/停止、快慢控制、正/反控制等),然后根 據(jù)各小組的不同控制任務(wù)進行軟硬件設(shè)計與調(diào)試。四、參考實驗1實現(xiàn)功能從鍵盤上輸入數(shù)字使顯示器顯示,第一位為 0 (正轉(zhuǎn)),為1 (反轉(zhuǎn)),第二 位0F顯示轉(zhuǎn)速,第三六位為設(shè)定步數(shù)。按下FO/EX鍵后,步進電機開始轉(zhuǎn)動, 步數(shù)逐漸減小到零,步進電機同時停止轉(zhuǎn)動2、實驗接線用雙頭線將P1.0P1.3接至HAHD3、程序清單ORG 0000HLJMP STORG 0080HST: MOV P2,#0FFH

3、MOV 7EH,#11HMOV 7DH,#10HMOV 7CH,#10HMOV 7BH,#10HMOV 7AH,#10HMOV 79H,#10HMOV A,#43HMOV DPTR,#0FF20HMOVX DPTR,A;MOV R0,#59HMOV A,#7EH;顯示緩沖區(qū)賦初值;8155初始化,8155用于控制數(shù)碼管和鍵盤;MOVX R0,AMOV DPTR,#2059HMOVX DPTR,ADOJ0: MOV SP,#53HDOJ6: LCALL X2JNC DOJ5LCALLX3MOV R1,#7EHSJMP DOJ6DOJ5: CJNE A,#16H,DOJ6MOV A,7AHSWAP

4、 AORL A,79HMOV R6,AMOV A,7CHSWAP AORL A,7BHMOV R7,AMOV A,7EHCJNE A,#00H,DOJ2;調(diào)鍵掃顯示子程序;功能鍵轉(zhuǎn);調(diào)數(shù)字鍵處理子程序;判斷執(zhí)行鍵是否按下;低字節(jié)步距送R6;高字節(jié)步距送R7;判斷轉(zhuǎn)動方向DOJ1: MOV P1,#03H;順時針轉(zhuǎn)動子程序LCALL DEL0YLCALL GGJOMOV P1,#06HLCALL DELOYLCALL GGJOMOV P1,#OCHLCALL DELOYLCALL GGJOMOV P1,#O9HLCALL DELOYLCALL GGJOSJMP DOJ1DOJ2: MOV P1,

5、#O9H;逆時針轉(zhuǎn)動子程序LCALL DELOYLCALL GGJOMOV P1,#OCHLCALL DELOYLCALL GGJOMOV P1,#O6HLCALL DELOYLCALL GGJOMOV P1,#O3HLCALL DELOYLCALL GGJOSJMP DOJ2;延時子程序DELOY: MOV A,7DH;根據(jù)(7D)內(nèi)容改變延時時間SWAP AMOV R2,AMOV R5,#8OHDEL1Y: DJNZ R5,DEL1YLCALL SSEEDJNZ R2QEL1YRETGGJO: CJNE R7,#00H,GGJ1;步距數(shù)為 0 停止CJNE R6,#00H,GGJ1AJMP

6、 DOJ4GGJ1: DJNZ R6,DOJ3CJNE R7,#00H,DDJ8DOJ4: LCALL DOJ7SJMP DOJ4DDJ8: DJNZ R7,DOJ3AJMP DOJ4DOJ3: LCALL DOJ7RETDOJ7: MOV R0,#79HMOV A,R6LCALL PTDS5MOV A,R7LCALL PTDS5LCALLSSEERETPTDS5: MOV R1,A;不為0,減1后顯示;調(diào)用顯示子程序;拆送數(shù)據(jù)子程序ACALL PTDS6MOV A,R1SWAP APTDS6: ANL A,#0FHMOV R0,AINC R0RET;數(shù)字鍵處理子程序X3: MOV R4,A;

7、MOV R0,#59H;MOVX A,R0MOV DPTR,#2059HMOVX A,DPTRMOV R1,AMOV A,R4MOV R1,ACLR APOP DPHPOP DPLMOVC A,A+DPTRINC DPTRCJNE A,01H,X30CLR AMOVC A,A+DPTRX31:;MOVX R0,AINC DPTRPUSH DPLPUSH DPHMOV DPTR,#2059HMOVX DPTR,ARETX30:DEC R1MOV A,R1SJMP X31X2: MOV R6,#50HX0: ACALL XLEJNB ACC.5,XX0DJNZ R6,X0MOV R6,#20H;M

8、OV R0,#59H;MOVX A,R0MOV DPTR,#2059HMOVX A,DPTRMOV R0,AMOV A,R0MOV R7,AMOV A,#10HMOV R0,AX1: ACALL XLEJNB ACC.5,XX1DJNZ R6,X1MOV A,R7MOV R0,ASJMP X2XX1:MOV R6,AMOV A,R7MOV R0,AMOV A,R6XX0:RETXLE:ACALL DISACALL KEYMOV R4,A;MOV R1,#48H;MOVX A,R1MOV DPTR,#2048HMOVX A,DPTR;INC R1;MOVX A,R1MOV DPTR,#2049H

9、MOVX A,DPTRMOV R3,AMOV A,R4XRL A,R3MOV R3,04HMOV R4,02HJZ X10MOV R2,#88HMOV R4,#88HX10:DEC R4MOV A,R4XRL A,#82HJZ X11MOV A,R4XRL A,#0EHJZ X11MOV A,R4ORL A,R4JZ X12MOV R4,#20HDEC R2SJMP X13X12:MOV R4,#0FHx11:MOV R2,04HMOV R4,03HMOV A,R2;MOVX R1,AMOV DPTR,#2048HMOVX DPTR,A;INC R1MOV A,R3;MOVX R1,AMOV

10、DPTR,#2049HMOVX DPTR,AMOV A,R4RETLS3:DB 07H,04H,08H,05H,09H,06H,0AHDB 0BH,01H,00H,02H,0FH,03H,0EHDB 0CH,0DHDIS:PUSH DPHPUSH DPLSETB RS1MOV R0,#7EHMOV R2,#20HMOV R3,#00H;MOV DPTR,#LS0LS2:MOV DPTR,#LS0MOV A,R0MOVC A,A+DPTR;MOV R1,#22H;MOVX R1,AMOV DPTR,#0FF22HMOVX DPTR,AMOV A,R2CPL A;DEC R1;MOVX R1,AM

11、OV DPTR,#0FF21HMOVX DPTR,ACPL ADEC R0LSI:DJNZ R3,LS1CLR CRRC AMOV R2,AJNZ LS2;INC R1MOV A,#0FFH;MOVX R1,AMOV DPTR,#0FF22HMOVX DPTR,ACLR RS1POP DPLPOP DPHRETLS0:DB 0C0H,0F9H,0A4H,0B0H,99H,92HDB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFHKEY:SETB RS1MOV R2,#0FEHMOV R3,#08HMOV R0

12、,#00HLP1:MOV A,R2;MOV R1,#21H;MOVX R1,AMOVX DPTR,ARL AMOV R2,A;MOV R1,#23H;MOVX A,R1MOV DPTR,#0FF23HMOVX A,DPTRCPL AANL A,#0FHJNZ LP0INC R0DJNZ R3,LP1;MOVX A,R1MOV DPTR,#0FF23HMOVX A,DPTRJB ACC.4,XP33MOV A,#19HSJMP XP3XP33: MOV A,#20HXP3:CLR RS1RETLP0:CPL AJB ACC.0,XP0MOV A,#00HSJMP LPPXP0:JB ACC.1,

13、XP1MOV A,#08HSJMP LPPXP1:JB ACC.2,XP2;換工作區(qū);字位;取字形代碼;字形送入SJMP LPPXP2:JB ACC.3,XP33MOV A,#18HLPP:ADD A,R0CLR RS1CJNE A,#10H,LX0LX0:JNC XP35MOV DPTR,#LS3MOVC A,A+DPTRXP35: RET;顯示子程序SSEE: SETB RS1MOV R5,#05HSSE2: MOV 30H,#20HMOV 31H,#7EHMOV R7,#06HSSE1: ;MOV R1,#21HMOV A,30HCPL A;MOVX R1,AMOV DPTR,#0FF2

14、1HMOVX DPTR,AMOV R0,31HMOV A,R0MOV DPTR,#DDFFMOVC A,A+DPTR;MOV R1,#22H;MOVX R1,AMOVX DPTR,AMOV A,30HRR A;右移MOV 30H,ADEC 31HMOV A,#0FFH;MOVX R1,A;關(guān)顯示MOV DPTR,#0FF22HMOVX DPTR,ADJNZ R7,SSE1;六位顯示完了嗎?DJNZ R5,SSE2;5次顯示完了嗎?CLR RS1RETDDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H

15、,86H,8EH,0FFH,0CH,89H,0DEHEND五、系統(tǒng)硬件設(shè)計思想1課程設(shè)計任務(wù):利用DICE-5210K實驗開發(fā)系統(tǒng),編寫步進電機控制軟件實現(xiàn):快速正轉(zhuǎn),設(shè)定 步局距為80H,第5、6位從80H逐漸減小到0,轉(zhuǎn)入快速反轉(zhuǎn),設(shè)定步局距為 80H,第5、6位從80H逐漸減小到0,再轉(zhuǎn)入快速正轉(zhuǎn),如此循環(huán)兩次停止。2、設(shè)計思路:數(shù)碼管顯示各位內(nèi)容為顯示位置123456顯示內(nèi)容0為正轉(zhuǎn)1為反轉(zhuǎn)0為快速1為慢速設(shè)疋步距設(shè)疋步距逐步減小所以為完成任務(wù)所要實現(xiàn)的內(nèi)容:(1)數(shù)碼管第1位顯示0,然后轉(zhuǎn)為1,再轉(zhuǎn)為0,再轉(zhuǎn)為1,這就完成正反轉(zhuǎn)的兩次循環(huán)。由檢查P1.4是否為低電平來判斷正反轉(zhuǎn),是則

16、執(zhí)行正轉(zhuǎn)子程序,否則執(zhí)行反轉(zhuǎn)子程序。(2)步進電機一直是快速轉(zhuǎn)動,第 2位顯示0 直不變。利用延時子程序來設(shè) 定它的快速慢速轉(zhuǎn),根據(jù)延時的長短來區(qū)別快速和慢速。(3)步局距一直是80H,設(shè)定它為80H不變。(4) 不管正轉(zhuǎn)還是反轉(zhuǎn)都是從80H逐漸減小到0。判斷步局?jǐn)?shù)是否為0,是0 則轉(zhuǎn)向下一個旋轉(zhuǎn)循環(huán),不為 0則減1后顯示在數(shù)碼管上。(5)循環(huán)兩次,利用累加器,因為程序中 A使用過了,只能用一個單元來賦值 為00H,每執(zhí)行完一次反轉(zhuǎn)且步局?jǐn)?shù)減小到 0為循環(huán)一次,計數(shù)加1,將計數(shù)次 數(shù)與02H對比,等于02H則停止,不等于則繼續(xù)轉(zhuǎn)動。3、硬件原理圖:見A3圖紙4、硬件連線(1) 確認(rèn)KB1開關(guān)打

17、在“一般模式” ,KB2短路塊插在MCS-51(1、2)位置上,SW1短路塊插在“ UP”位置。SW3、SW4、SW5打在“ON”的位置。(2)在確認(rèn)斷電的情況下,取下 DICE-5210K實驗儀右上角鎖緊插座上的AT89S52單片機芯片。(3) 將40芯白色的扁平線上的IDC40插頭與DICE-KEIL USB仿真器的IDC40 插座插好,然后用隨機配送的 USB線將仿真器與PC機連接。(4)將40芯白色的扁平線另一頭的40芯仿真頭插在DICE-5210K實驗儀右上 角綠色鎖緊插座上。(5)用雙頭線將 P1.0P1.3接至HAHD。六、單片機應(yīng)用程序ORG 0000HLJMP STORG 0

18、080HMOV 99H,#00HST: MOV P2,#0FFHMOV 7EH,#00HMOV 7DH,#01HMOV 7CH,#10HMOV 7BH,#10HMOV 7AH,#10HMOV 79H,#10HMOV 78H,#08H ;顯示緩沖區(qū)賦初值MOV A,#43HMOV DPTR,#0FF20H;8155初始化,8155用于控制數(shù)碼管和鍵盤MOVX DPTR,A;MOV R0,#59HMOV A,#7EH ;MOVX R0,AMOV DPTR,#2059HMOVX DPTR,ADOJ0:MOV SP,#53HDOJ5:MOV R6,#80HMOV R7,#80HSHIT:MOV 78H

19、,#20HMOV 7DH,#01HMOV 7EH,#00HMOV R3,#01HDOJ1:MOV P1,#03H;順時針轉(zhuǎn)動子程序LCALL DELOYLCALL GGJ0MOV P1,#06HLCALL DEL0YLCALL GGJ0MOV P1,#0CHLCALL DEL0YLCALL GGJ0MOV P1,#09HLCALL DEL0YLCALL GGJ0SJMP DOJ1SHIT2:MOV 78H,#20HMOV 7DH,#01HMOV 7EH,#01HMOV R3,#00HDOJ2:MOV P1,#09H;逆時針轉(zhuǎn)動子程序LCALL DEL0YLCALL GGJ0MOV P1,#0C

20、HLCALL DEL0YLCALL GGJOMOV P1,#06HLCALL DELOYLCALL GGJOMOV P1,#03HLCALL DELOYLCALL GGJOSJMP DOJ2INC 99HCJNZ 99H ,#02 H, L00P1L00P1: SJMP $;延時子程序DEL0Y: MOV A,7DH;根據(jù)(7D)內(nèi)容改變延時時間SWAP AMOV R2,AMOV R5,#80HDEL1Y: DJNZ R5,DEL1YLCALLSSEEDJNZ R2,DEL1YRETGGJ0:CJNE R7,#00H,GGJ1;步距數(shù)為 0 停止CJNE R6,#00H,GGJ1;不為 0,減

21、 1 后顯示AJMP DOJ4GGJ1:DJNZ R6,DOJ3DOJ4:LCALL DOJ7MOV R6,#80HCJNE R3,#00H,SHIT2LJMP SHITDOJ3:LCALL DOJ7RETDOJ7:MOV R0,#79HMOV A,R6LCALL PTDS5MOV A,R7LCALL PTDS5LCALL SSEE;調(diào)用顯示子程序RETPTDS5: MOV R1,A;拆送數(shù)據(jù)子程序ACALL PTDS6MOV A,R1SWAP APTDS6: ANL A,#0FHMOV R0,AINC RORETSSEE:SETB RS1;換工作區(qū)MOV R5,#05HSSE2:MOV 30

22、H,#20HMOV 31H,#7EHMOV R7,#06HSSE1:;MOV R1,#21H;字位MOV A,30HCPL A;MOVX R1,AMOV DPTR,#0FF21HMOVX DPTR,AMOV R0,31HMOV A,R0MOV DPTR,#DDFFMOVC A,A+DPTR;取字形代碼;MOV R1,#22H;MOVX R1,A;字形送入MOV DPTR,#0FF22HMOVX DPTR,AMOV A,30HRR A;右移MOV 30H,ADEC 31HMOV A,#0FFH;MOVX R1,A;關(guān)顯示MOV DPTR,#0FF22HMOVX DPTR,ADJNZ R7,SSE

23、1;六位顯示完了嗎?DJNZ R5,SSE2;5次顯示完了嗎?CLR RS1RETDDFF:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH END七、系統(tǒng)總調(diào)試1軟件編輯(1)打開Keilc軟件后,建立“ project”;(2) 建立匯編源程序保存為“ .ASM ”文件;(3) 然后添加文件到源程序組并對軟件項目進行設(shè)置;(4) 按“ F7”進行編譯生成了 “ .hex”文件,若出現(xiàn)錯誤或者警告會有提示, 根據(jù)提示修改;(5) 按“debug”進行仿真,

24、此時先用原程序進行仿真的,按下“ go”之后需要 按鍵盤進行設(shè)置,如果按下011000,則進行快速正轉(zhuǎn),待后四位為 0后停止轉(zhuǎn) 動。2、調(diào)試仿真改好的程序經(jīng)過仿真出現(xiàn)的情況:數(shù)碼顯示管上出現(xiàn)0180xx,后兩位在變化 中到0后顯示1180xx,循環(huán)下去。八、存在的問題和改進設(shè)想1存在的問題設(shè)計過程中對循環(huán)過程的控制沒有想到很好的循環(huán)的方法,未能實現(xiàn)2次循環(huán)后停止,需要進一步地學(xué)習(xí)對程序進行改進實現(xiàn)任意循環(huán)次數(shù)控制。且2、改進設(shè)想用循環(huán)子程序直接對次數(shù)進行限制, 通過從鍵盤輸入循環(huán)控制的次數(shù),對步 進電機進行次數(shù)控制。3、設(shè)計總結(jié)與心得通過這次一周的單片機課程設(shè)計的實踐, 我收獲很大,因為在團隊合作中我 們,需要共同探討,集思廣益,需要團結(jié)協(xié)作,還需要之前就分配好任務(wù)

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論