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

正文內(nèi)容

基于at89c51單片機(jī)的六路智能搶答器的設(shè)計-閱讀頁

2024-12-26 02:30本頁面
  

【正文】 微調(diào)。單片機(jī)在工作時 ,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。如時鐘頻率為 12MHz,即fosc=12MHz,則時鐘周期為 1/12181。電路如圖 21 所示: 圖 21振蕩電路 復(fù)位電路的設(shè)計 單片機(jī)的第 9腳 RST為硬件復(fù)位端, 當(dāng) 8951 通電,時鐘電路開始工作,在 RESET引腳上出現(xiàn) 4個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。RESET 由高電平下降為低電平后,系統(tǒng)即從 0000H 地址開始執(zhí)行程序。 8951 的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位, 見下圖 。 其 電路圖如圖 22所示 : 圖 22 8951 的復(fù)位 電路 單片機(jī)智能搶答器的設(shè)計 13 值得注意的是 ,在設(shè)計當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能 ,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值 ,而前面的功能介紹中提到了倒計時時間的記憶功能 ,該功能的實(shí)現(xiàn)的前提條件就是不能對單片機(jī)進(jìn)行硬件復(fù)位 ,所以設(shè)定了軟復(fù)位功能。 顯示電路的設(shè)計 LED 數(shù)碼管顯示原理 LED 是由條形 發(fā)光二極管組成“ 8”字形的 LED 顯示器,也稱數(shù)碼管。 8段數(shù)碼管是在 7 段發(fā)光二極管的基礎(chǔ)上再加一個圓點(diǎn)型發(fā)光二極管(在圖中以 dp表示),用于顯示小數(shù)點(diǎn)。而共陽管則剛好相反,把陽極連在一起,接高電平,陰極需接低電平,這樣才能正常導(dǎo)通。具體過程會在后面進(jìn)一步的講到。但這里所指的鍵盤不 是 PC 機(jī)使用的標(biāo)準(zhǔn)鍵盤。矩陣式鍵盤的鍵排列成矩陣形式,在行與列的每個交點(diǎn)上對應(yīng)有一個鍵。 由于本系統(tǒng)要求能提供 6 位搶答的信號,因此可采用 4 4 矩陣式鍵盤, 它 可以構(gòu) 單片機(jī)智能搶答器的設(shè)計 14 成一個含有 16個按鍵的鍵盤, 這樣能滿足系統(tǒng)的要求。如果所有的四根 列 線都沒有信號,那么就把第一根 行 線置低,把第二根 行 線置高,再一次檢測行線有沒有信號,然后依次類推 ?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段, 這一延時過程一般大于 5ms,例如 取 1020ms。 如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插 入讀鍵過程中。 發(fā)聲 報警 我 們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單 片 機(jī)某個口線的 “ 高 ” 電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利 用延時程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。延 單片機(jī)智能搶答器的設(shè)計 15 時 10~ 20毫秒,再輸出一個高電平,延時 10~ 20 秒則可以發(fā)出聲音。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。上電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。但是,硬件復(fù)位還能自動清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個事實(shí)卻容易為不少編碼人員所忽視。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。有的編程人員用 020210( LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H地址就完成了軟件 復(fù)位,就是這類錯誤的典型代表。由于軟件看 門 是高級中斷,它將 阻止 說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。前文各處提案到的出錯處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 這段程序先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行, 然 后用兩個 RETI 指令代替兩個LJMP 指令,從而清除了兩級中斷激活標(biāo)志。 有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。系統(tǒng)初次上電投入運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運(yùn)行時,必須是“冷啟動”,以 后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。 電源設(shè)計 系統(tǒng) 要正常工作,需要多個電源。 要獲得持續(xù)與穩(wěn)定的直流電壓。這里采用一種非常普遍的方法。將 220V 市電經(jīng)過橋式整流,濾波,穩(wěn)壓后便可得到穩(wěn)定的直流 5V與 12V 電壓。 如圖 25所示: 圖 25 電源電路 T1IN12OUT3GNDU2 L M 78 05D1470uFC1C3220uFC2C4D2+51KR?LN~ 22 0 單片機(jī)智能搶答器的設(shè)計 17 第 3 章 軟件設(shè)計 軟件任務(wù)分析 軟件設(shè)計部分,則要在總設(shè)計中完成各模塊的功能設(shè)計,畫出各模塊流程圖。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計做一個總體規(guī)劃。這兩類軟件的設(shè)計方法各 有特色,執(zhí)行軟件的設(shè)計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。在各執(zhí)行模塊進(jìn)行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最 適合的監(jiān)控程序結(jié)構(gòu)。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個廠長就比較難了。整 個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。也可以將全部程序均安排在前臺,后臺程序為 “ 使系統(tǒng)進(jìn)入睡眠狀態(tài) ” ,以利于系統(tǒng)節(jié)電和抗干擾。硬件電路是采用結(jié)構(gòu)化設(shè)計方法,使電路標(biāo)準(zhǔn)化 、模塊化。硬件電路設(shè)計還包括輸入輸出接口設(shè)計,畫出詳細(xì)電路圖,標(biāo)出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真機(jī)上進(jìn)行調(diào)試,發(fā)現(xiàn)設(shè)計不當(dāng)及時修改,最終達(dá)到設(shè)計目的。 C51 程序設(shè)計語言 ,編程者只需了解變量和常量的存儲類型與 80C51 單片機(jī)存儲空間的對應(yīng)關(guān)系。C51 編譯器會自動完成變量的存儲單元的分配??梢浦残院?,便于項目維護(hù)管理。三位顯示緩沖區(qū)首址 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,60H ACALL KEYSCAN 。不是加分鍵 ,則轉(zhuǎn)移判斷是減分鍵 ? NEXT1: ACALL KEYSZ 。調(diào)用顯示子程序 SJMP MAIN NEXT2: CJNE A,0FH,MAIN 。是減分鍵 , ORG 0100H KEYSZ: PUSH PSW 。R0 指向顯示緩沖區(qū)首地址 MOV R7,3 。調(diào)用鍵盤掃描子程序取按下鍵的鍵號 SETB RS1 CJNE A,0AH,L2 。大于 9,重新鍵入 MOV R0,A 。3 位數(shù)值輸入完否?未完繼續(xù) ,否則返回 POP ACC 單片機(jī)智能搶答器的設(shè)計 20 POP PSW CLR RS1 RET KEYSCAN:MOV R3, 0F7H 。取碼指針 T3: MOV A, R3 。將掃描值輸出 MOV A, P1 。存入 R4,以判斷按鍵是否放開 SETB C 。掃描 T4: RLC A 。判斷 C=0?有鍵按下則 C=0,跳至 KEYIN INC R1 。4 列掃描完畢了嗎 ? MOV A, R3 。C=1 RRC A 。存回掃描寄存器 JC L3 。C=0,則四行已掃描完畢 KEYIN: MOV R7, 60 。 DJNZ R6, $ 。 D3: MOV A, P1 。與上次讀入值作比較 JZ D3 。按鍵已放開 ,取碼指針載入累加器 單片機(jī)智能搶答器的設(shè)計 21 MOV DPTR,TABLE 。查鍵碼 RET 。鍵碼安排表與鍵盤相同 DB 04H,05H,06H,07H DB 08H,09H,0AH,0BH DB 0CH,0DH,0EH,0FH ORG 0200H DISPLAY:MOV R0, DBUF 。顯示 3 位數(shù)碼 MOV DPTR,SEGTAB。 MOVC A,A+DPTR 。 MOV SBUF,A 。等待完畢 CLR TI 。緩沖單元地址增 1 DJNZ R2,DISP 。完畢 ,則返回 SEGTAB: DB 0FCH,60H,0DAH,0F2H 。4,5,6,7 DB 0FEH,0F6H,0EEH,3EH 。C,D,+, END DBUF EQU 30H 。調(diào)用鍵盤掃描子程序判斷是加分或減分 CJNE A,0EH,NEXT2 。是加分鍵 , ACALL DISPLAY 。都不是 ,則轉(zhuǎn) MAIN AJMP NEXT1 。 PUSH ACC SETB RS1 MOV R0,DBUF 。設(shè)置鍵盤輸入位數(shù) T1: CLR RS1 ACALL KEYSCAN 。鍵入數(shù)合法性檢測(是否大于 9) T2: JNC L1 。鍵號送顯示緩沖區(qū) INC R0 DJNZ R7,L1 。掃描初值( =0) MOV R1, 00H 。開始掃描 單片機(jī)智能搶答器的設(shè)計 23 MOV P0, A 。讀入值 ,判斷是否有鍵按下 MOV R4, A 。C=1 MOV R5, 04H 。將按鍵左移一位 JNC KEYIN 。C=1,則無鍵按下 ,將取碼指針值加 1 DJNZ R5, L4 。掃描值載入 SETB C 。掃描下一行 MOV R3, A 。C=1?是則尚未掃描到 SJMP KEYSCAN 。延時消除抖動 D2: MOV R6, 248 。 DJNZ R7, D2 。延時后再讀入值 XRL A, R4 。A=0,表示按鍵未放 ,等待按鍵釋放 MOV A, R1 。鍵盤碼表首地址送 DPTR MOVC A, A+DPTR 。返回 TABLE: DB 00H,01H,02H,03H 。顯示子程序 MOV R2,3 。 DISP: MOV A,R0 。取 字段碼 MOV SCON,0 。開始 JNB TI,$ 。完畢 INC R0 。三位數(shù)碼否 ? RET 。0,1,2,3(共陽極字段碼表) DB 66H,0B6H, 0BEH,0E0H 。8,9,A,B DB 9CH,7AH,9EH,8EH 。 /*代碼存儲區(qū) (64KB)*/ //共陽碼 uchar code table[]={0x03,0x9f,0x25,0x0d,0x99,0xc2,0x41,0x1f,0x01,0xff }。 /*這個函數(shù)執(zhí)行時間的延遲 */ 單片機(jī)智能搶答器的設(shè)計 25 for (i=0。i++) for(j=0。j++) 。 /* 聲明變量 temp */ while (1) { /* 無窮循環(huán) */ temp=P0。 temp=P0。break。break。break。break。break。break。break。break。 } if(temp==0xff) { for(time=1。time) /*無鍵按下 ,則關(guān)顯示 */ { j=table[0]。 SBUF=j。 TI=0。 /*取鍵值并顯示 */ 單片機(jī)智能搶答器的設(shè)計 26 。 while(TI!=1)。 for(。 delay()。因此應(yīng)該采用模塊化的程序設(shè)計。 單片機(jī)智能搶答器的設(shè)計 27 總 結(jié) 本文通過對單片機(jī)智能搶答器的設(shè)計,對單片機(jī)的中斷定時系統(tǒng)的如何實(shí)際利用有了更深入的了解,同時也算把數(shù)字電子、模擬電子等專業(yè)課的知識系統(tǒng)的復(fù)習(xí)了一遍,通過理論聯(lián)系實(shí)際,提高了動手能力。 對于本設(shè)計來說,只是本專業(yè)知識的一個靈活應(yīng)用的典型例子。 通過畢業(yè)論文,我們學(xué)會了如何將學(xué)到的知識轉(zhuǎn)化為自己的東西,學(xué)會了怎么更好的處理知識和實(shí)踐相結(jié)合的問題。 單片機(jī)智能搶答器的設(shè)計 28 致 謝 四年的本科學(xué)習(xí)生涯即將結(jié)束 ,在本人做畢業(yè)設(shè)計中,得到了我的導(dǎo)師的悉心指導(dǎo)和無私幫助。 在我的課題調(diào)研和設(shè)計階段,雖然老師公務(wù)繁忙,教學(xué)任務(wù)重。 首先要 感謝 的 是符磊指導(dǎo)老師,在寫作構(gòu)思初期,他 的 教導(dǎo)和 寫作 思路給予我 很大 的啟迪 , 再次要感謝的 各位 老師 。 大學(xué)生活的結(jié)束,也是我人生新的生活起點(diǎn),我將謹(jǐn)記老師們的教誨,將自己的所學(xué)奉
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1