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

正文內(nèi)容

論文-基于單片機(jī)的搶答器-閱讀頁

2025-07-11 10:28本頁面
  

【正文】 理程序。設(shè)計按鍵程序時,首先應(yīng)注意的是按鍵的機(jī)械觸點效應(yīng),原理上,按鍵按下時,單片機(jī)端口為低電平,但是由于按鍵的機(jī)械觸點效應(yīng),按鍵在斷開和閉合瞬間會有抖動過程,這個過程會出現(xiàn)一系列的負(fù)脈沖,這樣會讓單片機(jī)引起誤判,因地,必須才需措施去掉按鍵抖動的影響。硬件方法一般是并接電容,或者加RS觸發(fā)器;軟件去抖動一般采用延時的方法,按鍵抖動的過程一般持續(xù)510ms的時間,在判斷按鍵狀態(tài)時,只要加一個510ms的延時程序,再次判斷按鍵是否狀態(tài)不變,即可實現(xiàn)去抖動的作用。按鍵程序設(shè)計流程圖如圖42所示。表41 按鍵鍵號表173365129183466130203668132244072136表42 按鍵功能表1號選手2號選手3號選手4號選手5號選手6號選手7號選手8號選手搶答限時搶答限時搶答復(fù)位 顯示程序設(shè)計根據(jù)數(shù)碼管的驅(qū)動方式不同,數(shù)碼管送顯方式有兩種:靜態(tài)送顯和動態(tài)送顯。靜態(tài)顯示驅(qū)動方式占用的單片機(jī)I/O端口比較多,一般在實用中不采用。當(dāng)單片機(jī)輸出顯示數(shù)字的譯碼時,哪個數(shù)碼管顯示由單片機(jī)對位選通電路的控制來選擇,所以將欲顯示的數(shù)碼管的位選通端選通,該數(shù)碼管就會顯示,其它數(shù)碼管均不會亮。在顯示過程中,每個數(shù)碼管的顯示時間為12ms,由于人們的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),只要掃描的速度夠快,給人的印象就是同時點亮的,而且不會有閃爍感。先按照74LS164的時鐘時序?qū)懭?段碼,寫完后送入數(shù)碼管,74LS164的時序圖如圖42所示。 j=lx。i8。 if((jamp。 } else { DTAT_164=0。 CLK_164=1。 delay(2)。 for(i=0。i++) { for(j=0。j++) { P2=0X0F。 delay(50)。 } } write_164(0xff)。定時器/計數(shù)器是單片機(jī)內(nèi)的重要部件,其作用主要包括產(chǎn)生各種時標(biāo)間隔、記錄外部事件的數(shù)量等。定時器/計數(shù)器的核心是一個16位的加1計數(shù)器:做定時器時,其計數(shù)脈沖來源于時鐘振蕩器(經(jīng)12分頻后提供),這個脈沖的周期稱為單片機(jī)的機(jī)器周期,每一個機(jī)器周期定時寄存器自動加1,所以定時器也可看做是計算機(jī)器周期的計數(shù)器,由于每一個機(jī)器周期為12個時鐘振蕩周期,所以定時器的分辨率是時鐘振蕩頻率的1/12,一旦振蕩頻率選定,則機(jī)器周期也確定;作計數(shù)器時,其計數(shù)脈沖來源于單片機(jī)外部引腳T0(或T1)的脈沖。AT89S51單片機(jī)的定時器/計數(shù)器T0由TH0、TL0構(gòu)成,T1由THTL1構(gòu)成。TCON用于控制定時器/計數(shù)器T0、T1的啟動和停止計數(shù),同時包含定時/計數(shù)器的狀態(tài)。表41 TMOD寄存器格式D7D6D5D4D3D2D1D0GATEC/\TM1M0GATEC/\TM1M0 T1 T0其中低4位定義定時器/計數(shù)器T0,高4位定義定時器/計數(shù)器T1,各位的意義如下:GATE——門控位。當(dāng)/INT0引腳為高電平時,TR0置位,啟動定時器T0;當(dāng)/INT1引腳為高電平時,TR1置位,啟動定時器T1。C/\T——功能選擇位。M0、M1——方式選擇位。表42 T0、T14種工作方式M1M0工作方式計數(shù)器配置00方式013位計數(shù)器01方式116位計數(shù)器10方式2自動再裝入的8位計數(shù)器11方式3T0分為兩個8位計數(shù)器、T1停止計數(shù)T0、T1控制寄存器TCON:TCON是一個逐位定義的8位寄存器,既可字節(jié)尋址也可位尋址,字節(jié)地址為88H,為尋址的地址為88H~8FH。表43 TCON寄存器位說明位D7D6D5D4D3D2D1D0TCONTF1TF0IE1IT1IE0IT0位地址8FH8DH8BH8AH89H88H各位的意義如下:TF1:T1溢出中斷標(biāo)志。當(dāng)產(chǎn)生溢出時硬件置“1”TF1,向CPU請求中斷,一直保持到CPU響應(yīng)中斷時,才由硬件清“0”(也可由查詢軟件清零)。T0被允許計數(shù)后,從初值開始加1計數(shù)。IE1:外部中斷1請求源標(biāo)志。IT1:由軟件置位/復(fù)位選擇外部中斷1(/INT1)的跳變/電平激活中斷請求。IE0:外部中斷0請求源(/INT0,)標(biāo)志。IT0:外部中斷0觸發(fā)方式控制位,其意義和功能與IT1類似。這些寄存器不經(jīng)緩沖,直接顯示當(dāng)前的計數(shù)值。復(fù)位后,這些寄存器全部清零。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故障,包括設(shè)計性錯誤和工藝性故障。 硬件調(diào)試① 脫機(jī)調(diào)試。特別注意電源的走線,防止電源之間的短路或極性錯誤,重點檢查系統(tǒng)的總線或其他信號線之間是否存在相互的短路。在不插芯片的情況下,加電檢查各插件上引腳的電位,子線測量個點電位是否正常,尤其應(yīng)注意單片機(jī)插座上的各點電位是否正常。通過脫機(jī)調(diào)試可排除一些明顯的硬件故障,有些硬件故障需要通過聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。. 故障及解決方法①在焊接數(shù)碼管的過程中,由于焊接問題導(dǎo)致最后調(diào)試的過程中數(shù)碼管一直在閃爍,最后通過萬用表檢查電路發(fā)現(xiàn)了虛焊。②在最后測試的時候,驗證搶答功能時,按鍵過后,數(shù)碼管顯示搶答成功的選手的編號,但是對應(yīng)編號的發(fā)光二極管并未亮起。 軟件調(diào)試的方法及注意事項軟件調(diào)試方法與選用的軟件結(jié)構(gòu)和程序設(shè)計技術(shù)有關(guān),如果采用模塊設(shè)計技術(shù),則逐個模塊調(diào)試好以后,再進(jìn)行系統(tǒng)程序總調(diào)試;如果采用實時多任務(wù)操作系統(tǒng),一般是逐個任務(wù)進(jìn)行調(diào)試。調(diào)試子程序時,一定要符合入口條件和出口條件,調(diào)試手段可采用單步運行方式和斷點運行方式,通過檢查用戶系統(tǒng)CPU的現(xiàn)場,RAM的內(nèi)容和I/O口的狀態(tài),檢測程序執(zhí)行結(jié)果是否符合設(shè)計要求。 每個模塊通過后,可以聯(lián)合各功能模塊進(jìn)行整體程序綜合調(diào)試。等用戶系統(tǒng)是在開發(fā)系統(tǒng)的監(jiān)控程序選運行,還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計要求,以及安排的用戶操作是否合理等,必要時還要做適當(dāng)修正。在調(diào)試某一個任務(wù)時,同時也調(diào)試相關(guān)的子程序,中斷服務(wù)程序和一些操作系統(tǒng)的程序。如果操作系統(tǒng)中沒有錯誤,一般情況下系統(tǒng)就能正常運轉(zhuǎn)。這是對用戶系統(tǒng)檢驗的重要一關(guān)。②將軟、硬件按系統(tǒng)工作要求進(jìn)行綜合運行,采用全速斷點、連續(xù)運行方式進(jìn)行總調(diào)試,以解決在系統(tǒng)總體運行的情況下軟、硬件的協(xié)調(diào)與提高系統(tǒng)動態(tài)性能。若發(fā)現(xiàn)問題,按上述軟、硬件調(diào)試方法準(zhǔn)確定位錯誤,分析錯誤原因,找出解決辦法。若無問題,則用戶系統(tǒng)插上單片機(jī)即可以正確工作(注意,不要忘記用戶系統(tǒng)時鐘、復(fù)位電路的調(diào)試)。本文提出的設(shè)計方法電路簡單易懂、操作方便、成本低廉,易于開發(fā)使用,當(dāng)然,本設(shè)計還有一些不足之處,功能上還需要改進(jìn)與提高,比如未加入報警裝置、未能實現(xiàn)答題時間可調(diào)等功能。同時通過本次設(shè)計與裝配、調(diào)試,鞏固所學(xué)的理論知識,建立單片機(jī)理論和實際的結(jié)合,掌握更多搶答器各單元電路之間的關(guān)系與相互影響,從而能夠正確設(shè)計、計算定時計數(shù)的各個單元電路。致謝在我的論文《基于單片機(jī)的搶答電路設(shè)計》完成的時候,就意味著四年的學(xué)習(xí)生活在這個季節(jié)即將劃上一個句號。在這段時間里,我從您身上不僅學(xué)到了許多的專業(yè)知識,更感受到您工作中的兢兢業(yè)業(yè),生活中的平易近人。在此我向您表示我誠摯的謝意。同時感謝所有關(guān)心幫助過我的同學(xué)、老師和學(xué)校。再見了,我學(xué)習(xí)生活四年的江蘇技術(shù)師范,愿母校代有才人出。該設(shè)備是采用Atmel的高密度、非易失性存儲器技術(shù)和符合工業(yè)標(biāo)準(zhǔn)的80C51指令集和引腳。通過結(jié)合通用8位中央處理器的系統(tǒng)內(nèi)可編程閃存的單芯片, AT89S51是一個功能強(qiáng)大的微控制器提供了高度靈活的和具有成本效益的解決辦法,可在許多嵌入式控制中應(yīng)用。此外, AT89S51設(shè)計了可降至零頻率的靜態(tài)邏輯操作和支持兩種軟件可選的節(jié)電工作模式。掉電模式保存RAM中的內(nèi)容,停止振蕩器工作并禁止其它所有部件工作,直到下一個外部中斷或硬件復(fù)位。作為一個輸出端口,每個引腳可驅(qū)動8個TTL輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0端口也可以配置為復(fù)低階地址/數(shù)據(jù)總線。在Flash編程時,PO端口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),同時要求外接上拉電阻。P1端口的輸出緩沖級可以驅(qū)動四個TTL輸入。作為輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL),F(xiàn)lash編程和程序校驗期間,P1接收低8位地址。P2端口的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL輸入。當(dāng)作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。 在訪問8位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXRi指令)時,P2端口上的內(nèi)容(即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個訪問期間不變。P3端口是一組帶有內(nèi)部上拉電阻的8位雙向I/O端口。對P3端口寫入“1”時,他們被內(nèi)部上拉電阻拉高并作為輸入端口。P3端口可以采用AT89S51的各種特殊功能,如下表所示。 程序存儲器 如果的EA引腳接地(GND),全部程序都可以執(zhí)行外部存儲器。 數(shù)據(jù)存儲器 AT89S51具有128字節(jié)的內(nèi)部RAM 。4 . 中斷 AT89S51共有五個中斷向量:兩個外部中斷( INT0和INT1 ) ,兩個定時器中斷(Timer0和Timer1)和一個串行中斷。IE也包含總中斷控制位EA,EA清0,將關(guān)閉所有中斷。sbit CLK_164=P2^7。sbit CALL_CLK1=P3^0。sbit CALL_CLK2=P3^2。uchar DISP_SAVE[7]。//變量定義uchar KEY_BOARD。uchar rong_cal=0xff。uchar TIME_30。uchar NUM_G。 for(。tt) { for(i=0。i++)。 j=lx。i8。 if((jamp。 } else { DTAT_164=0。 delay(2)。 for(i=0。i++) { for(j=0。j++) { P2=0X0F。 P2=LED_TAB[j]。 P2=0X0F。}void write__call1_164(uchar lx) //LED燈的送顯(共2排){ uchar i,j。 for(i=0。i++) { CALL_CLK1=0。0x01)==0x01) { CALL_DATA1=1。 } j=j1。 }}void write__call2_164(uchar lx) //LED燈的送顯{ uchar i,j。 for(i=0。i++) { CALL_CLK2=0。0x01)==0x01) { CALL_DATA2=1。 } j=j1。 }}/****************************************************************/void hood_key(void) //讀取按鍵值{ KEY_BOARD=GET_KEY()。 flag=0。 //選手1 } else { rong_cal=rong_calamp。 write__call2_164(rong_cal)。 case 20:if(flag==1) { write__call1_164(0xbf)。 NUM_G=2。0xbf。 }break。 flag=0。 //選手3 } else { rong_cal=rong_calamp。 write__call2_164(rong_cal)。 case 17:if(flag==1) { write__call1_164(0xef)。 NUM_G=4。0xef。 }break。 flag=0。 //選手5 } else { rong_cal=rong_calamp。 write__call2_164(rong_cal)。 case 36:if(flag==1) { write__call1_164(0xfd)。 NUM_G=6。0xfd。 }break。 flag=0。 //選手7 } else { rong_cal=rong_calamp。 write__call2_164(rong_cal)。 case 33:if(flag==1) { write__call1_164(0xf7)。 NUM_G=8。0xf7。 }break。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1