#51單片機三路搶答器_第1頁
#51單片機三路搶答器_第2頁
#51單片機三路搶答器_第3頁
#51單片機三路搶答器_第4頁
#51單片機三路搶答器_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、單單片片機機開開發(fā)發(fā)和和設設計計工工程程師師測測試試文文檔檔設計題目設計題目: 搶答器 學學 校:校: 湖南人文科技學院 系系 別:別: 通信和控制工程系 專專 業(yè):業(yè): 電子信息工程 班班 級:級: 07 級電信一班 學生姓名學生姓名: 龍麗婷、董文 學學 號:號: 07409106 、07409129 起止日期起止日期: 2010 年 6 月 12 日 2010 年 6 月 25 日 摘 要本設計是以搶答為基本理念??紤]到依需設定限時回答的功能,利用STC89C52 單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行

2、計時,同時使數(shù)碼管能夠正確地顯示時間。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效,相應犯規(guī)燈亮;開始后搶答,即正確按鍵后,相應成功指示燈亮,并開始倒計時,回答問題的時間限定為 10 秒,滿時后系統(tǒng)計時自動復位及主控復位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。關(guān)鍵詞: STC89C52;LED 燈;數(shù)碼管;搶答器;計時目錄設計要求.11 方案.12 系統(tǒng)的主要功能.23 搶答器的硬件設計.231 STC89C52 簡介 .23、2 LED 燈.533 8255 接口芯片.634 數(shù)碼管顯示模塊.735 按鍵模塊.736 外部中斷 0 和外部中斷 1.84 搶答器

3、的軟件設計.941 主程序流程及分析.942 總程序模塊.105 調(diào)試結(jié)果及分析.14參考文獻.15附錄一:總體原理圖.16附錄二:總程序.171搶答器搶答器設計要求1、一位主持人和 3 位搶答者,復位后,甲乙丙的綠、紅燈全亮,開始鍵、復位鍵的指示燈全暗;主持人按復位鍵則僅復位指示燈亮,其他都暗,準備開始;主持人按開始鍵,開始燈亮,允許甲乙丙搶答,此時優(yōu)先者則相應成功指示燈亮,如允許前搶就相應犯規(guī)燈亮;答題開始進行倒計時,到規(guī)定時間不允許答題,并返回復位狀態(tài)。2、具有搶答控制和倒計時顯示功能。3、控制器應有復位控制、開始控制、搶答控制和狀態(tài)指示等功能,并有答題時間控制和顯示功能。1 方案采用宏

4、晶公司的 STC89C52 作為系統(tǒng)控制器的 CPU 方案。原理框圖如圖 1 所示:圖 1 原理方框圖22 系統(tǒng)的主要功能本系統(tǒng)是借用單片機采用模塊化設計的搶答器,包括 3 路搶答按鈕、開始按鈕、復位按鈕,指示燈顯示,倒計時顯示部分。用中斷 0 和中斷 1 的控制按鈕做復位和開始控制。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效,相應犯規(guī)燈亮;主持人按鍵開始后,選手開始搶答為有效,相應成功指示燈亮,并開始倒時,回答問題的時間限定為 10 秒,滿時后系統(tǒng)計時自動復位及主控復位。 3 搶答器的硬件設計搶答器的硬件設計31 STC89C52 簡介STC89C52 引腳

5、圖如圖 2 所示:圖 2 STC89C52 引腳圖主要性能: 和 MCS-51 單片機產(chǎn)品兼容8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器 1000 次擦寫周期 全靜態(tài)操作:0Hz33Hz 三級加密程序存儲器 32 個可編程 I/O 口線 三個 16 位定時器/計數(shù)器3 八個中斷源 全雙工 UART 串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門狗定時器 雙數(shù)據(jù)指針 掉電標識符 功能特性描述: STC89C52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用宏晶高密度非易失性存儲器技術(shù)制造,和工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。 片

6、上 Flash 允許程序存儲器在系統(tǒng)可編程, 亦適于常規(guī)編器。 在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 STC89C52 為眾多嵌入式控制使用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52 具有以下標準功能:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,一個 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時器/計數(shù)器、串口、中斷繼

7、續(xù)工作。掉電保護方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié)。 VCC : 電源 GND: 地 P0 口:P0 口是一個 8 位漏極開路的雙向 I/O 口。作為輸出口,每位能驅(qū)動 8個 TTL 邏輯電平。對 P0 端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0 口也被作為低 8 位地址/數(shù)據(jù)復用。在這種模式下,P0 具有內(nèi)部上拉電阻。在 flash 編程時,P0 口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1 口:P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P1 端口

8、寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作 為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。 此外,P1.0 和 P1.2 分別作定時器/計數(shù)器 2 的外部計數(shù)輸入4(P1.0/T2)和時器/計數(shù)器 2 的觸發(fā)輸入(P1.1/T2EX) ,具體如下表所示。在 flash編程和校驗時,P1 口接收低 8 位地址字節(jié)。 P1.0 T2(定時器/計數(shù)器 T2 的外部計數(shù)輸入) ,時鐘輸出 P1.1 T2EX(定時器/計數(shù)器 T2 的捕捉/重載觸發(fā)信號和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在

9、系統(tǒng)編程用) P2 口:P2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。 在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX DPTR)時,P2 口送出高八位地址。在這種使用中,P2 口使用很強的內(nèi)部上拉發(fā)送 1。在使用 8 位地址(如 MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2 口輸出 P2 鎖存器的內(nèi)容。在 flash 編程和校驗時,P2 口也接收高 8 位

10、地址字節(jié)和一些控制信號。 P3 口:P3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。 P3 口亦作為 STC89S52 特 殊功能(第二功能)使用, 。在flash 編程和校驗時,P3 口也接收一些控制信號。 P3.0 RXD(串行輸入) P3.1 TXD(串行輸出) P3.2 INT0(外部中斷 0) P3.3 INT0(外部中斷 0) P3.4 T0(定時器 0 外部輸入) P3.5

11、 T1(定時器 1 外部輸入) P3.6 WR(外部數(shù)據(jù)存儲器寫選通) P3.7 RD(外部數(shù)據(jù)存儲器寫選通) RST: 復位輸入。晶振工作時,RST 腳持續(xù) 2 個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出 96 個晶振周期的高電平。特殊寄存器5AUXR(地址 8EH)上的 DISRTO 位可以使此功能無效。DISRTO 默認狀態(tài)下,復位高電平有效。 ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低 8 位地址的輸出脈沖。在 flash 編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作

12、為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE 脈沖將會跳過。 如果需要,通過將地址為 8EH 的 SFR 的第 0 位置“1” ,ALE 操作將無效。這一位置“1” ,ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時有效。否則,ALE 將被微弱拉高。這個 ALE 使能標志位 (地址為 8EH 的 SFR 的第 0 位) 的設置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號 (PSEN) 是外部程序存儲器選通信號。 當STC89C52 從外部程序存儲器執(zhí)行外部代碼時,PSEN 在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN 將不被

13、激活。 EA/VPP:訪問外部程序存儲器控制信號。為使能從 0000H 到 FFFFH 的外部程序存儲器讀取指令,EA 必須接 GND。為了執(zhí)行內(nèi)部程序指令,EA 應該接 VCC。在 flash 編程期間,EA 也接收 12 伏 VPP 電壓。 XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 3、2 LED 燈 LED 燈示意圖如圖 3 所示:6圖 3 LED 燈示意圖單片機的 P1.0P1.7 分別接到 D4-D11 這 8 個 LED 燈。33 8255 接口芯片 單片機系統(tǒng)里常用的 82551芯片是一個典型的可編程通用并行接口芯片,用來擴

14、展單片機的端口,它具有 3 個 8 位的并行口,有三種工作方式,可作為單片機和各種外部設備連接的接口電路。 8255 的引腳圖如圖 4 所示。 圖 4 8255 的引腳圖8255 引腳功能說明: RESET:復位輸入線,當該輸入端外于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有 I/O 口均被置成輸入方式。 PA0PA7:端口 A 輸入輸出線,7一個 8 位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個 8 位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口 B 輸入輸出線,一個 8 位的 I/O 鎖存器, 一個 8 位的輸入輸出緩沖器。 PC0PC7:端口 C 輸入輸出線, 一個 8 位的數(shù)據(jù)輸出鎖存器

15、/緩沖器, 一個 8 位的數(shù)據(jù)輸入緩沖器。端口 C 可以通過工作方式設定而分成 2 個 4 位的端口, 每個4 位的端口包含一個 4 位的鎖存器,分別和端口 A 和端口 B 配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。 CS:片選信號線,當這個輸入引腳為低電平時,表示芯片被選中,允許 8255 和 CPU 進行通訊。 RD:讀信號線,當這個輸入引腳為低電平時,允許 8255 通過數(shù)據(jù)總線向 CPU 發(fā)送數(shù)據(jù)或狀態(tài)信息,即 CPU 從 8255 讀取信息或數(shù)據(jù)。 WR:寫入信號,當這個輸入引腳為低電平時,允許 CPU 將數(shù)據(jù)或控制字寫8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255 和 CP

16、U 數(shù)據(jù)傳送的通道,當 CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn) 8 位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳 A0,A1:地址選擇線,用來選擇 8255 的 PA 口,PB 口,PC 口和控制寄存器。 當 A0=0,A1=0 時,PA 口被選擇; 當 A0=0,A1=1 時,PB 口被選擇; 當 A0=1,A1=0 時,PC 口被選擇; 當 A0=1.A1=1 時,控制寄存器被選擇。 在本次設計中,8255 芯片用來擴展系統(tǒng)的外部接口,將 8255 的 PA、PB、PC口給數(shù)碼管、鍵盤使用。 34 數(shù)碼管顯示模塊數(shù)碼管原理圖如圖 5 所示:8圖 5 數(shù)碼管原理圖在本次設計中,數(shù)碼管

17、的 8 段是由芯片 8255 的 PB 口控制亮滅,每個數(shù)碼管的公共腳分別由 8255 的 PA0-PA5 經(jīng)三極管擴流后進行控制,且數(shù)碼管是共陽極的。當公共腳接上電源正極,筆畫腳通過一個 220 歐姆電阻接負極,對應的筆畫就會點亮。 要在某位數(shù)碼管上顯示一個數(shù)字,首先把待顯示數(shù)字的顯示碼送給 8255 的 PB口,接著選中要顯示的位。35 按鍵模塊 按鍵示意圖如圖 6 所示:圖 6 按鍵示意圖在單片機系統(tǒng)中鍵盤中按鈕數(shù)量較多時,為了減少 I/O 口的占用,常常將按鈕排列成矩陣形式,在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口(如 P1 口)就

18、能組成 4*4=16 個按鈕,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加9一條線就能組成 20 鍵的鍵盤,而直接用端口線則只能多出一鍵(9 鍵) 。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。 矩陣式鍵盤的按鈕識別辦法確定矩陣式鍵盤上何鍵被按下,介紹一種“行掃描法” 。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鈕識別辦法。 判斷鍵盤中有無鍵按下將全部列線置高電平,然后檢測行線的狀態(tài)。只要有一行的電平為高,則表示鍵盤中有鍵被按下,而且閉合的鍵位于高電平線和 4 根列線相交叉的 4 個按鈕之中。若所有行線均為低電平,則鍵盤中無鍵按下。 判斷

19、閉合鍵所在的位置:在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其辦法是:將全部列線置為高電平,在確定某根行線位置為高電平后,再逐列對列線置高再檢測先前返回高電平的行線的電平狀態(tài)。若此行返回為高,則該列線和返為高電平的行線交叉處的按鈕就是閉合的按鈕。本次設計雖只用到其中三個按鍵但考慮到以后對系統(tǒng)升級,所以采用了矩陣式鍵盤。36 外部中斷 0 和外部中斷 1外部中斷 0 和外部中斷 1 示意圖如圖 7 所示:圖 7 外部中斷 0 和外部中斷 1 示意圖在單片機上有兩個引腳,名稱為 INT0、INT1,也就是 P3.2、P3.3 這兩個引腳。在單片機內(nèi)部的 TCON 寄存器中有四位是和外中斷有關(guān)

20、的。 IT0: INT0 觸發(fā)方式控制位,可由軟件進和置位和復位,IT0=0,INT0 為低電平觸發(fā)方式,IT0=1,INT0為負跳變觸發(fā)方式。IE0:INT0 中斷請求標志位。當有外部的中斷請求時,這位就會置 1(這由硬件來完成) ,在 CPU 響應中斷后,由硬件將 IE0 清 0。IT1、IE1 的用途和 IT0、IE0 相同。按鍵 0 接單片機 P32 腳,按鍵 1 接單片機的 P33 腳。本次設計用到了外中斷 1 和外中斷 0,需接上跳帽 W1 和 W2。 104 搶答器的軟件設計41 主程序流程及分析搶答器的基本工作原理:在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器

21、內(nèi)部的寄存器工作,并識別、記錄第一個號碼,同時內(nèi)部的定時器開始工作,記錄有關(guān)時間并產(chǎn)生超時信號。在整個搶答器工作過程中,顯示電路還要根據(jù)現(xiàn)場的實際情況向外電路輸出相應信號。搶答器的工作流程分為:系統(tǒng)復位、正常流程、違例流程等幾部分,如圖 8 所示,下面予以介紹。1、主持人按復位鍵,復位指示燈亮,進入準備狀態(tài),主持人出題。3、主持人按開始鍵,進入搶答部分,有人搶答就開始回答倒計時,搶答人在此限定時間內(nèi)做出回答,計時完畢后停止做答并返回復位狀態(tài)。無人搶答則主持人根據(jù)實際情況做出處理后可進入下一輪搶答。4、如果主持人未按開始鍵,而有人按了搶答按鍵,犯規(guī)搶答,相應犯規(guī)燈亮。主持人根據(jù)實際情況做出處理后

22、可進入下一輪搶答。圖 8 工作流程圖1142 總程序模塊 在本次設計中,總程序可分為主程序部分,顯示部分,延時部分,鍵盤部分,計時部分,定時器工作模式設定及初始化部分,中斷程序部分。 主程序:main() unsigned char flag=0; light=0 xc0;Timer1_Init(); while(1) GInt_Init(); P1=light; display(6,second); if(second=0)second=0 x09;TR1=0;light=0 x7f; flag=keyboard(); if(light=0 x3f) switch(flag) case 1:

23、 light=0 xfd,TR1=1; break; case 2: light= 0 xf7, TR1=1 ; break; case 3:light=0 xdf, TR1=1; break; default : light =0 x3f; if(light=0 x7f) switch(flag) case 1: light=0 xfe; break; case 2:light=0 xfb; break; case 3:light= 0 xef; break; default : light =0 x7f; 12打開中斷及相應的設定: void GInt_Init(void) EA = 1;

24、 EX0 = 1; IT0 = 1; EX1= 1;IT1 = 1; ET1=1; 外中斷 0: void ISR_Ex0(void) interrupt 0 light=0 x7f;外中斷 1:1void ISR_Ex1(void) interrupt 2 light&=0 xbf;定時器工作模式設定及初始化:void Timer1_Init(void) TMOD=0 x10; TH1=(65535-50000 )/256; TL1=(65535-50000)%256; 1 秒時間的設定: void ISR_Timer1(void) interrupt 3 Timer_Count+;

25、if(Timer_Count = 20) Timer_Count = 0; second-; Timer1_Init();延時部分:void delay(unsigned int x) unsigned char i,j,k; while(x-) for(i=0;i=5;i+) for(j=0;j=10;j+);13顯示部分:#includereg51.h #include ABSACC.H #define a8255_PA XBYTE0 xD1FF #define a8255_PB XBYTE0 xD2FF #define a8255_PC XBYTE0 xD5FF #define a825

26、5_CON XBYTE0 xD7FF unsigned char const num_table16= 0 xA0, /*0*/ 0 xBB, /*1*/ 0 x62, /*2*/ 0 x2A, /*3 */ 0 x39, /*4*/ 0 x2C, /*5 */ 0 x24, /*6*/ 0 xBA, /*7*/ 0 x20, /*8*/ 0 x28, /*9 */ 0 x30, /*A*/ 0 x25, /*B*/ 0 xE4, /*C*/ 0 x23, /*D*/ 0 x64, /*E*/ 0 x74, /*F */ ; void display(unsigned char place,

27、unsigned char number) a8255_CON=0 x89; a8255_PA =0 xff; a8255_PB=0 xff; a8255_PA=(0 x01(place-1); a8255_PB=num_tablenumber; 鍵盤部分:unsigned char keyboard() 14 unsigned char PC_data; unsigned char j; unsigned char y=0;a8255_CON=0 x89; a8255_PA=0 xf1;a8255_PB=0 xff; delay(1); PC_data=a8255_PC; for(j = 0

28、;j4;j+) if(PC_data&(1j) = (1j) y= j+1; return(y) ; 完整總程序見附錄。5 調(diào)試結(jié)果及分析本設計主要是在編寫的程序編譯通過后,用下載軟件將編寫的程序下載到實驗開發(fā)板上,驗證結(jié)果是否滿足設計要求。主要通過按鍵部分進行控制,通過數(shù)碼管和 LED 燈部分進行觀察。經(jīng)驗證,在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效,相應犯規(guī)燈亮;主持人按鍵開始后,選手開始搶答為有效,相應成功指示燈亮,并開始倒時,回答問題的時間限定為 10 秒,滿時后系統(tǒng)計時自動復位及主控復位,滿足設計要求。參考文獻1張鑫編著.單片機原理及使用M .北京:電子工業(yè)

29、出版社,2005.8.105136.2陳家駿,鄭滔主編.程序設計教程M .北京:機械工業(yè)出版社,2004.8.4192.3 余文俊主編.8051 C 語言實習M . 北京:中國水利水電出版社,2002.10.5089. 4 孫育才編著. 新型 AT89S52 系列單片機及其使用M .北京:清華大學出版社,2005.5.163.15附錄一:總體原理圖總體原理圖如圖 9 所示:圖 9 總體硬件連接原理圖圖中 U1 為單片機 STC89C52,U2 為芯片 8255,單片機的 P1.0P1.7 分別接到D4-D11 這 8 個 LED 燈。復位按鍵和開始按鍵分別接到單片機的 P3.2、P3.3 腳,

30、單片機的 P0.0-P0.7 腳接 8255 芯片 D0-D7 腳,8255 的 PA0-PA5 分別接 6 個數(shù)碼管的位選 ,同時 PA0-PA3 接鍵盤的四列,PC3-PC0 接鍵盤的四行,PB0 接數(shù)碼管引腳11, PB1 接數(shù)碼管引腳 10, PB2 接數(shù)碼管引腳 7, PB3 接數(shù)碼管引腳 1, PB4 接數(shù)碼管引腳 2, PB5 接數(shù)碼管引腳 3,PB6 接數(shù)碼管引腳 4, PB7 接數(shù)碼管引腳 5。附錄二:總程序#includereg51.h /包括一個 51 標準內(nèi)核的頭文件#include ABSACC.H /庫函數(shù)#define a8255_PA XBYTE0 xD1FF

31、/*PA 口地址*/#define a8255_PB XBYTE0 xD2FF /*PB 口地址*/#define a8255_PC XBYTE0 xD5FF /*PC 口地址*/#define a8255_CON XBYTE0 xD7FF /*控制字地址*/unsigned char Timer_Count=0; /定義變量16unsigned char second=9;unsigned char light;unsigned char const num_table16= 0 xA0, /*0*/ 0 xBB, /*1*/ 0 x62, /*2*/ 0 x2A, /*3 */ 0 x39

32、, /*4*/ 0 x2C, /*5 */ 0 x24, /*6*/ 0 xBA, /*7*/ 0 x20, /*8*/ 0 x28, /*9 */ 0 x30, /*A*/ 0 x25, /*B*/ 0 xE4, /*C*/ 0 x23, /*D*/ 0 x64, /*E*/ 0 x74, /*F */ ; void Timer1_Init(void); /函數(shù)聲明void GInt_Init(void);void delay (unsigned int x) ;void display (unsigned char place, unsigned char number);unsigned

33、 char keyboard(); main()/ 主程序 unsigned char flag=0; light=0 xc0; Timer1_Init();定時器工作模式設定及初始化 while(1) /主程序循環(huán) GInt_Init(); /函數(shù)調(diào)用(打開中斷及相應的設定) P1=light; display(6,second);17 if(second=0)second=0 x09;TR1=0;light=0 x7f; flag=keyboard(); if(light=0 x3f) switch(flag) case 1: light=0 xfd,TR1=1; break; case 2: light= 0 xf7,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論