版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于AT89S52單片機(jī)的籃球比賽計(jì)時(shí)計(jì)分器</p><p><b> 摘 要</b></p><p> 籃球比賽計(jì)時(shí)計(jì)分器是為了解決籃球比賽時(shí)計(jì)分與計(jì)時(shí)準(zhǔn)確方便,靈活適用的問(wèn)題。此裝置利用單片機(jī)AT89S52完成了計(jì)時(shí)和計(jì)分的功能。本文詳細(xì)地介紹了系統(tǒng)硬件與軟件的設(shè)計(jì)過(guò)程,采用該裝置可根據(jù)實(shí)際情況進(jìn)行比分修改和時(shí)間的準(zhǔn)確顯示,具有低功耗,
2、可靠性,安全性以及低成本等特點(diǎn)。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī),籃球賽,LCD </p><p><b> ABSTRACT</b></p><p> This time basketball scoring is deviced in order to solve the basketball game scoring exact
3、ly the problem and timing. The device is completed by using microcontroller AT89S52 for timing and scoring functions. This paper introduces the hardware and software’s designing process, </p><p> the device
4、 can be modified according to the actual situation and the time of the accurate score, and display with low power consumption, reliability, safely , low cost and so on.</p><p> Key words: Single Chip Micro
5、computer , basketball, LCD</p><p><b> 目錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 背景知識(shí)介紹1</p><p> 1.2 設(shè)計(jì)內(nèi)容1</p><p> 1.3 設(shè)計(jì)任務(wù)
6、和要求2</p><p> 1.4 設(shè)計(jì)意義2</p><p> 2 系統(tǒng)總體方案設(shè)計(jì)及硬件設(shè)計(jì)介紹2</p><p> 2.1 系統(tǒng)總體方案設(shè)計(jì)2</p><p> 2.2 硬件電路設(shè)計(jì)3</p><p> 2.2.1 時(shí)鐘電路模塊5</p><p> 2.2.
7、2 復(fù)位電路模塊5</p><p> 2.2.3 顯示模塊6</p><p> 2.2.4 報(bào)警模塊7</p><p> 2.2.5 系統(tǒng)電源設(shè)計(jì)7</p><p> 2.2.6 ISP下載線接口8</p><p> 2.2.7 鍵盤接口8</p><p>
8、2.3 系統(tǒng)硬件電路總電路圖9</p><p><b> 3 軟件設(shè)計(jì)10</b></p><p> 3.1 軟件設(shè)計(jì)環(huán)境介紹10</p><p> 3.2 軟件總體設(shè)計(jì)方案10</p><p> 3.2.1 延時(shí)子函數(shù)11</p><p> 3.2.2 液晶顯示分?jǐn)?shù)
9、刷新子程序12</p><p> 3.2.3 T0中斷程序13</p><p> 3.2.4 設(shè)置時(shí)間子函數(shù)14</p><p> 4 硬件焊接與調(diào)試15</p><p> 5 Proteus仿真實(shí)驗(yàn)效果16</p><p><b> 6 總結(jié)17</b></p&g
10、t;<p><b> 參考文獻(xiàn)18</b></p><p> 附錄 源程序19</p><p><b> 致 謝30</b></p><p><b> 1 緒論</b></p><p> 1.1 背景知識(shí)介紹 </p><
11、;p> 體育比賽計(jì)時(shí)計(jì)分系統(tǒng)是對(duì)體育比賽過(guò)程中所產(chǎn)生的時(shí)間、比分等數(shù)據(jù)進(jìn)行快速采集記錄,加工處理,傳遞數(shù)據(jù)的信息系統(tǒng)。根據(jù)不同運(yùn)動(dòng)項(xiàng)目的不同比賽規(guī)則要求,體育比賽的計(jì)時(shí)計(jì)分系統(tǒng)包括測(cè)量類、評(píng)分類、命中類、制勝類得分類等多種類型。</p><p> 籃球比賽是根據(jù)參賽隊(duì)在規(guī)定的比賽時(shí)間里得分多少來(lái)決定勝負(fù)的,因此,籃球比賽的計(jì)時(shí)計(jì)分系統(tǒng)是一種得分類型的系統(tǒng)?;@球比賽的計(jì)時(shí)計(jì)分系統(tǒng)由計(jì)時(shí)器、計(jì)分器等多種電子
12、設(shè)備組成,同時(shí),根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計(jì)時(shí)計(jì)分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場(chǎng)成績(jī)處理、現(xiàn)場(chǎng)大屏幕、電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)高比賽現(xiàn)場(chǎng)感、表演娛樂(lè)觀眾等功能目標(biāo)。</p><p> 由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價(jià)格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),使單片機(jī)迅速得到了推廣應(yīng)用,目前已經(jīng)成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的
13、關(guān)鍵部位。世界各大電氣廠家、測(cè)控技術(shù)企業(yè)、機(jī)電行業(yè),競(jìng)相把單片機(jī)應(yīng)用于產(chǎn)品更新,作為實(shí)現(xiàn)數(shù)字化、智能化的核心部件。本篇設(shè)計(jì)籃球比賽計(jì)時(shí)計(jì)分器就是以單片機(jī)為核心的計(jì)時(shí)計(jì)分系統(tǒng)。</p><p><b> 1.2 設(shè)計(jì)內(nèi)容</b></p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球比賽計(jì)時(shí)計(jì)分器,利用LCD液晶顯示器作為顯示裝置。</p><
14、;p> 液晶顯示器與傳統(tǒng)的數(shù)碼管顯示器相比更節(jié)省單片機(jī)的I/O空間,減少系統(tǒng)設(shè)計(jì)的復(fù)雜程度。此外,液晶顯示具有穩(wěn)定、功耗小等特點(diǎn),特別適用與手持設(shè)備,而且液晶顯示器內(nèi)部集成的有存儲(chǔ)芯片,能夠保持當(dāng)前數(shù)據(jù),避免了系統(tǒng)CPU頻繁刷新電路所做的無(wú)用功,進(jìn)一步減少系統(tǒng)能量的開(kāi)銷和軟件設(shè)計(jì)時(shí)的復(fù)雜度。</p><p> 本系統(tǒng)由軟件設(shè)計(jì)為4節(jié)比賽,可設(shè)置單節(jié)比賽時(shí)間,分4節(jié)比賽倒計(jì)時(shí)設(shè)定??蛇m用于不同比賽時(shí)間規(guī)格
15、的比賽使用。另外本設(shè)計(jì)增加了ISP編程接口,可在硬件固化的情況下通過(guò)下載線升級(jí)內(nèi)部程序,以達(dá)到更多場(chǎng)合的計(jì)時(shí)計(jì)分應(yīng)用。此設(shè)計(jì)使系統(tǒng)功能更加強(qiáng)大,可以不局限于單一的一種比賽模式的應(yīng)用。</p><p> 其次,為了配合計(jì)時(shí)計(jì)分器校正調(diào)整比分,我們特定在本設(shè)計(jì)中設(shè)立了4個(gè)按鍵,通過(guò)按鍵的功能復(fù)用實(shí)現(xiàn)設(shè)置時(shí)間、調(diào)整時(shí)間、啟動(dòng)、調(diào)整分?jǐn)?shù)和暫停等功能。采用單片機(jī)控制使這個(gè)系統(tǒng)按鍵操作使用簡(jiǎn)潔,低功耗,安裝方便。</
16、p><p> 1.3 設(shè)計(jì)任務(wù)和要求</p><p> 任務(wù):設(shè)計(jì)一個(gè)適用于多種規(guī)格比賽的籃球比賽計(jì)時(shí)計(jì)分器。</p><p> 要求:1、能記錄整個(gè)賽程的比賽時(shí)間,并能隨時(shí)實(shí)現(xiàn)暫停和繼續(xù)。 </p><p> 2、能隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)過(guò)程中的比分。
17、 </p><p> 3、中場(chǎng)交換比賽場(chǎng)地時(shí),能自動(dòng)交換甲、乙兩隊(duì)比分的位置。 </p><p> 4、比賽中場(chǎng)和結(jié)束時(shí),能發(fā)出報(bào)警。</p><p> 5、通過(guò)液晶顯示數(shù)字指示場(chǎng)次。</p><p> 6、加分有誤
18、時(shí)可通過(guò)按鍵實(shí)現(xiàn)減分調(diào)整。</p><p> 7、可設(shè)置比賽時(shí)間,使系統(tǒng)能用于不同比賽規(guī)則的場(chǎng)合。</p><p><b> 1.4 設(shè)計(jì)意義</b></p><p> 畢業(yè)設(shè)計(jì)使我們進(jìn)一步熟悉和掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟,掌握了電子繪圖軟件Protel及仿真軟件Proteus的使用方法,
19、鍵盤和顯示器在單片機(jī)控制系統(tǒng)中的應(yīng)用以及撰寫畢業(yè)設(shè)計(jì)論文的方法。此次設(shè)計(jì)很好的將書本上的理論知識(shí)和實(shí)踐有機(jī)的聯(lián)系了起來(lái),使我們對(duì)理論知識(shí)有了更進(jìn)一步的掌握,鍛煉了我們的動(dòng)手能力,同時(shí)也讓我們懂得了理論與實(shí)際相結(jié)合的意義。為以后的工作和學(xué)習(xí)提供了寶貴的經(jīng)驗(yàn)。</p><p> 2 系統(tǒng)總體方案設(shè)計(jì)及硬件設(shè)計(jì)介紹</p><p> 2.1 系統(tǒng)總體方案設(shè)計(jì)</p><p
20、><b> 圖2-1系統(tǒng)框圖</b></p><p> 籃球比賽計(jì)時(shí)計(jì)分器主要包括單片機(jī)控制系統(tǒng)、計(jì)時(shí)計(jì)分顯示模塊、定時(shí)報(bào)警、按鍵控制鍵盤模塊和供電電源模塊。通過(guò)這幾個(gè)模塊的協(xié)調(diào)工作就可以完成相應(yīng)的計(jì)時(shí)計(jì)分控制和顯示功能。模塊框圖如圖2-1所示。 </p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球計(jì)時(shí)計(jì)分器,利用1602液晶顯示器作為顯示器件。LC
21、D1602共分兩行顯示。首行的第一位用于顯示當(dāng)前比賽的節(jié)數(shù),程序初始化并設(shè)定單節(jié)比賽時(shí)間后開(kāi)始顯示。第一行的其他位用于顯示比賽雙方所得分?jǐn)?shù)。分別用A和B來(lái)區(qū)別兩隊(duì)。中場(chǎng)時(shí)交換雙方顯示位置。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開(kāi)始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到本節(jié)時(shí)間為零,結(jié)束本節(jié)比賽,同時(shí)紅色發(fā)光二極管報(bào)警顯示,時(shí)間刷新為下一節(jié)準(zhǔn)備,等待開(kāi)始。</p><p> 2.2 硬件電路設(shè)計(jì)</p><p>
22、 系統(tǒng)控制中心單片機(jī)AT89S52簡(jiǎn)介</p><p> AT89S52是一個(gè)低功耗、高性能8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的單片機(jī)
23、AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 本設(shè)計(jì)所采用的AT89S52為DIP40封裝形式,引腳結(jié)構(gòu)如圖2-2。除8k Bytes Flash片內(nèi)程序存儲(chǔ)器外,還有256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,8個(gè)中斷源,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。</p>&
24、lt;p> 圖 2-2 AT89S52單片機(jī)引腳圖</p><p> AT89S52單片機(jī)引腳說(shuō)明如下:</p><p> Vcc:電源端,接+5V。 Vss:接地端。</p><p> XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸入端。</p><
25、;p> XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘時(shí),該引腳必須懸空。</p><p> 地址鎖存允許信號(hào)ALE:系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。此外,ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,可作為外部時(shí)鐘或外部定時(shí)脈沖使用。</p><p> PSEN
26、 :PSEN是讀外部程序存儲(chǔ)器的選通信號(hào),低電平有效。</p><p> 訪問(wèn)程序存儲(chǔ)器控制信號(hào)EA:當(dāng)為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過(guò)0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。當(dāng)為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。</p><p> 復(fù)位信號(hào)RST:該信號(hào)高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。</p>
27、<p> P0口(P0.0~P0.7):該端口為漏極開(kāi)路的8位準(zhǔn)雙向I/O口,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口,使用時(shí)需接外部上拉電阻。在訪問(wèn)外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的低8位地址線。</p><p> P1口(P1.0~P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,作為輸入口使用時(shí),應(yīng)先向其內(nèi)部鎖存器寫1。</p><p> P2口(P2.0~P2.7
28、):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,作為輸入口時(shí)同樣需先向其內(nèi)部鎖存器寫1。在訪問(wèn)外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。</p><p> P3口(P3.0~P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有第二引腳功能,具體如表2-1所示。</p><p> 表2-1 P3口線的第二功能</p&g
29、t;<p> 2.2.1時(shí)鐘電路模塊</p><p> 時(shí)鐘電路在單片機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘是保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢。根據(jù)不同需要可以采用不同頻率的晶振,這里采用12MHZ的晶振,另外有兩個(gè)30pF的電容,兩晶振引腳分別連到XTAL1和XTAL2振蕩脈沖輸入
30、輸出引腳。具體連接圖如圖2-3所示。</p><p> 圖2-3 晶振電路</p><p> 外接石英晶體或者陶瓷諧振器以及電容C1,C2接在單片機(jī)內(nèi)部放大器的反饋電路中構(gòu)成諧振電路。諧振器本身對(duì)外接電容C1、C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度以及溫度的穩(wěn)定性,如果使用石英晶體,推薦使用30pF,而使用陶瓷
31、諧振器建議選擇40pF。</p><p> 2.2.2 復(fù)位電路模塊</p><p> 圖 2-4 復(fù)位電路</p><p> 復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,可以按復(fù)位鍵以重新啟動(dòng),也可以通
32、過(guò)監(jiān)視定時(shí)器來(lái)強(qiáng)迫復(fù)位。RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位電路在這里采用的是上電加按鍵復(fù)位電路形式,具體連接電路如圖2-4。</p><p><b> 2.2.3顯示模塊</b></p><p> 本設(shè)計(jì)采用1602液晶顯示器顯示。第一行的第一位用數(shù)字標(biāo)識(shí)當(dāng)前比賽節(jié)數(shù),設(shè)置好比賽時(shí)間后開(kāi)始顯示。本程序中設(shè)置為4節(jié)比賽,程序初始化后通過(guò)鍵盤來(lái)設(shè)置單節(jié)比賽時(shí)間。第一行
33、用A和B來(lái)區(qū)別比賽雙方,并分別在其后用三位數(shù)字標(biāo)識(shí)比賽得分。第二行顯示時(shí)間。初始化時(shí)顯示時(shí)間設(shè)置,之后顯示時(shí)間倒計(jì)時(shí)。圖2-5所示為1602的電氣連接屬性。圖2-6為Proteus仿真效果圖。表2-2為1602的引腳說(shuō)明。</p><p> 圖2-5 1602液晶顯示器電氣連接圖</p><p> 圖2-6 Proteus仿真效果</p><p&g
34、t; 表2-2 1602的引腳說(shuō)明</p><p> 液晶顯示偏壓信號(hào)是指用于驅(qū)動(dòng)LCD上的像素點(diǎn)改變顏色所用的電壓,此電壓可能接近GND也可能接近Vcc,視芯片不同而有所不同。本系統(tǒng)用的1602是接近GND。</p><p> 2.2.4 報(bào)警模塊</p><p> 本設(shè)計(jì)通過(guò)P2.0口來(lái)控制紅色發(fā)光二極管顯示報(bào)警。前三節(jié)結(jié)束時(shí)紅色發(fā)光二極管閃爍
35、,按下開(kāi)始鍵開(kāi)始下一節(jié)比賽,同時(shí)發(fā)光二極管停止閃爍并熄滅。四節(jié)比賽結(jié)束后發(fā)光二極管由滅轉(zhuǎn)為常亮。具體連接電路圖如圖2-7所示。</p><p> 圖2-7 報(bào)警LED電氣連接圖</p><p> 2.2.5系統(tǒng)電源設(shè)計(jì)</p><p> 為51系列單片機(jī)系統(tǒng)提供的電源為穩(wěn)定的5V直流電源。本例用一個(gè)7805芯片為系統(tǒng)提供穩(wěn)定的5V直流電源。</p&
36、gt;<p> 7805穩(wěn)壓芯片能提供多種固定的輸出電壓,應(yīng)用范圍廣。其內(nèi)部含過(guò)熱保護(hù),短路保護(hù),輸出電流可達(dá)1A。雖然該芯片是固定穩(wěn)壓電路,但使用不同的外接元件,可獲得不同的電壓輸出。25℃時(shí)輸出電壓范圍為5~18V。本系統(tǒng)7805的輸入電壓為9V直流電壓。9V直流電壓可用普通干電池提供,也可以用市面上很容易買到的普通變壓器提供。7805對(duì)輸入電壓要求不高,但輸入電壓一般應(yīng)大于所需輸出電壓2V以上。</p>
37、<p> 在7805與9V電源之間用一個(gè)IN4001整流二極管來(lái)提高系統(tǒng)的安全性。IN4001能提供正向最大電流1A,最大反向峰值電壓50V,防止了電源反接或電源不穩(wěn)定給系統(tǒng)帶來(lái)的安全隱患。7805的5V調(diào)控輸出采用生產(chǎn)該芯片的公司提供的經(jīng)典電路。在輸出端5V電壓處接一個(gè)藍(lán)色發(fā)光二極管來(lái)做為電源指示燈。具體電氣連接如圖2-8所示。</p><p> 圖2-8 系統(tǒng)電源</p>
38、<p> 2.2.6 ISP下載線接口</p><p> 由于系統(tǒng)采用的單片機(jī)為AT89S52單片機(jī),為更方便系統(tǒng)的重復(fù)可用性及系統(tǒng)的維護(hù)性,本設(shè)計(jì)增加了在系統(tǒng)可編程的ISP下載線接口。只要擁有一根下載線,就能很方便快捷的對(duì)系統(tǒng)單片機(jī)進(jìn)行程序的下載及系統(tǒng)維護(hù)升級(jí)。Atmel公司的AT89系列單片機(jī)應(yīng)用非常廣泛,所以很容易就能配到下載程序的下載線,有興趣者也可以自己動(dòng)手做一個(gè)單片機(jī)程序下載線。圖2-
39、9為ISP下載線接口和單片機(jī)的引腳連接屬性。</p><p> 圖2-9 ISP下載線接口</p><p> 2.2.7 鍵盤接口</p><p> 本系統(tǒng)設(shè)計(jì)除復(fù)位按鍵外共配置了4個(gè)獨(dú)立鍵盤來(lái)實(shí)現(xiàn)系統(tǒng)功能的控制。4個(gè)獨(dú)立鍵盤分別為s1、s2、s3、s4,分別連接到單片機(jī)的P0口的低四位。配合程序設(shè)計(jì),在系統(tǒng)初始化時(shí)等待配置比賽時(shí)間,通過(guò)s2加時(shí)間和
40、s3減時(shí)間,s4鍵退出時(shí)間配置并切入到等待比賽開(kāi)始狀態(tài)。這種設(shè)計(jì)使系統(tǒng)能應(yīng)用于不同比賽時(shí)間規(guī)格的各種場(chǎng)合當(dāng)中,使系統(tǒng)產(chǎn)品的用途更加廣泛。設(shè)置時(shí)間結(jié)束后進(jìn)入正常計(jì)時(shí)計(jì)分模式。其中s1用來(lái)控制比賽的開(kāi)始和暫停,s2用來(lái)調(diào)節(jié)閃爍光標(biāo)的位置,以標(biāo)識(shí)當(dāng)前球隊(duì)處于分?jǐn)?shù)刷新模式狀態(tài)下,光標(biāo)不閃爍表明退出分?jǐn)?shù)刷新。當(dāng)處于分?jǐn)?shù)刷新模式下光標(biāo)閃爍時(shí),s3和s4鍵分別用來(lái)加分</p><p> 和減分。如圖2-10所示。</p
41、><p> 圖2-10 鍵盤接口</p><p> 2.3 系統(tǒng)硬件電路總電路圖</p><p> 圖2-11為Protel中生成的系統(tǒng)總電路圖</p><p> 圖2-11 系統(tǒng)總電路圖</p><p><b> 3 軟件設(shè)計(jì)</b></p><p>
42、 軟件的編程設(shè)計(jì)是單片機(jī)系統(tǒng)設(shè)計(jì)的核心部分,也是能否實(shí)現(xiàn)預(yù)定功能的關(guān)鍵。單片機(jī)編程常用的語(yǔ)言是C語(yǔ)言和匯編語(yǔ)言,最終都要轉(zhuǎn)為Intel HEX格式或二進(jìn)制格式(Binary)文件寫入單片機(jī)芯片內(nèi)。這里我們使用的是C語(yǔ)言進(jìn)行編程設(shè)計(jì)。</p><p> 在設(shè)計(jì)程序之前,我們首先要對(duì)單片機(jī)應(yīng)用系統(tǒng)預(yù)完成的任務(wù)進(jìn)行深入的分析,明確系統(tǒng)的設(shè)計(jì)任務(wù)、功能要求和技術(shù)指標(biāo)。其次,要對(duì)系統(tǒng)的硬件資源和工作環(huán)境進(jìn)行分析。這是單片
43、機(jī)應(yīng)用系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)和條件。</p><p> 3.1 軟件設(shè)計(jì)環(huán)境介紹</p><p> Keil是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能、結(jié)構(gòu)、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編
44、譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p> 3.2 軟件總體設(shè)計(jì)方案</p><p> 籃球比賽計(jì)時(shí)計(jì)分器軟件設(shè)計(jì)部分采用模塊化程序設(shè)計(jì),程序部分由主程序、T0中斷程序、T1中斷程序、計(jì)時(shí)計(jì)分刷新顯示子程序、鍵盤掃描控制子程序、延時(shí)子程序等組成。</p
45、><p> 圖3-1為分?jǐn)?shù)刷新子程序流程,3-2為主程序流程。</p><p> 圖3-1 分?jǐn)?shù)刷新子程序</p><p> 圖3-2 主程序流程圖</p><p> 以下舉例介紹部分子程序。</p><p> 3.2.1延時(shí)子函數(shù) </p><p> vo
46、id delay(unsigned char c)//延時(shí)子函數(shù) </p><p><b> {</b></p><p> unsigned char x,y;</p><p> for(x=c;x>0;x--)</p><p> for(y=80;y>0;y--);</p><p
47、><b> }</b></p><p> 3.2.2 液晶顯示分?jǐn)?shù)刷新子程序</p><p> void writsfm(unsigned char dui,unsigned char fen)</p><p><b> {</b></p><p> unsigned char i,
48、j,k;//用3位數(shù)顯示分?jǐn)?shù) </p><p> i=fen/100;</p><p> j=fen%100/10;</p><p><b> k=fen%10;</b></p><p> if(0==f||1==f)//上下半場(chǎng)A,B兩隊(duì)分?jǐn)?shù)顯示 的位置不同 </p><p><b
49、> {</b></p><p> if(0==dui)</p><p><b> {</b></p><p> writcom(0x80+4);</p><p> writdata(i+0x30);</p><p> writdata(j+0x30);</p&g
50、t;<p> writdata(k+0x30);</p><p><b> }</b></p><p> if(1==dui)</p><p><b> {</b></p><p> writcom(0x80+11);</p><p> writ
51、data(i+0x30);</p><p> writdata(j+0x30);</p><p> writdata(k+0x30);</p><p><b> }}</b></p><p> if(2==f||3==f)</p><p><b> {</b>
52、</p><p> if(0==dui)</p><p><b> {</b></p><p> writcom(0x80+11);</p><p> writdata(i+0x30);</p><p> writdata(j+0x30);</p><p> w
53、ritdata(k+0x30);</p><p><b> }</b></p><p> if(1==dui)</p><p><b> {</b></p><p> writcom(0x80+4);</p><p> writdata(i+0x30);<
54、/p><p> writdata(j+0x30);</p><p> writdata(k+0x30);</p><p><b> }}}</b></p><p> 液晶顯示控制分為寫數(shù)據(jù)控制和寫命令控制,寫數(shù)據(jù)與寫命令分時(shí)操作。由于液晶寫數(shù)據(jù)和寫命令子函數(shù)中都存在延時(shí)操作,且液晶寫數(shù)據(jù)命令必須緊跟相應(yīng)的寫命令
55、子函數(shù)后執(zhí)行,所以分?jǐn)?shù)刷新顯示函數(shù)及下面的定時(shí)器中斷后的時(shí)間刷新顯示函數(shù)都應(yīng)放在中斷函數(shù)外執(zhí)行,避免正在執(zhí)行寫命令操作時(shí)發(fā)生中斷跳轉(zhuǎn),從而影響后面的寫數(shù)據(jù)操作。</p><p> 3.2.3 T0中斷程序</p><p> void tim0() interrupt 1//定時(shí)器0中斷入口 </p><p><b> {</b></
56、p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> aa++;</b></p><p> if(0==f||1==f||2==f)</p><p><b> {</b>&l
57、t;/p><p> if(aa==20)</p><p><b> {</b></p><p><b> aa=0;</b></p><p><b> miao--;</b></p><p> if(255==miao)</p>&l
58、t;p><b> {</b></p><p><b> miao=59;</b></p><p><b> fen--;</b></p><p><b> }</b></p><p> if(0==fen&&0==miao)
59、</p><p><b> {</b></p><p><b> f++;</b></p><p><b> flag=0;</b></p><p><b> fen=time;</b></p><p><b>
60、 TR0=0;</b></p><p><b> TR1=1;</b></p><p><b> }}}</b></p><p><b> if(3==f)</b></p><p><b> {</b></p><p
61、> if(20==aa)</p><p><b> {</b></p><p><b> aa=0;</b></p><p><b> miao--;</b></p><p> if(255==miao)</p><p><b>
62、; {</b></p><p><b> miao=59;</b></p><p><b> fen--;</b></p><p><b> }</b></p><p> if(0==fen&&0==miao)</p>&l
63、t;p><b> {</b></p><p> P2_0=0;//全場(chǎng)結(jié)束LED顯示 </p><p><b> TR0=0;</b></p><p><b> } } } }</b></p><p> 3.2.4 設(shè)置時(shí)間子函數(shù)</p><
64、;p> void settime(void)//設(shè)置時(shí)間函數(shù)入口 </p><p><b> {</b></p><p> unsigned char flag;</p><p><b> time=0;</b></p><p><b> fen=time;</b&
65、gt;</p><p> writtime();</p><p> while(!flag)</p><p><b> {</b></p><p> if(0==key3)</p><p><b> {</b></p><p> delay
66、(20);</p><p> if(0==key3)</p><p><b> {</b></p><p> while(!key3);</p><p><b> flag=1;</b></p><p><b> }}</b></p>
67、;<p> if(0==key1)</p><p><b> {</b></p><p> delay(20);</p><p> if(0==key1)</p><p><b> {</b></p><p> while(!key1);</p
68、><p><b> time++;</b></p><p><b> fen=time;</b></p><p> writtime();</p><p><b> }}</b></p><p> if(0==key2)</p>&l
69、t;p><b> {</b></p><p> delay(20);</p><p> if(0==key2)</p><p><b> {</b></p><p> while(!key2);</p><p><b> time--;</b
70、></p><p><b> fen=time;</b></p><p> writtime();</p><p><b> }}}}</b></p><p><b> 4 硬件焊接與調(diào)試</b></p><p> 對(duì)照原理圖進(jìn)行焊接工作
71、,應(yīng)先把硬件依次正確插到電路板上相應(yīng)的位置,然后再次檢查器件是否都正確,確定無(wú)誤后進(jìn)行焊接。在焊接的過(guò)程中要注意不要將相臨的兩個(gè)引腳焊接在一起,防止短路影響使用。</p><p> 硬件連接好以后,通過(guò)ISP下載線向單片機(jī)內(nèi)燒制HEX程序,觀察各部分工作情況。硬件實(shí)物如圖4-1。</p><p> 圖4-1 實(shí)物硬件圖</p><p> 5 Prot
72、eus仿真實(shí)驗(yàn)效果</p><p> 圖5-1 Proteus仿真效果圖</p><p><b> 6 總結(jié)</b></p><p> 在本次畢業(yè)設(shè)計(jì)中,我通過(guò)基于典型單片機(jī)AT89S52的設(shè)計(jì)和應(yīng)用,對(duì)單片機(jī)的工作原理及功能有了更加深刻的了解,并對(duì)單片機(jī)程序語(yǔ)言設(shè)計(jì)有了新的、進(jìn)一步的認(rèn)識(shí)。</p><p>
73、 在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,給我的感覺(jué)就是下手很難,很不順手,看似很簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來(lái),是很難的一件事,主要原因是我們沒(méi)有經(jīng)常動(dòng)手設(shè)計(jì)過(guò)電路。另外單片機(jī)系統(tǒng)的知識(shí)似懂非懂,而且很多知識(shí)當(dāng)時(shí)弄明白了,現(xiàn)在要用的時(shí)候又不記得,造成我用了大量的時(shí)間去查閱各種資料和程序命令,因此整個(gè)過(guò)程時(shí)間安排不合理。由于設(shè)計(jì)的計(jì)劃沒(méi)有安排好,設(shè)計(jì)的時(shí)間極為倉(cāng)促,尤其是在硬件調(diào)試的過(guò)程中出現(xiàn)了很大的問(wèn)題。另外資料的查找也是一大難題,
74、這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會(huì)把從書本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來(lái),這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 余發(fā)山. 單片機(jī)原理及應(yīng)用技術(shù) [M]. 中國(guó)礦業(yè)大學(xué)出社,2003</p><p> [2] 余錫
75、存. 單片機(jī)原理及接口技術(shù)[M]. 西安:西安電子科技大學(xué)出版社,2004</p><p> [3] 劉法治.常用電子器件及典型芯片應(yīng)用技術(shù)[M] .機(jī)械工業(yè)出版社,2007</p><p> [4] 何立民.MSC--51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京航空航天大學(xué)出版社,1993</p><p> [5] 劉建輝. 單片機(jī)智能控制技術(shù)[M]. 北京:國(guó)
76、防工業(yè)出版社,2007</p><p> [6] 常斗南. 可編程控制器[M]. 北京:機(jī)械工業(yè)出版社,1998</p><p> [7] 馬潮. AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M]. 北京航空航天大學(xué)出版社,2009</p><p> [8] 求是科技. 單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M]. 人民郵電出版社,2008</p><
77、;p> [9] 戴佳,苗龍,陳斌. 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)典型實(shí)例[M]. 北京:中國(guó)電力出版社,2005</p><p> [10] 沈紅衛(wèi). 基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M]. 北京:電子工業(yè)出版社,2005</p><p> [11] 李東生. Protel99 SE電路設(shè)計(jì)技術(shù)入門與應(yīng)用[M]. 北京:電子工業(yè)出版社,2002</p><p>&
78、lt;b> 附錄 源程序</b></p><p> /******************************************************************</p><p> 籃球比賽計(jì)時(shí)計(jì)分器 </p><p> mcu : AT89s52</p><p> 12MHZ晶振頻率
79、 </p><p> EDITED BY LIUJUNJIE 2010-04-19</p><p> *******************************************************************/</p><p> #include <AT89X52.H></p><p> voi
80、d writdata(unsigned char );//寫液晶數(shù)據(jù) </p><p> void writcom(unsigned char );//寫液晶命令 </p><p> void init(void);//初始化 </p><p> void writsfm(unsigned char,unsigned char);//寫分?jǐn)?shù)刷新 </p&
81、gt;<p> void writtime(void);//寫時(shí)間刷新 </p><p> void settime(void);//設(shè)置比賽時(shí)間 </p><p> sbit rs=P2^4;//液晶控制位定義 </p><p> sbit rw=P2^5;</p><p> sbit en=P2^6;</p
82、><p> sbit key0=P1^0;//獨(dú)立鍵盤位定義 </p><p> sbit key1=P1^1;</p><p> sbit key2=P1^2;</p><p> sbit key3=P1^3;</p><p> unsigned char time,fen,miao,aa,bb,f,numa,
83、numb,flag;</p><p> void delay(unsigned char c)//延時(shí)子數(shù) </p><p><b> {</b></p><p> unsigned char x,y;</p><p> for(x=c;x>0;x--)</p><p> for(
84、y=80;y>0;y--);</p><p><b> }</b></p><p> void main()//主函數(shù)入口 </p><p><b> {</b></p><p><b> init();</b></p><p> set
85、time();</p><p><b> while(1)</b></p><p><b> {</b></p><p> unsigned char gb,i;//定義光標(biāo)閃爍位置變量 </p><p> writcom(0x80);//顯示當(dāng)前比賽節(jié)數(shù) </p><
86、p> writdata(f+0x31);</p><p> if(2==f&&0==i)//換場(chǎng)地后刷新分?jǐn)?shù)顯示 </p><p><b> {</b></p><p><b> i=1;</b></p><p> writcom(0x80+2);</p>
87、<p> writdata('B');</p><p> writcom(0x80+9);</p><p> writdata('A');</p><p> writsfm(0,numa);</p><p> writsfm(1,numb);</p><p>&l
88、t;b> }</b></p><p> writtime();//液晶工作方式是寫指令與寫數(shù)據(jù)分時(shí)工作,</p><p> //所以在中斷中寫時(shí)間會(huì)影響其他顯示 </p><p> if(0==key0)//key0控制時(shí)間啟停 </p><p><b> {</b></p>
89、<p> delay(20);</p><p> if(0==key0)</p><p><b> {</b></p><p> while(!key0);</p><p><b> P2_0=1;</b></p><p><b> fla
90、g++;</b></p><p> if(2==flag)flag=0;</p><p> if(1==flag)TR0=1;</p><p> if(0==flag) TR0=0;</p><p><b> TR1=0;</b></p><p><b> }<
91、;/b></p><p><b> }</b></p><p> if(0==key1)//key1表示調(diào)整分?jǐn)?shù)的位置 </p><p><b> {</b></p><p> delay(20);</p><p> if(0==key1)</p>
92、<p><b> {</b></p><p> while(!key1);</p><p><b> gb++;</b></p><p> if(3==gb)gb=0;</p><p><b> }</b></p><p><
93、;b> }</b></p><p> switch (gb)//控制光標(biāo)閃爍的判斷 </p><p><b> {</b></p><p> case 1://標(biāo)志A隊(duì)分?jǐn)?shù)調(diào)整 </p><p> if(0==f||1==f)//表示上半場(chǎng) </p><p><
94、;b> {</b></p><p> writcom(0x80+6);</p><p> writcom(0x0f);delay(60); writcom(0x0c);</p><p><b> }</b></p><p> if(2==f||3==f)//表示下半場(chǎng) </p>
95、<p><b> {</b></p><p> writcom(0x80+13);</p><p> writcom(0x0f);delay(60);writcom(0x0c);</p><p><b> }</b></p><p><b> break;</b&
96、gt;</p><p> case 2://標(biāo)志B隊(duì)分?jǐn)?shù)調(diào)整 </p><p> if(0==f||1==f)</p><p><b> {</b></p><p> writcom(0x80+13);</p><p> writcom(0x0f);delay(60);writco
97、m(0x0c);</p><p><b> }</b></p><p> if(2==f||3==f)</p><p><b> {</b></p><p> writcom(0x80+6);</p><p> writcom(0x0f);delay(60);wri
98、tcom(0x0c);</p><p><b> }</b></p><p><b> break;</b></p><p> case 0:writcom(0x0c);break;//非分?jǐn)?shù)調(diào)整模式 </p><p> default:break;</p><p>
99、<b> }</b></p><p> if(1==gb)//A隊(duì)分?jǐn)?shù)調(diào)整的函數(shù)入口 </p><p><b> {</b></p><p> if(0==key2)</p><p><b> {</b></p><p> delay(20)
100、;</p><p> if(0==key2)</p><p><b> {</b></p><p> while(!key2);</p><p><b> numa++;</b></p><p><b> }</b></p>&l
101、t;p><b> }</b></p><p> if(0==key3)</p><p><b> {</b></p><p> delay(20);</p><p> if(0==key3)</p><p><b> {</b><
102、/p><p> while(!key3);</p><p><b> numa--;</b></p><p><b> }</b></p><p><b> }</b></p><p> writsfm(0,numa);//分?jǐn)?shù)刷新 </p&
103、gt;<p><b> }</b></p><p> if(2==gb)//B隊(duì)分?jǐn)?shù)調(diào)整的函數(shù)入口 </p><p><b> {</b></p><p> if(0==key2)</p><p><b> {</b></p><p&
104、gt; delay(20);</p><p> if(0==key2)</p><p><b> {</b></p><p> while(!key2);</p><p><b> numb++;</b></p><p><b> }</b>
105、</p><p><b> }</b></p><p> if(0==key3)</p><p><b> {</b></p><p> delay(20);</p><p> if(0==key3)</p><p><b> {
106、</b></p><p> while(!key3);</p><p><b> numb--;</b></p><p><b> }</b></p><p><b> }</b></p><p> writsfm(1,numb);
107、//分?jǐn)?shù)刷新 </p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void init(void)//初始化子函數(shù)入口 </p><p><b&g
108、t; {</b></p><p><b> en=0;</b></p><p><b> delay(1);</b></p><p> writcom(0x38); //兩行,8位 </p><p> writcom(0x38); </p><p>
109、writcom(0x38); </p><p> writcom(0x06);//AC自增1 </p><p> writcom(0x0c);//顯示,光標(biāo) </p><p> writcom(0x01); //顯示清屏 </p><p> writcom(0x80);//DDROM起始地址設(shè)置 </p><p&
110、gt; TMOD=0x11;//設(shè)置定時(shí)器參數(shù) </p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p> TH1=(65536-50000)/256;</p><p> TL1=(65536-50000)%256;</p><
111、;p> IE=0x8a;//開(kāi)中斷允許 </p><p> delay(40);</p><p> writcom(0x80+2);//初始化顯示 </p><p> writdata('A');</p><p> writdata(':');</p><p> wri
112、tsfm(0,numa);</p><p> writcom(0x80+9);</p><p> writdata('B');</p><p> writdata(':');</p><p> writsfm(1,numb);</p><p> writcom(0xc0+2);
113、</p><p> writdata('T');</p><p> writdata('I');</p><p> writdata('M');</p><p> writdata('E');</p><p> writdata(':
114、39;);</p><p><b> }</b></p><p> void writdata(unsigned char c)//寫數(shù)據(jù)子函數(shù) </p><p><b> {</b></p><p><b> delay(1);</b></p><
115、p><b> en=0;</b></p><p><b> rs=1;</b></p><p><b> rw=0;</b></p><p><b> en=1;</b></p><p><b> P0=c;</b>&
116、lt;/p><p><b> en=0;</b></p><p><b> }</b></p><p> void writcom(unsigned char c)//寫命令子函數(shù) </p><p><b> {</b></p><p><b&
117、gt; delay(1);</b></p><p><b> en=0;</b></p><p><b> rs=0;</b></p><p><b> rw=0;</b></p><p><b> en=1;</b></p&g
118、t;<p><b> P0=c;</b></p><p><b> en=0;</b></p><p><b> }</b></p><p> void tim0() interrupt 1//定時(shí)器0中斷入口 </p><p><b> {
119、</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> aa++;</b></p><p> if(0==f||1==f||2==f)</p><p><b>
120、; {</b></p><p> if(aa==20)</p><p><b> {</b></p><p><b> aa=0;</b></p><p><b> miao--;</b></p><p> if(255==mia
121、o)</p><p><b> {</b></p><p><b> miao=59;</b></p><p><b> fen--;</b></p><p><b> }</b></p><p> if(0==fen&a
122、mp;&0==miao)</p><p><b> {</b></p><p><b> f++;</b></p><p><b> flag=0;</b></p><p><b> fen=time;</b></p><
123、;p><b> TR0=0;</b></p><p><b> TR1=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
124、<p><b> if(3==f)</b></p><p><b> {</b></p><p> if(aa==20)</p><p><b> {</b></p><p><b> aa=0;</b></p>&l
125、t;p><b> miao--;</b></p><p> if(255==miao)</p><p><b> {</b></p><p><b> miao=59;</b></p><p><b> fen--;</b></p&
126、gt;<p><b> }</b></p><p> if(0==fen&&0==miao)</p><p><b> {</b></p><p> P2_0=0;//全場(chǎng)結(jié)束LED顯示 </p><p><b> TR0=0;</b>&
127、lt;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> //定時(shí)器1中斷入口函數(shù) </p>&
128、lt;p> //控制LED的閃爍 </p><p> void time1() interrupt 3</p><p><b> {</b></p><p> TH1=(65536-50000)/256;</p><p> TL1=(65536-50000)%256;</p><p&g
129、t;<b> bb++;</b></p><p> if(10==bb)</p><p><b> {</b></p><p><b> bb=0;</b></p><p> P2_0=!P2_0;</p><p><b> }&l
130、t;/b></p><p><b> }</b></p><p> //分?jǐn)?shù)刷新函數(shù)入口 </p><p> void writsfm(unsigned char dui,unsigned char fen)</p><p><b> {</b></p><p>
131、; unsigned char i,j,k;//用3位數(shù)顯示分?jǐn)?shù) </p><p> i=fen/100;</p><p> j=fen%100/10;</p><p><b> k=fen%10;</b></p><p> if(0==f||1==f)//上下半場(chǎng)A,B兩隊(duì)分?jǐn)?shù)顯示 的位置不同 </p&
132、gt;<p><b> {</b></p><p> if(0==dui)</p><p><b> {</b></p><p> writcom(0x80+4);</p><p> writdata(i+0x30);</p><p> writda
133、ta(j+0x30);</p><p> writdata(k+0x30);</p><p><b> }</b></p><p> if(1==dui)</p><p><b> {</b></p><p> writcom(0x80+11);</p&g
134、t;<p> writdata(i+0x30);</p><p> writdata(j+0x30);</p><p> writdata(k+0x30);</p><p><b> }</b></p><p><b> }</b></p><p
135、> if(2==f||3==f)</p><p><b> {</b></p><p> if(0==dui)</p><p><b> {</b></p><p> writcom(0x80+11);</p><p> writdata(i+0x30);&
136、lt;/p><p> writdata(j+0x30);</p><p> writdata(k+0x30);</p><p><b> }</b></p><p> if(1==dui)</p><p><b> {</b></p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)-基于at89s52單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 基于at89s52的籃球計(jì)時(shí)計(jì)分器畢業(yè)論文
- 基于單片機(jī)的籃球比賽計(jì)時(shí)計(jì)分系統(tǒng)設(shè)計(jì).pdf
- 基于at89s51單片機(jī)籃球比賽計(jì)時(shí)器的設(shè)計(jì)
- 基于at89s51單片機(jī)籃球比賽計(jì)時(shí)器的設(shè)計(jì)
- 基于at89s52的足球籃球雙用計(jì)時(shí)計(jì)分器畢業(yè)論文
- -基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---籃球比賽計(jì)分計(jì)時(shí)器
- 籃球比賽計(jì)時(shí)計(jì)分系統(tǒng)
- 基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)-籃球比賽倒計(jì)時(shí)計(jì)分器(論文+外文翻譯+程序)
- 單片機(jī)課程設(shè)計(jì)——籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)課程設(shè)計(jì)—籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)課程設(shè)計(jì)——籃球計(jì)時(shí)計(jì)分器
- 基于51單片機(jī)的籃球比賽計(jì)分計(jì)時(shí)器設(shè)計(jì)畢業(yè)論文
- 單片機(jī)課程設(shè)計(jì)—籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)籃球計(jì)時(shí)計(jì)分器課程設(shè)計(jì)
- 單片機(jī)外文翻譯---at89s52單片機(jī)
- 單片機(jī)外文翻譯--at89s52單片機(jī)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論