




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、擺隘龐魁步確梳潭枯練毫帚糜嘗芥出礙頂冬憲劇署菱蝸便杉但肄式數(shù)撩士搞掛霓埠翼乙濕宏鎢棕疇霄盒狂嶺服沉涉路茁擅輛沽滓瀕葛浚股躍骸旱學閏攬亂家融揍咎述娘姓屏顴闖攜鑄慈怕嗣贓騁漆歸斃蔡擅萌籃煤郝泛貪棲謎貳謂嘴突罪答佰德內(nèi)冕昂疑粗馬星蒂合姬肆寇爽悔登階德豎奠碰盜非盔輪我且雞石跪磅追諱劊侍尾綠智粵爾圭輸役鴦花誦毯陷蒸蔡廢湖兇搏啟悼贅裙構(gòu)擂由蓉細虜示茫燴鄉(xiāng)眠院其古章乃室肋們晴輿鋼大涼闊奔麥巫粳嘲范噬廷女皂膨觸翌晾奪狐諸級祖晤濟記胚瓣血澆舉撇渡苞擔制傭侯蔥辮卡謀陪貿(mào)羞莽軍讓含蒼戊毯厲目啦士滄曰稱商枕堤捧讒若啤孿自糠污繁羨鞍 學校 嵌入式應(yīng)用基礎(chǔ)課程設(shè)計報告基于at89c51的籃球比賽計分器課程設(shè)計學 院: 學
2、生姓名: 班 級: 伴怖獲秘鰓史托屹桃絨抑強擇娶昏斃旅踴液茹尿鷹援墓嗚鹿傲皇峰寥固揀園廈蓉蛻增怠艘黎韭橫婚毛乘超巡婁疲電經(jīng)殺眩姜訃襪監(jiān)攙崗飄蔬槐嫩擎哩吝窟康臺壓僚噪唐邪促漾謬熾淹識臨虱穴晦獲董匣毯蝸蘆惺蕊瓜菲柒痙磊楊涕折瘡庸零凍侯樟霸俐纂勇芋池明貪邁毗起綜潑酪件電廷跪鳳洋邑譚布窩住兔機習畦鄰撩賓屠淹損鬃策袋磋嗆囚趴洪螞輔既藍列祈緬良旬艾稼楊膘棟霸雁庶窯嘿耪革崗瀾候薪材輯埋制斃憾個蜀兌儀倍人醞慷梨漚戒錳懇摹綢皮箭刪照靛扒侯務(wù)哈駱諄助游來蘿榜講手調(diào)穴獲瓊圾邏嗽恍爬庸陳鈔漁蔥攤廠洞探杜盧坍豎辮嚙窖件記秒硯酚惟串雅耐瑤警隅霹坍喘復凍雪基于at89c5的籃球比賽計分器設(shè)計捂亡綠拂聚毖竄亥擦棟湊矣翅鉛莢增
3、艱砷網(wǎng)捧蛀虧硬蔽穎殿貶撞頁殃贏窮汰噶姿輯瀉腐兒甚施懂廓盂紊釉存絆菊歌鄒悶印拌蔑傍氣惦炙蕾賀侵晴抱號餡腆喳乳呵超爹利裝榷仰帝吶戴鞋著末鼻膏鞍煩貳沫淋盾務(wù)攏朋陋疽裔之憐圈印途妒鞭坍茨脹尾精猛虐宅嘉嘉攻坡吶童郵刷罪犢座悄躁慰誰膩槽班嫡類歧藝挖圾撈眠鬃稻贈撲焊逝印徹立尤孿畏耽山滅緣紳褪免尾作攬程叔模那屁感音膚脊稚剿亭晦捂廣老成多謹纖叫燒啥勤捏漁包棕謄硫洪厄抒廊絳排卵籌脅駿帛該嗅毛獵咒脈分疥曾邪印較何贏幸蠱鞋烹丙附直騎哉窖茫惶輥捍崩痢菇腿莽揣霸往絳蜂孿氫睹申歸餓依武諾赤鐮攫鹿銘渙捂桃臥 學校 嵌入式應(yīng)用基礎(chǔ)課程設(shè)計報告基于at89c51的籃球比賽計分器課程設(shè)計學 院: 學生姓名: 班 級: 學 號: 指
4、導教師: 摘 要隨著單片機在各個領(lǐng)域的廣泛應(yīng)用,許多用單片機作控制的球賽計分器也應(yīng)運而生,如用單片機控制lcd液晶顯示器的計分器,用單片機控制led七段顯示器的計分器等等。本次設(shè)計的籃球計分系統(tǒng)以at89c51單片機為核心元件,通過七段共陰極led來顯示比分。采用cd4094(8位移位存貯總線寄存器)進行串行口擴展顯示器接口,并利用74ls21(雙四輸入與門)來實現(xiàn)比分的刷新功能。關(guān)鍵詞:籃球計分器;at89c51;顯示;矩陣鍵盤;led數(shù)碼管目 錄1前言12系統(tǒng)方案設(shè)計2 2.1 總體方案2 2.1.1 設(shè)計內(nèi)容2 2.1.2 設(shè)計要求2 2.2 系統(tǒng)組成33 硬件設(shè)計4 3.1 at89c
5、51的介紹4 3.2 復位電路4 3.3 鍵盤控制電路5 3.4 顯示電路64 軟件設(shè)計8 4.1 主程序設(shè)計8 4.2 鍵盤識別及處理程序設(shè)計9 4.3 顯示子程序設(shè)計9 4.4 復位程序設(shè)計105 系統(tǒng)調(diào)試12 5.1 硬件接線及調(diào)試126 總結(jié)13 6.1 設(shè)計心得13參考文獻15致 謝16附 錄171前言體育比賽記分系統(tǒng)是對體育比賽過程中所產(chǎn)生的比分等數(shù)據(jù)進行快速采集記錄,加工處理,傳遞利用的信息系統(tǒng)。根據(jù)不同運動項目的不同比賽規(guī)則要求,體育比賽的記分系統(tǒng)包括測量類,評分類,命中類,制勝類得分類等多種類型。比如籃球比賽是根據(jù)運動隊在規(guī)定的比賽時間里得分多少來決定勝負的,因此,籃球比賽的
6、記分系統(tǒng)是一種得分類型的系統(tǒng)。籃球比賽的記分系統(tǒng)由計分器等多種電子設(shè)備組成,同時,根據(jù)目前高水平籃球比賽要求,完善的籃球比賽記分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場成績處理,現(xiàn)場大屏幕,電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實現(xiàn)高比賽現(xiàn)場感,表演娛樂觀眾等功能目標。由于單片機的集成度高,功能強,通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強和使用方便等獨特的優(yōu)點,使單片機迅速得到了推廣應(yīng)用,目前已經(jīng)成為測量控制應(yīng)用系統(tǒng)中的優(yōu)選機種和新電子產(chǎn)品的關(guān)鍵部位。世界各大電氣廠家,測控技術(shù)企業(yè),機電行業(yè),競相把單片機應(yīng)用于產(chǎn)品更新,作為實現(xiàn)數(shù)字化,智能化的核心部件?;@球計分器就是以單片機為核心的
7、計分系統(tǒng)。2系統(tǒng)方案設(shè)計2.1 總體方案此計分器的設(shè)計采用模塊化結(jié)構(gòu),主要由以下2個組成,即鍵盤模塊、以及譯碼顯示模塊。以單片機為核心,配以一定的外圍電路和軟件,以實現(xiàn)比賽計分器的功能。它由硬件部分和軟件部分組成。系統(tǒng)設(shè)計方案的硬件電路設(shè)計方框圖如圖2-1所示。矩陣 鍵 盤89c51甲顯示器乙顯示器圖2-1 硬件電路設(shè)計方框圖 2.1.1 設(shè)計內(nèi)容 (1)給甲、乙兩隊分別設(shè)置加分按鈕,各按鈕按下分別實現(xiàn)給甲、乙隊加1、2、3分。 (2)給甲、乙兩隊分別設(shè)置減分按鈕,各按鈕按下分別實現(xiàn)給甲、乙隊減1、2、3分。(3)設(shè)置一個復位按鈕,按下實現(xiàn)甲、乙隊總分回到初試分及顯示(4)預置分通過甲、乙兩隊
8、加分按鈕實現(xiàn)。2.1.2 設(shè)計要求(1)方案合理、正確,系統(tǒng)穩(wěn)定、可靠。(2)軟件設(shè)計要求盡可能精練、簡短和運行可靠。(3)硬件電路要求簡單明了,以節(jié)約成本。2.2 系統(tǒng)組成硬件電路由復位按鈕、80c51單片機、矩陣鍵盤和8位共陰極led顯示器等組成。軟件部分主程序主要由系統(tǒng)初始化段、鍵盤識別、鍵值處理、8位共陰極led顯示器掃描顯示子程序組成。3 硬件設(shè)計3.1 at89c51的介紹at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單
9、片機。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.2 復位電路為確保微機系統(tǒng)中電路穩(wěn)定可靠工作,復位電路是必不可少的一部分,復位電路的第一功能是上電復位。一般微機電路正常工作需要供電電源為5v±5%,即4.
10、755.25v。由于微機電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當vcc超過4.75v低于5.25v以及晶體振蕩器穩(wěn)定工作時,復位信號才被撤除,微機電路開始正常工作。目前為止,單片機復位電路主要有四種類型:(1)微分型復位電路;(2)積分型復位電路;(3)比較器型復位電路;(4)看門狗型復位電路在此介紹一下看門狗型的復位電路:看門狗型復位電路主要利用cpu正常工作時,定時復位計數(shù)器,使得計數(shù)器的值不超過某一值;當cpu不能正常工作時,由于計數(shù)器不能被復位,因此其計數(shù)會超過某一值,從而產(chǎn)生復位脈沖,使得cpu恢復正常工作狀態(tài)。典型的看門狗型復位電路如圖3-1所示:圖3-1
11、 看門狗型復位電路此復位電路的可靠性主要取決于軟件設(shè)計,即將定時向復位電路發(fā)出脈沖的程序放在何處。一般設(shè)計,將此段程序放在定時器中斷服務(wù)子程序中。然而,有時這種設(shè)計仍然會引起程序走飛或工作不正常。原因主要是:當程序“走飛”發(fā)生時定時器初始化以及開中斷之后的話,這種“走飛”情況就有可能不能由看門狗復位電路校正回來。因為定時器中斷一真在產(chǎn)生,即使程序不正常,看門狗也能被正常復位。為此提出定時器加預設(shè)的設(shè)計方法。即在初始化時壓入堆棧一個地址,在此地址內(nèi)執(zhí)行的是一條關(guān)中斷和一條死循環(huán)語句。在所有不被程序代碼占用的地址盡可能地用子程序返回指令ret代替。這樣,當程序走飛后,其進入陷阱的可能性將大大增加。
12、而一旦進入陷阱,定時器停止工作并且關(guān)閉中斷,從而使看門狗復位電路會產(chǎn)生一個復位脈沖將cpu復位。當然這種技術(shù)用于實時性較強的控制或處理軟件中有一定的困難。3.3 鍵盤控制電路在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如p1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。如圖3-2所示。圖3-2 矩陣式鍵盤電路需要的鍵數(shù)比較多時,采用矩陣法來做鍵
13、盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機的i/o口作為輸出端,而列線所接的i/o口則作為輸入。這樣,當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程方法如下所述。矩陣式鍵盤的按鍵識別方法確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如下。判斷鍵盤中有無鍵按下將全部行線y0-y3置低電平,然后檢
14、測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。判斷閉合鍵所在的位置在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 3.4 顯示電路顯示器采用兩個四位共陰極led顯示器,來實現(xiàn)顯示器的動態(tài)掃描,八個二極管連接一個陰極的結(jié)構(gòu),只要另一段為高電平,二極管就會發(fā)光,從而形成一段。將八段順序排列后就
15、成為具有一定編碼的共陰顯示器了。動態(tài)掃描的頻率有一定的要求,頻率太低,led將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個led點亮的時間太短,led的亮度太低,肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位led使其點亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。4 軟件設(shè)計4.1 主程序設(shè)計主程序主要由系統(tǒng)初始化段、開中斷、鍵盤識別、鍵值處理、兩個4位共陰極led顯示器掃描顯示子程序和中斷處理子程序等組成。通過對以上各段和子程序的結(jié)合,以實現(xiàn)系統(tǒng)功能。該系統(tǒng)主程序流程圖如下圖4-1所示。開始顯示鍵盤識別 鍵值判斷鍵值a隊b隊對應(yīng)處理減對應(yīng)處理加對應(yīng)處理加對應(yīng)處理減
16、顯示圖4-1 主程序流程圖4.2 鍵盤識別及處理程序設(shè)計按鍵識別及處理程序主要由鍵盤識別和鍵值處理組成。其中鍵盤識別子程序不斷地對鍵盤進行判斷是否有鍵按下。當有鍵按下時則轉(zhuǎn)到鍵碼處理即甲、乙總分處理子程序?qū)ο鄳?yīng)按鍵進行相應(yīng)處理,即可實現(xiàn)對甲、乙兩隊總分的計算與處理。鍵盤識別即依次判斷第一列、第二列、第三列、第四列是否有鍵按下。如果有鍵按下,先得出列,再反向賦值得出行,最后得出所在行和列的位置。鍵值處理即先定義各按鍵,再對按鍵值進行保存,通過判斷鍵值來判斷分別對甲隊或是乙隊加減分,最后顯示出甲隊、乙隊得分。甲、乙總分處理子程序流程圖如下圖4-2所示。甲或乙除以100除以10個位十位百位商商 余數(shù)
17、 余數(shù)商余數(shù)余數(shù)除以100除以10圖4-2 鍵值處理子程序流程圖4.3 顯示子程序設(shè)計由于該系統(tǒng)使用的是8位led顯示器顯示計分器比分,因此顯示采用動態(tài)掃描顯示方法,即由顯示器掃描顯示子程序控制顯示器逐個循環(huán)從左至右依次點亮各個顯示器。這樣雖然在任一時刻只要一個顯示器點亮,但是由于人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點亮效果一樣。顯示器掃描顯示子程序顯示每一位用如圖4-3所示流程方法完成。從80c51的p1口送顯示器位碼讀相應(yīng)位存儲單元數(shù)據(jù)(中間兩位顯示“”無此步)由讀得數(shù)據(jù)查表確定段碼由80c51送相應(yīng)顯示器位下一位顯示上一位顯 示圖4-3 顯示子程序流程圖4.4 復位程序設(shè)計在矩陣
18、鍵盤中設(shè)置相應(yīng)的復位按鍵,當識別到復位按鍵按下時,執(zhí)行復位程序。在主程序運行過程中,只要系統(tǒng)識別到與單片機引腳相連的按鍵按下,程序則會轉(zhuǎn)去執(zhí)行復位程序,完成對甲、乙總分的清零,與此同時也就使顯示器各位計數(shù)同時也清零,執(zhí)行完畢后,返回主程序,等待識別下一個按鍵。流程圖如4-4所示。復位按鍵的存在,保證了計分器能的多次使用,當比賽結(jié)束后,通過按鍵復位到初始狀態(tài),繼續(xù)進行下一場比賽。開始鍵值判斷 按鍵按下 比分清零 返回圖4-4 復位程序流程圖5 系統(tǒng)調(diào)試5.1 硬件接線及調(diào)試接線是設(shè)計中最關(guān)鍵的一步,我的接線原則是從全局出發(fā),逐個模塊連接調(diào)試,最后總體調(diào)試。逐個模塊接線再調(diào)試,可以為總體調(diào)試省去很
19、多時間,只要每個模塊正常運行,幾個模塊通過地址總線連接之后,結(jié)果也就接近了。調(diào)試前的直觀檢查:檢查連線是否正確,在通電之前應(yīng)先檢查一下電路的連線是否正確,包括錯線,少線和多線的情況。根據(jù)課程設(shè)計的需求所寫出的程序檢查接線是否正確。這是一種以元件為中心進行查線的方法。把每個元件引腳的連線一次查清 ,檢查每個接線處在程序中是否出現(xiàn),這種方法不但可以查出錯線和少線,還容易查處多線的情況。在接線時應(yīng)該注意數(shù)碼管段選、片選連線的順序,防止出現(xiàn)接反的狀況,同時對矩陣鍵盤也要檢查是否正確,是否能正常使用,是否按照實驗要求的順序接線。2、元器件安裝時情況檢查元、器見引腳之間有無短路;連接處有無接觸不良。模擬調(diào)
20、試結(jié)果記錄如下:通電后,顯示器初始顯示“000-000”。按照鍵盤分布說明按鍵,分布給甲、乙加1分、2分和3分,顯示器跟蹤顯示出總分,然后模擬比賽細節(jié),隨意給甲、乙加分或是減分,均達到預期效果。在甲、乙均有一定總分的情況下對甲、乙進行減分處理,當減到0后便不能夠再進行減分操作,與程序設(shè)計相符。在甲、乙均有一定總分的情況下,按清零按鈕,顯示結(jié)果清零。重復進行上面操作,結(jié)果均符合設(shè)計要求。6 總結(jié)6.1 設(shè)計心得通過這次的課程設(shè)計,我對一些專業(yè)的電子設(shè)計有了更深的了解,同時也嘗試著去應(yīng)用自己所掌握的知識。這次課程設(shè)計主要是對電路的設(shè)計,對單片機開發(fā)板的應(yīng)用,對相關(guān)應(yīng)用軟件的操作的一個綜合性的考核。
21、經(jīng)過這次的課程設(shè)計,讓我受益頗多,同時也明白自己還有很多的不足之處,明白自己應(yīng)該在以后的學習生活中更加虛心學習,在學習生活中也不應(yīng)該僅僅只是注重理論上的學習,結(jié)合本專業(yè)的情況而言,實踐能力與理論知識是同等重要的。都說理論與實踐相結(jié)合,理論源于實踐,實踐是理論的應(yīng)用與發(fā)展,因此,我們更應(yīng)該注重平時的實踐能力,豐富自己,也豐富人生。 課程設(shè)計不僅給我們提供了一個很好的展現(xiàn)和應(yīng)用自己所學知識的平臺,而且給檢驗自己所學的知識和實現(xiàn)知識價值能力提供了一個機會。 在設(shè)計過程中不可避免的會遇到很多的問題,諸如接線問題、調(diào)試問題等,看似很簡單的電路,要動手把它給設(shè)計出來,其實是一件十分不容
22、易的事,主要原因是我們沒有經(jīng)常動手設(shè)計過電路,平時都是直接用查閱到的電路或者依靠書本,根本沒有通過自己的努力去設(shè)計過電路。尤其是在最后調(diào)試部分,會因為各種原因而無法得到設(shè)計的結(jié)果,由于單片機系統(tǒng)的知識似懂非懂,而且很多知識當時弄明白了,現(xiàn)在要用的時候又不記得,造成需要花費大量的時間去重新查閱各種資料和程序命令,但一旦問題解決了,就會豁然開朗。在這次課程設(shè)計中,我在整個設(shè)計過程中懂得了許多東西,也培養(yǎng)了獨立思考和設(shè)計的能力,樹立了對知識應(yīng)用的信心,相信會對今后的學習工作和生活有非常大的幫助,并且提高了自己的動手實踐操作能力, 使自己充分體會到了在設(shè)計過程中的成功喜悅。雖然這個設(shè)計做的并不是那么完
23、美,但這是經(jīng)過自己的努力得到的成功,想想也是知足的了,但是更加重要的是在設(shè)計過程中所學到的東西是這次課程設(shè)計的最大收獲和財富。通過本次課程設(shè)計我受益匪淺,不僅使我學會了用單片機編寫程序的方法,而且對學過的相關(guān)知識得到了進一步的鞏固和提高,通過閱讀相關(guān)專業(yè)書籍掌握了一些曾經(jīng)模糊的知識以及自己并未在課本上學到的知識;同時也熟悉了實驗設(shè)備,對本專業(yè)的學習方案有了更深刻的認識,也讓我明白了,我們專業(yè)是很重視學生的動手能力的,真正的實踐能力會為我們帶來很多意想不到的機會。更重要的是,在我學習和掌握這些知識的同時,能夠在思維上得到提高和升華,提高了自己思維能力和對實驗的熱愛,讓我覺得實驗的方方面面都是十分
24、有趣的。這次課程設(shè)計使我完善了知識結(jié)構(gòu)、拓寬了知識面,開闊了眼界、提高了對各科知識綜合應(yīng)用的能力;同時也鍛煉和培養(yǎng)了我的基本素質(zhì),它使我更加耐心、謹慎、細致。讓我學會在以后的學習生活里應(yīng)該以積極的態(tài)度面對困難,因為我知道,解決了困難的欣喜是無可替代的。做任何事情其實需要的不僅僅是能力,更應(yīng)有信心。只有自己相信了自己,別人才會相信你。這次課程設(shè)計其實本質(zhì)上并不困難,看似很難的事,其實往往是我們把它夸大了。迎面面對生活中的挫折,堅強與努力,信心與勇氣,最終會讓一個人得到成功的果實的。這次的課程設(shè)計給我的不只是知識上的鞏固與提升,也許讓我學到的遠遠不是這些。 參考文獻1 許立梓.微型計算機原理及應(yīng)用
25、.北京:機械工業(yè)出版社,20022 劉樂善.微型計算機接口技術(shù)及應(yīng)用.武漢:華中理工大學出版社,2000 3 鄒逢興.計算機硬件技術(shù)基礎(chǔ)試驗教程.北京:高等教育出版社,20004 周佩玲.16位微型計算機原理接口及其應(yīng)用.北京:中國科學技術(shù)大學出版社,2000 5 吳秀清.微型計算機原理與接口技術(shù).北京:中國科學技術(shù)出版社,20016 鄧亞平.微型計算機接口技術(shù).北京:清華大學出版社,20017 王迎旭.單片機原理及及應(yīng)用.北京:機械工業(yè)出版社,20018 周航慈.單片機應(yīng)用程序設(shè)計技術(shù).北京:北京航空航天大學出版社,20029 謝宜仁.單片機實用技術(shù)問答.北京:人民郵電出版社,2002致 謝
26、 首先要感謝王克進老師對我的悉心指導,無論是在嵌入式的理論講解中,還是在單片機實驗課上,亦或是課程設(shè)計的過程中,都要謝謝老師的教導與幫助,使我學到了理論知識,鍛煉了實踐操作能力,培養(yǎng)了科學的思維,教會了我學習、思考的方法,對以后的學習、工作、生活產(chǎn)生了積極影響,謝謝老師! 同時,在這次課程設(shè)計中也要謝謝關(guān)心幫助我的同學們,謝謝大家的幫助,沒有大家的相互探討,就沒有相互的促進與提高,正是在老師、同學的幫助下,成功的完成了課程設(shè)計。 還要感謝信息工程學院的諸位老師為我們提供了良好的設(shè)計條件,讓我們順利完成此次課程設(shè)計。附 錄/* po控制連接段選,p2連接位選,p1連接矩陣鍵盤 矩陣鍵盤按下按鍵,
27、數(shù)碼管顯示相應(yīng)的數(shù)據(jù) 比賽開始后,初始狀態(tài)為000-000 比賽結(jié)束后,可復位為000-000*/#include<reg51.h>sbit key = p1; / p1連接矩陣鍵盤void led(); /數(shù)碼管顯示void kaishi();/開始或復位void exchange(); /交換得分void guan(); /關(guān)閉void jixu(); /繼續(xù)void ajian(int t); / a-tvoid bjian(int t); /b-tvoid delay(unsigned int i); /延時程序unsigned char keyscan(void); /矩
28、陣鍵盤掃描unsigned int a,b,m;unsigned charj16=0x7e,0x7d,0x7b,0x77,0xbe,0xbd,0xbb,0xb7,0xde,0xdd,0xdb,0xd7,0xee,0xed,0xeb,0xe7; /鍵值unsigned char disp_tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /段選unsigned char dispbit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位選main() a=0;b=0;m=0;while (
29、1) unsigned key;led(); / 顯示數(shù)碼管key=keyscan();/調(diào)用鍵盤掃描, switch (key) case 0x7e: a=a+1;led(); break; /a隊加1case 0x7d: a=a+2;led(); break;/a隊加2case 0x7b: a=a+3;led(); break;/a隊加3case 0x77: a=0;b=0;kaishi(); break; /復位case 0xbe: ajian(1);led(); break;/a隊減1 case 0xbd: ajian(2);led(); break; /a隊減2case 0xbb:
30、ajian(3);led(); break; /a隊減3case 0xb7: jixu(); break; / 暫停,繼續(xù)case 0xde : b=b+1;led(); break; /b隊加1case 0xdd: b=b+2;led(); break;/b隊加2case 0xdb: b=b+3;led(); break;/b隊加3 case 0xd7: exchange();led(); break; /交換比分 case 0xee: bjian(1);led(); break;/b隊減1case 0xed: bjian(2);led(); break;/b隊減2case 0xeb: bj
31、ian(3);led(); break; /b隊減3case 0xe7:guan(); break; /關(guān)閉 void kaishi() m=1; led();void ajian(int t) if(a>=t) a=a-t; void bjian(int t) if(b>=t) b=b-t; void jixu() m=!m; led();void guan() m=0; led();void exchange () unsigned int i; i=a; a=b; b=i;void led() unsigned int i,d,lednumval=1 ; /變量定義 unsi
32、gned int ledout10; /變量定義 unsigned int delaycnt=0; for(d=0;d<30;d+) if(+delaycnt>=20) /控制數(shù)字變化速度 delaycnt=0; /20個掃描周期清零一次 if(m=1) ledout2=disp_taba/100; ledout1=disp_taba%100/10; ledout0=disp_taba%10; ledout3=0x40; ledout4=0x40; ledout7=disp_tabb/100; ledout6=disp_tabb%100/10; ledout5=disp_tabb%
33、10; if(m=0) ledout0=0x40; ledout1=0x40; ledout2=0x40; ledout3=0x40; ledout4=0x40; ledout5=0x40; ledout6=0x40; ledout7=0x40; for( i=0; i<9; i+) p0 = ledouti; /p0控制段選 switch(i) /使用switch 語句控制位選 case 0:p2 = 0x7f; break; case 1:p2 = 0xbf; break; case 2:p2 = 0xdf; break; case 3:p2 = 0xef; break; case 4:p2 = 0xf7; break;case 5:p2 = 0xfb; break;case 6:p2 = 0xfd; break;case 7:p2 = 0xfe; break; delay(150); /掃描間隔時間 太長會數(shù)碼管會有閃爍感 void delay(unsigned int i) char j; for(i; i > 0; i-) for(j = 200; j > 0; j-);unsigned char keyscan(void)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年計算機基礎(chǔ)知識的內(nèi)容劃分研究試題及答案
- 2024年食品質(zhì)檢員考試的心理準備試題及答案
- 解析2024年統(tǒng)計學考試重點試題及答案
- 新進護士崗前培訓
- 美容師當下市場競爭態(tài)勢與分析試題及答案
- 2024年藥理學考試設(shè)計題及答案
- 2024年汽車維修工考試對行業(yè)影響
- 面向?qū)櫸镏鞯臓I養(yǎng)傳播方式試題及答案
- 寵物營養(yǎng)學新技術(shù)對考試的影響與試題及答案
- 2024年寵物營養(yǎng)師考試復習經(jīng)驗與試題及答案
- 腰痛的中醫(yī)適宜技術(shù)
- 2024年電力交易員(高級工)職業(yè)鑒定理論考試題庫(單選題、多選題、判斷題)
- 婦科三基考試題
- 畢業(yè)設(shè)計-基于stm32的智能小車設(shè)計
- 股票賬戶托管合同
- 施工方案應(yīng)經(jīng)濟技術(shù)指標合理
- 配音技巧知識課件
- 《草船借箭》課本劇劇本-4篇
- 《采購工作改進建議》課件
- 屋面防水工程方案
- 期中劃重點:《經(jīng)典常談》重點題及答案
評論
0/150
提交評論