八路電子搶答器課程設(shè)計(jì)_第1頁
八路電子搶答器課程設(shè)計(jì)_第2頁
八路電子搶答器課程設(shè)計(jì)_第3頁
八路電子搶答器課程設(shè)計(jì)_第4頁
八路電子搶答器課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南工程學(xué)院課 程 設(shè) 計(jì)課程名稱單片機(jī)原理與應(yīng)用課題名稱電子搶答器的設(shè)計(jì)專 業(yè)班 級學(xué)號姓名指導(dǎo)教師年 月日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書課程名稱單片機(jī)原理與應(yīng)用課 題電子搶答器設(shè)計(jì)專業(yè)班級 學(xué)生姓名 學(xué)號指導(dǎo)老師審批任務(wù)書下達(dá)日期年 月 日設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求設(shè)計(jì)內(nèi)容:以單片機(jī)為核心,設(shè)計(jì)一個(gè) 8位競賽搶答器:同時(shí)供 8 名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0S7表示。設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān) S,開關(guān)由主持人控 制。搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng) 的編號,并在優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng) 清除為止。搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由 主持人設(shè)定(

2、如30秒)。當(dāng)主持人啟動“開始”鍵后,定時(shí) 器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí) 間為0.5s左右。參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器 停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持 到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間已到,無人搶答, 本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。 設(shè)計(jì)要求:1)確定系統(tǒng)設(shè)計(jì)方案;2)進(jìn)行系統(tǒng)的硬件設(shè)計(jì);3)完成必要的參數(shù)計(jì)算與元器件選擇;4)完成應(yīng)用程序設(shè)計(jì);5)進(jìn)行軟硬件調(diào)試;7主要設(shè)計(jì)條件1單片機(jī)開發(fā)板2 PC機(jī)3 PROTE醺件4 PROTEU歆件說明書格式1 .封面2 .課程設(shè)計(jì)任務(wù)書3 .目錄4 .系

3、統(tǒng)總體方案設(shè)計(jì)5 .系統(tǒng)硬件設(shè)計(jì)6 .軟件設(shè)計(jì)(包括流程圖)7 .系統(tǒng)的安裝調(diào)試說明8、總結(jié)9、參考文獻(xiàn)10、附錄11、課程設(shè)計(jì)成績評分表。進(jìn)度安排設(shè)計(jì)時(shí)間為兩周第一周星期一、上午:布置課題任務(wù),講課及課題介紹 下午:借閱有關(guān)資料,總體方案討論星期二、確定總體設(shè)計(jì)方案星期三、硬件模塊方案設(shè)計(jì)星期四、軟件模塊方案設(shè)計(jì)星期五、各硬件模塊設(shè)計(jì)第二周星期一、各硬件模塊設(shè)計(jì)星期二、各軟件模塊設(shè)計(jì)星期三、各軟件模塊設(shè)計(jì)星期四、寫說明書星期五、上午:寫說明書,整理資料下午:交設(shè)計(jì)資料,答辯參考文獻(xiàn)1、王迎旭.單片機(jī)原理及及應(yīng)用.北京:機(jī)械工業(yè)出版 社,2012.2、李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科

4、技大學(xué) 出版社,20023、高峰.單片微型計(jì)算機(jī)原理與接口技術(shù).北京:電子工 業(yè)出版社,2003.4、鄒逢興.單片機(jī)應(yīng)用新技術(shù)教程.北京:高等教育出 版社,20085、朱宇光.16位微型計(jì)算機(jī)原理接口及其應(yīng)用.北京:電 子工業(yè)出版社,6、陳海宴主編.51單片機(jī)原理及應(yīng)用一基于Keil C與 Proteus.北京:北京航空航天大學(xué)出版社,2010.目錄第1章課題概述 61.1 課題的設(shè)計(jì)要求61.2 課程設(shè)計(jì)的目的和意義 6第2章總體設(shè)計(jì)方案 72.1 總體思路 72.3 總體設(shè)計(jì)框圖 72.4 系統(tǒng)工作原理 8第3章系統(tǒng)的硬件設(shè)計(jì) 93.1 單片機(jī)的選擇 93.2 LED顯示器 103.3 時(shí)

5、鐘電路設(shè)計(jì) 113.4 復(fù)位電路設(shè)計(jì) 12第4章系統(tǒng)軟件設(shè)計(jì) 134.1 系統(tǒng)軟件設(shè)計(jì)方案 134.2 系統(tǒng)應(yīng)用程序設(shè)計(jì) 134.2.1 主程序設(shè)計(jì) 134.2.2 1秒定時(shí)子程序設(shè)計(jì) 144.2.3 中斷服務(wù)程序 154.2.4 字形碼的定義 16第5章仿真與調(diào)試 17第6章總結(jié)與體會 20第7章參考文獻(xiàn) 21第8章附錄 228.1 總機(jī)硬件設(shè)計(jì)原理圖 228.2 源程序清單 23第 1 章 課題概述1.1 課題的設(shè)計(jì)要求以單片機(jī)為核心,設(shè)計(jì)一個(gè)8 位競賽搶答器:同時(shí)供 8 名選手或8 個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0S7表示。設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān) S,開關(guān)由主持人控制。搶答器具有

6、鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號,并在優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30 秒) 。當(dāng)主持人啟動“開始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間為0.5s左右。參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。1.2 課題的設(shè)計(jì)目的和意義在許多比賽活動中,為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,通常設(shè)置一臺搶答器,通過數(shù)顯、燈光及

7、音響等多種手段指示出第一搶答者。該系統(tǒng)設(shè)計(jì)就是針對上述各種要求設(shè)計(jì)出的供8 名選手參賽使用的電子搶答器。 而且可以通過本次的課程設(shè)計(jì)我們可以學(xué)到關(guān)于單片機(jī)在實(shí)際生活中的設(shè)計(jì)應(yīng)用,也可以深入地學(xué)習(xí)到單片機(jī)的編程。第 2 章 總體設(shè)計(jì)方案2.1 總體思路該電路的根本任務(wù)是準(zhǔn)確的判斷出第一搶答者的信號和搶答的剩余時(shí)間并將其鎖存。而目前使用的小型搶答器基本上采用小規(guī)模數(shù)字集成電路設(shè)計(jì),其功能比較單一,使用起來也不夠理想。但在各種知識、智力競賽中,電子搶答器又是必不可少的設(shè)備之一。因此研制開發(fā)一個(gè)更先進(jìn)、更實(shí)用的電子搶答器顯得很重要。本次的課程設(shè)計(jì)就是為此而做。因此選用單片機(jī)技術(shù)為核心的設(shè)計(jì)方法設(shè)計(jì)一款

8、數(shù)字搶答器,其技術(shù)、 功能等方面都能滿足現(xiàn)行的各種知識、智力競賽的要求。2.2 總體設(shè)計(jì)框圖2.1 總體設(shè)計(jì)框圖2.3 系統(tǒng)工作原理系統(tǒng)主要以單片機(jī)為核心,設(shè)計(jì)了開始、復(fù)位功能模塊,搶答功能模塊,倒計(jì)時(shí)顯示模塊和系統(tǒng)報(bào)警模塊。八名選手,意味著是八路輸入的數(shù)字搶答器。用AT89C51的單片機(jī)的P1 口連接系統(tǒng)八位選手的搶答開關(guān), 而控制輸入信號從P3口輸入,分別都是外接了上拉電阻的按鈕構(gòu)成。蜂 鳴器只需要接到P3.2止,通過其電平輸出驅(qū)動蜂鳴器發(fā)聲, 達(dá)到報(bào)警的效 果。工作原理軟件的實(shí)現(xiàn)通過對各個(gè)按鈕的掃描,實(shí)現(xiàn)搶答的功能,由于掃描時(shí)間相當(dāng)小,所以可以很精確得判斷出那一位選手最先搶答成功和準(zhǔn)確地

9、判斷出那一位選手搶答失敗而導(dǎo)致犯規(guī),并顯示。在倒計(jì)時(shí)顯示中,我使用了單片機(jī)的串行通信,到事先存好的字形碼傳送到顯示上來,用的是查表方式。倒計(jì)時(shí)還要一個(gè)秒單位的脈沖計(jì)時(shí),系統(tǒng)使用了單片機(jī)內(nèi)部硬件定時(shí)器,實(shí)現(xiàn)延時(shí)一秒的功能,使得倒計(jì)時(shí)以秒為單位準(zhǔn)確地計(jì)時(shí)。8第3章系統(tǒng)硬件設(shè)計(jì)3.1 單片機(jī)的選擇AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能 CMOS8位單 片機(jī)。AT89C51芯片不僅包括 CPU、RAM、ROM、定時(shí)器、用行口、I/O 接口等主要功能部件之外,還有驅(qū)動器、鎖存器、指令寄存器、地址寄存 器等輔助部分。CPU是單片機(jī)最核心的部分,是單片機(jī)的大腦和心臟, 主要完成運(yùn)算和控制功能

10、。RAM用于存放變化的數(shù)據(jù),其地址空間為256 個(gè)RAM單元,但其中能作為數(shù)據(jù)存儲器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用。ROM用于存放程序和固定不變的常數(shù)等等。 通常采用只讀存儲器,且具有多種類型,在 89系列單片機(jī)中全部采用閃 存、定時(shí)/計(jì)數(shù)器用于實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。 AT89C51共有四個(gè)8位的并 行I/O 口,每個(gè)口都有一個(gè)鎖存器和1個(gè)驅(qū)動器組成。并行I/O 口主要用 于實(shí)現(xiàn)與外部設(shè)備中數(shù)據(jù)的并航輸入輸出,有些I/O 口還有其他功能。AT89C51有1個(gè)UART全雙工異步用行口,用于實(shí)現(xiàn)單片機(jī)和其他具有 相應(yīng)接口的設(shè)備之間的異步串行數(shù)據(jù)傳送。 AT89C51采用40

11、Pin封裝的雙 列直接DIP結(jié)構(gòu)。40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的 時(shí)鐘線兩根,4組8位共32個(gè)I/O 口,中斷口線與P3 口線復(fù)用。RSTr9EN Ale口口必PDPD足演旺 p 口 3/n.ra p飛離g PO切血05 尸口 101nfldb PO飛誨gF2 w/ePJ. I/WRW.NAi 口 W3皿1P2.'A12 段二點(diǎn)夫P2.B-A1lF3學(xué)值心界TH C P臺 1/TWF3 JXlFiTTP3>I/TD P3.之EDP-3.7/iRO22圖 3.1 AT89C513.2 LED 顯示器LED顯示器是由發(fā)光二極管顯示字段的顯示器件。由圖可知它由8個(gè)發(fā)光

12、二極管構(gòu)成,通過不同的組合可用來顯示 09、AF及小數(shù)點(diǎn)”.”等 字符。圖中DP表示小數(shù)點(diǎn),COM!示公共端。數(shù)碼管通常有共陰極和共 陽極兩種型號。共陰數(shù)管的發(fā)光二極管陰極必須接低電平,當(dāng)某一發(fā)光二極管的陽極連到高電平時(shí),此發(fā)光二極管點(diǎn)亮;共陽極數(shù)碼管的發(fā)光二極管是陽極并接到高電平,須點(diǎn)亮的發(fā)光二極管陰極接低電平即可。顯然, 要顯示某字形就應(yīng)使此字形的相應(yīng)字段點(diǎn)亮,實(shí)際就是送一個(gè)用不同電平組合代表的數(shù)據(jù)到數(shù)碼管。LED 顯示器的驅(qū)動是一個(gè)非常重要得問題,顯示電路由LED 顯示器、段驅(qū)動電路和位驅(qū)動電路組成。由于單片機(jī)的并行口不能直接驅(qū)動LED顯示器,所以必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠

13、大的電流,顯 示器才能正常工作。如果驅(qū)動電路能力差,即負(fù)載能力不夠,顯示器亮度 不夠,而且驅(qū)動電路長期在超負(fù)荷下工作容易損壞。LED 顯示器顯示控制方式有兩種:靜態(tài)和動態(tài)。本設(shè)計(jì)方案選擇的是動態(tài)控制方式。由于一 位數(shù)據(jù)的顯示是由段碼和位碼信號共同配合完成的,因此, 要同時(shí)考慮段和位的驅(qū)動能力,而且段的驅(qū)動能力決定位的驅(qū)動能力。圖 3.2 顯示器共陽極與共陰極3.3 時(shí)鐘電路的設(shè)計(jì)單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的。在單片機(jī)的XTAL1 和XTAL2 兩個(gè)管腳,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電路。電路中,電容器C1 和 C2 對振蕩頻率有微調(diào)作用,通常?。?0± 10)

14、pF。石英晶體選擇12MHz。如圖3.33.3 時(shí)鐘電路設(shè)計(jì)原理圖3.4 復(fù)位電路的設(shè)計(jì)單片機(jī)的RST 管腳為主機(jī)提供了一個(gè)外部復(fù)位信號輸入端口。復(fù)位信號是高電平有效,高電平有效的持續(xù)時(shí)間為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式由上電自動復(fù)位和手動復(fù)位兩種。電阻電容器件的參考值R=1K 歐、C3=10uF。如圖 3.43.4 復(fù)位電路設(shè)計(jì)第4章系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)軟件設(shè)計(jì)方案系統(tǒng)軟件設(shè)計(jì)方案的確定可以把系統(tǒng)軟件按照其功能分為6的模塊,每個(gè)獨(dú)立的模塊在通過聯(lián)系程序聯(lián)系成一個(gè)完整的系統(tǒng)程序。系統(tǒng)的6的功能模塊分別是:(1) 主程序模塊(2) 數(shù)碼管顯示模塊(3) 按鍵掃描輸入模塊(4) 1秒的定時(shí)

15、硬中斷模塊(5) LED燈輸出顯示模塊(6) 蜂鳴器報(bào)警輸出模塊受理序模塊* 按鍵掃描模塊 1秒定時(shí)模塊* 時(shí)燈顯示模塊,蜂鳴器報(bào)警模塊圖4.1電子搶答器軟件設(shè)計(jì)模塊4.2 系統(tǒng)應(yīng)用程序設(shè)計(jì)4.3 2. 1主程序的設(shè)計(jì)AT89C-51系列單片機(jī)復(fù)位后,系統(tǒng)一啟動,就顯示 00,這就是系統(tǒng) 的初始狀態(tài)。此時(shí)等待復(fù)位鍵的輸入信號,一直處于掃描P3.1的輸入電平。 然后等待開始信號的輸入,同時(shí)掃描所有選手的輸入信號,檢查是否發(fā)生 犯規(guī)。若開始鍵按下,則進(jìn)行搶答過程,主要是掃描各選手的輸入信號。先產(chǎn)生輸入信號的選手搶答成功,轉(zhuǎn)到顯示模塊。主程序流程圖如圖4.2Si-. 初始化圖4.2主程序流程圖4.

16、2. 2 1秒定時(shí)子程序的設(shè)計(jì)1S定時(shí)有硬件定時(shí)和軟件定時(shí)兩種,由于軟件定時(shí)浪費(fèi) CPU勺資源, 在很多的地方都不才用。相比之下,硬件定時(shí)他不浪費(fèi) CP3源,且定時(shí) 準(zhǔn)確,使用方便,因此得到了廣泛的使用。由于定時(shí)器定時(shí)初值較小,所以需擴(kuò)展定時(shí)時(shí)間。使用寄存器 R2, 設(shè)定R2=2Q通過20個(gè)50ms為1S的方法來實(shí)現(xiàn)定時(shí)。圖4.3是硬件定時(shí)的 使用流程圖。本系統(tǒng)要顯示倒計(jì)時(shí)間,所以在1S定時(shí)子程序的中斷服務(wù)程序中加 如了修改倒計(jì)值的指令,從而實(shí)現(xiàn)計(jì)數(shù)的變化開始J洽定時(shí)舞送初值,唱手力主HT希Ry-:tU.儲政惻計(jì)他RET1圖4.3 1秒定時(shí)程序流程圖4.2.3中斷服務(wù)程序圖4.4中斷服務(wù)程序流

17、程圖4. 2. 4字形碼的定義由于系統(tǒng)LED 顯示器使用的是共陰極的顯示器,而顯示器不能直接識別十進(jìn)制和別的進(jìn)制,他這樣根據(jù)給定的字行碼進(jìn)行顯示,有了十進(jìn)制對應(yīng)的字行碼,就能實(shí)現(xiàn)十進(jìn)制數(shù)通過編譯然后在LED 顯示器上顯示,準(zhǔn)確無誤。字行碼程序清單如下:ORG 10000HTAB:DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,1FHDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H第5章仿真與調(diào)試1、主持人按下?lián)尨痖_始鍵之前,搶答選手若按下?lián)尨疰I,視為違規(guī),顯示其號碼,同時(shí)報(bào)警,

18、仿真電路如圖5.1:圖 5.1 顯示違規(guī)組號2、當(dāng)主持人按下?lián)尨痖_始鍵后,進(jìn)入30秒搶答倒計(jì)時(shí),顯示仿真電路如圖 5.2:5.2 開始搶答并倒計(jì)時(shí)3、主持人按下?lián)尨痖_始鍵,若有選手進(jìn)行搶答,顯示其號碼和剩余槍彈時(shí)間,顯示仿真電路如圖5.3:圖 5.3 顯示搶答選手號碼和搶答剩余時(shí)間4、主持人可以調(diào)整搶答時(shí)間,仿真電路如圖5.4:5.4 調(diào)整搶答時(shí)間第6章總結(jié)與體會經(jīng)過將近二周的單片機(jī)課程設(shè)計(jì),終于完成了八路搶答器的設(shè)計(jì),具 中有著許多苦悶也有著許多實(shí)驗(yàn)成功的喜悅。我們的課題并不是很難,在圖書管里也有很多資料可查。平時(shí)的學(xué)習(xí)只是理論性的,很難理解,而且 很難知道自己有沒有掌握。在兩周的時(shí)間里充分

19、的把學(xué)過的東西拿來回味 拿來用。不但了解了那些已經(jīng)掌握,那些還不知道在設(shè)計(jì)的同時(shí)復(fù)習(xí)了掌 握的知識,還在此基礎(chǔ)上把知識擴(kuò)開學(xué)到了更廣的內(nèi)容。同時(shí)還學(xué)習(xí)掌握 了以前沒學(xué)好的知識?,F(xiàn)在我感受到課程設(shè)計(jì)的收獲是很大的, 它不但使 我對單片機(jī)的知識有了一個(gè)整體的認(rèn)識,使知識形成了一個(gè)連貫的體系, 原來在課堂上學(xué)到的原理知識, 感覺空洞了些,但是在這里實(shí)踐了兩周之 后才發(fā)現(xiàn),原來這些器件還可以實(shí)現(xiàn)這么多的功能。而且隨著課程設(shè)計(jì)的 深入,我們對單片機(jī)及其擴(kuò)展有了更深刻的認(rèn)識。雖然在設(shè)計(jì)過程中我遇到了很多困難,但還是收獲良多。設(shè)計(jì)不僅是 對前面所學(xué)知識的一種檢驗(yàn),而且也是對自己能力的一種提高。 在設(shè)計(jì)的 過

20、程中,遇到了很多的問題,有一些知識都已經(jīng)不太清楚了,但是通過一 些資料又重新的溫習(xí)了 一下數(shù)字電路部分的內(nèi)容。在這次設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商 量,聽聽不同的看法我們更好的理解知識, 所以在這里非常感謝幫助我的 同學(xué)。在此要感謝我的指導(dǎo)老師,感謝老師給我這樣的機(jī)會鍛煉。在整個(gè)設(shè) 計(jì)過程中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對自己 工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。 而且 大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中的探索的艱難和 成功的喜悅。雖然這個(gè)項(xiàng)目還不是很完善,但是在設(shè)計(jì)過程中所學(xué)到的東 西

21、是這次設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。我也將繼續(xù)努力,不斷 完善和充實(shí)自己。第7章參考文獻(xiàn)1、 王迎旭 . 單片機(jī)原理及及應(yīng)用. 北京: 機(jī)械工業(yè)出版社,2012.2、李建忠. 單片機(jī)原理及應(yīng)用. 西安 : 西安電子科技大學(xué)出版社 ,20023、 高峰 . 單片微型計(jì)算機(jī)原理與接口技術(shù). 北京: 電子工業(yè)出版社 ,2003.4、鄒逢興. 單片機(jī)應(yīng)用新技術(shù)教程. 北京: 高等教育出版社 ,20085、朱宇光.16 位微型計(jì)算機(jī)原理接口及其應(yīng)用.北京: 電子工業(yè)出版社 ,6、陳海宴主編. 51單片機(jī)原理及應(yīng)用 基于 Keil C 與 Proteus.北京:北京航空航天大學(xué)出版社,2010.21

22、第 8 章 附錄8.1 總機(jī)硬件設(shè)計(jì)原理圖8.1 總機(jī)硬件設(shè)計(jì)原理圖8.2 源程序清單; 搶答開始標(biāo)志位;響鈴標(biāo)志位; 搶答按鍵口數(shù)據(jù)存放地址OK EQU 20HRING EQU 22HDATOA EQU 36HORG 0000HAJMP MAINORG 0003HAJMP INT0SUB22ORG 000BHAJMP T0INTORG 0013HORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30MOV TMOD,#11HMOV TH0,#0F0HMOV TL0,#0FFHMOV TH1,#3CHMOV TL1,#0B0HSETB EASETB ET0SE

23、TB ET1SETB EX0SETB EX1CLR OKCLR RINGSETB TR1SETB TR0START: MOV DATOA,#0FFHMOV R5,#00HMOV R4,#00HMOV R3,#00HACALL DISPLAYJNB P3.3 ,INT0SUB; 初設(shè)搶答時(shí)間為30s;設(shè)置未定時(shí)器/模式1;越高發(fā)聲頻率越高,越尖;50ms為一次溢出中斷;允許四個(gè)中斷,T0/T1/INT0/INT1; 查詢程序JNB P3.4,TZ1; 倒計(jì)時(shí)調(diào)整23JB P3.0,NEXTACALL DELAYJB P3.0,NEXT; 去抖動,如果"開始鍵"按下就向下執(zhí)行

24、,否者跳到非法搶答查詢SETB EX0;開放 INT0ACALL BARK; 按鍵發(fā)聲MOV A,R1MOV R6,A;送R1->R6,因?yàn)镽1中保存了搶答時(shí)間36SETB OKMOV R3,#0AH; 搶答只顯示計(jì)時(shí),滅號數(shù)AJMP COUNT; 進(jìn)入倒計(jì)時(shí)程序," 查詢有效搶答的程序 "在 COUNT 里面NEXT:JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,TZ1JNB P1.7,TZ2AJMP STARTTZ

25、1:JMP FALSE7TZ2:JMP FALSE8; 非法搶答處理程序FALSE1: ACALL BARK; 按鍵發(fā)聲MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORFALSE7: ACALL BARKMOV R3

26、,#07HAJMP ERRORFALSE8: ACALL BARKMOV R3,#08HAJMP ERROR;INT0(搶答時(shí)間R1調(diào)整程序)INT0SUB: MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.4,INC0;先在兩個(gè)時(shí)間LED 上顯示 R1;P3.4為+1s鍵,如按下跳到INCOJNB P3.5,DEC0JNB P3.1,BACK0AJMP INT0SUBINC0:MOV A,R1CJNE A,#63H,ADD00,重新加起。MOV R1,#00HACALL DELAY1AJMP INT

27、0SUBADD0:INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETICOUNT: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HRECOUNT: MOV A,R6MOV B,#0AHDIV AB;P3.5為-1s鍵,如按下跳到DECO;P3.1 為確定鍵,如按下跳到BACKO;如果不是99,R2力口 1,如果力口至ij 99,R1;倒計(jì)時(shí)程序(搶答倒計(jì)

28、時(shí)跳到改程序);重置定時(shí)器; 除十分出個(gè)位/十位; 十位存于(30H)MOV 30H,AMOV 31H,B;個(gè)位存于(31H)MOV R5,30H;取十位MOV R4,31H;取個(gè)位MOV A,R6SUBB A,#02HJNC LARGERMOV A,R0CJNE A,#0AH,FULLCLR RINGAJMP CHECKFULL:CJNE A,#14H,CHECKSETB RINGMOV A,R6JZ QUIT;計(jì)時(shí)完畢MOV R0,#00HDEC R6;一秒標(biāo)志減1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK ;如果1s向下運(yùn)行,否者跳到查&quo

29、t;停/顯示"DEC R6;計(jì)時(shí)一秒R6自動減1MOV R0,#00HCHECK: JNB P3.1,QUIT;如按下停止鍵退出ACALL DISPLAYJB OK,ACCOUTAJMP RECOUNTACCOUT:MOV A,DATOAJNB P1.0,TRUE1JNB P1.1,TRUE2JNB P1.2,TRUE3JNB P1.3,TRUE4JNB P1.4,TRUE5JNB P1.5,TRUE6JNB P1.6,TZ3JNB P1.7,TZ4AJMP RECOUNTTZ3: JMP TRUE7TZ4: JMP TRUE8QUIT: CLR OK;如果按下了"停止鍵&

30、quot;執(zhí)行的程序CLR RINGAJMP STARTTRUE1: ACALL BARK;正常搶答處理程序MOV R3,#01HCLR OK; 因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶AJMP COUNTTRUE2:ACALL BARK;MOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARK;MOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARK;MOV R3,#04HCLR OKAJMP COUNTTRUE5: ACALL BARK;MOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK;MO

31、V R3,#06HCLR OKAJMP COUNTTRUE7: ACALL BARK;MOV R3,#07HCLR OKAJMP COUNTTRUE8: ACALL BARK;MOV R3,#08HCLR OKAJMP COUNT;犯規(guī)搶答程序; 犯規(guī)號數(shù)暫存與(34H)05s向下運(yùn)行-滅并停響ERROR: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3HERE: MOV A,R0CJNE A,#0AH,FLASHCLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AHAJMP CHECK1;下面是1s的情況,響并顯示; 取回號數(shù); 顯示 00 和號數(shù)FLASH: CJNE A,#14H,CHECK1號數(shù)并清R0,重新計(jì)SETB RINGMOV R0,#00HMOV R3,34HMOV R5,#00HMOV R4,#00HAJMP CHECK1CHECK

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論