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

正文內(nèi)容

基于單片機(jī)的搶答器畢業(yè)論文-在線瀏覽

2024-08-02 16:01本頁面
  

【正文】 雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的,如果對這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫入則無效。單片微機(jī)內(nèi)部最核心的部分是CPU。控制器由程序計數(shù)器PC、指令儲存器、指令譯碼器、實時控制與條件轉(zhuǎn)移邏輯電路等組成。運(yùn)算器由算術(shù)邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運(yùn)算調(diào)整電路等組成。其內(nèi)部結(jié)構(gòu)如圖23所示。(2) 留有設(shè)計余地。因為很少有一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。(4) RAM空間,AT89S51內(nèi)部RAM不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時,往往覺得不足。如選用8155作I/O接口,則應(yīng)配置足夠的RAM,如6264,62256等。只要在硬件電路設(shè)計初期考慮到這一點,就應(yīng)該為系統(tǒng)將來升級留足夠的RAM空間,哪怕多設(shè)計一個RAM的插座,暫不插芯片也好。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。[9],數(shù)碼管段選P0口,位選P2口低3位。MCS51單片機(jī)允許的時鐘頻率是因型號而異的。12MHz的晶振,其機(jī)器周期是1us, 也就是說在執(zhí)行同一條指令時用6MHz的晶振所用的時間是12MHz晶振的兩倍。振蕩方式的選擇:內(nèi)部振蕩方式,MCS51內(nèi)部都有一個反相放大器,XTALXTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機(jī)內(nèi)部的各個部件。這種方式適合用來使單片機(jī)的時鐘與外部信號一致。晶振我選擇了12MHz,相對于6MHz的晶振,整個系統(tǒng)的運(yùn)行速度更快了。內(nèi)部振蕩方式所得的時鐘信號穩(wěn)定性高。一般選用石英晶體振蕩器。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振。C1,C2的典型值為30PF,其中其他相關(guān)的參數(shù)可以看下。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。s。MCS51的復(fù)位輸入引腳RST為MCS51提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在MCS51的時鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個機(jī)器周期以上的高電平時,即可產(chǎn)生復(fù)位的操作。只有當(dāng)RST由高電平變低電平以后,MCS51才從0000H地址開始執(zhí)行程序。MCS51單片機(jī)有一個復(fù)位引腳RST,它是施密特觸發(fā)輸入,當(dāng)振蕩器起振后,該引腳上出現(xiàn)2個機(jī)器周期(即24個時鐘周期)以上的高電平。此時ALE、/PSEN、P0、PPP3口都輸出高電平。復(fù)位以后內(nèi)部寄存器的初始狀態(tài)為(SP=07,P0、PPP3為0FFH外,其它寄存器都為0。如圖,在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使MCS51有效地復(fù)位。10MHz時間約為1ms,1MHz時約為10ms,所以一般為了可靠地復(fù)位,RST在上電時應(yīng)保持20ms以上的高電平。當(dāng)振蕩頻率為12MHZ時,典型值為C=10uF,R=. 圖33上電復(fù)位電路除上電自動復(fù)位以外,常常需要人工復(fù)位,將一個按鈕開關(guān)并聯(lián)于上電自動復(fù)位電路,按一下開關(guān)就RST端出現(xiàn)一段時間的高電平,即使器件復(fù)位。當(dāng)時鐘頻率選用12MHz時,C選取10uF,R選擇1000歐。 顯示模塊在系統(tǒng)硬件中的安排操作者主要設(shè)計從顯示設(shè)備上獲取微機(jī)系統(tǒng)的信息的,因此,操作者每操作一下,顯示設(shè)備商都應(yīng)該有一定的反應(yīng)。不同的操作需要顯示不同的內(nèi)容,這又說明各執(zhí)行模塊對顯示模塊的驅(qū)動方式是不同的。這時顯示模塊不是由操作者通過命令鍵來驅(qū)動,而是由各類自動執(zhí)行的功能模塊來驅(qū)動。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過程中發(fā)生了中斷,中斷子程序也調(diào)用顯示模塊,這時就容易出問題。這就要設(shè)置一個顯示申請標(biāo)志,當(dāng)某模塊需要顯示時,將申請標(biāo)志置位,同時設(shè)定有關(guān)顯示內(nèi)容(或指針)。為了使顯示模塊能及時反應(yīng)系統(tǒng)需要,應(yīng)將顯示模塊安排在一個重復(fù)執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時鐘中斷子程序)中。這里將顯示功能集中到一起,作為一個功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動完成顯示內(nèi)容的查找,變換和輸出驅(qū)動。如果編寫這樣一個集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。解決的辦法是,在申請顯示前,先檢查是否已經(jīng)有顯示申請,如果有,就不再申請,等待下次機(jī)會;如果沒有,則先申請標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示[6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。在本設(shè)計中根據(jù)實際情況采用的是動態(tài)顯示方法。在這里我們通過查表將字型碼送給7段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下: MOV A,R5 MOVC A,A+DPTR ;查字型碼 MOV P2,01H ;送位選碼 MOV P0,A ;送字型碼ACALL DELAY ;調(diào)延時,去閃爍在七段數(shù)碼管顯示中可分為共陽極和共陰極兩種類型極。 掃描電路的實現(xiàn)鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。 它們各有自己的特點,其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。這里采用最常用的方法,即延時重復(fù)掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠(yuǎn)遠(yuǎn)大于這個時間,所以當(dāng)單片機(jī)檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。現(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取1020ms。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。 系統(tǒng)復(fù)位使CPU進(jìn)入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。硬件復(fù)位必須通過CPU外部的硬件電路給CPU的RESET端加上足夠時間的高電位才能實現(xiàn)。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。而對中斷激活標(biāo)志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響應(yīng)。在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。系統(tǒng)初次上電投入運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運(yùn)行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。圖36 系統(tǒng)復(fù)位策略圖第四章 軟件設(shè)計 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量,計算,顯示,打印[8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。軟件任務(wù)分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)崟r性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內(nèi)容,如定時系 統(tǒng)和外部中斷(如掉電中斷)。 顯示子程序的設(shè)計顯示子程序,及部分注解如下:DISPLAY:MOV DPTR,DAT1。 。 MOV TH0,0ECHMOV TL0,0FFHJNB RING,OUT。OUT:T1溢出中斷(計時程序):T1INT:按鍵發(fā)聲MOV A,R2MOV R6,A。因為答題的計時不再查詢搶答,所以就鎖了搶答AJMP COUNTTRUE2:ACALL BARK。MOV A,R2MOV R6,AMOV R3,03HCLR OKAJMP COUNTTRUE4:ACALL BARK。 ACALL BARK。 ACALL BARK。 ACALL BARK。 ACALL BARK。搶答開始標(biāo)志位響鈴標(biāo)志位AJMP MAINAJMP INT0SUBAJMP T0INTAJMP INT1SUBAJMP T1INT初設(shè)搶答時間為30s初設(shè)答題時間為60s設(shè)置未定時器/模式1 MOV TL0,0FFH。 MOV TH1,3CH50ms為一次溢出中斷 SETB ET0SETB EX0允許四個中斷,T0/T1/INT0/INT1CLR RING SETB TR1 SETB TR0。=====查詢程序=====START: MOV R5,0BH MOV R4,0BH MOV R3,0BH未開始搶答時候顯示FFF JB ,NEXT。去抖動,如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL BARK。 MOV R6,A。搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答 MOV R3,0AH。 AJMP COUNT。 JNB ,FALSE2
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1