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

正文內(nèi)容

基于單片機(jī)的四路電子搶答器設(shè)計(編輯修改稿)

2025-01-11 05:37 本頁面
 

【文章內(nèi)容簡介】 式選擇 TL0 8AH 定時器 0 低 8 位 TL1 8BH 定時器 0 高 8 位 TH0 8CH 定時器 1 低 8 位 TH1 8DH 定時器 1 高 8 位 雖然特殊功能寄存器地址在 80H~ FFH 之中,但在 80H~ FFH 的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是 不確定的,如果對這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫入則無效。所以,用戶編程時不應(yīng)該將數(shù)據(jù)寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產(chǎn)品時使用的。 11 . 時鐘頻率電路設(shè)計 單片機(jī)必須在時鐘的驅(qū)動下才能工作。在單片機(jī)內(nèi)部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機(jī)內(nèi)部的各個單元,決定單片機(jī)的工作速度。時鐘 電路原理圖 如 圖 所示。 圖 時鐘電路原理圖 一般選用石英 晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在XTAL2 引腳產(chǎn)生幅度為 3V 左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1, C2 的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。 C1, C2 的典型值為 30PF。 單片機(jī)在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期 ,其大小是時鐘信號頻率 fosc 的倒數(shù)。圖中時鐘頻率為 12MHz,即 fosc=12MHz,則時鐘周期為 1/12μ s。 . 復(fù)位電路 設(shè)計 計算機(jī)在啟動運(yùn)行時都需 要復(fù)位,復(fù)位使中央處理器 CPU 和系統(tǒng)中的其他器件都處于一種初處理器 CPU 和系統(tǒng)中的其他器件都處于一種初始狀態(tài),并從這個初始狀態(tài)開始工作。 對于 MCS51單片機(jī),在 RST 復(fù)位引腳端接一個電容至 +5V和一個電阻至地端,就能實(shí)現(xiàn)上電自動復(fù)位,如 圖 所示。在加電瞬間,電容通過電阻充電,就在 RST 引腳上出現(xiàn)一定時間的高電平信號,只要高電平信號時間足夠長,就可以使 MCS51單片機(jī)有效地復(fù)位。 圖 上電 /手動復(fù)位電路 12 MCS51 系列單片機(jī)復(fù)位后 內(nèi)部各單元的初始狀態(tài) 寄存器 初始狀態(tài)值 寄存器 初始狀態(tài)值 PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P P P P4 0FFH SCON 00H IP xxx00000B PCON 0xxx0000B IE 0xx00000B SBUF 不定 . 顯示電路 設(shè)計 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決 。 圖 13 . 跑馬燈電路設(shè)計 跑馬燈由 8個 LED發(fā)光二極管組成,如果把 8個 LED等直接接在單片機(jī)的 I/O口上需要占 8 個 I/O 口,很浪費(fèi)資源,所以本設(shè)計的跑馬燈是由單片的串口來操作,通過串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)芯片74LS164 來直接驅(qū)動跑馬燈,為了防止流過二極管的電路過大,所以在二極管的另一端加上 220Ω 的電阻。 . 鍵盤掃描電路設(shè)計 鍵盤是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文獻(xiàn)和書籍中找到,配合各種 不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤 [2]及矩陣鍵盤。 它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上 有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時重復(fù)掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾 ms,而我們按鍵的時間一般遠(yuǎn)遠(yuǎn)大于這個時間 ,所以當(dāng)單片機(jī)檢測到有按鍵動靜后再延時一段時間后再判斷此電平是否保持原狀態(tài) ,如果是則為有效按鍵,否則無效。 在本文設(shè)計中采用了獨(dú)立鍵盤的方式,本鍵盤掃描電路設(shè)計中包括選手搶答按鍵輸入電路(四個選手按鈕),主持人按鍵輸入電路(一個開始按鍵、一個復(fù)圖 跑馬燈電路設(shè)計 14 位按鍵),時間控制電路和計分電路(加一按鍵、減一按鍵各一個) 鍵盤電路如圖 所示 圖 鍵盤電路 15 6. .軟件設(shè)計 軟件是計算機(jī)系統(tǒng)的靈魂,沒有軟件計算機(jī)不能充分發(fā)揮其功能,這是軟件在計算機(jī)中的地位,而在計算機(jī)控制系統(tǒng)中,軟件也是非常重要的。在四人多功能搶答器系統(tǒng)中,硬件設(shè)備的功能是由軟件來定義的,如系統(tǒng)要數(shù)碼管顯示字符,通過向數(shù)碼管輸入段選碼和位選碼程序來完成控制功能,通過軟件定義鍵盤功能,通過編程完成 LED 數(shù)碼顯示等等,由此可見,軟件是控制系統(tǒng)中的一個重要組成部分。 本程序通過 C 語言來編程的, C語言的特點(diǎn)就是可以使你盡量少地對硬件進(jìn)行操作,具有很強(qiáng)的功能性、結(jié)構(gòu)性和可移植性 。 . 軟件設(shè)計模塊 . 跑馬燈程序 利用單片機(jī)的定時器 0 每 50ms 中斷一次對變量 count 進(jìn)行加一,然后在跑馬燈子程序程序里查詢變量 count 的值,若變量 count 的值等于 5 則清零變量count 的值并通過單片的串行口發(fā)送數(shù)據(jù)。在主程序里調(diào)用跑馬燈程序即可。 uchar n,temp=0x80。 if(count==5) { count=0。 SBUF=_cror_(temp,n)。 while(!TI) disp(1,xuanshou_,led_,time_)。 TI=0。 if(++n==8) n=0。 } . 數(shù)碼管顯示程序 由于數(shù)碼管是接在鎖存器 74LS373 上,所以要對其操作是就要開打相應(yīng)的鎖存器,若要在某一位顯示字符時,先打開段選鎖存器,向數(shù)碼管輸入段選,再關(guān)閉段選鎖存器打開位選鎖存器,向數(shù)碼管輸入位選,然后關(guān)閉位選即可顯示需要顯示的字符。 16 防止段選對位選的干擾,應(yīng)在輸入段選后加一條消影語句 P0=led;,由于單片機(jī)執(zhí)行程 序速度非??欤?常在顯示一個字符后稍作延時。 N2=0。 //開段選鎖存器 N1=1。 //關(guān)位選鎖存器 P0=table[xuanshou]。//顯示編號 N1=0。 N2=0。 P0=led。 //消影 N1=0。 //關(guān)段選鎖存器 N2=1。 //開位選鎖存器 wei_1()。 //調(diào)用位選子函數(shù) delay(200)。//延時 clear()。 //清楚位選 . 報警(發(fā)聲)程序 對接在揚(yáng)聲器上的引腳輸出“高”,“低”電平的方波,就能聽 到揚(yáng)聲器發(fā)出的聲音。在報警時檢測是否有復(fù)位鍵按下,若有則退出報警程序。 for(m=0。m=5000。m++) { if(m%2) disp(1,xuanshou_,0x0f,time_)。 else disp(1,xuanshou_,0x80,time_)。 pmd()。 if(reset==0) { Reset()。 break。 } } 17 . 搶答和答題時間調(diào)節(jié)程序 系統(tǒng)開機(jī)后,先要設(shè)置搶答和答題時間,當(dāng)變量 a等于 0 時間設(shè)置搶答時間,當(dāng)變量 a 等 于 1時間設(shè)置答題時間,先是 a等于 0 進(jìn)入設(shè)置搶答時間,系統(tǒng)檢測到“加時”鍵按下,則系統(tǒng)增加搶答時間,測到“減時”鍵按下,則系統(tǒng)減少搶答時間,若系統(tǒng)檢測到“開始”鍵按下,則 a加 1等于 1進(jìn)入答題時間設(shè)置,設(shè)置方法同搶答時間設(shè)置,系統(tǒng)再次檢測到“開始”鍵按下則退出設(shè)置。 while(1) { if(i%50) { disp(0,xuanshou_,led_,Time[a])。 } else { disp(1,xuanshou_,led_,Time[a])。 delay(100)。 } if(add==0) Time[a]++。 if(sub==0) Time[a]。 if(start==0) a++。 if(++i==51) i=0。 P1=0xff。 while(P1!=0xff) { P1=0xff。 disp(1,xuanshou_,led_,Time[a])。 pmd()。 } if(a==2) break。} 18 . 復(fù)位程序 對某些變量和顯示初始化 start_=0。 suoding=0。 xuanshou_=0。 led_=0x0f。 time_=Time[0]。 t=0。 suoding=0。 qd=0。 count=0。 P0=table[fen[0]]。 N1=N2=N3=N4=N5=N6=0。 N3=1。 LED=0。 N1=N2=N3=N4=N5=N6=0。 P0=table[fen[1]]。 N1=N2=N3=N4=N5=N6=0。 N4=1。 LED=0。 N1=N2=N3=N4=N5=N6=0。 P0=table[fen[2]]。 N1=N2=N3=N4=N5=N6=0。 N5=1。 LED=0。 N1=N2=N3=N4=N5=N6=0。 P0=table[fen[3]]。 N1=N2=N3=N4=N5=N6=0。 N6=1。 LED=0。 N1=N2=N3=N4=N5=N6=0。 19 7. 結(jié)束語 . 總結(jié) 本論文目的是對自己在大學(xué)的所學(xué)進(jìn)行一次總結(jié)。這個課題包含了數(shù)字搶答器電路、定時電路、報警電路、時序控制電路者四個部分。要求熟悉編碼器、十進(jìn)制加、減計數(shù)器的工作原理,設(shè)計可預(yù)置時 間的定時電路,分析與設(shè)計時序控制電路。這對我來說是一個考驗,也考驗說是一次挑戰(zhàn)自己的機(jī)會,可以認(rèn)清自己到底學(xué)會了多少。雖然我的設(shè)計還不成熟,略顯簡
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1