![計算機硬件技術基礎綜合實驗報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/10/8a4a376e-a149-4345-b8ff-996ec3d42b41/8a4a376e-a149-4345-b8ff-996ec3d42b411.gif)
![計算機硬件技術基礎綜合實驗報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/10/8a4a376e-a149-4345-b8ff-996ec3d42b41/8a4a376e-a149-4345-b8ff-996ec3d42b412.gif)
![計算機硬件技術基礎綜合實驗報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/10/8a4a376e-a149-4345-b8ff-996ec3d42b41/8a4a376e-a149-4345-b8ff-996ec3d42b413.gif)
![計算機硬件技術基礎綜合實驗報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/10/8a4a376e-a149-4345-b8ff-996ec3d42b41/8a4a376e-a149-4345-b8ff-996ec3d42b414.gif)
![計算機硬件技術基礎綜合實驗報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/10/8a4a376e-a149-4345-b8ff-996ec3d42b41/8a4a376e-a149-4345-b8ff-996ec3d42b415.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機硬件技術基礎(2011)綜合性實驗考試報告一、題目:作息時間控制系統(tǒng)(13)二、問題的提出一般機關、部隊、企業(yè)等部門尤其是學校,對作息時間有嚴格的控制,可以采用MCS-51單片機設計一個控制作息時間的系統(tǒng)。作業(yè)時間控制系統(tǒng),由8051內部的定時器,設計一個電子時鐘,當電子時鐘達到作息時間的點鐘時,用實驗開發(fā)系統(tǒng)中的輸入輸出設備模擬早晨喇叭在唱歌,提醒晨練,模擬上課下課的打鈴,模擬晚上熄燈等。三、總體設計1、分析問題的功能設計一個電子時鐘實現(xiàn)定時報時2、系統(tǒng)總體結構設計硬件設計:用導線連接D5區(qū)和A2區(qū)的P16SCL,P17SDA,P10RST_L,INT_KEYINT0,將P1.2與蜂鳴
2、器BUZZ,P1.4與SW1,P1.5與SW2連接軟件設計:編程由8051內部的定時器,設計一個電子時鐘,實現(xiàn)定點報時四、詳細設計:1、硬件詳細設計:畫出電路圖;P1.0-RST_LP1.2-BUZZP1.4-SW1P1.5-SW2P1.6-SCLP1.7-SDAINT0-INT_KEYA2區(qū)J61-D1區(qū)J52進行硬件資源分配(包括I/O口地址、所用各存儲單元的用途)。所需設備:6位LED顯示器,蜂鳴器,開關sw1, sw2,定時器0連線方式:占用P1口的P1.0,P1.2,P1.4,P1.5,P1.0,P1.6,P1.7,以及8位LED顯示器中的6位,蜂鳴器開關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顯示器,蜂鳴器,以及開關來完成軟件中對硬件的操作。將地址38H,39H,4AH,4BH,4CH,4DH提出使用用于存儲時鐘的分位,秒位以及時鐘的時位,并且使用了第二組的工作寄存器組的R2作為計數器使用,使用了計時器0做定時使用。2、軟件詳細設計:實驗的設計可以分為4個部分:在LED顯示器顯示時間,定時報時系統(tǒng),以及報時聲響中斷系統(tǒng),緊報警
4、系統(tǒng)。1) 時間的在LED顯示器顯示:通過編寫程序代碼,實現(xiàn)時間在LED顯示器上的顯示。2) 定時報時:在時間的在LED顯示器顯示模塊中加入編寫好的定時報時系統(tǒng),報時裝置為蜂鳴器。3) 報時聲響中斷系統(tǒng):通過軟件查詢方式,來實現(xiàn)此功能,放置在時間的在LED顯示器顯示模塊。4) 緊報警系統(tǒng):通過軟件查詢方式,來實現(xiàn)此功能,放置在時間的在LED顯示器顯示模塊。3、設計中的主要困難及解決方案在這部分論述設計中遇到的主要困難及解決方案。困難1:設計時,電子表時、分、秒針的顯示。 解決:把時、分、秒分別放在兩個存儲單元內。困難2:在調試程序時,與外部連接出現(xiàn)問題,顯示不出來解決:通過詢問同學以及查詢書籍
5、,修改程序以及外部硬件的連接三、程序清單SDA BITP1.7 ;I2C總線定義 串行數據存取位 SCL BITP1.6 ;I2C總線定義 串行時鐘位 RST BITP1.0 ;MCU復位輸出信號,低電平復位ZLG7290INT_KEYBITP3.2 ;MCU中斷信號輸入,有效的按鍵動作使該引腳信號變?yōu)榈碗娖?MTDEQU40H;I2C總線發(fā)送數據緩沖區(qū)(8字節(jié)) MRDEQU48H;I2C總線接收數據緩沖區(qū)(8字節(jié)) DisBuf EQU38H ;顯示緩沖區(qū)(8字節(jié),可對應8位數碼管顯示) ;定義ZLG7290器件地址及子地址 ZLG7290 EQU70H;ZLG7290的器件地址 ACKB
6、IT10H;應答標志位 SLA DATA 50H;器件的從地址 SUBA DATA51H;器件的子地址 NUMBYTEDATA52H;讀/寫的字節(jié)數變量 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;定義時針位sz2 equ 4DH;定義時針位2 ORG8000H LJMPMAINorg 800bhajmp tos;定時計數器0的中斷程序的入口 ORG8100H ;-主程序如下: MAIN:MOV SP,#70H;堆棧區(qū)從70H開始 CLRRST ;復位ZLG7290 LCALL DELAY ;等待復位完成,ZLG7290復位周期比較長,必須等待 SETBRST ;結束復位 LCALL DELAY lcall ClsDisp;清除顯示 MainLoop:mov DisBuf+0,#0;上電運行時,8位數碼管顯示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;調用顯示子程序,顯示內容 mov mz1,#00h; ; 為時鐘的各位處清零 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;計數器設置 clr rs1;切換工作組0 clr rs0mov IE,#10000010B;開啟中斷系統(tǒng)setb tr0;開始計時 sjmp $;程序原地執(zhí)行,等待中斷的產生tos:;響應中斷 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點時報警 next1: reti bj: cpl p1.2 ;緊急情況下報警 sjmp next1 ;電子鐘程序 dzz: clr rs0;開啟電子鐘的顯示子程序 clr rs0 inc mz1 mov a,mz1cjne a,#10,A0 ;判斷秒針個位是否為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 ;判斷分針個位是否為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;進行顯示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 ;顯示內容左移 ;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、:清除顯示內容 ;調用:VI2C_ASM.INC ;入口參數:無 ;出口參數:無 ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy,R5(當前工作寄存器組) ClsDisp: mov R5,#8;循環(huán)計數器初值,8位數碼管 mov A,#01100000B;按位下載數據且譯碼指令 01100 A2A1A0 ;A2A0:對應顯示位置 18位數碼管 Cls1:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#CmdBuf0;指定子地址 MOVMTD,A; 命令送I2C總線發(fā)送數據緩沖區(qū) mov MTD+1,#1FH;命令參數,1FH:無顯示 MOVNUMBYTE,
15、#02H;待發(fā)送數據2字節(jié) push ACC;保護ACC push PSW;保護PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組1clr RS1 LCALLIWRNBYTE;調用寫2字節(jié)數據程序(VI2C_ASM.INC,I2C模擬軟件包) pop PSW;恢復PSW pop ACC;恢復ACC inc A;按位下載數據且譯碼指令地址部分1 LCALL DELAY;延時,等待ZLG7290執(zhí)行上述命令 djnz R5,Cls1;沒有達到8次,繼續(xù)循環(huán) ret;子程序返回 ;子程序名:Display ;功能:在8段LED數碼管顯示 ;調用:VI2C_ASM.INC ;入
16、口參數: Disbuf+0 Disbuf+7,8字節(jié)顯示緩沖區(qū) ;出口參數:無 ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy,R0,R5(當前工作寄存器組) Display: mov R5,#8;循環(huán)計數器初值,8位數碼管 mov A,#01100000B;按位下載數據且譯碼指令 01100 A2A1A0 ;A2A0:對應顯示位置 18位數碼管 mov R0,# Disbuf;R0-> Disbuf Disp1:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#CmdBuf0;指定子地址 MOVMTD,A;命令送I2C總線發(fā)送數據緩沖區(qū) mov MT
17、D+1,R0;命令參數,待顯示數據送I2C總線發(fā)送數據緩沖區(qū) MOVNUMBYTE,#02H;待發(fā)送數據2字節(jié) push ACC;保護ACC push PSW;保護PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組1clr RS1 LCALLIWRNBYTE;調用寫2字節(jié)數據程序(VI2C_ASM.INC,I2C模擬軟件包) pop PSW;恢復PSW pop ACC;恢復ACC inc A;按位下載數據且譯碼指令地址部分1 inc R0;R0+1,指向下一個待顯示數據 LCALL DELAY;延時,等待ZLG7290執(zhí)行上述命令 djnz R5,Disp1;沒有達到8
18、次,繼續(xù)循環(huán) ret;子程序返回 ;子程序名:GetKey ;功能:獲取用戶按鍵值(Key) ;調用:VI2C_ASM.INC ;入口參數:無 ;出口參數:Key ;占用資源: R0,R1,R2,R3(工作寄存器組1),ACC,Cy GetKey:MOVSLA,#ZLG7290;指定器件地址 MOVSUBA,#01H;指定子地址 MOVNUMBYTE,#01H;讀1字節(jié)數據 push ACC;保護ACC push PSW;保護PSW setb RS0 ;切換工作寄存器,I2C通信軟件使用工作寄存器組clr RS1 LCALLIRDNBYTE;調用讀1字節(jié)數據程序 pop PSW;恢復PSW p
19、op ACC;恢復ACC mov Key,MRD;讀取的數據送Key ret;子程序返回 ;子程序名: DELAY ;功能:延時約36.5 ms(11.0592MHz時鐘) ;調用:YS500US ;入口參數:無 ;出口參數:無 ;占用資源: R7,R6 DELAY:MOV R7,#80H MIN:LCALL YS500US DJNZ R7,MIN RET ;子程序名: YS500US ;功能:延時約279us(11.0592MHz時鐘) ;調用:無 ;入口參數:無 ;出口參數:無 ;占用資源: R6 YS500US:MOV R6,#80H DJNZ R6,$ ;延時128×2T256T (T=1/1159200) RET $INCLUDE(VI2C_ASM.INC);將VIIC軟件包加入到本段代碼后 END四、調試程序的方法硬件調試方法連線之后,觀察程序運行是否正常,如不正常,一定要先斷電再連線軟件調試方法1)按上述接線方法接線2)開啟硬件,開啟計算機,打開KEIL新建立工程選擇單片機NXP-P89C52X23)進行項目設置設置時鐘頻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新年元旦致辭(21篇)
- 校園文化背景下的布草衛(wèi)生管理探索
- 藝術展覽的氣氛營造與參觀者互動
- 金融行業(yè)中的農行企業(yè)合規(guī)文化建設研究
- 二零二五年度智能化租賃合同糾紛解決與資產清算服務合同
- 2025年度辣椒產業(yè)金融服務與風險控制合同簡約版
- 2025年度專業(yè)舞蹈培訓中心輔導班轉讓合同
- 2025年度健康產業(yè)融資抵押借款合同
- 二零二五年度美容院顧客美容院節(jié)假日優(yōu)惠活動合同
- 2025年度汽車租賃押金合同電子版
- SL+575-2012水利水電工程水土保持技術規(guī)范
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設計規(guī)范-PDF解密
- 人美版初中美術知識點匯總八年級全冊
- 2024年廣東省高三一模高考英語試卷試題答案祥解(含作文范文)
- 迅雷網盤最最最全影視資源-持續(xù)更新7.26
- 普通話培訓班合作協(xié)議書
- 《西方思想經典》課件
- 中醫(yī)診療設備種類目錄
- 如何構建高效課堂課件
- 徐金桂行政法與行政訴訟法新講義
- GB/T 13234-2018用能單位節(jié)能量計算方法
評論
0/150
提交評論