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

正文內(nèi)容

基于單片機的四路搶答器設(shè)計畢業(yè)論文(編輯修改稿)

2025-04-09 07:29 本頁面
 

【文章內(nèi)容簡介】 單片機的工作速度。時鐘電路如 圖 23 所示。 圖 23 時鐘電路圖 一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在 XTAL2 引腳產(chǎn)生幅度為 3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1, C2 的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。 單片機在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用 fosc 表示。圖中時鐘頻率為 12MHz,即 fosc=12MHz,則時鐘周期為 1/12181。s。 6 復(fù)位電路 單片機的第 9 腳 RST 為硬件復(fù)位端,只要將該端持續(xù) 4 個機器周期的高電平即可實現(xiàn)復(fù)位,復(fù)位后單片機的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如 圖 24 所示: 圖 24 復(fù)位電路圖 圖 24 中由按鍵 RESET1 以及電解電容 C電阻 R2 構(gòu)成按鍵及上電復(fù)位電路。由于單片機是高電平復(fù)位,所以當按鍵 RESET1 按下時候,單片機的 9 腳 RESET 管腳處于高電平,此時單片機處于復(fù)位狀態(tài)。當上電后,由于電容的緩慢充電,單片機的 9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機的 9 腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復(fù)位完畢,系統(tǒng)程序從 0000H 開始執(zhí)行。 7 報警電路 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線的 “ 高 ” 電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制 “ 高 ”“ 低 ” 電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 本文設(shè)計如 圖 25 所示,此處用到了單片機 23 腳的 IO 端口功能,單片機通過內(nèi)部定時器的操作實現(xiàn)交替變換的波形輸出驅(qū)動揚聲器發(fā)聲。 圖 25 報警電路圖 8 第 3 章 軟件設(shè)計 本次設(shè)計的搶答器的程序采用的是 C 程序設(shè)計, C 語言的顯著特點是用二進制來編寫程序 ,程序的各個部分除了必要的信息交流外彼此之間相互獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?, 便于使用、維護以及調(diào)試。 C 語言是以函數(shù)形式提供給用戶的 ,這些函數(shù)可方便的調(diào)用 ,并具有多種循環(huán)、條件語句控制程序流向 ,從而使程序完全結(jié)構(gòu)化。雖然 C 語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計的主程序中包括時鐘設(shè)計程序,定時器中斷子程序,數(shù)碼管顯示程序以及按鍵控制子程序。 9 流程圖 搶答器主流程圖如圖 31 所示: 圖 31 搶答器主程序流程圖 10 搶答器定時中斷流程圖如圖 32: 圖 32 搶答器定時器中斷流程圖 11 C 語言程序 部分: void delay(uint z) //延時函數(shù) { uint i,j。 for(i=z。i0。i) for(j=110。j0。j)。 } void display_num(uchar a) //選手編號顯示函數(shù) { WriteCmd_1602(0x80 + 15)。 WriteByte_1602(a)。 } void clr() //清零函數(shù) (主持人按下清零鍵后數(shù)碼管顯示 0) { WriteCmd_1602(0x80 + 15)。 WriteByte_1602(39。039。)。 } void dis10s() //十秒倒計時顯示函數(shù) { uchar shi,ge。 shi=num1/10。 ge=num1%10。 WriteCmd_1602(0x80 + 0x40 + 13)。 WriteByte_1602(shi + 0x30)。 WriteCmd_1602(0x80 + 0x40 + 14)。 WriteByte_1602(ge + 0x30)。 12 } void keyscan() //檢測按鍵 { if(clear==0amp。amp。flag2!=1) //判斷清零鍵,判斷語句 的作用是按下開始鍵清零鍵失效 { delay(10)。 if(clear==0amp。amp。flag2!=1) { while(!clear)。 //等待按鍵釋放 flag1=0。 flag2=0。 flag3=0。 flag4=0。 num=0。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1