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

正文內(nèi)容

畢業(yè)設(shè)計(jì)—基于51的八路搶答器設(shè)計(jì)與制作(已改無錯(cuò)字)

2023-02-16 23:06:28 本頁面
  

【正文】 鍵接到單片機(jī)的 和 接口 。 圖 9 開始、結(jié)束按鍵 在圖 9 中,開始及結(jié)束按鍵接到單片機(jī)的 11 腳,這里用到了單片機(jī) 11 腳復(fù)合功能中的 IO 端口功能,單片機(jī)通過讀取 11 腳的 、 的 IO 端口值來判斷當(dāng)前是否處于搶答 開始狀態(tài)或搶答結(jié)束狀態(tài)。 按鍵的觸點(diǎn)在閉合和斷開時(shí)均會產(chǎn)生抖動,這 時(shí) 觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令 的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。現(xiàn)在一般均用軟件延時(shí)的方法來避開抖動階段, 這一延時(shí)過程一般大于 5ms,例如 取 1020ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時(shí)子程序便可直接插 入讀鍵過程中。如果讀鍵過程安排在定時(shí)中斷子程序中,就可省去專門的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來完成抖動處理。 K1~ K8 八個(gè)按鍵的 輸入 電平靠 74HC30 輸入與非 門 和 74LS04 反向器組成的電路改變輸入電平。 圖 10 中電路就是由一個(gè) 74HC30 輸入與非門和 74LS04 反向器組成的去抖電路。 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 18 圖 10 去抖 電路 發(fā)聲 電路 我 們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單 片 機(jī)某個(gè)口線的 “ 高 ” 電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 本文設(shè)計(jì)如圖 11 所示。圖中單片機(jī)的 14 腳輸出具有復(fù)合功能,此處用到了單片機(jī)17 腳的 IO 端口功能,單片機(jī)通過內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動揚(yáng)聲器發(fā)聲。 圖 11 發(fā)聲電路 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 19 系統(tǒng)復(fù)位 使 CPU 進(jìn)入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過 CPU 外部的硬件電路給 CPU 的 RESET 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動清除中斷激活標(biāo)志,使中斷 系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從 0000H 地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。有的編程人員用 020220( LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H地址就完成了軟件復(fù)位,就是這類錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全 有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響 應(yīng)。由于軟件看 門 是高級中斷,它將 阻止 說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。 在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。出錯(cuò)處理程序 ERR 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 程序 一般 先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行, 然 后用兩個(gè) RETI 指令代替兩個(gè)LJMP 指令,從而清除了兩級中斷激活標(biāo)志。有 相應(yīng) 軟件 陷阱 捕捉來的程序可能沒有全部激活兩個(gè)標(biāo)志,這也無妨。 有復(fù)位時(shí)系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟 動”。 “冷啟動”時(shí),系統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動”時(shí),對系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時(shí),必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運(yùn)行時(shí),必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標(biāo)志來區(qū)分,如圖 12 所示。 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 20 圖 12 系統(tǒng)復(fù)位策略圖 本章 小 結(jié) 本章詳細(xì)講述了以 AT89C51 為核心元件的 搶答器的 硬件電路 具體設(shè)計(jì)過程,分析了具體電路。在設(shè)計(jì)過程中,實(shí)現(xiàn)搶答功能的 是 通過編寫程序的方法集成在 AT89C51內(nèi)部。接著將程序下載到硬件電路中,配合周邊的時(shí)鐘電路,復(fù)位電路等 ,制作出符合設(shè)計(jì)要求的搶答器。 4 軟件設(shè)計(jì) 主程序 系統(tǒng)結(jié)構(gòu)圖 復(fù)位 關(guān)中斷,設(shè)定堆棧 上電標(biāo)志 冷啟 自檢 全面初始化 熱啟動恢復(fù)被破壞的信息部分初始化 建立上電標(biāo)志 開始運(yùn)轉(zhuǎn) 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 21 圖 13 軟件系統(tǒng)結(jié)構(gòu)圖 軟件任務(wù)分析 軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了 [9]。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。 從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。 軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。 各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先 根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最 適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程 , 而監(jiān)控程系統(tǒng)初始化模塊 按鍵模塊 非法搶答模塊 正確搶答模塊 調(diào)整搶答時(shí)間 調(diào)整回答時(shí)間模塊 數(shù)碼顯示模塊 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 22 序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長就比較難了。 軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實(shí)時(shí)性要求較高的內(nèi)容 ,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序?yàn)?“ 使系統(tǒng)進(jìn)入睡眠狀態(tài) ” ,以利于系統(tǒng)節(jié)電和抗干擾。 程序流程圖 在本設(shè)計(jì)中包括了以下主要的程序:主程序 , 查詢程序, 非法搶答 程 序 , 搶答時(shí)間調(diào)整程序 , 回答時(shí)間調(diào)整程序 , 倒計(jì)時(shí)程序 , 正常搶答處理程序 , 犯規(guī)處理程序 , 顯示及發(fā)聲程序。 主流程圖如 14 所示: 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 23 圖 14 程序設(shè)計(jì)流程圖 主要程序分析 主程序: OK EQU 20H 。搶答開始標(biāo)志位 RING EQU 22H 。響鈴標(biāo)志位 DATA0 EQU 36H 。搶答按鍵口數(shù)據(jù)存放地址 ORG 0000H AJMP MAIN ORG 0003H 顯示 FFF 開始鍵 加一鍵 減一鍵 回答 時(shí)間 調(diào)整搶 答時(shí)間 去抖動 非法搶 答處理 顯示 犯規(guī) 正常 搶答 顯示搶答 號并倒計(jì)時(shí) Y Y Y 初始化 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 24 AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,20 。初設(shè)搶答時(shí)間為 20s MOV R2,30 。初設(shè)答題時(shí)間為 30s mov 38h,60 。啟用錦囊時(shí)間從 60s 倒計(jì)時(shí) MOV TMOD,11H 。設(shè)置未定時(shí)器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH 。越高發(fā)聲頻率越高 ,越尖 MOV TH1,3CH MOV TL1,0B0H 。50ms 為一次溢出中斷 SETB EA SETB ET0 SETB ET1 。允許二個(gè)中斷 ,T0/T1 CLR OK CLR RING SETB TR1 SETB TR0 。一開始就運(yùn)行定時(shí)器 ,以開始顯示 ,重置 TH1/TL1 就可以了 查詢程序 : START: MOV DATA0,0FFH 。初始化 MOV R5,0BH MOV R4,0BH MOV R3,0BH ACALL DISPLAY 。未開始搶答時(shí)候顯示 FFF JNB ,SELSUB0 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 25 JNB ,TZ3 。倒計(jì)時(shí)調(diào)整 JB ,NEXT ACALL DELAY JB ,NEXT 。去抖動 ,如果 “ 開始鍵 ” 按下就向下執(zhí)行 ,否者跳到非法搶答查詢 SETB EX0 。開放 INT0 ACALL BARK 。按鍵發(fā)聲 MOV A,R1 MOV R6,A 。送 R1R6,因?yàn)?R1 中保存了搶答時(shí)間 SETB OK 。搶答標(biāo)志位 ,在使用錦囊時(shí)用作判斷是搶答倒計(jì)時(shí)還是回答倒計(jì)時(shí) MOV R3,0AH 。搶答只顯示計(jì)時(shí) ,滅號數(shù) AJMP COUNT 。進(jìn)入倒 計(jì)時(shí)程序 ,“ 查詢有效搶答的程序 ” 在 COUNT 里面 NEXT: JNB ,FALSE1 JNB ,FALSE2 JNB ,FALSE3 JNB ,FALSE4 JNB ,FALSE5 JNB ,FALSE6 JNB ,TZ1 JNB ,TZ2 AJMP START TZ1: AJMP FALSE7 TZ2: AJMP FALSE8 TZ3: AJMP SELSUB1 非法搶答處理程序 : FALSE1: MOV R3,01H AJMP ERROR 安徽工貿(mào)職業(yè)技術(shù)學(xué)院畢業(yè) 設(shè)計(jì)(論文) 26 FALSE2: MOV R3,02H AJMP ERROR FALSE3: MOV R3,03H AJMP ERROR FALSE4: MOV R3,04H AJMP ERROR FALSE5: MOV R3,05H AJMP ERROR FALSE6: MOV R3,06H AJMP ERROR FALSE7: MOV R3,07H AJMP ERROR FALSE8: MOV R3,08H AJMP ERROR SELSUB0(搶答時(shí)間 R1 調(diào)整程序 ): SELSUB0: MOV A,R1 MOV B,0AH
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1