教室人數(shù)統(tǒng)計系統(tǒng)仿真_第1頁
教室人數(shù)統(tǒng)計系統(tǒng)仿真_第2頁
教室人數(shù)統(tǒng)計系統(tǒng)仿真_第3頁
教室人數(shù)統(tǒng)計系統(tǒng)仿真_第4頁
教室人數(shù)統(tǒng)計系統(tǒng)仿真_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于80C51教室人數(shù)統(tǒng)計系統(tǒng)仿真組長:目錄實驗摘要1.1內(nèi)容摘要1.2關(guān)鍵詞2.目的和意義2.1設(shè)計目的及意義2.2系統(tǒng)實現(xiàn)的功能3.硬件電路設(shè)計3.1設(shè)計思路3.2單片機(jī)電路〔proteus模擬電路〕4.軟件電路設(shè)計4.1工作原理4.2程序流程圖 4.3匯編程序5.電路調(diào)試6.結(jié)題感受7.參考文獻(xiàn)

1.實驗摘要1.1內(nèi)容摘要教室人數(shù)技術(shù)器系統(tǒng)設(shè)計,通過Proteus軟件模擬教室人員的出入,當(dāng)有同學(xué)進(jìn)入時進(jìn)行加計數(shù),當(dāng)有同學(xué)外出時進(jìn)行減計數(shù),并把現(xiàn)在教室人數(shù)通過LED顯示出來。通過這個程序,教室可以很好的了解教室內(nèi)的學(xué)生人數(shù),既方便了學(xué)生的人數(shù)統(tǒng)計,同時也方便了老師的教學(xué)進(jìn)展。1.2關(guān)鍵詞單片機(jī)89C518155人數(shù)統(tǒng)計LED顯示目的和意義2.1設(shè)計目的及意義教室人數(shù)統(tǒng)計對于一些人數(shù)比擬大的課堂一直是個比擬困難的問題。于是,基于單片機(jī)80C51我們設(shè)計了一個教室人數(shù)自動統(tǒng)計系統(tǒng)。通過本次課程設(shè)計加深了對單片機(jī)課程的全面認(rèn)識復(fù)習(xí)和掌握,對單片機(jī)課程的應(yīng)用進(jìn)一步的了解。掌握外部中斷和LED顯示的設(shè)置以及相應(yīng)的傳感器原理。通過此次課程設(shè)計能夠?qū)纹瑱C(jī)軟件結(jié)合起來,對程序進(jìn)行編輯,校驗。2.2系統(tǒng)實現(xiàn)的功能〔1〕檢測教室里百位以內(nèi)的人數(shù),并在8*8點陣LED顯示器上顯示出來;〔2〕設(shè)置按鍵復(fù)位清零;〔3〕用發(fā)光二級管模擬點燈,當(dāng)教室有人時,發(fā)光二極管發(fā)光;當(dāng)教室無人時,發(fā)光二極管不發(fā)光。3.硬件電路設(shè)計3.1設(shè)計思路教室門上安置兩個光電對管GK102,當(dāng)有人進(jìn)入時,INT0先產(chǎn)生中斷并置1INT1響應(yīng)標(biāo)志位,INT1后發(fā)生中斷,在響應(yīng)標(biāo)志位為1情況進(jìn)行加法計數(shù),外出時與之相反,最終顯示出教室的實際人數(shù)。注:使用proteus仿真時,將光電對管用開關(guān)按鍵代替。測試系統(tǒng)硬件框圖如下列圖所示:光電對管光電對管GK102光電對管GK10280C51單片機(jī)LED顯示3.2單片機(jī)電路〔proteus模擬電路〕

4.軟件電路設(shè)計4.1工作原理8051單片機(jī)可以響應(yīng)外部中斷中斷請求,外部中斷源的中斷請求信號可以從P3.2和P3.3(即INT0和INT1)引腳上輸入,有電平或負(fù)邊沿兩種引起中斷的觸發(fā)方式。本系統(tǒng)中利用負(fù)邊沿觸發(fā)方式。光電對管1〔開關(guān)1〕電路中電壓信號接INTO,光電對管2〔開關(guān)2〕電路中電壓信號接INT1。工作過程:教室門上安置兩個光電對管GK102,當(dāng)有人進(jìn)入時,INT0先產(chǎn)生中斷并置1INT1響應(yīng)標(biāo)志位,INT1后發(fā)生中斷,在響應(yīng)標(biāo)志位為1情況進(jìn)行加法計數(shù),當(dāng)有人外出時,INT1先產(chǎn)生中斷并置1INT0響應(yīng)標(biāo)志位,INT0后發(fā)生中斷,在響應(yīng)標(biāo)志位為1情況進(jìn)行減法計數(shù),最終通過相應(yīng)的LED顯示程序顯示的人數(shù)即當(dāng)前教室里的人數(shù)了。4.2程序流程圖開始開始否否否否LED顯示是加法計數(shù)減法計數(shù)是是減法標(biāo)志為1?加法標(biāo)志為1?置1加法標(biāo)志位置1減法標(biāo)志INT0INT1減法標(biāo)志為1?加法標(biāo)志為1?INT1INT0否是中斷為INT0或INT1?是否有中斷?開中斷〔INT1/INT1/EA〕

否否否否LED顯示是加法計數(shù)減法計數(shù)是是減法標(biāo)志為1?加法標(biāo)志為1?置1加法標(biāo)志位置1減法標(biāo)志INT0INT1減法標(biāo)志為1?加法標(biāo)志為1?INT1INT0否是中斷為INT0或INT1?是否有中斷?開中斷〔INT1/INT1/EA〕4.3匯編程序 ORG 0000H AJMP MAINORG 0003H AJMP CT0 ORG 0013H AJMP CT1ORG 0100HMAIN: MOV 20H,#0FEHSTART: MOV A,#00H MOV DPTR,#0101H ;漸變式顯示,表示開機(jī)界面 MOVX @DPTR,A MOV DPTR,#0102H MOVA,20H MOVX @DPTR,A MOVR4,#03H ;延時約1S左右DEL: ACALLDELAY DJNZR4,DEL MOVR5,#00HMOVA,20H RLAMOV20H,AJBACC.0,START ;用于控制漸變式顯示ACALL RSET ;復(fù)位SETB EX0 ;開INT0 SETB EX1 ;開INT1 SETB EA ;開中斷 SETB IT0 ;令I(lǐng)NT0中斷為負(fù)邊沿觸發(fā) SETB IT1 ;令I(lǐng)NT1中斷為負(fù)邊沿觸發(fā)LOOP: JNB P1.0, DONE ;掃描P1.0電平,判斷是否復(fù)位 ACALL RSET ;假設(shè)P1.0為高電平,調(diào)用復(fù)位程序DONE: ACALL FB ;調(diào)用分半程序,將要顯示的兩位數(shù)別離 ACALL DISP ;調(diào)用顯示程序,顯示人數(shù) SJMP LOOP ;返回LOOP,循環(huán)掃描、顯示DISP: MOV DPTR, #0100H ;8155命令口地址送DPTR MOV A, #03H ;方式控制字送A MOVX @DPTR,A ;方式控制字送8155命令口 CLR C ;去除標(biāo)志位cy CJNE R2, #100, FULL ;判斷是否人滿,并形成標(biāo)志位cyFULL: JC DISP0 ;人數(shù)少于100人,那么顯示人數(shù) MOV R0, #72H ;人數(shù)等于或超過100人,顯示人滿標(biāo)志 MOV 72H,#0AH MOV 73H,#0BH ;人滿標(biāo)志符號字形碼送顯示緩沖區(qū) AJMP DISP1DISP0: MOV R0, #70H ;顯示緩沖區(qū)起始地址送R0DISP1: MOV R4, #0FEH ;字位碼始值送R4 ACALL DISPZ ;嵌套調(diào)用顯示子程序,顯示十位數(shù) INC R0 ;修正顯示緩沖區(qū)指針 ACALL DISPZ ;嵌套調(diào)用顯示子程序,顯示個位數(shù) RET ;返回主程序DISPZ: MOV R3, #04H ;循環(huán)控制量始值送R3 MOV A, @R0 ;顯示緩沖區(qū)中的數(shù)送A RL A ;A中值擴(kuò)大4倍 RL A MOV R5, A ;偏移量修正值送R5,暫存LP: MOV A, R5 INC R5 ;修正偏移量 MOV DPTR, #TAB ;查表得字形碼 MOVC A,@A+DPTR MOVDPTR, #0101H ;A口地址送DPTR MOVX @DPTR, A ;字形碼送A口 INC DPTR ;B口地址送DPTR MOV A, R4 MOVX @DPTR, A ;字位碼送B口 RL A ;字位碼左移一位 MOV R4, A ;字位碼暫存在R4 ACALL DELAY ;延時1ms DJNZ R3,LP ;顯示下一個數(shù)碼 RET;字形表TAB: DB 7CH,82H,82H,7CH ;0 DB 00H,42H,0FEH,02H ;1 DB 4EH,92H,82H,62H ;2 DB 44H,92H,92H,6CH ;3 DB 18H,28H,0FEH,08H ;4 DB 0F2H,92H,92H,8CH ;5 DB 7CH,92H,92H,4CH ;6 DB 0C0H,80H,0BEH,0C0H ;7 DB 6CH,92H,92H,6CH ;8 DB 64H,92H,92H,7CH ;9DELAY: MOV R7, #02H ;大循環(huán)控制量初值送R7DELAY1: MOV R6, #0FFH ;小循環(huán)控制量初值送R6DELAY2: DJNZ R6, DELAY2 ;未完成那么DELAY2,否那么跳出小循環(huán) DJNZ R7, DELAY1 ;未完成那么DELAY1,否那么跳出大循環(huán) RETRSET: MOV R2, #00H ;人數(shù)清零 CLR 5EH ;INTO中斷響應(yīng)標(biāo)志置"0" CLR 5FH ;INT1中斷響應(yīng)標(biāo)志置"0" CLR P1.1 ;小燈熄滅 RETFB: MOV R0, #70H ;R0指向70H單元地址 MOV A, R2 ;人數(shù)送A MOV B, #0AH ;除數(shù)10送B DIV AB ;人數(shù)的十位數(shù)送A,個位數(shù)送B MOV @R0, A ;十位數(shù)送顯示緩沖區(qū)50H地址單元 MOV A, B ;個位數(shù)送A INC R0 ;修正緩沖區(qū)指針,指向51H單元地址 MOV @R0, A ;個位數(shù)送顯示緩沖區(qū)51H地址單元 RETCT1: JB 5EH, JIA ;假設(shè)INT0響應(yīng)標(biāo)志為1,人數(shù)加一 SETB 5FH ;將INT1響應(yīng)標(biāo)志置"1" RETI ;返回主程序JIA: INC R2 ;人數(shù)加一 SETB P1.1 ;小燈亮 CLR 5EH ;將INT0響應(yīng)標(biāo)志置"0"CLR5F:CLR 5FH ;將INT1響應(yīng)標(biāo)志置"0" RETICT0: JB 5FH, JIAN ;假設(shè)INT1響應(yīng)標(biāo)志為1,人數(shù)減一 SETB 5EH ;將INT0響應(yīng)標(biāo)志置"1" RETIJIAN: DEC R2 ;人數(shù)減一 CJNE R2, #0FFH, NEXT1 ACALL RSET ;人數(shù)為255〔-1〕時,復(fù)位NEXT1: CLR C CJNE R2,#00H,NEXT ;假設(shè)人數(shù)大于零,NEXT CLR P1.1 ;假設(shè)人數(shù)為零,小燈熄滅NEXT: CLR 5FH ;將INT1響應(yīng)標(biāo)志置"0"CLR5E: CLR 5EH ;將INT0響應(yīng)標(biāo)志置"0" RETIEND5.電路調(diào)試1.接通電源,觀察LED初值顯示是否為“00”;2.把INT0開關(guān)、INT1開關(guān)先后置低,進(jìn)行人員進(jìn)入教室模擬統(tǒng)計,觀察LED顯示是否能進(jìn)行加一計數(shù)并穩(wěn)定顯示;3.把INT1、INT0開關(guān)先后置低,進(jìn)行人員外出教室模擬統(tǒng)計,觀察LED顯示是否進(jìn)行減一計數(shù)。4.進(jìn)行多人數(shù)統(tǒng)計的模擬,即屢次進(jìn)行2、3步驟,來檢驗十位、退位程序是否正確;5.進(jìn)行按鍵復(fù)位清零,看是否正確。6.結(jié)題感受經(jīng)過近兩周的的時間的努力,教室人數(shù)統(tǒng)計系統(tǒng)設(shè)計的仿真終于完成啦,這期間包括我們每個人對程序電路圖和匯編程序的單獨研究,也包括在一起的研究與討論,遇到了各種各樣簡單與復(fù)雜的問題,畫程序圖、編程序時都出現(xiàn)了各種問題;將匯編語言程序?qū)氲絧roteus執(zhí)行時,又出現(xiàn)了很多的問題,這就需要反復(fù)的看程序,不斷地去調(diào)試、思考,最終解決出現(xiàn)的問題。通過對教室人數(shù)統(tǒng)計系統(tǒng)設(shè)計仿真的學(xué)習(xí)與研究,我們認(rèn)識到:對于設(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論