版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、刪xinyij university l單片機(jī)課程設(shè)計(jì)設(shè)計(jì)計(jì)算說明書設(shè)計(jì)題目:基于單片機(jī)的搶答器設(shè)計(jì)學(xué)生姓名肖德華學(xué) 號(hào)1501011021專 業(yè) 機(jī)械制造與自動(dòng)化班 級(jí)指導(dǎo)老師彭小軍完成日期職 稱副教授摘要本設(shè)計(jì)是以八位搶答為基本理念??紤]到需設(shè)定限時(shí)回答的功能,利用at89c51 單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的 原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼 管能夠正確地顯示時(shí)間。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。先進(jìn)行系統(tǒng)硬件 設(shè)計(jì),該電路由顯示電路,搶答電路,晶振電路等部分組成,然后進(jìn)行系統(tǒng)軟件 設(shè)計(jì),進(jìn)行軟件的仿真,這次
2、課程設(shè)計(jì)不僅能鍛煉我們的動(dòng)手能力,而且能夠培 養(yǎng)我們對(duì)問題的思考能力以及對(duì)知識(shí)的進(jìn)一步了解。關(guān)鍵詞:at89c51;搶答器;計(jì)吋;報(bào)警目錄第章引言1第2章系統(tǒng)總體設(shè)計(jì)22. 1八路搶答器的工作原理22.2八路搶答器的總體框圖2第3章系統(tǒng)硬件的設(shè)計(jì)33. 1單片機(jī)最小系統(tǒng)33. 1. 1芯片統(tǒng)計(jì)33. 1. 2硬件介紹33.2復(fù)位電路設(shè)計(jì)43. 3晶振電路設(shè)計(jì)53.3搶答器電路設(shè)計(jì)53.4顯示電路設(shè)計(jì)63.5蜂鳴器電路設(shè)計(jì)7第4章系統(tǒng)軟件設(shè)計(jì)94.1主程序設(shè)計(jì)94.2倒計(jì)時(shí)30s子程序設(shè)計(jì)104.3外部中斷t1中斷子程序設(shè)計(jì)114.4定時(shí)器t1中斷子程序設(shè)計(jì)124.5選手按鍵程序124.6數(shù)碼管
3、顯示程序設(shè)計(jì)14第5章仿真調(diào)試155. 1非法搶答155.2搶答或回答時(shí)間修改155.3正常倒計(jì)時(shí)165.4回答吋間175. 5復(fù)位18第5章總結(jié)19第6章致謝20第7章參考文獻(xiàn)21附錄a: proteus仿真圖23附錄b:源程序24第1章引言此次設(shè)計(jì)提出了用at98c51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答 器,本方案以at89c51單片機(jī)作為主控核心,與數(shù)碼管、蜂鳴器等構(gòu)成八路搶 答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、吋鐘電路、定吋/中斷等屯路, 設(shè)計(jì)的八路搶答器具有倒計(jì)時(shí)和實(shí)時(shí)顯示搶答選手的號(hào)碼的特點(diǎn),還有復(fù)位電 路,使其再開始新的一輪的答題和比賽。它的功能實(shí)現(xiàn)是比賽開始,主持
4、人讀完題之后按下總開關(guān),倒計(jì)時(shí)開始,此 時(shí)數(shù)碼管開始進(jìn)行30s的倒計(jì)時(shí),是選手的思考時(shí)間,倒計(jì)時(shí)完后,才允許開始 搶答,若有人答題,對(duì)應(yīng)的會(huì)在數(shù)碼管上顯示出該選手的編號(hào)并由蜂鳴器發(fā)出聲 音,在30s倒計(jì)時(shí)內(nèi)答題無效。第2章系統(tǒng)總體設(shè)計(jì)2. 1八路競(jìng)賽搶答器的工作原理以單片機(jī)為核心,設(shè)計(jì)一個(gè)8路競(jìng)賽搶答器:同時(shí)供8名選手或8個(gè)代表隊(duì) 比賽,分別用8個(gè)按鈕sos7表示。設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)s,開關(guān)由主持人控制。搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號(hào),并在優(yōu)先搶 答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。搶答器具有定時(shí)搶答功能,r次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主
5、持人啟動(dòng)“開始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲 響,聲響持續(xù)的時(shí)間為0.5s左右。參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上 顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間己到,無人搶答,木次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí) 顯示器上顯示00o2-2八路競(jìng)賽搶答器的總體框圖圖2. 1總體框圖第3章系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)微控制器采用at89c5uat89c51是美國atmel公司生產(chǎn)的與mcs-51系列 單片機(jī)完全兼容的高性能cmos 8位單片機(jī),mcs-51系列單片機(jī)以其推出吋間 早、配套資源豐富、開發(fā)手段完善、性價(jià)比
6、高等特點(diǎn)而得到了廣泛的應(yīng)用,是單片機(jī)的主流品種。3.1.1芯片統(tǒng)計(jì)名稱型號(hào)數(shù)量芯片at89c511數(shù)碼管7seg-mpx4-cc1按鈕button15電容cap2電解電容cap-elec1品振crystal1電阻res8喇叭speaker(device)13. 1. 2硬件介紹與mcs-51系列完全兼容的高性能8位cpu;4k字節(jié)可重復(fù)編程的flash存儲(chǔ)器;256字節(jié)的sram;4個(gè)8位的并行口,共32條i/o 口線;3個(gè)16位的定時(shí)器/計(jì)數(shù)器;6個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí)的中斷系統(tǒng);一個(gè)全雙工的串行口;內(nèi)部振蕩器;可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路。其最小系統(tǒng)如下圖3.
7、1.2所示。c'5co cocm coco圖3. 1. 2單片機(jī)最小系統(tǒng)電路圖63<lx5l<lx6l1礙:壬;茗惚剤焉:零°二輕匸m tigod scmsod kmpod gcg ccmcod e<二od ocmqodiio匚iigiuj<12o5:e:copkqk:9e:s:iselj1at89c51<text>3.2復(fù)位電路的設(shè)計(jì)mcs-51的復(fù)位輸入引腳rst為mcs-51提供了初始化的手段,可以使程序從 指定處開始執(zhí)行,在mcs-51的時(shí)鐘電路工作后,只要rst引腳上出現(xiàn)超過兩個(gè) 機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作只要rs
8、t保持高電平,則mcs-51 循環(huán)復(fù)位.只有當(dāng)rst由高電平變低電平以后。mcs-51才從0000h地址開始執(zhí) 行程序。本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。復(fù)位電路:當(dāng)一輪進(jìn)行完時(shí),由主持人按下,下一輪倒計(jì)時(shí)開始,如圖3.2 所示。3.3晶振電路設(shè)計(jì)msc-51單片機(jī)的定時(shí)控制功能是用時(shí)鐘電路和振蕩器完成的,而根據(jù)硬件 電路的不同,連接方式分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)中采用內(nèi)部時(shí) 鐘方式。單片機(jī)內(nèi)部有一個(gè)反相放大器,xtal1、xtal2分別為反相放大器的輸入端 和輸出端,外接定吋反饋元件組成振蕩器(內(nèi)部時(shí)鐘方式),產(chǎn)生吋鐘送至單片 機(jī)內(nèi)部各元件。時(shí)鐘頻率越高,單片機(jī)控制器的控制節(jié)拍就
9、越快,運(yùn)算速度也就 越快。一般來說單片機(jī)內(nèi)部有一個(gè)帶反饋的線性反相放大器,外界晶振(或接陶瓷 振蕩器)和電容就可組成振蕩器,如圖3. 3所示。加電以后延時(shí)一段時(shí)間(約 10ms)振蕩器產(chǎn)生吋鐘,不受軟件控制,圖中y1為晶振,震蕩產(chǎn)生的吋鐘頻率 主要由y1確定。電容cl, c2的作用有兩個(gè):一是幫助振蕩器起振,二是對(duì)振蕩 器的頻率起微調(diào)作用,典型值為30pfo圖3. 3晶振控制電路3.4搶答器電路設(shè)計(jì)鍵盤接口屮使用多少根i/o線,鍵盤屮就有幾個(gè)按鍵,鍵盤接口使用了 8 根i/o 口線,該鍵盤就有8個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中 各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤中的
10、按鍵靈活的編碼。最簡(jiǎn)單的編碼方式就是根據(jù)1/0輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài) 進(jìn)行編碼,稱按鍵直接狀態(tài)碼,對(duì)于這樣編碼的獨(dú)立式鍵盤,cpu可以通過直接 讀取i/o 口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí) 別,這樣形式的鍵盤結(jié)構(gòu)簡(jiǎn)單,按鍵識(shí)別容易。獨(dú)立式鍵盤的缺點(diǎn)是需要占用比較多的i/o 口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中 需要的按鍵比較少或i/o 口線比較富余時(shí),可以釆用這樣類型的鍵盤。獨(dú)立式按鍵鍵盤:用于輸入高低電平,八位選手搶答時(shí)高低電平發(fā)生變化, 如圖34所示。圖3. 4搶答按鍵部分3. 5顯示電路設(shè)計(jì)led動(dòng)態(tài)顯示是單片機(jī)屮應(yīng)用最為廣泛的一種顯示方式,其接口電路
11、是把所 有顯示器的8個(gè)筆劃段a-dp同名端并聯(lián)在一起,而每一個(gè)顯示器的公共極com 是各自獨(dú)立地受i/o線控制,cpu的字段輸出口送出字形碼時(shí),所有顯示器由于 同名端并連接收到相同的字形碼,但究竟哪個(gè)顯示器亮,則取決于com端,而這 一端是由i/o控制的,所以就可以自行決定何時(shí)顯示哪一位了,在輪流點(diǎn)亮掃描 過程屮,每位顯示器的點(diǎn)亮?xí)r間表是極為短暫的,但由于人的視覺暫留現(xiàn)象及發(fā) 光二極管的余輝將就盡管實(shí)際上各位顯示器并非間時(shí)點(diǎn)亮,但只要掃描速度足夠 快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。搶答器倒計(jì)時(shí)顯示電路:有三位數(shù)碼管組成,前兩位顯示30s倒計(jì)時(shí),第三 位顯示成功搶答選手編號(hào),如
12、圖3. 5所示。圖3.5顯示控制部分圖二奈zd °3ad 5二 zd oovszdsld gwscdd sld2奈.od2§d sssd sld13.6蜂鳴器電路設(shè)計(jì)我們知道,聲音的頻譜范圍約在兒十到兒千赫茲,若能利用程序來控制單片 機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的巨型波, 接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高” “低”電平的 持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)岀不同的聲音。單片機(jī) 通過內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,有選手搶答成 功,使蜂鳴器發(fā)出聲音,如圖3. 6所示。第4章系統(tǒng)軟件設(shè)
13、計(jì)系統(tǒng)軟件分為主程序、中斷服務(wù)程序和子程序三部分4.1主程序(主程序流程框圖見圖4.1)結(jié)束圖4.1主程序流稈框圖主程序是系統(tǒng)上電或復(fù)位后首先要執(zhí)行的程序,主程序主要完成系統(tǒng)的初始 化、掃描顯示、掃描鍵盤等工作。程序流程如圖4所示,對(duì)單片機(jī)進(jìn)行初始化, 包括設(shè)置堆棧、倒計(jì)時(shí)30s設(shè)置、定時(shí)器to設(shè)置,外部屮斷設(shè)置,鍵盤掃描設(shè) 置,初始化狀態(tài)時(shí)顯示00。4.2倒計(jì)時(shí)30s子程序:(定時(shí)器t0中斷子程序框圖如圖4. 2所示)倒訃時(shí)入?yún)f(xié)i 中彈出a、psit圖4. 2定時(shí)器t0中斷子程序框圖首先要把累加器acc和程序狀態(tài)字psw放入堆棧保護(hù),然后進(jìn)行倒計(jì)時(shí) 的設(shè)置,設(shè)置為30s倒計(jì)吋,先看看1s到?jīng)]
14、,如果到,倒計(jì)吋自動(dòng)減1,并在 數(shù)碼管顯示,再判斷倒計(jì)時(shí)的30s到?jīng)],沒到繼續(xù)倒計(jì)時(shí)并顯示,倒計(jì)時(shí)計(jì)完為止,然后彈出累加器acc與程序狀態(tài)字psw,中斷退岀,返回到中斷入口處。4.3外部中斷t1中斷子程序:(外部t1中斷子程序框圖如圖4. 3所示)0、3ckff1 計(jì)時(shí)設(shè)置iuhuoc. pswi中斷返回圖4. 3外部t1屮斷子程序框圖外部中斷t1中斷時(shí)要先把累加器acc和程序狀態(tài)字psw放入堆棧保護(hù), 然后把20h標(biāo)志位置0,再調(diào)用顯示程序,t0開始定時(shí),t1停止,然后設(shè)置30s 倒計(jì)吋,設(shè)置之后彈出累加器acc與程序狀態(tài)字psw,中斷退出,返回到中斷 入口處。4.4定時(shí)器t1中斷子程序:(
15、定時(shí)器t1中斷程序框圖如圖4. 4所示)圖4. 4定時(shí)器t1中斷程序框圖定時(shí)器t1中斷吋要先把累加器acc和程序狀態(tài)字psw放入堆棧保護(hù),然 后就是響鈴,接上喇叭,利用延時(shí)程序控制“高” “低”電平的持續(xù)時(shí)間,就能 改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。設(shè)置之后彈出累加器 acc與程序狀態(tài)字psw,中斷退出,返回到中斷入口處。45選手按鍵程序:(鍵盤掃描程序框圖如圖4. 5所示)站農(nóng)圖4.5鍵盤掃描程序框圖鍵盤掃描時(shí)先判斷20h單元和21h單元標(biāo)志位是否為0,是的話說明允許 鍵盤掃描,否的話即不允許鍵盤掃描,不允許掃描就返回調(diào)用,結(jié)束,允許掃描 時(shí)開始掃描p1 口看有沒有選手按下答
16、題鍵,按下時(shí)此口變?yōu)榈碗娖?,如果沒 有選手按鍵,則判斷p1 口有沒有掃描完,沒有掃描完就繼續(xù)掃描,掃面完沒有 選手按下就檢查20h和21ho4.6數(shù)碼管顯示程序:(顯示子程序框圖如圖46所示)q開始一)選手弓在址碼怦 “ 界示出來倒計(jì)時(shí)顯示n個(gè)位顯紅皿數(shù)碼聳、十位顯麗f04敵碼管y返冋訓(xùn)用:納蟻 ':圖4.6顯示子程序框圖進(jìn)入顯示子程序先把選手的號(hào)碼顯示于01數(shù)碼管,然后是選手的答題時(shí)間十 秒鐘倒計(jì)時(shí)顯示,把個(gè)位顯示在02數(shù)碼管上,把十位顯示在04數(shù)碼管上,同時(shí)把 倒計(jì)時(shí)的數(shù)值減1后存在6111和6211屮,判斷倒計(jì)時(shí)是否結(jié)束到0,結(jié)束的話返回調(diào) 用,倒計(jì)時(shí)沒有結(jié)束即繼續(xù)倒計(jì)時(shí)。第5
17、章仿真調(diào)試5.1非法搶答u1ats9c51proofmo-ql;brnd 引md endeknd elgnd undp<sn_ d<yz =<en rle 璽a£2issd共陰極i1fif2 £畫 www wasulc1u tbv* tbyh*t ajn« tglhctb-hctbvhctemixx1cry8tm ctekt><te>ovr8vflc31djf圖5.1如圖5.1所示,1號(hào)非法搶答,被鎖定,數(shù)碼管顯示1號(hào)號(hào)碼。并且一亮一暗的跳動(dòng),并伴有警告聲5.2搶答或回答時(shí)間修改如圖5. 2所示,程序運(yùn)行后點(diǎn)擊“搶答吋間調(diào)整”或
18、“冋答吋間”,數(shù)碼管 顯示初始倒計(jì)時(shí)時(shí)間30s,然后點(diǎn)擊“加1”或“減1”按鈕,可根據(jù)自己需求 調(diào)整搶答或回答時(shí)間。共陰極-peccer-q or»lmat8sc51frx)orm>qlldwmiml 切ml 卸c-i<te>n>r7 心 |»t|d< l a l. i l_ o篤0嘲嘲勞卜swrd gsj dwzd m2 gsu¥百 mvbp 98ww qo-issd 塲ed glt ?s e_£ sjnzg 劉t 曰<x!a£?«iriaictextfr8idc text圖5.253正常倒計(jì)時(shí)共
19、陰極12349.hbcu1atscs1p hooivua-ql:曜md 日nd ec e_ed ouh 祠口 g呂日 r in 1hflwmz- h<8z-ew5z_ 二???qozd auzd15_ 多afp 9wp i.0_ dwhp aw? is- dwxrp5uabcdefg dfm 冋 rffiadzw1xmixtt=xe。號(hào)hp>ter圖5.3如圖5. 3所示,調(diào)整搶答時(shí)間為26s后,先按停止鍵,使數(shù)碼管顯示初始狀 態(tài),接著按下“確定”鍵,這是會(huì)有蜂鳴聲出現(xiàn)。搶答倒計(jì)時(shí)從26s開始,在 26s內(nèi)需要開始搶答,在最后5秒的時(shí)候,會(huì)發(fā)出警報(bào)聲。若在26s內(nèi)無人搶答, 則如圖
20、5. 4所示,回到初始狀態(tài)。«texn-彎34l- 口f:1f:21o:1o:cter5 1dcnsrd ehd ihm-e_en一 gm5wn 口wyn =ken 曇nd mxanltd swp i>0_ nshp gua ?aoc1c2<tex1x1 cry8t/u.o : n n圖5.45.4回答時(shí)間若有人搶答,在搶答鍵按下時(shí),也會(huì)有蜂鳴聲。則數(shù)碼管的第一顯示為顯示搶答者的號(hào)碼,而且最后兩位顯示答題時(shí)間倒計(jì)時(shí),如圖5.5共陰極abcde尸g 0尸amrcte<i><texn«c21djfu1pr0gfvy>-dl3- id j.hb
21、<r8c1hf<tek7cry8tm ctext> 卜卜.! 5 60af? issdelx mix惶卜rid ler-.emd lrid e_end nun 內(nèi) nd nrnd 娶、r-nd xvgzd uw>zd 二需nd pkrlza. 罷nd§s 旻ti啟 支丫od nsns mwqd §as圖5.5此時(shí),搶答區(qū)按鍵被鎖,無人可以搶答?;卮饡r(shí)間完結(jié)后,又出現(xiàn)如圖5.4的現(xiàn)象。5.5復(fù)位按下復(fù)位鍵后,程序回復(fù)初始狀態(tài)。第6章總結(jié)這次彭老師給我們安排了一個(gè)星期的吋間,可以說是比較充裕的。雖然如此, 我還是很用心的做設(shè)計(jì)程序,剛拿到題目,感覺太繁雜
22、了,不知怎么下手,雖然 這些知識(shí)以前都有接觸過,但也只是分部分來接觸,而這次的設(shè)計(jì)是耍對(duì)前面幾 次實(shí)驗(yàn)的一個(gè)綜合,真的很難。也翻閱了一些資料,到圖書館翻閱了很多資料, 可是還是一片空白,于是也在網(wǎng)上參考一些個(gè)程序,然后自己事先編寫好了程序, 到了周一去到機(jī)房時(shí)候,把自己寫的程序燒進(jìn)去芯片里面,發(fā)現(xiàn)不行,才知是我 把段碼地址搞錯(cuò)了,所以不能在數(shù)碼管上正常顯示。通過運(yùn)用單片機(jī)設(shè)計(jì)八路搶 答器程設(shè)計(jì),發(fā)現(xiàn)自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng) 驗(yàn)述是比較缺乏,理論聯(lián)系實(shí)際的能力述急需提高。第7章致謝在這一周里,我和我組成員周瑞森設(shè)計(jì)了一個(gè)八路搶答器,是主要由用 at98c51單片機(jī)為
23、核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答器。在彭老師的帶領(lǐng)和指導(dǎo)下,我們才能順利的完成這個(gè)電路的設(shè)計(jì)。因?yàn)槭撬? 教給我們的數(shù)字電子電路知識(shí),也是他,幫我們找出了設(shè)計(jì)過程中存在的不易察 覺的錯(cuò)誤和漏洞。如果沒有老師平時(shí)上課對(duì)我們的耐心的教學(xué),沒有老師對(duì)我們的解疑釋惑,我們 也不可能掌握電子電路的知識(shí),掌握將來工作的技術(shù)和能力。所以,在此,感謝彭老師對(duì)我們的付出,感謝彭老師為我們所做的一切,我們 現(xiàn)在所得到的知識(shí),都是彭老師辛苦的結(jié)晶。除此之外,還要感謝學(xué)校給我們提供的這次自己實(shí)際動(dòng)手實(shí)驗(yàn)的機(jī)會(huì),讓我們 學(xué)到了課堂上沒有的知識(shí)。還有,感謝我的組員,在這期間,我們相互探討,相互學(xué)習(xí),相互取長(zhǎng)補(bǔ)短, 提高了
24、工作效率,沒有他們的幫助,我也不可能單獨(dú)完成整個(gè)設(shè)計(jì)。所以,在此,感謝所有的人!第8章參考文獻(xiàn)1 陳堂敏.劉煥平主編.單片機(jī)原理與應(yīng)用m.北京:北京理工大學(xué)出版社,2017.2 沈美明.溫動(dòng)蟬編著.ibm-pc匯編語言程序設(shè)計(jì)m.北京:清華大學(xué)岀版社,2016.3 張仰森等編微型計(jì)算機(jī)常用軟硬件技術(shù)速查手冊(cè)m 北京:北京希望電腦公 司,2011.4 江修汗等編.計(jì)算機(jī)控制原理耳應(yīng)用m四安:四安電子科技大學(xué)出版社,2015.5 劉守義單片機(jī)應(yīng)用技術(shù)m. 2版.西安:西安電子科技大學(xué)出版社,2013.6 王效華,張?jiān)伱穯纹瑱C(jī)原理與應(yīng)用m北京:北京交通大學(xué)出版社,2012.7 亞娟單片機(jī)原理與應(yīng)用m
25、大連:大連理工大學(xué)岀版社,2017.8 劉訓(xùn)非.單片技術(shù)及應(yīng)用m北京:清華大學(xué)出版社,2017.9 畢萬新.單片機(jī)原理與接口技術(shù)m.大連:大連理工大學(xué)出版社,2015.10 歐鵬科技,史學(xué)軍,周井泉,電路分析基礎(chǔ)m.西安:西安科技大學(xué)出版社, 2014.附錄a: proteus仿真圖a8c0efg共陰極搶答時(shí)間設(shè)定ah回答時(shí)間訟定、':. -2bc1glqd sowsod §aod wwod "cdr810 text<tcxt>x1ism 號(hào)<艾c2-iilktfxt*s-s、£ zwscd 2宴 s2d i£ 二烹2d syb
26、zd雖cd 腹9xd m/s£d 052 12養(yǎng) cd akecd qxoeu1at69c51mrm停止crystal vtektigurry血grx r o -確定ls1ilgspeak"text,附錄b:源程序ok equ 20hring equ 22horg 0000hajmp mainorg 0003hajmp intosuborg 000bhajmp tointorg 0013hajmp inti suborg 001bhajmpt1intorg 0040hmain:mov rl,#30;初設(shè)搶答時(shí)間為30smov r2,#60;初設(shè)答題時(shí)間為60smovtmod
27、,#11h;設(shè)置定時(shí)器工作于方式1mov th0,#0fhmov tlo,#ob1h;越高發(fā)聲頻率越高,越尖mov th1,#3chmovtll,#0b0h;50ms為一次溢岀屮斷setb easetb et0setb et1setb exosetb exi;允許 4 個(gè)中斷,to/t1/int0/int1clr okclr ringsetb tr1setb tro;一開始就運(yùn)行定時(shí)器,以開始顯示fff,若要重新計(jì)數(shù),重置th1/tl1就 行;=二二二查詢程序=start:mov r5,#0bhmov r4,#0bhmov r3,#()bhacall display;未開始搶答時(shí)候顯示fffj
28、b p3.0,nextacall delayjb p3.0,next;去抖動(dòng),如果“開始”按下就向下執(zhí)行,否則跳到非法搶答查詢acall bark;按鍵發(fā)聲mova,r1mov r6,a;送r1->r6,因?yàn)閞1中保存了搶答時(shí)i'可setb ok;搶答標(biāo)志位,勇于count程序屮半段是否查詢搶答mov r7,#0ih;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)mov r3,#0ah;搶答只顯示計(jì)吋,滅號(hào)數(shù)ajmpcount;進(jìn)入倒計(jì)時(shí)程序,“查詢有效搶答的程序”在count里面next:jnb p 1.0,false 1jnbp1.1,false2jnbp1.2,false3
29、jnb p1.3,false4jnb p1.4,false5jnb p1.5,false6jnbp1.6,false7jnb p1.7,false8ajmp start;=非法搶答處理程序=falsekmov r3,#01hajmperrorfalse2:mov r3,#02hajmp errorfalse3:mov r3,#o3hajmp errorfalse4:mov r3,#04hajmp errorfalse5:mov r3,#05hajmp errorfalse6:mov r3,#o6hajmp errorfalse7:mov r3,#07hajmp errorfalse8:mov
30、r3,#o8hajmp error;=int0 (搶答時(shí)間r1調(diào)整程序)=intosub:mova,r1mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall display;現(xiàn)在兩個(gè)吋間led上顯示r1jnb p3.4,inc0;p3.4 為+1s 鍵,如按下跳到 incojnb p35,dec0;p3.5為ls鍵,如按下跳到decojnb p3,back0;p3為確定鍵,如按下跳到backoajmp intosubinco:mova,r1cjnea,#63h,add0;如果不是99, r2加1,如果加到99, r1就置0,重新加起movr1,#oo
31、hacall delay 1ajmpintosubaddo:incr1acall delay 1ajmp intosubdeco:mova,r1jzsetr1;如果 r1 為 0, r1 就置 99dec r1acall delay 1ajmp intosubsetr1:movr1,#63hacall delay 1ajmp intosubbacko:reti;=int1 (回答時(shí)間r2調(diào)整程序)=int1sub:mova,r2mov b,#oahdiv abmov r5,amov r4,bmov r3,#0ahacall displayjnb p3.4jnc1jnb p3.5,dec1jnb
32、 p3.1,back1ajmp inti subinc1:mov a,r2 cjnea,#63h,add1 mov r2,#00hacall delay 1ajmp inti subaddkinc r2acall delay 1ajmp inti subdec1:mova,r2jz setr2dec r2acall delay 1ajmp inti subsetr2:mov r2,#63hacall delay 1ajmp int1subback1:reti;=倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都調(diào)到該程序)= repeat:m0va,r2;使用錦囊時(shí)重新計(jì)時(shí)mov r6,aclr ringc
33、ount:mov r0,#00h;重置定時(shí)器中斷次數(shù)mov th1,#3chmov tl1 ,#0b oh;重置定時(shí)器recount:mov a,r6;r6保存了倒計(jì)吋問,之前應(yīng)先將搶答或答題吋問給r6mov b,#0ahdiv ab;除十分出個(gè)位/十位mov 30h,a;十位存于(30h)mov31h,b;個(gè)位存于(31h)mov r5,30h;取十位mov r4,31h;収個(gè)位mov a,r6subb a,#07hjnc larger;大于5s調(diào)到larger,小于等于5s會(huì)提醒mov a,rocjne a,#0ah,full; 1 s 屮 0.5s 向下運(yùn)行clr ringajmpche
34、ckfull:cjnea,#14h,check;下面是is的情況,響并顯示號(hào)數(shù)并請(qǐng)ro,重新計(jì)數(shù)setb ringmov a,r6jz quit;計(jì)時(shí)完畢mov r(),#0()hdec r6;秒標(biāo)志減1ajmpchecklarger:mov a,r0cjne a,#14h,check;如果is向下運(yùn)行,否則跳到查“停/顯示”dec r6;計(jì)時(shí)一秒r6自動(dòng)減1mov r0,#00hcheck:jnb p3.1,quit;如按下停止鍵退出jnb ok,checkk;只在回答倒計(jì)時(shí)才有效ajmpnexttcheckk:jnb p3.0,repeat;判斷是否使用錦囊nextt: ac all di
35、splayjb ok,acount;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否則跳過查詢繼續(xù)倒數(shù)(這 里起到鎖搶答作用)ajmp recountacount:mov a,36hjnb acc.o,true1jnb acc.1,true2jnb acc2true3jnb acc.3,true4jnb acc.4,true5jnb acc.5,true6jnb acc.6,tz1jnb acc.7,tz2ajmp recounttz1:jmptrue7tz2:jmptrue8quit:clr ok;如果按下了 “停止”執(zhí)行的程序clr ringajmp start;=正常搶答處理程序=true 1: a
36、c all barkmov a,r2mov r6,a;搶答時(shí)間r2送r6mov r3,#01hclr ok;因?yàn)榇痤}的計(jì)時(shí)不在查詢搶答,所以就鎖了搶答ajmp counttrue2:acallbarkmova,r2mov r6,amov r3,#02hclr okajmp counttrue3:acallbarkmov a,r2mov r6,amov r3,#03hclr okajmp counttrue4:acall barkmov a,r2mov r6,amov r3,#04hclr okajmpcounttrue5:acallbarkmov a,r2mov r6,amov r3,#05h
37、clr okajmpcounttrue6:acallbarkmov a,r2mov r6,amov r3,#06hclr okajmp counttrue7:acallbarkmov a,r2mov r6,amov r3,#07hclr okajmp counttrue8:acallbarkmov a,r2mov r6,amov r3,#08hclr okajmpcount;=犯規(guī)搶答程序=error:mov r0,#00hmov th1,#3chmov tl1,#obohmov34h,r3;犯規(guī)號(hào)數(shù)暫存與(34h)here:mov a,rocjnea,#o6h,flash;o.3s向下運(yùn)行-滅并停響clr ringmov r3,#0ahmov r4,#0ahmov r5,#0ah;三燈全滅ajmpcheck 1flash:cjnea,#och,check1;下面是0.8s的情況,響并顯示號(hào)數(shù)并清ro,重新計(jì)setb ringmov r0,#00hmov r3,34h;取回號(hào)數(shù)mov r5,#0bhmov r4,#0bh;顯示ff和號(hào)數(shù)ajmpcheck 1check 1:jnb p3.lquitacall disp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《內(nèi)蒙古館開館演講》課件
- 2025年度三人農(nóng)業(yè)科技項(xiàng)目合伙人合同范本3篇
- 2024防水材料購銷合作合同版B版
- 2024高端住宅精裝修承攬協(xié)議版B版
- 動(dòng)物遺傳繁育知到智慧樹章節(jié)測(cè)試課后答案2024年秋甘肅畜牧工程職業(yè)技術(shù)學(xué)院
- 2024版工業(yè)級(jí)不銹鋼管訂貨協(xié)議版
- 劇院木地板施工合同
- 隧道智能化系統(tǒng)采購合同
- 飛機(jī)檢修高空作業(yè)車租賃協(xié)議
- 鐵路工程安全施工協(xié)議
- 初中生物人教七年級(jí)上冊(cè)(2023年更新) 生物圈中的綠色植物18 開花和結(jié)果
- 水電解質(zhì)及酸堿平衡的業(yè)務(wù)學(xué)習(xí)
- 統(tǒng)編版一年級(jí)語文上冊(cè) 第5單元教材解讀 PPT
- CSCEC8XN-SP-安全總監(jiān)項(xiàng)目實(shí)操手冊(cè)
- 加減乘除混合運(yùn)算600題直接打印
- 口腔衛(wèi)生保健知識(shí)講座班會(huì)全文PPT
- 成都市產(chǎn)業(yè)園區(qū)物業(yè)服務(wù)等級(jí)劃分二級(jí)標(biāo)準(zhǔn)整理版
- 最新監(jiān)督學(xué)模擬試卷及答案解析
- ASCO7000系列GROUP5控制盤使用手冊(cè)
- 污水處理廠關(guān)鍵部位施工監(jiān)理控制要點(diǎn)
- 財(cái)政投資評(píng)審中心工作流程
評(píng)論
0/150
提交評(píng)論