計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)報(bào)告_第4頁
計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)硬件技術(shù)基礎(chǔ)(2011)綜合性實(shí)驗(yàn)考試報(bào)告一、題目:作息時(shí)間控制系統(tǒng)(13)二、問題的提出一般機(jī)關(guān)、部隊(duì)、企業(yè)等部門尤其是學(xué)校,對作息時(shí)間有嚴(yán)格的控制,可以采用MCS-51單片機(jī)設(shè)計(jì)一個(gè)控制作息時(shí)間的系統(tǒng)。作業(yè)時(shí)間控制系統(tǒng),由8051內(nèi)部的定時(shí)器,設(shè)計(jì)一個(gè)電子時(shí)鐘,當(dāng)電子時(shí)鐘達(dá)到作息時(shí)間的點(diǎn)鐘時(shí),用實(shí)驗(yàn)開發(fā)系統(tǒng)中的輸入輸出設(shè)備模擬早晨喇叭在唱歌,提醒晨練,模擬上課下課的打鈴,模擬晚上熄燈等。三、總體設(shè)計(jì)1、分析問題的功能設(shè)計(jì)一個(gè)電子時(shí)鐘實(shí)現(xiàn)定時(shí)報(bào)時(shí)2、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)硬件設(shè)計(jì):用導(dǎo)線連接D5區(qū)和A2區(qū)的P16SCL,P17SDA,P10RST_L,INT_KEYINT0,將P1.2與蜂鳴

2、器BUZZ,P1.4與SW1,P1.5與SW2連接軟件設(shè)計(jì):編程由8051內(nèi)部的定時(shí)器,設(shè)計(jì)一個(gè)電子時(shí)鐘,實(shí)現(xiàn)定點(diǎn)報(bào)時(shí)四、詳細(xì)設(shè)計(jì):1、硬件詳細(xì)設(shè)計(jì):畫出電路圖;P1.0-RST_LP1.2-BUZZP1.4-SW1P1.5-SW2P1.6-SCLP1.7-SDAINT0-INT_KEYA2區(qū)J61-D1區(qū)J52進(jìn)行硬件資源分配(包括I/O口地址、所用各存儲單元的用途)。所需設(shè)備:6位LED顯示器,蜂鳴器,開關(guān)sw1, sw2,定時(shí)器0連線方式:占用P1口的P1.0,P1.2,P1.4,P1.5,P1.0,P1.6,P1.7,以及8位LED顯示器中的6位,蜂鳴器開關(guān)sw1,sw2。中斷INT0

3、以及INT_KEY和排線連接A2區(qū)J61和D1區(qū)J52將P1.2與蜂鳴器,P1.4與sw1,P1.5與sw2連接,P1.6與scl,P1.7與sda,P1.6與rst_l。INT0與INT_KEY,A2區(qū)J61與D1區(qū)J52資源分配:將P1口合理的分配給LED顯示器,蜂鳴器,以及開關(guān)來完成軟件中對硬件的操作。將地址38H,39H,4AH,4BH,4CH,4DH提出使用用于存儲時(shí)鐘的分位,秒位以及時(shí)鐘的時(shí)位,并且使用了第二組的工作寄存器組的R2作為計(jì)數(shù)器使用,使用了計(jì)時(shí)器0做定時(shí)使用。2、軟件詳細(xì)設(shè)計(jì):實(shí)驗(yàn)的設(shè)計(jì)可以分為4個(gè)部分:在LED顯示器顯示時(shí)間,定時(shí)報(bào)時(shí)系統(tǒng),以及報(bào)時(shí)聲響中斷系統(tǒng),緊報(bào)警

4、系統(tǒng)。1) 時(shí)間的在LED顯示器顯示:通過編寫程序代碼,實(shí)現(xiàn)時(shí)間在LED顯示器上的顯示。2) 定時(shí)報(bào)時(shí):在時(shí)間的在LED顯示器顯示模塊中加入編寫好的定時(shí)報(bào)時(shí)系統(tǒng),報(bào)時(shí)裝置為蜂鳴器。3) 報(bào)時(shí)聲響中斷系統(tǒng):通過軟件查詢方式,來實(shí)現(xiàn)此功能,放置在時(shí)間的在LED顯示器顯示模塊。4) 緊報(bào)警系統(tǒng):通過軟件查詢方式,來實(shí)現(xiàn)此功能,放置在時(shí)間的在LED顯示器顯示模塊。3、設(shè)計(jì)中的主要困難及解決方案在這部分論述設(shè)計(jì)中遇到的主要困難及解決方案。困難1:設(shè)計(jì)時(shí),電子表時(shí)、分、秒針的顯示。 解決:把時(shí)、分、秒分別放在兩個(gè)存儲單元內(nèi)。困難2:在調(diào)試程序時(shí),與外部連接出現(xiàn)問題,顯示不出來解決:通過詢問同學(xué)以及查詢書籍

5、,修改程序以及外部硬件的連接三、程序清單SDA BITP1.7 ;I2C總線定義 串行數(shù)據(jù)存取位 SCL BITP1.6 ;I2C總線定義 串行時(shí)鐘位 RST BITP1.0 ;MCU復(fù)位輸出信號,低電平復(fù)位ZLG7290INT_KEYBITP3.2 ;MCU中斷信號輸入,有效的按鍵動作使該引腳信號變?yōu)榈碗娖?MTDEQU40H;I2C總線發(fā)送數(shù)據(jù)緩沖區(qū)(8字節(jié)) MRDEQU48H;I2C總線接收數(shù)據(jù)緩沖區(qū)(8字節(jié)) DisBuf EQU38H ;顯示緩沖區(qū)(8字節(jié),可對應(yīng)8位數(shù)碼管顯示) ;定義ZLG7290器件地址及子地址 ZLG7290 EQU70H;ZLG7290的器件地址 ACKB

6、IT10H;應(yīng)答標(biāo)志位 SLA DATA 50H;器件的從地址 SUBA DATA51H;器件的子地址 NUMBYTEDATA52H;讀/寫的字節(jié)數(shù)變量 Key DATA53H ;返回用戶按鍵值 SystemReg EQU00H ;系統(tǒng)寄存器地址,保存 ZLG7290系統(tǒng)狀態(tài) KeyReg EQU01H ;鍵值寄存器,表示被壓按鍵的鍵值 CmdBuf0 EQU07H ;命令緩沖區(qū)0 CmdBuf1 EQU08H ;命令緩沖區(qū)1 DpRam EQU10H ;顯示緩存寄存器mz1 equ 38H;定義秒針位mz2 equ 39H;定義秒針位2fz1 equ 4AH;定義分針位fz2 equ 4BH

7、;定義分針位2sz1 equ 4CH;定義時(shí)針位sz2 equ 4DH;定義時(shí)針位2 ORG8000H LJMPMAINorg 800bhajmp tos;定時(shí)計(jì)數(shù)器0的中斷程序的入口 ORG8100H ;-主程序如下: MAIN:MOV SP,#70H;堆棧區(qū)從70H開始 CLRRST ;復(fù)位ZLG7290 LCALL DELAY ;等待復(fù)位完成,ZLG7290復(fù)位周期比較長,必須等待 SETBRST ;結(jié)束復(fù)位 LCALL DELAY lcall ClsDisp;清除顯示 MainLoop:mov DisBuf+0,#0;上電運(yùn)行時(shí),8位數(shù)碼管顯示01234567 mov DisBuf+1

8、,#1;給顯示緩沖區(qū)賦值,01234567 mov DisBuf+2,#FFH mov DisBuf+3,#3 mov DisBuf+4,#4 mov DisBuf+5,#FFH mov DisBuf+6,#6 mov DisBuf+7,#7 lcall Display;調(diào)用顯示子程序,顯示內(nèi)容 mov mz1,#00h; ; 為時(shí)鐘的各位處清零 mov mz2,#05h mov fz1,#09hmov fz2,#05h mov sz1,#07h mov sz2,#00h mov tmod,#01hmov th0,#0f1h;開啟4ms中斷mov tl0,#99h; setb rs1;切換工作

9、組2 clr rs0mov r2,#00h;計(jì)數(shù)器設(shè)置 clr rs1;切換工作組0 clr rs0mov IE,#10000010B;開啟中斷系統(tǒng)setb tr0;開始計(jì)時(shí) sjmp $;程序原地執(zhí)行,等待中斷的產(chǎn)生tos:;響應(yīng)中斷 mov th0,#0f1h mov tl0,#99h setb rs1;切換工作組2 clr rs0inc r2cjne r2,#250,jc lcall dzz mov r2,#00hjc:jb p1.5,bj mov a,sz1 cjne a,#08h,next1mov a,fz1cjne a,#00h,next1mov a,fz2cjne a,#00h,

10、next1mov a,mz2cjne a,#00h,next1jb p1.4, BJ ;此段程序完成中斷程序,8點(diǎn)時(shí)報(bào)警 next1: reti bj: cpl p1.2 ;緊急情況下報(bào)警 sjmp next1 ;電子鐘程序 dzz: clr rs0;開啟電子鐘的顯示子程序 clr rs0 inc mz1 mov a,mz1cjne a,#10,A0 ;判斷秒針個(gè)位是否為10mov mz1,#00hmov DisBuf+0,mz1inc mz2 mov a,mz2cjne a,#6,A1 ;判斷秒針十位是否為6mov mz2,#00hmov DisBuf+1,mz2inc fz1 mov a,

11、fz1cjne a,#10,A2 ;判斷分針個(gè)位是否為10mov fz1,#00hmov DisBuf+2,fz1inc fz2 mov a,fz2cjne a,#6,A3 ;判斷分針十位是否為6mov fz2,#00hmov DisBuf+3,Fz2inc sz1 mov a,sz1cjne a,#10,A4mov sz1,#00hmov DisBuf+4,sz1inc sz2 mov a,sz2cjne a,#03,A5A0: mov DisBuf+0,mz1A1:mov DisBuf+1,mz2A2:mov DisBuf+3,fz1A3:mov DisBuf+4,fz2A4:mov Di

12、sBuf+6,sz1A5:mov DisBuf+7,sz2mov a,sz1cjne a,#04h,xs mov a,sz2cjne a,#02h,xs mov mz1,#00h mov mz2,#00h mov fz1,#00h mov fz2,#00h mov sz1,#00h mov sz2,#00h mov DisBuf+0,mz1;進(jìn)行顯示mov DisBuf+1,mz2mov DisBuf+3,fz1mov DisBuf+4,fz2mov DisBuf+6,sz1mov DisBuf+7,sz2xs:lcall Displayret;WaitKey: JBINT_KEY,WaitK

13、ey ;查詢按鍵 ;lcall GetKey;獲取鍵值 ;mov A,Key ;jz WaitKey ;Key=0無鍵按下,繼續(xù)查詢 ;mov DisBuf+7,DisBuf+6 ;顯示內(nèi)容左移 ;mov DisBuf+6,DisBuf+5 ;mov DisBuf+5,DisBuf+4 ;mov DisBuf+4,DisBuf+3 ;mov DisBuf+3,DisBuf+2 ;mov DisBuf+2,DisBuf+1 ;mov DisBuf+1,DisBuf+0 ;mov DisBuf+0,Key ;lcall Display ;ljmp WaitKey ;子程序名:ClsDisp ;功能

14、:清除顯示內(nèi)容 ;調(diào)用:VI2C_ASM.INC ;入口參數(shù):無 ;出口參數(shù):無 ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy,R5(當(dāng)前工作寄存器組) ClsDisp: mov R5,#8;循環(huán)計(jì)數(shù)器初值,8位數(shù)碼管 mov A,#01100000B;按位下載數(shù)據(jù)且譯碼指令 01100 A2A1A0 ;A2A0:對應(yīng)顯示位置 18位數(shù)碼管 Cls1:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#CmdBuf0;指定子地址 MOVMTD,A; 命令送I2C總線發(fā)送數(shù)據(jù)緩沖區(qū) mov MTD+1,#1FH;命令參數(shù),1FH:無顯示 MOVNUMBYTE,

15、#02H;待發(fā)送數(shù)據(jù)2字節(jié) push ACC;保護(hù)ACC push PSW;保護(hù)PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組1clr RS1 LCALLIWRNBYTE;調(diào)用寫2字節(jié)數(shù)據(jù)程序(VI2C_ASM.INC,I2C模擬軟件包) pop PSW;恢復(fù)PSW pop ACC;恢復(fù)ACC inc A;按位下載數(shù)據(jù)且譯碼指令地址部分1 LCALL DELAY;延時(shí),等待ZLG7290執(zhí)行上述命令 djnz R5,Cls1;沒有達(dá)到8次,繼續(xù)循環(huán) ret;子程序返回 ;子程序名:Display ;功能:在8段LED數(shù)碼管顯示 ;調(diào)用:VI2C_ASM.INC ;入

16、口參數(shù): Disbuf+0 Disbuf+7,8字節(jié)顯示緩沖區(qū) ;出口參數(shù):無 ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy,R0,R5(當(dāng)前工作寄存器組) Display: mov R5,#8;循環(huán)計(jì)數(shù)器初值,8位數(shù)碼管 mov A,#01100000B;按位下載數(shù)據(jù)且譯碼指令 01100 A2A1A0 ;A2A0:對應(yīng)顯示位置 18位數(shù)碼管 mov R0,# Disbuf;R0-> Disbuf Disp1:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#CmdBuf0;指定子地址 MOVMTD,A;命令送I2C總線發(fā)送數(shù)據(jù)緩沖區(qū) mov MT

17、D+1,R0;命令參數(shù),待顯示數(shù)據(jù)送I2C總線發(fā)送數(shù)據(jù)緩沖區(qū) MOVNUMBYTE,#02H;待發(fā)送數(shù)據(jù)2字節(jié) push ACC;保護(hù)ACC push PSW;保護(hù)PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組1clr RS1 LCALLIWRNBYTE;調(diào)用寫2字節(jié)數(shù)據(jù)程序(VI2C_ASM.INC,I2C模擬軟件包) pop PSW;恢復(fù)PSW pop ACC;恢復(fù)ACC inc A;按位下載數(shù)據(jù)且譯碼指令地址部分1 inc R0;R0+1,指向下一個(gè)待顯示數(shù)據(jù) LCALL DELAY;延時(shí),等待ZLG7290執(zhí)行上述命令 djnz R5,Disp1;沒有達(dá)到8

18、次,繼續(xù)循環(huán) ret;子程序返回 ;子程序名:GetKey ;功能:獲取用戶按鍵值(Key) ;調(diào)用:VI2C_ASM.INC ;入口參數(shù):無 ;出口參數(shù):Key ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy GetKey:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#01H;指定子地址 MOVNUMBYTE,#01H;讀1字節(jié)數(shù)據(jù) push ACC;保護(hù)ACC push PSW;保護(hù)PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組clr RS1 LCALLIRDNBYTE;調(diào)用讀1字節(jié)數(shù)據(jù)程序 pop PSW;恢復(fù)PSW p

19、op ACC;恢復(fù)ACC mov Key,MRD;讀取的數(shù)據(jù)送Key ret;子程序返回 ;子程序名: DELAY ;功能:延時(shí)約36.5 ms(11.0592MHz時(shí)鐘) ;調(diào)用:YS500US ;入口參數(shù):無 ;出口參數(shù):無 ;占用資源: R7,R6 DELAY:MOV R7,#80H MIN:LCALL YS500US DJNZ R7,MIN RET ;子程序名: YS500US ;功能:延時(shí)約279us(11.0592MHz時(shí)鐘) ;調(diào)用:無 ;入口參數(shù):無 ;出口參數(shù):無 ;占用資源: R6 YS500US:MOV R6,#80H DJNZ R6,$ ;延時(shí)128×2T256T (T=1/1159200) RET $INCLUDE(VI2C_ASM.INC);將VIIC軟件包加入到本段代碼后 END四、調(diào)試程序的方法硬件調(diào)試方法連線之后,觀察程序運(yùn)行是否正常,如不正常,一定要先斷電再連線軟件調(diào)試方法1)按上述接線方法接線2)開啟硬件,開啟計(jì)算機(jī),打開KEIL新建立工程選擇單片機(jī)NXP-P89C52X23)進(jìn)行項(xiàng)目設(shè)置設(shè)置時(shí)鐘頻

溫馨提示

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

最新文檔

評論

0/150

提交評論