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

正文內(nèi)容

基于單片機(jī)的籃球賽計時計分器設(shè)計-資料下載頁

2024-11-17 20:59本頁面

【導(dǎo)讀】數(shù)器T0完成比賽的計時,通過7段共陰LED來顯示比分和時間。報警部分采用蜂鳴器為音響器件。該計時計分器具有以下功能:1、計時:。且價格低廉、操作簡單、攜帶方便,適合與學(xué)校和小團(tuán)體作為賽程計時計分。行快速采集記錄、加工處理、傳遞利用的工具。根據(jù)不同運動項目的不同比。得分類等多種類型?;@球比賽是根據(jù)運動隊在規(guī)定比賽時間里得分多少來決。的計時計分器由計時器、計分器等多種電子設(shè)備組成。單片機(jī)是微型計算機(jī)發(fā)展的一個重要分支,它以其獨特的結(jié)構(gòu)和性能,

  

【正文】 設(shè)計了比分程序,至于計時程序可在以后功能拓展時加以實現(xiàn)。 27 Y 兩隊交換比分 兩隊比分加減 24s 處理 賽程處理 暫停鍵按下否 24s 到否 賽程時間到否 啟動鍵是否按下 開始 設(shè)定賽程時間 時間如: 12 分鐘 定時清零 兩隊比分清零 啟動定時器 T0 比分調(diào)整鍵按 下否 24s 重計時鍵按下否 比分交換鍵按 下否 初始化 N Y Y N N N N N Y Y Y Y N 圖 14 主程序流程圖 主組程序 主程序流程圖 28 主程序 include include include INT16U CountA=0。 //甲隊分?jǐn)?shù) INT16U CountB=0。 //乙隊分?jǐn)?shù) BOOL Flag = 0。 //分?jǐn)?shù)是否變化 BOOL Flocation =0。 //將位置標(biāo)示 int main(void) { uchar TempBuf[7]。 STR = 0。 ISR_Init()。 //系統(tǒng)中斷初始化 while (1) { if (!KEY7) //如果 KEY7 按鍵按下,需要調(diào)換甲乙分?jǐn)?shù)顯示順序 { while (!KEY7) 。 //等待按鍵松開 Flocation = !Flocation。 //將位置標(biāo)示取反 } if(Flag) //判斷甲或乙分?jǐn)?shù)有變化,有變化才更新顯示 { Flag = 0。 if (!Flocation) 29 { sprintf(TempBuf,%d%d,CountA,CountB)。 } else { sprintf(TempBuf,%d%d,CountB,CountA)。 } SendByteArray_UART(TempBuf,strlen(TempBuf))。 STR = 1。 _nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 // 延時, 將 CD4094 的數(shù)據(jù)鎖存到數(shù)目管 _nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 STR = 0。 } } return 0。 } 定義變量,程序需要用到的變量如下: 甲隊比分緩存區(qū) :按 下 KEY1 甲隊加一分; 同理按 下 KEY2 鍵甲隊減一分。具體程序如下: if (!KEY1) //判斷按鍵 { Delay10ms()。 //延時 10ms,去掉按鍵抖動 if(!KEY1) //判斷按鍵 { CountA ++。 //甲隊加分 Flag = 1。 } } 30 if (!KEY2) //判斷按鍵 { Delay10ms()。 //延時 10ms,去掉按鍵抖動 if(!KEY2) //判斷按鍵 { CountA 。 //甲隊減分 Flag = 1。 } } 乙隊比分緩存區(qū) :按 下 KEY3 鍵 乙隊加一分;同理按 下 KEY4 鍵乙隊減一分。具體程序如下: if (!KEY3) //判斷按鍵 { Delay10ms()。 //延時 10ms,去掉按鍵抖動 if(!KEY3) //判斷按鍵 { CountB ++。 //乙隊加分 Flag = 1。 } } if (!KEY4) //判斷按鍵 { Delay10ms()。 //延時 10ms,去掉按鍵抖動 if(!KEY4) //判斷按鍵 { CountB 。 //乙隊減分 Flag = 1。 } 31 消抖 因為 按 鍵是機(jī)械觸點的彈性作用(一個按鍵在閉和時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開)以及電壓突跳等原因,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。所以當(dāng)測試表明有鍵被按下之后,緊接著要進(jìn)行去抖動處理。 為確保 按 鍵識別準(zhǔn)確,在電壓信號抖動的情況下不能進(jìn)行行狀態(tài)輸入。為此需要進(jìn)行抖動處理。去抖動有硬件和軟件兩種方法。硬件方法是加去抖動電路,從根本避免抖動的產(chǎn)生;軟件方法是采用時間延遲以躲避抖動,待信號穩(wěn)定之后,再進(jìn)行 按 鍵掃描。一般為多采用軟件方法,大約延時 10~ 20ms。也就是說,發(fā)現(xiàn)有鍵按下時,延時一段時間后再判斷鍵盤的狀態(tài),若仍有 按 鍵保持按下狀態(tài),則確認(rèn)為真正 按 鍵按下,否則認(rèn)為是抖動。設(shè)計中,我采用了軟件延遲的方法。這樣比較簡單一些,同時減少了元器件也更經(jīng)濟(jì)。 具體程序如下: void Delay10ms(void) { INT8U i。 for (i=0。i20。i++) { _nop_()。 } } 3. 由于計時和計分電路的不同,所以計時和計分顯示器的清零方法也不同。 ① 計分顯示器清零: 計分電路采用 CD4094 譯碼器靜態(tài)顯示,其清零程序為 : include include include INT16U CountA=0。 //甲隊分?jǐn)?shù) INT16U CountB=0。 //乙隊分?jǐn)?shù) BOOL Flag = 0。 //分?jǐn)?shù)是否變化 BOOL Flocation =0。 //將位置標(biāo)示 int main(void) { uchar TempBuf[7]。 STR = 0。 ISR_Init()。 //系統(tǒng)中斷初始化 SendByteArray_UART(TempBuf,strlen(TempBuf))。 STR = 1。 _nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 //延時,將CD4094 的數(shù)據(jù)鎖存到數(shù)目管 _nop_()。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 32 STR = 0。 } } return 0。 } 中斷程序設(shè)計 ① 系統(tǒng)相關(guān)中斷 include extern INT16U CountA。 extern INT16U CountB。 extern BOOL Flag。 void Delay10ms(void)。 ②系統(tǒng)中斷初始化 void ISR_Init(void) { EA = 1。 //開系統(tǒng)中斷 EX1 = 1。 //開外部中斷 1 } 當(dāng) KEY1~ KEY4 四個按鍵的任何一個一位按下時, 74LS21 的 8 腳輸出都會產(chǎn)生低電平使單片機(jī)方式中斷,從而使相應(yīng) LED 顯示。 比分刷新程序: 甲隊 +1 程序: if (!KEY1) { Delay10ms()。 if(!KEY1) { CountA ++。 Flag = 1。 } } 甲隊 1程序: if (!KEY2) { 33 Delay10ms()。 if(!KEY2) { CountA 。 Flag = 1。 } } 乙隊 +1 程序: if (!KEY3) { Delay10ms()。 if(!KEY3) { CountB ++。 Flag = 1。 } } 乙隊 1程序: if (!KEY4) { Delay10ms()。 if(!KEY4) { CountB 。 Flag = 1。 } } 比分交換程序: while (1) { if (!KEY7) //如果 KEY7 按鍵按下,需要調(diào)換甲乙分?jǐn)?shù)顯示順序 { while (!KEY7) 。 //等待按鍵松開 Flocation = !Flocation。 //將位置標(biāo)示取反 34 第 五 章 系統(tǒng)調(diào)試 本次軟件設(shè)計我運用了所學(xué)過的 keil,protel99se,multisim8等軟件 , 在設(shè)計的過程中遇到了許多挑戰(zhàn) , 有很多不懂的地方我請教了老師 , 查閱了圖書館的資料 ,很多地方的程序雖然并不是很難寫 , 但是要把這些單獨控制某一個器件或電路的程序融合起來 , 形成一個整的程序就不那么容易了。其間的銜接部分還是有一定難度的,最后經(jīng)過努力整個程序能基本編譯通過。 本次的設(shè)計 由于時間和條件的限制,我只進(jìn)行了計分程序的設(shè)計,在編譯過程中改正了一些輸入時的錯誤以及跳轉(zhuǎn)超出范圍的問題 。還有一 些功能有待完善。例如:計時設(shè)計、局?jǐn)?shù),技術(shù)犯規(guī)次數(shù)等功能。這些功能可在以后的功能擴(kuò)展上加以實現(xiàn)。 本課題是基于 單片機(jī)的籃球計時計分器 設(shè)計, 以 AT89C51 單片機(jī)為核心部件,運用了 LED 的靜態(tài)顯示,串行口擴(kuò)展顯示器接口等方法。并采用匯編語言進(jìn)行編程設(shè)計。 本次設(shè)計完成的主要工作如下: ? 提出 構(gòu)想和產(chǎn)品設(shè)計的可行性 ? 熟悉 AT89C51 單片機(jī)系統(tǒng),掌握其 C語言的程序設(shè)計 ? 了解使用各器件的原理,功能及其引腳 ? 硬件總體的設(shè)計 ? 完成 C語言編寫程序 ? 完成軟件的調(diào)試編譯 35 結(jié)束語 通過這個學(xué)期的畢業(yè) 設(shè)計,我對一些專業(yè)的電子設(shè)計有了更深的了解,同時也嘗試著去應(yīng)用自己所掌握的知識,這次畢業(yè)設(shè)計主要是對電路的設(shè)計,單片機(jī)的應(yīng)用,各種設(shè)計軟件的操作的一個綜合性的考核。經(jīng)過幾個禮拜的奮戰(zhàn),我感受很深。 畢業(yè)設(shè)計不僅給我們提供了一個很好的展現(xiàn)和應(yīng)用自己所掌握的知識的平臺,又是檢驗自己所學(xué)知識和實現(xiàn)所學(xué)知識價值的一個機(jī)會。 在設(shè)計的過程中不可避免的遇到了許多問題。尤其是在最后的調(diào)試中,會因為某種原因而得不到滿意的結(jié)果,但最后還是解決了。最后在調(diào)試結(jié)果終于出來以 后我更是無比興奮,無比自豪。在這里我要感謝幫助過我的老師 和同學(xué)尤其是 我的畢業(yè)設(shè)計指導(dǎo)老師劉佳老師,沒有你們也就沒有這份畢業(yè)設(shè)計和論文 對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶! 36 致謝 在論文完成之際,我首先要特別感謝 老師 給予了我無私的幫助,正是在 她 的鼓勵和幫助之下,我得以順利完成論文。 我還要向那些熱心幫組的同學(xué)表示最真摯的謝意。在論文寫作期間,我遇到了很 多不懂的地方,包括理論知識和做實物的過程,我都向他們請教,他們都無私熱情的告訴我。 其次我還要更特別的感謝 三 年來默默關(guān)心我、支持我、鼓勵我的家人,親戚,朋友;是他們讓我有信心、有勇氣克服了太多的困難,最終得以順利完成學(xué)業(yè),在此對他們表達(dá)我深深的謝意。 37 參考文獻(xiàn) [1]. 中國籃球協(xié)會審定 .籃球規(guī)則 [M].北京:光明日報出版社 .2020 [2]. 趙德安等 .單片機(jī)原理與應(yīng)用 [M].北京:機(jī)械工業(yè)出版社 .2020 [3]. 何立民 .MCS51 單片機(jī)應(yīng)用系統(tǒng)設(shè)計 [M].北京:北京航空航天大學(xué)出版社 .1990 [4]. 彭為等 .單片機(jī)典型系統(tǒng)設(shè)計實例 精講 [M].北京:電子工業(yè)出版社 .2020 [5]. 曹羅生 .使用單片機(jī)實現(xiàn) NBA 計時、計分系統(tǒng) [J].應(yīng)用科技 .2020 年 11 月 ,31 卷第 11期。 [6]. 羅溫萍等 .球類比賽計分計時系統(tǒng) .江西:贛南師范學(xué)院學(xué)報 [J].2020 年第三期 [7]. 諸昌鈐 .LED 顯示屏系統(tǒng)原理及工程技術(shù) [M].北京:電子科技大學(xué)出版社 .2020 [8]. 王新賢 .通用集成電路速查手則 [M].
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1