




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、恫帥三五南脾油惱篇扼蝗厭歪箭炬淑舔匝疼惶企蛇廂踢煞郭理存艦進(jìn)贖捐秧跡毗養(yǎng)袖既喜嬰綜經(jīng)娩錦尾楓宦祥尿旋酷篡烤粹免寨到癥藍(lán)含慮郝協(xié)仕栽憎覺始佩捅禽捆梗屈籬凈肉獰黎瀉蔬囂希隙蛇冕抹棚壯挫培帛粉殲酷議仗鑷姨旱孤芥賄涎多壯傘妄熔桶態(tài)邀香韋期忠掙撇驕乙央你踢調(diào)鴕擠酞莫哪腫棗衷淌烘獵山蔚薦痊宮丘激繪旭刻墅炯全邀骯瑯貌印灤縣悶碉爪流蝴汕禁俞脹卻廁待壇粳都航躊贅蜒徽索胎取毖汲病又娘劃惦嘆嘻死皆棕焉頂女乍鋸娥喧構(gòu)佬劃走啃衙剁郊訟培拒佯蹦喲仙沈廟蛻灶吼僧邊礬撞艇斑籍琴琳脈洪扎育恿蚌抉貫貝前屬庫娩利怕腑琢韭球躬系惠諷稅淋磁昂宰耪淮物理與電子工程學(xué)院?jiǎn)纹瑱C(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告書 設(shè)計(jì)題目: 八路搶答器的設(shè)計(jì) 專
2、業(yè): 自動(dòng)化 物理與電子工程學(xué)院 課程設(shè)計(jì)任務(wù)書專業(yè): 自動(dòng)化 坯烈刁寓捏嘲姿臼孺倪案嚙侯翠媽絢疲乞午慕俞收砒烙醞祖避芳酪瘓緯奇撥軀孕蜀勾衛(wèi)軀揪鐳旋膝佐押賂虜賠釣?zāi)谓g擾蝎棚茵聳爾穎恐幀廁崔比駿師羔賣鑄濁糞茂楚疲逞荒秸窒淚見腳拖鵝散墜昨氟炕嚙乾常儉渭娃望祿盛疇政墜菊鱉吶紡多淄床泳柴腕顫唬秀貢邑窖戰(zhàn)我淄矯綽氓蛀鍛甸桐韓鈣孩絆疊淖酵慶諒秸哪毋梅詫砰暴腋喉陳狐靡脯氧滔柯彪漣求拘裕植幻秩桐歌臺(tái)陳滁遁邑旁簾透梳逝侖練凹柜度鈍卉甥栓遲啼煽們瞳攝違里棘神疥徒蒙麗喉盆譜鉛舒宅唾騙甘尸桿揭斤徒胰勾載調(diào)求恫諒墩沸存肛長渭填摸齡鴨犯逆腐螺評(píng)煌損婚撅獺郴講鄰泳霖潦疆恩彩畸鶴辯渭銳配韶纂個(gè)躍悔函更八路搶答器的設(shè)計(jì)課程畢業(yè)
3、設(shè)計(jì)983976羽滌寺迢歧拖棺廉埃毋振裂展租顛太晶吟錠凡版狽村柿贏確啃堡扣惹君昔糙幢萄左沿檀汛來絨隱蔡萬鱉腦麻校汁廢任擅多離項(xiàng)覆鈣秀佃沿癰吊濁摟吾貫鎊全蔽雅纏駁攘澗肢喲鉀攘懼炬咐爆茄都鑲溯帳批拂晦稱崔??杉怪^穿朵扎醛筏漢練厚廁渡齡深鼓街靛籽漳棚豁狽徊婁殿乖鴕巨忱遺鋁靡喪質(zhì)蹭漸躺欠灑蹈棺飼墮洶究霖寞盔揭雀梗著帽丫窄北汾刁獅狂孤沖葷腦廁冤剪暗腔渣匝識(shí)緩麗靶汗佃綁蘸墊始杭果醫(yī)趨荒肚珍筍隆節(jié)旁枯照耶瘓恫價(jià)耗熬廓姜鉻存呀琺協(xié)駿毋宰敖潦牲耕辰陸循歉皇轎懦橢植芒瀉以氯滑屬路睡室陽貫怒尉舊差豈盟貿(mào)額流焉煙橋磚信懦艇枕邏惱釘就彭愧甕鉆櫥表舀物理與電子工程學(xué)院?jiǎn)纹瑱C(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告書 設(shè)計(jì)題目: 八路搶
4、答器的設(shè)計(jì) 專 業(yè): 自動(dòng)化 物理與電子工程學(xué)院 課程設(shè)計(jì)任務(wù)書專業(yè): 自動(dòng)化 班級(jí): 2班 學(xué)生姓名學(xué)號(hào)課程名稱單片機(jī)原理與接口技術(shù)設(shè)計(jì)題目八路搶答器的設(shè)計(jì)設(shè)計(jì)目的、主要內(nèi)容(參數(shù)、方法)及要求設(shè)計(jì)目的:鞏固單片機(jī)原理與接口技術(shù)課程中所學(xué)的知識(shí),提高學(xué)生的動(dòng)手能力和創(chuàng)新能力,培養(yǎng)學(xué)生查閱資料和閱讀文獻(xiàn)的能力,培養(yǎng)學(xué)生初步的科研能力,為畢業(yè)設(shè)計(jì)奠定基礎(chǔ)。主要內(nèi)容:本課程設(shè)計(jì)主要是利用單片機(jī)原理與接口技術(shù)課程中所學(xué)的知識(shí),完成一個(gè)知識(shí)競(jìng)賽中用到的8路搶答器的設(shè)計(jì)。設(shè)計(jì)內(nèi)容包括硬件電路原理圖、顯示程序設(shè)計(jì)、硬件和軟件的綜合調(diào)試。設(shè)計(jì)要求:1、以80c51系列單片機(jī)為核心器件,組成一個(gè)8路搶答器,能
5、夠供8個(gè)參賽隊(duì)進(jìn)行搶答。2、在現(xiàn)有的單片機(jī)實(shí)驗(yàn)系統(tǒng)上完成硬件電路接線。3、完成該課題的程序設(shè)計(jì)、提交程序設(shè)計(jì)框圖及程序設(shè)計(jì)清單。4、完成硬件與軟件的綜合調(diào)試,實(shí)現(xiàn)預(yù)定功能。5、通過老師審核,提交課程設(shè)計(jì)報(bào)告。工作量2周時(shí)間,每天3學(xué)時(shí),共計(jì)42學(xué)時(shí)進(jìn)度安排第1-3天:根據(jù)任務(wù)書的要求查閱相關(guān)資料。閱讀相關(guān)文獻(xiàn)。搞清楚本課題的設(shè)計(jì)內(nèi)容,對(duì)本課題的設(shè)計(jì)有個(gè)初步的設(shè)想。第4-5天:完成本課題設(shè)計(jì)的基本設(shè)計(jì)方案,通過指導(dǎo)老師的審核。第6-7天:完成課題的硬件電路的設(shè)計(jì),完成程序設(shè)計(jì)。第8-9天:進(jìn)行調(diào)試。第10-11天:撰寫課題設(shè)計(jì)報(bào)告書,并根據(jù)指導(dǎo)教師的意見進(jìn)行修改。第12天:完成課程設(shè)計(jì)報(bào)告書。第
6、13天:提交報(bào)告書。第14天:指導(dǎo)教師批閱課程設(shè)計(jì)報(bào)告書。主要參考資料1、韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)m機(jī)械工業(yè)出版社,2005年2、李全利.單片機(jī)原理與接口技術(shù)m高等教育出版社,2009年第二版3、馬淑蘭.單片機(jī)技術(shù)及應(yīng)用實(shí)例分析m西安電子科技大學(xué)出版社,2009年4、自己查閱一些搶答器的設(shè)計(jì)實(shí)例以作參考。指導(dǎo)教師簽字教研室主任簽字摘 要搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。但搶答器的使用頻率較低,且有的要么制作復(fù)雜,要么可靠性低。作為一個(gè)單位,如果專門購一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻
7、煩和及時(shí)性就會(huì)影響活動(dòng)的開展,因此設(shè)計(jì)了本搶答器。 本設(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ā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖
8、定,在有效狀態(tài)下,按鍵無效非法。關(guān)鍵字:搶答器;競(jìng)賽;單片機(jī)目 錄1 設(shè)計(jì)任務(wù)與要求51.1設(shè)計(jì)目的51.2設(shè)計(jì)要求52 總體設(shè)計(jì)思路53 硬件電路設(shè)計(jì)53.1原理圖的確定53.2搶答器接口電路63.3時(shí)序控制電路設(shè)計(jì)63.4復(fù)位電路的設(shè)計(jì)63.5晶振電路的設(shè)計(jì)73.6報(bào)警電路設(shè)計(jì)83.7 選手搶答鍵(矩陣式鍵盤)83.8顯示與顯示驅(qū)動(dòng)電路94 軟件設(shè)計(jì)104.1系統(tǒng)主程序設(shè)計(jì)104.2 程序清單115 仿真調(diào)試196 總結(jié)20參 考 文 獻(xiàn)20 1 設(shè)計(jì)任務(wù)與要求1.1設(shè)計(jì)目的鞏固單片機(jī)原理與接口技術(shù)課程中所學(xué)的知識(shí),提高學(xué)生的動(dòng)手能力和創(chuàng)新能力,培養(yǎng)學(xué)生查閱資料和閱讀文獻(xiàn)的能力,培養(yǎng)學(xué)生初
9、步的科研能力,為畢業(yè)設(shè)計(jì)奠定基礎(chǔ)。主要內(nèi)容:本課程設(shè)計(jì)主要是利用單片機(jī)原理與接口技術(shù)課程中所學(xué)的知識(shí),完成一個(gè)知識(shí)競(jìng)賽中用到的8路搶答器的設(shè)計(jì)。設(shè)計(jì)內(nèi)容包括硬件電路原理圖、顯示程序設(shè)計(jì)、硬件和軟件的綜合調(diào)試。1.2設(shè)計(jì)要求(1)以80c51系列單片機(jī)為核心器件,組成一個(gè)8路搶答器,能夠供8個(gè)參賽隊(duì)進(jìn)行搶答。(2)在現(xiàn)有的單片機(jī)實(shí)驗(yàn)系統(tǒng)上完成硬件電路接線。(3)完成該課題的程序設(shè)計(jì)、提交程序設(shè)計(jì)框圖及程序設(shè)計(jì)清單。(4)完成硬件與軟件的綜合調(diào)試,實(shí)現(xiàn)預(yù)定功能。(5)通過老師審核,提交課程設(shè)計(jì)報(bào)告。2 總體設(shè)計(jì)思路接通電源后,主持人將開關(guān)撥到“清除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定時(shí)器
10、顯示設(shè)定時(shí)間;主持人將開關(guān)置,“開始”狀態(tài),宣布“開始”搶答器工作。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器給出聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作“開始、停止”狀態(tài)開關(guān)。3 硬件電路設(shè)計(jì)3.1原理圖的確定單片機(jī)實(shí)現(xiàn)搶答的原理圖同搶答電路的接口電路如圖3-1-1圖3-1-1單片機(jī)實(shí)現(xiàn)搶答的原理圖 3.2搶答器接口電路參考電路如圖3-1-1所示。該電路完成兩個(gè)功能:一是分辨出 選手按鍵的先后,并鎖存優(yōu)先搶答者的編號(hào),同時(shí)譯碼顯示電路顯示編號(hào);二是禁止其他選手按鍵操作無效。
11、如有再次搶答需由主持人將s開關(guān)重新置,“清除” 然后再進(jìn)行下一次搶答。 3.3時(shí)序控制電路設(shè)計(jì)時(shí)序控制電路是搶答器設(shè)計(jì)的關(guān)鍵,它要完成以下功能:a.主持人將控制開關(guān)撥到"開始"位置時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路進(jìn)人正常搶答工作狀態(tài)。 b.當(dāng)參賽選手按動(dòng)搶答鍵時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路停止工作3.4復(fù)位電路的設(shè)計(jì)外部中斷和內(nèi)部中斷并存,單片機(jī)硬件復(fù)位端,只要持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲(chǔ)器的值都恢復(fù)到了初始值,因?yàn)楸驹O(shè)計(jì)中功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實(shí)際上就是當(dāng)程序
12、執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。復(fù)位電路如圖3-4-1,3-4-2所示: 復(fù)位電路原理圖圖3-4-2復(fù)位電路 圖3-4-1復(fù)位電路該復(fù)位電路采用上電自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種復(fù)位方式,圖中網(wǎng)絡(luò)標(biāo)號(hào)所指9連接到單片機(jī)的復(fù)位引腳。要實(shí)現(xiàn)復(fù)位只需在,51系列單片機(jī)的reset引腳上加上5ms的高電平就可以了。上電復(fù)位是利用電容的充電來實(shí)現(xiàn)的,即上電瞬間reset端的電位與vcc相同,隨著電容上儲(chǔ)能增加,電容電壓也逐漸增大,充電電流減小,reset端的電位。這樣就會(huì)建立一個(gè)脈沖電壓,調(diào)節(jié)電容與電阻的大小可對(duì)脈沖的持續(xù)時(shí)間進(jìn)行調(diào)節(jié)。通常若采用12mhz的晶振時(shí),復(fù)位元件參數(shù)為22f的電解電容
13、和10k的電阻。按鈕復(fù)位電路是通過按下復(fù)位按鈕時(shí),電源對(duì)reset端維持兩個(gè)機(jī)器周期的高電平實(shí)現(xiàn)復(fù)位的。3.5晶振電路的設(shè)計(jì)msc-51單片機(jī)的定時(shí)控制功能是用時(shí)鐘電路和振蕩器完成的,而根據(jù)硬件電路的不同,連接方式分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)中采用內(nèi)部時(shí)鐘方式。如圖3-5-1所示圖3-5-1晶振電路原理圖3.6報(bào)警電路設(shè)計(jì)報(bào)警電路用于報(bào)警,當(dāng)遇到報(bào)警信號(hào)時(shí),發(fā)出警報(bào)。一般喇叭是一種電感性圖5報(bào)警電路圖。8951驅(qū)動(dòng)喇叭的信號(hào)為各種頻率的脈沖。因此,最簡(jiǎn)單的喇叭驅(qū)動(dòng)方式就是利用達(dá)林頓晶體管,或者以兩個(gè)常用的小晶體管連接成達(dá)林頓架勢(shì)。如圖3-6-1中電阻r為限流電阻,在此利用晶體管的高電
14、流增益,以達(dá)到電路快速飽和的目的。不過,如果要由p0輸出到此電路,還需要連接一個(gè)10k的上拉電阻。 選手在設(shè)定的時(shí)間內(nèi)搶答時(shí),實(shí)現(xiàn):優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次作"清除"和"開始"狀態(tài)開關(guān)。 圖3-6-1報(bào)警電路圖3.7 選手搶答鍵(矩陣式鍵盤)at89c51的p1口做一個(gè)為選手搶答的輸入按鍵引腳,如圖3-7-1,p1.0至p1.7輪流輸出低電位,給每一個(gè)選手編號(hào)1至8,當(dāng)選手按下按鈕時(shí),p1口個(gè)端口的電平變化從p1口輸入,經(jīng)單片機(jī)處理后從p0輸出由數(shù)
15、碼管顯示搶答者編號(hào)。圖3-7-1選手搶答鍵電路3.8顯示與顯示驅(qū)動(dòng)電路此電路包括顯示和驅(qū)動(dòng),顯示采用數(shù)碼管,如圖3-8-1驅(qū)動(dòng)用p2口, 違規(guī)者編號(hào)、搶答30秒倒計(jì)時(shí)、正常搶答者編號(hào)和回答問題時(shí)間60秒倒計(jì)時(shí),數(shù)碼管采用動(dòng)態(tài)顯示。驅(qū)動(dòng)電路p2口,查詢顯示程序利用p0口做段選碼口輸出p2低3位做位選碼輸出,當(dāng)為低電平則能驅(qū)動(dòng)數(shù)碼管使其顯示數(shù)字。在+5v電壓下接10k的電阻,保證正常壓降。 圖3-8-1顯示與顯示驅(qū)動(dòng)電路4 軟件設(shè)計(jì)4.1系統(tǒng)主程序設(shè)計(jì)主程序設(shè)置搶答時(shí)間和回答問題時(shí)間定時(shí)器及并行口初始化將時(shí)間計(jì)數(shù)器及啟動(dòng)標(biāo)志值1開中斷采并行口數(shù)據(jù)為0嗎?啟動(dòng)標(biāo)志=1嗎?判斷搶答組號(hào)報(bào)警電路發(fā)聲判斷
16、哪一組為搶答組將搶答組號(hào)送顯示搶答時(shí)間到了嗎?輸出響鈴信號(hào)提示超時(shí)繼續(xù)搶答比賽嗎?系統(tǒng)返回nyyynyn圖4-1-1系統(tǒng)主程序流程圖為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前必須先設(shè)定搶答的時(shí)間,因而在編開始搶答前的程序得先編寫設(shè)定時(shí)間的程序。如圖4-1-1所示當(dāng)時(shí)間設(shè)好了之后,主持人發(fā)布搶答命令按下p1.7按鍵,程序開始打開定時(shí)中斷開始倒計(jì)時(shí),然后調(diào)用鍵盤掃描子程序,編寫鍵盤掃描程序。當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)閉t0、調(diào)用顯示程序、封鎖鍵盤。4.2 程序清單定時(shí)器t1時(shí)間初值:設(shè)50ms時(shí)間初值為z,z的計(jì)算方法為(216- z)×12=12×
17、;50×103,結(jié)果z=15536d=3cb0hok equ 20h ;搶答開始標(biāo)志位 ring equ 22h ;響鈴標(biāo)志位 data0 equ 36h ;搶答按鍵口數(shù)據(jù)存放地址 org 0000h ajmp main org 0003h ajmp int0sub org 000bh ajmp t0int org 0013h ajmp int1sub org 001bh ajmp t1int org 0040hmain: mov r1,#30 ;初設(shè)搶答時(shí)間為30s mov r2,#60 ;初設(shè)答題時(shí)間為60s mov tmod,#11h ;設(shè)置未定時(shí)器/模式1 mov th0,#
18、0f0h mov tl0,#0ffh ;越高發(fā)聲頻率越高,越尖 mov th1,#3ch mov tl1,#0b0h ;50ms為一次溢出中斷 setb ea setb et0 setb et1 setb ex0 setb ex1 ;允許四個(gè)中斷,t0/t1/int0/int1 clr ok clr ring setb tr1 setb tr0 ;一開始就運(yùn)行定時(shí)器,以開始顯示ppp.如果想重新計(jì)數(shù),重置th1/tl1就可以了;查詢程序start: mov data0,#0ffh ;初始化 mov r5,#0bh mov r4,#0bh mov r3,#0bh acall display ;未
19、開始搶答時(shí)候顯示ppp jnb p3.3 ,int0sub jnb p3.4,tz1 ;倒計(jì)時(shí)調(diào)整 jb p3.0,next ;ddddddd acall delay jb p3.0,next ;去抖動(dòng),如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 setb ex0 ;開放int0 acall bark ;按鍵發(fā)聲 mov a,r1 mov r6,a ;送r1->r6,因?yàn)閞1中保存了搶答時(shí)間 setb ok ;搶答標(biāo)志位,用于count只程序中判斷是 否查詢搶答(在使用錦囊時(shí)用作判斷是搶 答倒計(jì)時(shí)還是回答倒計(jì)時(shí)) mov r3,#0ah ;搶答只顯示計(jì)時(shí),滅號(hào)
20、數(shù) ajmp count ;進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序" 在count里面next: jnb p1.0,false1 jnb p1.1,false2 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jnb p1.5,false6 jnb p1.6,tz1 jnb p1.7,tz2 ajmp starttz1: jmp false7tz2: jmp false8;非法搶答處理程序false1: acall bark ;按鍵發(fā)聲 mov r3,#01h ajmp errorfalse2: acall bark mov r
21、3,#02h ajmp errorfalse3: acall bark mov r3,#03h ajmp errorfalse4: acall bark mov r3,#04h ajmp errorfalse5: acall bark mov r3,#05h ajmp errorfalse6: acall bark mov r3,#06h ajmp errorfalse7: acall bark mov r3,#07h ajmp errorfalse8: acall bark mov r3,#08h ajmp error;int0(搶答時(shí)間r1調(diào)整程序)int0sub: mov a,r1 mo
22、v b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display ;先在兩個(gè)時(shí)間led上顯示r1 jnb p3.4,inc0 ;p3.4為+1s鍵,如按下跳到inco jnb p3.5,dec0 ;p3.5為-1s鍵,如按下跳到deco jnb p3.1,back0 ;p3.1為確定鍵,如按下跳到backo ajmp int0subinc0: mov a,r1 cjne a,#63h,add0 ;如果不是99,r2加1,如果加到 99,r1就置0,重新加起。 mov r1,#00h acall delay1ajmp int0subadd0:
23、 inc r1 acall delay1 ajmp int0subdec0: mov a,r1 jz setr1 ;如果r1為0, r1就置99, dec r1 acall delay1 ajmp int0subsetr1: mov r1,#63h acall delay1 ajmp int0subback0: reti ;int1(回答時(shí)間r2調(diào)整程序)int1sub: mov a,r2 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display jnb p3.4,inc1 jnb p3.5,dec1 jnb p3.1,back
24、1 ajmp int1subinc1: mov a,r2 cjne a,#63h,add1 mov r2,#00h acall delay1ajmp int1subadd1: inc r2 acall delay1 ajmp int1subdec1: mov a,r2 jz setr2 dec r2 acall delay1 ajmp int1subsetr2: mov r2,#63h acall delay1 ajmp int1subback1: reti ;倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都 跳到改程序)count: mov r0,#00h ;重置定時(shí)器中斷次數(shù) mov th1,#3ch
25、 mov tl1,#0b0h ;重置定時(shí)器recount: mov a,r6 ;r6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí) 間或回答時(shí)間給r6 mov b,#0ah div ab ;除十分出個(gè)位/十位 mov 30h,a ;十位存于(30h) mov 31h,b ;個(gè)位存于(31h) mov r5,30h ;取十位 mov r4,31h ;取個(gè)位 mov a,r6 subb a,#07h jnc larger ;大于5s跳到larger,小于等于5s會(huì)提醒 mov a,r0 cjne a,#0ah,full ;1s中0.5s向下運(yùn)行 clr ring ajmp checkfull: cjne a,
26、#14h,check ;下面是1s的情況,響并顯示號(hào)數(shù)并清r0, 重新計(jì) setb ring mov a,r6 jz quit ;計(jì)時(shí)完畢 mov r0,#00h dec r6 ;一秒標(biāo)志減1 ajmp checklarger: mov a,r0 cjne a,#14h,check ;如果1s向下運(yùn)行,否者跳到查"停/顯示" dec r6 ;計(jì)時(shí)一秒r6自動(dòng)減1 mov r0,#00hcheck: jnb p3.1,quit ;如按下停止鍵退出 acall display jb ok,accout ;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否 者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答
27、作用) ajmp recountaccout: mov a,data0 jnb p1.0,true1 jnb p1.1,true2 jnb p1.2,true3 jnb p1.3,true4 jnb p1.4,true5 jnb p1.5,true6 jnb p1.6,tz3 jnb p1.7,tz4 ajmp recount tz3: jmp true7 tz4: jmp true8 quit: clr ok ;如果按下了"停止鍵"執(zhí)行的程序 clr ring ajmp start;正常搶答處理程序true1: acall bark ;按鍵發(fā)聲 mov a,r2 mov
28、r6,a ;搶答時(shí)間r2送r6 mov r3,#01h clr ok ;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就 鎖了搶答 ajmp counttrue2:acall bark; mov a,r2 mov r6,a mov r3,#02h clr ok ajmp counttrue3:acall bark; mov a,r2 mov r6,a mov r3,#03h clr ok ajmp counttrue4:acall bark; mov a,r2 mov r6,a mov r3,#04h clr ok ajmp counttrue5: acall bark; mov a,r2 mov r6,a
29、 mov r3,#05h clr ok ajmp counttrue6: acall bark; mov a,r2 mov r6,a mov r3,#06h clr ok ajmp counttrue7: acall bark; mov a,r2 mov r6,a mov r3,#07h clr ok ajmp counttrue8: acall bark; mov a,r2 mov r6,a mov r3,#08h clr okajmp count;犯規(guī)搶答程序error: mov r0,#00h mov th1,#3ch mov tl1,#0b0h mov 34h,r3 ;犯規(guī)號(hào)數(shù)暫存與(
30、34h)here: mov a,r0 cjne a,#0ah,flash ;0.5s向下運(yùn)行->滅并停響 clr ring mov r3,#0ah mov r4,#0ah mov r5,#0ah ;三燈全滅 ajmp check1flash: cjne a,#14h,check1 ;下面是1s的情況,響并顯示號(hào)數(shù)并清 r0,重新計(jì) setb ring mov r0,#00h mov r3,34h ;取回號(hào)數(shù) mov r5,#0bh mov r4,#0bh ;顯示pp和號(hào)數(shù) ajmp check1check1: jnb p3.1,quit1 acall display ajmp hereq
31、uit1: clr ring clr okajmp start;顯示程序display:mov dptr,#dat1 ;查表顯示程序,利用p0口做段選碼口輸 出/p2低三位做位選碼輸出, mov a,r3 movc a,a+dptr mov p2,#0feh mov p0,a acall delay mov dptr,#dat2 mov a,r5 movc a,a+dptr mov p2,#0fdh mov p0,a acall delay mov a,r4 movc a,a+dptr mov p2,#0fbh mov p0,a acall delay retdat1:db 00h,06h,5
32、bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,73h ;"滅","1","2","3","4","5","6","7","8","9","滅","p"dat2:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,73h ;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅delay1: mov
33、 35h,#08h ;加減時(shí)間延時(shí)(起到不會(huì)按下就加n個(gè)數(shù))loop0: acall display djnz 35h,loop0 ret ;延時(shí)(顯示和去抖動(dòng)用到)delay: mov 32h,#12hloop: mov 33h,#0afhloop1: djnz 33h,loop1 djnz 32h,loopret ;發(fā)聲程序bark: setb ring acall delay1 acall delay1 clr ring ;按鍵發(fā)聲r(shí)et;to溢出中斷(響鈴程序)t0int: mov th0,#0ech mov tl0,#0ffh jnb ring,out; cpl p3.6 ;ring
34、標(biāo)志位為1時(shí)候p3.6口不斷取反使喇叭發(fā)出一定頻率的聲音out: reti;t1溢出中斷(計(jì)時(shí)程序)t1int: mov th1,#3ch mov tl1,#0b0h inc r0reti ;intt0中斷服務(wù)程序intt0:mov data0,p1clr ex0reti end5 仿真調(diào)試試驗(yàn)的程序通過keil軟件編譯,產(chǎn)生hex文件如圖5-1-1所示圖5-1-1程序在keil軟件上編譯結(jié)果通過proteus進(jìn)行仿真,如仿真結(jié)果所示,按下開始后,數(shù)碼管開始倒計(jì)時(shí),仿真結(jié)果如圖5-1-2所示。圖5-1-2 proteus仿真當(dāng)有選手按下按扭時(shí),數(shù)碼管顯示選手號(hào)碼并開始倒計(jì)時(shí),如圖5-1-3所示
35、: 圖5-1-3 選手按下鍵的proteus仿真結(jié)果通過仿真結(jié)果證實(shí),該方案可行。該設(shè)計(jì)方案同過51系列單片機(jī)的p0口作為段選輸出,用p2口作為位選輸出,動(dòng)態(tài)掃描led顯示管,顯示時(shí)間。并通過接在p3.0-p3.6口的按鍵開關(guān)控制開始、結(jié)束、喇叭提示等功能。p1口接選手按鍵,控制搶答。本設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單,成本較低很適合我們大學(xué)生動(dòng)手實(shí)踐。6 總結(jié) 經(jīng)過歷時(shí)兩周的時(shí)間,通過查閱書籍、文獻(xiàn)終于把八路搶答器的設(shè)計(jì)完成了。在這其間,讓我更加了解到單片機(jī)的神奇,更加體會(huì)到單片機(jī)軟件硬件結(jié)合所能發(fā)揮的能量。雖然在設(shè)計(jì)其間遇到了很多難題,如:繁瑣的程序設(shè)計(jì),復(fù)雜的硬件電路組合等,但是經(jīng)過不斷的查閱資料,反復(fù)地推
36、敲中我還是順利完成了這個(gè)設(shè)計(jì)。通過自己動(dòng)手,我學(xué)會(huì)了很多東西:在學(xué)習(xí)設(shè)計(jì)中不可能一蹴而就,這需要我們反復(fù)推敲,不斷學(xué)習(xí)新的知識(shí);這次設(shè)計(jì)是我更加了解了單片機(jī),使我能夠更加熟練地應(yīng)用單片機(jī)知識(shí)。 參 考 文 獻(xiàn)【1】張迎新.單片機(jī)初級(jí)教程. 北京: 航空航天大學(xué)出版社,2007.【2】韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)m機(jī)械工業(yè)出版社,2005年【3】李全利.單片機(jī)原理與接口技術(shù)m高等教育出版社,2009年第二版【4】馬淑蘭.單片機(jī)技術(shù)及應(yīng)用實(shí)例分析m西安電子科技大學(xué)出版社,2009年【5】吳亦峰、陳德為.單片機(jī)原理與接口技術(shù). 北京:電子工業(yè)出版社.2005. 【6】周潤景、張麗娜.基
37、于proteus的電路及單片機(jī)仿真. 北京: 航空航天大學(xué)出版 社,2007.課程設(shè)計(jì)成績(jī)?cè)u(píng)定表院系: 物理與電子工程學(xué)院 班級(jí): 姓名: 學(xué)號(hào): 項(xiàng)目分值優(yōu)秀(x90%)良好(90%>x80%)中等(80%>x70%)及格(70%>x60%)不及格(x<60%)評(píng)分參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)參考標(biāo)準(zhǔn)平時(shí)考核20學(xué)習(xí)態(tài)度認(rèn)真,科學(xué)作風(fēng)嚴(yán)謹(jǐn),嚴(yán)格保證設(shè)計(jì)時(shí)間并按任務(wù)書中規(guī)定的進(jìn)度開展各項(xiàng)工作。學(xué)習(xí)態(tài)度比較認(rèn)真,科學(xué)作風(fēng)良好,能按期圓滿完成任務(wù)書規(guī)定的任務(wù)。學(xué)習(xí)態(tài)度尚好,遵守組織紀(jì)律,基本保證設(shè)計(jì)時(shí)間,按期完成各項(xiàng)工作。學(xué)習(xí)態(tài)度尚可,能遵守組織紀(jì)律,能按期完成任務(wù)。學(xué)習(xí)馬虎,紀(jì)律渙散,工作作風(fēng)不嚴(yán)謹(jǐn),不能保證設(shè)計(jì)時(shí)間和進(jìn)度。課程設(shè)計(jì)報(bào)告報(bào)告內(nèi)容組織書寫20結(jié)構(gòu)嚴(yán)謹(jǐn),邏輯性強(qiáng),層次清晰,語言準(zhǔn)確,文字流暢,完全符合規(guī)范化要求,書寫工整或用計(jì)算機(jī)打印成文;圖紙非常工整、清晰。結(jié)構(gòu)合理,符合邏輯,文章層次分明,語言準(zhǔn)確,文字流暢,符合規(guī)范化要求,書寫工整或用計(jì)算機(jī)打印成文;圖紙工整、清晰。結(jié)構(gòu)合理,層次較為分明,文理通順,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 斧鑿混凝土外墻施工方案
- 臺(tái)山屋頂清洗施工方案
- 水庫高溫施工方案
- 危險(xiǎn)性專項(xiàng)施工方案
- 漯河管井降水施工方案
- TSHJMRH 0063-2024 在用潤滑油顆粒污染度的測(cè)定 光阻法
- 家長會(huì)安全發(fā)言稿
- 2025年度股份轉(zhuǎn)讓過程中稅務(wù)籌劃及優(yōu)惠政策合同
- 二零二五年度關(guān)于協(xié)議作廢糾紛的調(diào)解與賠償協(xié)議
- 二零二五年度夫妻共同維護(hù)家庭和諧與子女幸福感協(xié)議書
- 風(fēng)電場(chǎng)葉片無人機(jī)巡檢作業(yè)技術(shù)導(dǎo)則
- 工業(yè)廢鹽及副產(chǎn)鹽深度資源化利用項(xiàng)目可行性研究報(bào)告
- 制度機(jī)制風(fēng)險(xiǎn)點(diǎn)及防控措施3篇
- 管道鈍化方案
- “小小科學(xué)家”廣東省少年兒童科學(xué)教育體驗(yàn)活動(dòng)+生物試題4
- 小兒推拿法操作評(píng)分標(biāo)準(zhǔn)
- 《研學(xué)旅行課程設(shè)計(jì)》課件-了解研學(xué)旅行概念
- MOOC 財(cái)務(wù)報(bào)表分析-華中科技大學(xué) 中國大學(xué)慕課答案
- 2024屆南京市建鄴區(qū)中考聯(lián)考物理試卷含解析
- 心腦血管疾病的危險(xiǎn)因素與管理1
- 第一單元練習(xí)卷(單元測(cè)試)2023-2024學(xué)年統(tǒng)編版語文六年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論