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

正文內(nèi)容

基于單片機的籃球計時計分器開發(fā)設(shè)計—大學(xué)畢業(yè)論文畢業(yè)設(shè)計學(xué)位論文范文模板參考資料(編輯修改稿)

2024-12-30 03:14 本頁面
 

【文章內(nèi)容簡介】 內(nèi)部震蕩方式, 選用 12MHZ 的晶振,另外有兩個 22pf 的電容組成 。 AT89C52 中有一個用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1 和 XTAL2 分別是該放大器的輸入和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起 構(gòu)成自激振蕩器,像內(nèi)部時鐘提供震蕩時鐘,振蕩器的頻率主要取決于晶體的震蕩頻率,電容的大小對震蕩頻率有微小的影響,可取頻率微調(diào)作用。 振蕩電路如圖 34所示 : 圖 34 時鐘振蕩電路 復(fù)位電路 部分 通過某種方式,使單片機內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復(fù)位。MCS51單片機在時鐘電路工作以后,在 RST端持續(xù)給出 2個機器周期的高電平就可以完成復(fù)位操作,復(fù)位分位上電復(fù)位和外部復(fù)位兩種方式。主要功能是把系統(tǒng)初始化,當(dāng)程序運行錯誤或者進入死循環(huán)的時候,為擺脫困境,可以按復(fù)位鍵以重新啟動。 上電復(fù)位是單片機在接通電源時,對單片機的復(fù)位,上電復(fù)位電路圖如 35所示。 13 圖 35 上電復(fù)位 電路 在上電瞬間 RST端與 VCC電位相同,隨著電容上電壓的逐漸上升, RST端電位逐漸下降。上電復(fù)位所需最短時間是振 蕩器建立時間加兩個機器周期。 本設(shè)計采用上電復(fù)位 加按鈕方式,通過調(diào)整元件參數(shù),使單片機能夠可靠的上電自動復(fù)位,當(dāng)需要外部復(fù)位時,按下復(fù)位按鈕也能夠達到復(fù)位目的, 由于人的動作再快 也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求 。 如圖 36為上電加按鈕復(fù)位電路。 圖 36 上電加按鈕 復(fù)位電路 按鍵電路部分 按鍵是單片機應(yīng)用系統(tǒng)中適用最廣泛的一種數(shù)據(jù)輸入設(shè)備,按鍵通常是一種常開型按鈕,常態(tài)下鍵的兩個觸點處于斷開 窗臺,按下鍵時它們才閉合(短路)。如圖 37 所示為一按鍵。 14 圖 37 按鍵 通常,鍵盤有編碼和非編碼兩種。編碼鍵盤通過硬件電路產(chǎn)生被按按鍵的鍵碼和一個選通脈沖。選通脈沖可作為 CPU 的中斷請求信號。這種鍵盤使用方便,所需程序簡單,但硬件電路復(fù)雜,常不被單片機采用。 此次設(shè)計采用的是 非編碼鍵盤。非編碼鍵盤按組成結(jié)構(gòu)又可分為獨立式鍵盤和矩陣式鍵盤。獨立式鍵盤的工作過程與矩陣式鍵盤類似,無論是硬件結(jié)構(gòu)還是軟件設(shè)計都比較簡單 ,圖 38 為矩陣式鍵盤 。 圖 38 矩陣鍵盤 矩陣式鍵盤的特點:電路連接復(fù)雜,但提高了 I/O 口利用率,軟件編程較復(fù)雜。適用于需使用大量按鍵的場合。 由于本次設(shè)計有足夠空余端口,且為了降低編程時的復(fù)雜性,采用的是獨立式鍵盤,獨立式鍵盤的 特點:每個按鍵占用一條 I/O 線,當(dāng)按鍵數(shù)量較多時,I/O 口利用率不高,但程序編制簡單。適用于所需按鍵較少的場合。 共 設(shè)計采用了 13 個按鍵設(shè)計,其中 9個用于控制甲乙兩隊的分數(shù),分別是甲隊加 1 分、加 2 分、加 3 分、減 1 分,乙隊加 1 分、加 2 分、加 3分、減1 分和甲乙兩隊分數(shù)互換。另外 3 個用于 控制時間,分別是啟動倒計時 /暫停 /繼續(xù)、時間快進、時間倒退 。最后一個按鍵是復(fù)位按鍵,用于單片機復(fù)位。 圖 39 所示為按鍵電路圖。 15 圖 39按鍵 電路 圖 顯示電路部分 本次設(shè)計采用共陰極數(shù)碼管,共陰極接低電平,其他管腳借段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為高電平時,該端所連接的字符導(dǎo)通并發(fā)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或者字符。同樣,要求段驅(qū)動電路能提供額定的導(dǎo)通電壓或者電流,還需要根據(jù)需要設(shè)定響應(yīng)的限流電阻。本次設(shè)計的顯示電路部分采用 2個 4位一體共陰極數(shù)碼管,共 8個代碼輸入口和 8個位選輸入口,采用排阻提供上拉電流數(shù)碼管,以保證有足夠 大的電流點亮數(shù)碼管。 采用動態(tài)驅(qū)動,使各位數(shù)碼管逐一輪流點亮,由于掃描速度極快,顯示效果與靜態(tài)顯示效果相同。 從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形和文字的各個點所在位置對應(yīng)的 LED 器件發(fā)光,就能得到結(jié)果。 所謂動態(tài)顯示,就是將要顯示的多位 LED顯示器采用一個 8位的段選端口,然后采用動態(tài)掃描一位一位地輪流點亮各位顯示器,對于顯示器的每一位而言,每隔一段時間點亮一次,雖然在同一時刻只有一位顯示器在工作,但利用人眼的視覺暫留和發(fā)光二極管的余輝效應(yīng),看到的卻是多個字符“同時顯示”。 動態(tài)顯示的優(yōu)點 在于:節(jié)省硬件資源,占用的端口較少,成本較低。缺點是在系統(tǒng)運行過程中,要保證顯示器正常顯示, CPU必須每隔一段時間執(zhí)行一次顯示子程序,占用了 CPU 大量的時間,降低了 CPU 的工作效率,同時顯示亮度較低。 圖 310 為 4位 LED顯示器動態(tài)顯示電路原理圖。 16 圖 310顯示部分電路圖 報警電路 部分 本次設(shè)計 的報警部分要求同時能夠有聲光報警 , 故選用一個蜂鳴器和一個發(fā)光二極管組成, 其中 蜂鳴器通過一個 NPN 三極管驅(qū)動。 當(dāng)比賽時間剩下最后10 秒鐘時, 通過軟件控制在 P3_7 端口間隔 有規(guī)律 輸出高電平信號和低電平 信號,當(dāng) P3_7 為高電平信號時, 二極管 D1 導(dǎo)通,發(fā)出光信號, 三極管 Q1 導(dǎo)通,蜂鳴器發(fā)出聲音信號,由于是接在同一端口,發(fā)光二極管的發(fā)光和蜂鳴器的蜂鳴聲同步產(chǎn)生 。 報警電路電路圖如圖 311 所示。 圖 311 報警電路圖 17 第四章 軟件 程序 設(shè)計 系統(tǒng) 工作過程 首先在比賽之前,接通電源, 通過軟件可以設(shè)定比賽的時長 ,時間設(shè)置好時, 接通電源,等待賽程開始,當(dāng)裁 判吹響哨聲時 ,啟動計時,這時單片機 便開始工作,計時采用到計時方式,即從 10分鐘減為 0分鐘表示上半場結(jié)束。上半場結(jié)束時,蜂鳴器會發(fā)出 10秒鐘響聲,通知上半場結(jié)束,這時按下 P1_7鍵,便完成了甲、乙兩隊的分數(shù)交換 。在整個賽程中,我們還要對兩隊比分進行及時刷新,這時我們通過按鍵 電路中的 P1_1P1_6, P3_0 和 P3_1 鍵完成此功能, P1_1P1_3 鍵完成甲隊加分、 P3_0 減分, P1_4P1_6 鍵完成乙隊加分、P3_1 減分。 如果在賽程過程中,一方的教練申請暫停時,經(jīng)裁判批準(zhǔn),我們立即按下P1_0 鍵,即可以 暫停計時,暫停時間到時,再按下 P1_0 鍵繼續(xù)計時,直至上半場賽程結(jié)束,蜂鳴器會發(fā)出 10秒的響聲。下半場的流程和上半場 是一樣的 。 軟件總體 設(shè)計 方案 在設(shè)計程序之前,我們首先要對單片機系統(tǒng)預(yù)完成的任務(wù)進行深入的分析,明確系統(tǒng)的設(shè)計任務(wù),功能要求和技術(shù)指標(biāo)。其次對系統(tǒng)的硬件資源和工作環(huán)境進行分析,以明確軟件程序設(shè)計的要求。 本次設(shè)計采用模塊化程序設(shè)計,程序部分由主程序,延時程序,中斷程序,加分程序,減分程序,比分交換程序,時間調(diào)整程序 ,時間暫停程序,報警程序,掃描顯示程序 ,結(jié)束程序 等程序構(gòu)成。 程序流程圖如 41: 18 圖 41 程序流程圖 19 主要程序及其注釋 延時程序 void delay(int a) //定義延時程序,通過設(shè)置參數(shù) a,改變延時時間長度 { while(a) { int i。 for(i=0。i200。i++)。 } } 中斷程序 void t0(void) interrupt 1 //定義中斷程序,調(diào)用定時器 TO { TH0=0xb1。 //對定時器 T0 送入初值, THO=0xb1 TL0=0x10。 //TL0=0X10 故定時器定時為 20毫秒, if(n==0) //即每 20 毫秒調(diào)用一次 { n=60。 m。 } i++。 if(i==50) //定義 i的值為 50,即 50*20 毫秒 =1秒 { n。 i=0。 } display(m,n,x,y)。 //調(diào)用數(shù)碼管顯示程序,即每 20毫 //秒刷新一次 } 加分程序 void jiafen() //定義加分程序 { if(P1_1==0) //當(dāng)按下 P1_1 的時候 { 20 delay(1)。 //延時去抖 while(P1_1==0)。 x++。 //甲隊加一分 } if(P1_2==0) //當(dāng)按下 P1_2 的時候 { delay(1)。 while(P1_2==0)。 x+=2。 //甲隊加兩分 } if(P1_3==0) //當(dāng)按下 P1_3 的時候 { delay(1)。 while(P1_3==0)。 //甲隊加三分 x+=3。 } if(P1_4==0) //當(dāng)按下 P1_4 的時候 { delay(1)。 //延時去抖 while(P1_4==0)。 y++。 //乙隊加一分 } if(P1_5==0) //當(dāng)按下 P1_5 的時候 { delay(1)。 while(P1_5==0)。 y+=2。 //乙隊加兩分 } if(P1_6==0) //當(dāng)按下 P1_6 的時候 { delay(1)。 while(P1_6==0)。 y+=3。 //乙隊加三分 21 } } 減分程序 void jianfen() //定義減分程序 { if(P3_0==0amp。amp。x0) //當(dāng)按下 P3_0 并且甲隊分數(shù)大于 0的時候 { delay(1)。 //延時去抖 while(P3_0==0)。 x。 //甲隊減 1分 } if(P3_1==0amp。amp。x0) //當(dāng)按下 P3_1 并且乙隊分數(shù)大于 0的時候
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1