版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機課程設(shè)計報告電氣與信息工程學(xué)院自動化1班王建平 第一部分adi學(xué)習(xí)板簡介一、系統(tǒng)資源1、兩路16位adc輸入、可作差分輸入;2、12位dac輸出;3、運放lm358; 4、rs232串口;5、步進(jìn)電機(5v、70歐、6線4相)接口;6、ps/2接口;7、插針11,用于選擇ps/2或者紅外接收頭;8、紅外接收頭;9、線性穩(wěn)壓芯片7805;10、復(fù)位按鍵和下載按鍵;11、開關(guān)以及功能選擇插針110(從左至右)12、4x4矩陣式鍵盤,左邊4個可以作獨立按鍵;13、直流電源輸入;14、usb電源輸入接口;15、iic接口;16、rtc ds1307;17、eeprom at24c08;18、8位
2、數(shù)碼管;19、spi接口;20、上排圖形點陣lcd12864的接口、下排lcd1602的接口;21、紅外二極管;22、8路led;23、蜂鳴器;24、p3口擴展接口;25、單片機aduc848;26、p2口擴展接口;27、p0口擴展接口;第二部分 簡單電子琴設(shè)計一、設(shè)計任務(wù)及要求1.1任務(wù)設(shè)計一簡易電子琴,要求能夠發(fā)出1,2,3,4,5,6,7等7個音符,具有一般演奏功能。2、要求1)具有一般演奏功能,利用所給鍵盤的1,2,3,4,5,6,7七個鍵,能夠發(fā)出7個不同的音調(diào),并且要求按下按鍵發(fā)聲,松開延時一段時間停止,中間再按別的鍵則發(fā)另一個音調(diào)的聲音2)具有自動播放已存曲目功能3)顯示當(dāng)前正在
3、播放的歌曲的名稱和歌詞1.2 相關(guān)設(shè)計說明 該電子琴設(shè)計是基于aduc848開發(fā)板,在設(shè)計語言方面可用c語言或者硬件語言,兩者相比較,c語言簡單易懂且本題目對于反映時間的要求不是很高,但為了鞏固匯編語言以及更加更加深入了數(shù)據(jù)在微機中存儲,我們選用了匯編語言來編寫。根據(jù)2.1所提出的設(shè)計要求,主要考慮一下幾個方面:音節(jié)、按鍵、蜂鳴器的使用。1.3 音節(jié)。 要求用8個按鍵發(fā)出8個不音調(diào),即按鍵1、2、3、4、5、6、7、8分別對應(yīng)音符的1、2、3、4、5、6、7和高音1共八個音調(diào),音階由不同頻率的方波產(chǎn)生,音階與頻率的關(guān)系如表一所示。方波的頻率由定時器控制。定時器計數(shù)溢出后,產(chǎn)生中斷,將p2.6口
4、取反即得周期方波。 (見下表 單位:hz,x為16進(jìn)制)音階1234567f262294330349392440494xff05ff20ff39ff44ff58ff6bff7e音的節(jié)拍由延時子程序?qū)崿F(xiàn)。延時子程序?qū)崿F(xiàn)基本延時時間,節(jié)拍值只能是它的整數(shù)倍。1.4 按鍵 開發(fā)板上按鍵有4行4列共16個,從0-15,從右到左依次為第0列到第3列,其中第0列從上到下依次為1、2、3、4,以此類推,在具體操作時由p2控制列選,p1控制行選,二者共同決定按下的是哪一個按鍵,如p2=0x0e時選中的是第0列,此時若p1=0x0e則表示選中的是1(在進(jìn)行按鍵檢測時,程序不斷的掃描端口,當(dāng)檢測到低電平時表示該按
5、鍵被按下)。接線時第0列到第3列依次接p2.0-p2.3,第0行到第3行依次接p1.0-p1.3.具體對應(yīng)到每個按鍵,18分別對應(yīng)8個不同的音節(jié)17以及搞8度的1,912分別控制控制預(yù)先存儲的4首歌曲:oldboy、songbie、bygh、music_code,按下4個鍵中的一個時程序中斷播放所對應(yīng)的歌曲;按鍵13表示轉(zhuǎn)到時鐘顯示時間;0、14、15為無效按鍵,當(dāng)檢測到其中一個被按下時則跳轉(zhuǎn)到主程序繼續(xù)執(zhí)行。按鍵輸入 該模塊原理如圖所示圖 按鍵模塊由于p1口(用于行掃描)內(nèi)部無上拉電阻,為使無鍵按下時行信號為高電平,故將行信號接上拉電阻,電阻大小10k即可。引腳復(fù)用:p2.0p2.3為4x4
6、矩陣式鍵盤列掃描信號,又復(fù)用作步進(jìn)電機控制信號,spi信號、p2.1p2.3還復(fù)用為數(shù)碼管第5、6、7位位碼控制信號。參與復(fù)用的一項功能使用時,其他參與復(fù)用的功能則不能使用。插針配置: (1)插針10上面兩腳接跳線帽,4x4矩陣式鍵盤輸入,行掃描信號為p1.0p1.3,列掃描信號為p2.02.3。(2)插針10下面兩腳接跳線帽,獨立按鍵輸入,該模式有4個獨立按鍵可用,按鍵掃描所用端口為p1.0p1.3。這4個按鍵為4x4矩陣鍵盤的左邊4個按鍵。1.5 程序流程圖開始串口掃描是否有鍵按下?是否為7?8?發(fā)音,高八度延時播放音樂?完成?顯示時間完成?返回1.6具體程序?qū)崿F(xiàn) ;1.572864mhz
7、,tc=0.63vs,t=7.6vssth1 equ 31hstl1 equ 30hst_addrequ 0000horgst_addrljmpmainorgst_addr+1bhljmpint_1main:mov sp,#40h anl tmod,#0f0h orl tmod,#10h setb ea setb et1 setb p2.6 mov p1,0f0h; p1低4位寫0,將p1低4位設(shè)為數(shù)字輸入模式,這樣才能讀連接p1的外部數(shù)據(jù)lkp: lcall saomiao;調(diào)掃描程序反鍵值 cjne a,#0aah,k0 clr p2.6 jmp lkpk0: cjne a,#0,k1 l
8、call tab ljmp lkpk1: cjne a,#1,k2 lcall tab ljmp lkpk2: cjne a,#2,k3 lcall tab ljmp lkpk3: cjne a,#3,k4 lcall tab ljmp lkpk4: cjne a,#4,k5 lcall tab ljmp lkpk5: cjne a,#5,k6 lcall tab ljmp lkpk6: cjne a,#6,k7 lcall tab ljmp lkpk7: cjne a,#7,k8 mov dptr,#duoruimi lcall outge ljmp lkpk8: cjne a,#8,k9
9、mov dptr,#shengrige lcall outge ljmp lkpk9: cjne a,#9,ka mov dptr,#liangzhilaohu lcall outge ljmp lkpka: cjne a,#10,kb mov dptr,#juhuatai lcall outge ljmp lkpkb: cjne a,#11,kc mov dptr,#juhuatai_c lcall outge ljmp lkpkc: jmp lkp;查表子程序tab: mov dptr,#table mov b,#2 mul ab mov 60h,a movc a,a+dptr mov t
10、h1,a mov sth1,a inc 60h mov a,60h movc a,a+dptr mov tl1,a mov stl1,a setb tr1 mov r5,#3loop0: movr7,#0ffh ;延遲0.5sloop1:movr6,#0ffhloop2:djnzr6,loop2 djnzr7,loop1djnz r5 , loop0 clr tr1ret ;播放歌曲outge:mova,#00hlop:movca,a+dptrjzmvamovsth1,amovth1,aincdptrmova,#00hmovca,a+dptrmovstl1,amovtl1,asetbtr1in
11、cdptrmova,#00hmovca,a+dptrmovr2,aloop3:movr3,#0ffhloop4:movr4,#0ffhloop5:djnzr4,loop5 djnzr3,loop4 djnzr2,loop3 incdptr mova,#00h ljmplopmva: clr tr1 ret;調(diào)用掃描子程序saomiao:acall ks1;粗掃 jnz lk1;有按鍵按下,轉(zhuǎn)繼續(xù)細(xì)掃描 mov r4,#0 ;niumov a,#0aah;返回值a=0f,無按鍵按下ajmp rettlk1:acall tm10ms;延時大概10ms,消抖 acall ks1;延時后再粗掃描確認(rèn)有
12、按鍵 jnz lk2;有按鍵,轉(zhuǎn)細(xì)掃描 ajmp saomiao;無按鍵,是抖動;細(xì)掃描,列內(nèi)掃描,內(nèi)循環(huán)lk2:mov r2,#0f7h;第0列掃描碼,11110111b,lie0=p2.3=0mov r4,#00h;行掃描計數(shù)器初始值,補鍵值差值mov r3,#04h;列掃描計數(shù)器初始值lk4:mov a,r2mov p2,a;輸出列掃描碼jb p1.0,lone;不是第0行的鍵被按下,轉(zhuǎn)下一行mov a,#0;是第0行被按下,鍵值基底=0(還有偏移量)ajmp rett;轉(zhuǎn)求鍵值lone:jb p1.1,ltw0;不是第1行的鍵被按下,轉(zhuǎn)下一行 mov a,#4;是第1行被按下,鍵值基底
13、=4(還有偏移量)ajmp rett;轉(zhuǎn)求鍵值ltw0:jb p1.2,lthr mov a,#8;是第2行被按下,鍵值基底=8(還有偏移量)ajmp rett;轉(zhuǎn)求鍵值lthr:jb p1.3,next;4行都掃完,轉(zhuǎn)下一列 mov a,#12;是第3行被按下,鍵值基底=12(還有偏移量)ajmp rett;轉(zhuǎn)求鍵值;細(xì)掃描,列間掃描,外循環(huán)next:mov a,r4add a,#1;列計數(shù)器加上1,偏移量mov r4,amov a,r2;列掃描碼rr a;右移一位,指向下一列,lie1=p2.2=0mov r2,adjnz r3,lk4;為掃描完,轉(zhuǎn)回掃描下一列;ajmp sao;已掃描完
14、四行,未找到按下的鍵;寫最終鍵值rett:add a,r4;鍵值基底加上偏移量=鍵值mov p0,a;鍵送led顯示ret;粗掃描子程序ks1:mov p2,#0f0h;粗掃描,輸出4列全為'0'mov a,p1;讀入行信號orl a,#0f0h;高位置1,地位不變cpl a;取反 ret;延時子程序tm10ms: mov r6,#10;一個機器周期是7.63微秒loop:mov r7,#80 djnz r7,$ djnz r6,loop ret;中斷t1orgst_addr+200hint_1: clr tr1 mov th1,sth1 mov tl1,stl1 setb t
15、r1 cpl p2.6 retitable: db 0ffh,05h,0ffh,20h,0ffh,39h,0ffh,44h,0ffh,58h,0ffh,6bh,0ffh,7eh duoruimi: db 0fch,2fh,04h,0fch,99h,04h,0fch,0f8h,04h,0fdh,22h,04h db0fdh,073h,04h,0fdh,0bch,04h,0fdh,0fah,04h,0feh,17h,04h db0feh,17h,04h,0fdh,0fah,04h,0fdh,0bch,04h,0fdh,73h,04h,0fdh,22h,04hdb 0fch,0f8h,04h,0fc
16、h,99h,04h,0fch,2fh,04h,00h,00h,00hshengrige:db 0ffh,05h,04h,0ffh,05h,01h,0ffh,21h,04h,0ffh,05h,04h,0ffh,44h,04h,0ffh,39h,04h db 0ffh,05h,04h,0ffh,05h,01h,0ffh,21h,04h,0ffh,05h,04h,0ffh,58h,04h,0ffh,44h,04h db 0ffh,05h,01h,0ffh,05h,04h,0ffh,82h,04h,0ffh,6bh,04h,0ffh,44h,04h,0ffh,39h,01h,0ffh,21h,04h
17、db 0ffh,7bh,01h,0ffh,7bh,04h,0ffh,6bh,04h,0ffh,44h,04h,0ffh,58h,04h,0ffh,44h,04h,00h,00h,00hliangzhilaohu:db 0ffh,44h,04h,0ffh,58h,04h,0ffh,6bh,04h,0ffh,44h,02h,0ffh,44h,04h,0ffh,58h,04h,0ffh,6bh,04h,0ffh,44h,02h db 0ffh,6bh,04h,0ffh,7bh,04h,0ffh,82h,06h,0ffh,6bh,04h,0ffh,7bh,04h,0ffh,82h,06h db 0ff
18、h,82h,02h,0ffh,90h,02h,0ffh,82h,02h,0ffh,7bh,02h,0ffh,6bh,04h,0ffh,44h,04h,0ffh,82h,02h,0ffh,90h,02h,0ffh,82h,02h,0ffh,7bh,02h,0ffh,6bh,04h,0ffh,44h,04h db 0ffh,58h,04h,0ffh,082h,04h,0ffh,4h,04h,0ffh,58h,04h,0ffh,82h,04h,0ffh,44h,04h,00h,00h,00hjuhuatai: db 0ffh,39h,4h,0ffh,39h,2h,0ffh,20h,2h,0ffh,3
19、9h,4h,0ffh,39h,2h,0ffh,58h,2h,0ffh,39h,2h,0ffh,20h,2h,0ffh,39h,8h db 0ffh,5h,4h,0ffh,5h,2h,0ffh,20h,2h,0ffh,39h,2h,0ffh,58h,2h,0ffh,39h,4h,0ffh,20h,4h,0ffh,20h,2h,0ffh,5h,2h,0ffh,20h,8h db 0ffh,39h,6h,0ffh,58h,1h,0ffh,39h,1h,0ffh,6bh,2h,0ffh,58h,6h db 0ffh,6bh,2h,0ffh,58h,2h,0ffh,58h,2h,0ffh,39h,2h,
20、0ffh,58h,6h,0ffh,58h,2h,0ffh,39h,4h,0ffh,20h,2h,0ffh,20h,2h db 0ffh,58h,4h,0ffh,39h,2h,0ffh,20h,2h,0ffh,20h,4h,0ffh,20h,2h,0ffh,5h,2h,0ffh,20h,8hdb 0ffh,39h,4h,0ffh,39h,2h,0ffh,20h,2h,0ffh,39h,8h,0ffh,39h,2h,0ffh,58h,2h,0ffh,39h,2h,0ffh,20h,2h,0ffh,39h,8h db 0ffh,5h,4h,0ffh,5h,2h,0ffh,20h,2h,0ffh,39
21、h,2h,0ffh,58h,2h,0ffh,39h,4h,0ffh,20h,4h,0ffh,20h,2h,0ffh,5h,2h,0ffh,20h,8h db 0ffh,39h,6h,0ffh,58h,1h,0ffh,39h,1h,0ffh,6bh,2h,0ffh,58h,6h,0ffh,6bh,2h,0ffh,58h,2h,0ffh,58h,2h,0ffh,39h,2h,0ffh,58h,8hdb 0ffh,39h,4h,0ffh,20h,2h,0ffh,39h,2h,0ffh,58h,4h,0ffh,39h,2h,0ffh,20h,2h,0ffh,20h,4h,0ffh,5h,8h,00h,
22、00h,00hjuhuatai_c: db 0ffh,39h,8h,0ffh,39h,4h,0ffh,20h,4h,0ffh,39h,8h,0ffh,39h,4h,0ffh,58h,4h,0ffh,39h,4h,0ffh,20h,4h,0ffh,39h,16h db 0ffh,5h,8h,0ffh,5h,4h,0ffh,20h,4h,0ffh,39h,4h,0ffh,58h,4h,0ffh,39h,8h,0ffh,20h,8h,0ffh,20h,4h,0ffh,5h,4h,0ffh,20h,16h db 0ffh,39h,12h,0ffh,58h,2h,0ffh,39h,2h,0ffh,6bh,4h,0ffh,58h,6h db 0ffh,6bh,4h,0ffh,58h,4h,0ffh,58h,4h,0ffh,39h,4h,0ffh,58h,12h,0ffh,58h,4h,0ffh,39h,8h,0ffh,20h,4h,0ffh,20h,4h db 0ffh,58h,8h,0ffh,39h,4h,0
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川電影電視學(xué)院《大學(xué)書法》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《學(xué)前教育史》2022-2023學(xué)年第一學(xué)期期末試卷
- 幽雅的畢業(yè)贈言給老師
- 石河子大學(xué)《微信公眾號的運營與營銷》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《色彩》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《機械工程測試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《電路(一)》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《材料科學(xué)基礎(chǔ)》2022-2023學(xué)年第一學(xué)期期末試卷
- 廣東省住建局勞務(wù)分包合同
- 合同變更模板聲明
- 2022版義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)解讀課件PPT模板
- 實驗五 PCR擴增課件
- 馬拉松運動醫(yī)療支援培訓(xùn)課件
- 中醫(yī)藥宣傳手冊
- 不良資產(chǎn)處置盡職指引
- 人教部編版七年級歷史上冊第19課 北魏政治和北方民族大交融課件(23張PPT)
- 機械設(shè)備定期檢查維修保養(yǎng)使用臺賬
- 麗聲北極星分級繪本第四級上 Stop!Everyone Stop!教學(xué)設(shè)計
- 小學(xué)科學(xué)教育科學(xué)三年級上冊天氣《認(rèn)識氣溫計》教學(xué)設(shè)計
- 液化氣站氣質(zhì)分析報告管理制度
- 可編輯修改中國地圖模板
評論
0/150
提交評論