




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上通信與信息工程學(xué)院2016/2017學(xué)年 第 二 學(xué)期軟件設(shè)計(jì) 實(shí)驗(yàn)報(bào)告模 塊 名 稱 51單片機(jī)的軟件設(shè)計(jì) 專 業(yè) 通信工程 學(xué) 生 班 級 學(xué) 生 學(xué) 號 學(xué) 生 姓 名 指 導(dǎo) 教 師 梅霆 林建中 葉玲 設(shè)計(jì)題目基于8255的8LED顯示錄音回放機(jī)設(shè)計(jì)任務(wù)要求語音錄放機(jī):采用話筒放大器,A/D采樣,RAM存儲,D/A和功放和喇叭回放語音。實(shí)驗(yàn)設(shè)備及軟件計(jì)算機(jī)、Protues以及Keil軟件同組人員學(xué)號及姓名參考文獻(xiàn)單片機(jī)原理及應(yīng)用教程(第三版)微型計(jì)算機(jī)原理與接口技術(shù)報(bào)告內(nèi)容1、 設(shè)計(jì)要求本軟件課程設(shè)計(jì)是在理論課程的基礎(chǔ)上,重點(diǎn)培養(yǎng)學(xué)生的動手能力,通過理論計(jì)算
2、、實(shí)際編程、調(diào)試、測試、分析查找故障,解決在實(shí)際設(shè)計(jì)中的問題,使設(shè)計(jì)好的電路能正常工作。在此基礎(chǔ)上根據(jù)實(shí)驗(yàn)大綱提供的題目,任選一題,實(shí)現(xiàn)其功能。有能力的同學(xué)可以超出題目要求發(fā)揮設(shè)計(jì)。根據(jù)提供的參考工程,在proteus平臺自己重新畫出實(shí)驗(yàn)所需要的電氣原理圖,并在此基礎(chǔ)上編寫相對應(yīng)的程序,實(shí)現(xiàn)其功能,學(xué)習(xí)proteus軟件的使用,其中包括原理圖器件的選取、原理圖的電氣連接、程序的編寫編譯以及運(yùn)行,并能查出其錯(cuò)誤等。發(fā)揮部分在完成本人選題的前題下,具有新內(nèi)容的自主發(fā)揮,并取得良好效果。錄音機(jī)類實(shí)驗(yàn)中需要錄取的信源,可以用單片機(jī)或者信號發(fā)生器產(chǎn)生。 基本要求:1 把需要錄取的信號用AD轉(zhuǎn)換器采樣并存
3、儲在SRAM中。2 在一組數(shù)碼管或LCD上顯示采樣速率和錄音時(shí)間(秒),以及信號相關(guān)參數(shù)。3 用D/A轉(zhuǎn)換器回放錄音信號,通過喇叭過模擬示波器顯示。4 在一組數(shù)碼管或LCD上顯示回放的播放時(shí)間或信號強(qiáng)度。發(fā)揮部分:1 用功能鍵可分別設(shè)定錄音和放音的采樣速率。2 多段錄音管理。3 任意組合播放。動態(tài)顯示格式:自定2、 設(shè)計(jì)流程圖讀取數(shù)據(jù)A/D轉(zhuǎn)換Y開始系統(tǒng)初始化鍵盤掃描顯示時(shí)間Flag1=1A/D轉(zhuǎn)換儲存數(shù)據(jù)Flag2=1YN系統(tǒng)主流程圖YNYNYNYNYYY讀取6264前半部分?jǐn)?shù)據(jù)讀取6264后半部分?jǐn)?shù)據(jù)D/A轉(zhuǎn)換D/A轉(zhuǎn)換Key2=1Key3=1寫入6264前半部分寫入6264后半部分有鍵按
4、下?開始初始化25HzA/D轉(zhuǎn)換100HzA/D轉(zhuǎn)換Key4=1key1=1Key3=1NN鍵盤流程圖3、 設(shè)計(jì)原理(1) Proteus以及Keil軟件使用方法(1) Proteus Proteus提供了30多個(gè)元器件庫、7000余種元器件。可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等功能。(2) Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。應(yīng)用Keil進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存,注意保存時(shí)必須在
5、文件名后加上擴(kuò)展名.asm(.a51)或.c;選擇菜單Project-New Project,建立新工程并保存(保存時(shí)無需加擴(kuò)展名,也可加上擴(kuò)展名.uv2);工程保存后會立即彈出一個(gè)設(shè)備選擇對話框,選擇CPU(89c51)后點(diǎn)確定返回主界面;工程管理窗口的文件頁(Files)會出現(xiàn)“Target1”,將其前面+號展開;選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to Group Source Group1”;出現(xiàn)一個(gè)對話框,加入之前編寫好的源文件,點(diǎn)close返回主界面;展開“Source Group1”前面+號,就會看到所加入的文件,雙擊文件名,即可打開該源
6、程序文件;選擇工程管理窗口的Target1,再選擇Project-Option for TargetTarget1(或點(diǎn)右鍵彈出快捷菜單再選擇該選項(xiàng)),打開工程屬性設(shè)置對話框;在Output選項(xiàng)卡中選中“Creat Hex Fi”;工程設(shè)置后按F7鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件。調(diào)試方法:選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài);根據(jù)具體情況選擇單步執(zhí)行(按F11或選擇Debug-Step)、過程單步執(zhí)行(按F10或選擇Debug-Step Over)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試;
7、如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對程序進(jìn)行在線修改(Debug-Inline Assambly),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟;對于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等)。(二)實(shí)驗(yàn)設(shè)計(jì)器件原理(1) A/D轉(zhuǎn)換電路 ADC0804 為一只具有20引腳8位CMOS 連續(xù)近似的A/D 轉(zhuǎn)換器引腳功能說明:1. PIN1 (CS ):Chip Select
8、,與RD、WR 接腳的輸入電壓高低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low) active。2.PIN2 ( RD ):Read。當(dāng)CS 、RD 皆為低位準(zhǔn)(low) 時(shí),ADC0804 會將轉(zhuǎn)換后的數(shù)字訊號經(jīng)由DB7 DB0 輸出至其它處理單元。3. PIN3 (WR ):啟動轉(zhuǎn)換的控制訊號。當(dāng)CS 、WR 皆為低位準(zhǔn)(low) 時(shí)ADC0804 做清除的動作,系統(tǒng)重置。當(dāng)WR 由01且CS 0 時(shí),ADC0804會開始轉(zhuǎn)換信號,此時(shí)INTR 設(shè)定為高位準(zhǔn)(high)。4. PIN4、PIN19 (CLK IN、CLKR):頻率輸入/輸出。頻率輸入可連接處理單元的訊號頻率范圍為100 k
9、Hz 至800 kHz。而頻率輸出頻率最大值無法大于640KHz,一般可選用外部或內(nèi)部來提供頻率。若在CLK R 及CLK IN 加上電阻及電容,則可產(chǎn)生ADC 工作所需的時(shí)序,其頻率約為:100kHz5. PIN5 ( INTR ):中斷請求。轉(zhuǎn)換期間為高位準(zhǔn)(high),等到轉(zhuǎn)換完畢時(shí)INTR 會變?yōu)榈臀粶?zhǔn)(low)告知其它的處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù)。6. PIN6、PIN7 (VIN(+)、VIN(-):差動模擬訊號的輸入端。輸入電壓VINVIN(+) VIN(-),通常使用單端輸入,而將VIN(-)接地。7. PIN8 (AGND):模擬電壓的接地端。電路圖如下:(2) D/
10、A轉(zhuǎn)換電路DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片,由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。引腳功能:D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯(cuò));ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)
11、有效;WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換;IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;Vcc:電源輸入端,Vcc的范圍為+5V+15V;VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V;AGND:模擬信號地;DGND:數(shù)字信號地。(3)89c51+
12、825589c51內(nèi)部結(jié)構(gòu)為:單一+5V電源供電;CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);ROM:用以存放程序、一些原始數(shù)據(jù)和表格;I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式;五個(gè)中斷源的中斷控制系統(tǒng);一對全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率為12M。8255特點(diǎn):(1)一
13、個(gè)并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口. (2)具有24個(gè)可編程設(shè)置的I/O口,即3組8位的I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4PC7),B組包括B口及C口(低4位,PC0PC3).A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。 CS:芯片選擇
14、信號線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1時(shí),8255無法與CPU做數(shù)據(jù)傳輸. RD:讀信號線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/RD=0且/CS=0時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/WR=0且/CS=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出
15、線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器一個(gè)8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。' A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器. 當(dāng)A1=0,A0=0時(shí),PA口被選擇; 當(dāng)A1=0,A0=1時(shí),PB口被選擇; 當(dāng)A1=1,A0=0時(shí),PC口
16、被選擇; 當(dāng)A1=1.A0=1時(shí),控制寄存器被選擇.(4)8LED(4) 功能鍵依次是:采樣、回放、多段錄音、改變頻率(5) SRAM 62646264的容量為8KB,是28引腳雙列直插式芯片,采用CMOS工藝制造。引腳功能如下:A12A0:,可尋址8KB的。D7D0:數(shù)據(jù)線,雙向,三態(tài)。OE:讀出允許信號,輸入,低電平有效。WE:寫允許信號,輸入,低電平有效。CE1:1,輸入,在讀/寫方式時(shí)為低電平。CE2:2,輸入,在讀/寫方式時(shí)為高電平。VCC:+5V工作電壓。GND:信號地。(6) 鎖存器74HC573 74LS573 的八個(gè)鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時(shí),Q 輸出將
17、隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí),新的數(shù)據(jù)也可以置入。4、 仿真結(jié)果() 普通采樣LED左半部分為記時(shí),右半部分為信號幅度;黃色波形為需要收錄的模擬信號。() 普通回放藍(lán)色波形為之前錄音的回放() 改變頻率() 多段錄音() 多段錄音回放松開多段錄音鍵,回放內(nèi)容為之前改變頻率的錄音內(nèi)容;5、 心得體會歷時(shí)兩星期的軟件設(shè)計(jì)結(jié)束了。通過本次實(shí)驗(yàn)周,我學(xué)會了利用Proteus平臺畫出實(shí)驗(yàn)所需要的硬件原理圖,并通過理論計(jì)算,在Keil平臺上實(shí)際編程、調(diào)試、測試、分析查找故障,解決在實(shí)際設(shè)計(jì)中的問題,
18、使設(shè)計(jì)好的電路能正常工作。為了能吃透每種芯片的具體功能與使用方法,我不僅再次認(rèn)真學(xué)習(xí)了單片機(jī)的書本中89c51部分,還把微機(jī)原理拿出來,仔細(xì)研究了8255I/O口及其工作方式。研究過各部分功能及所需要的芯片后,我以為就能夠順利完成設(shè)計(jì),沒有想到,真正的難題才剛剛開始。在我最初的設(shè)計(jì)中,89c51與8255連接為主體部分,A/D轉(zhuǎn)換電路與D/A轉(zhuǎn)換電路參考了網(wǎng)絡(luò)上的資料,SRAM6264及其擴(kuò)展按照單片機(jī)書本上連接,表面上看起來完全沒有問題。編程使用C語言在Keil平臺上完成,有的參考了網(wǎng)絡(luò)資料,有的自己編寫,并請班里的學(xué)霸幫忙檢查過,看起來也沒有問題。但在仿真過程中,89c51的P0,P1,P
19、2口以及A/D轉(zhuǎn)換電路的輸出均為高電平,8LED能夠正常顯示但示波器沒有輸出波形,這讓我百思不得其解。在這樣的瓶頸處卡了一天后,我只能向當(dāng)時(shí)的值班老師求助。那天晚上恰巧是林建中老師值班,林老師大致了解了我的設(shè)計(jì)思路后,給出了他的建議。添加鎖存器,將我需要的電平鎖存,再傳入相關(guān)模塊;并且在程序中手動命令各模塊的使能端置“0”或置“1”,防止再出現(xiàn)之前的數(shù)據(jù)信息與地址混亂的情況。受到林老師建議的啟發(fā),我在原有設(shè)計(jì)的基礎(chǔ)上又添加了三個(gè)74HC573鎖存器并修改了代碼,將89c51與8255的各個(gè)I/O口都利用起來,這才讓A/D轉(zhuǎn)換電路與D/A轉(zhuǎn)換電路正常工作。但這個(gè)時(shí)候我又面臨了另一個(gè)問題:8LED顯示不穩(wěn)定了。這與8LED的動態(tài)掃描有關(guān)。程序需要對它進(jìn)行不斷地刷寫,而同時(shí)還需要處理功能鍵按下這樣的中斷程序,因而8LED就變得不太穩(wěn)定,時(shí)常閃爍。但由于時(shí)間關(guān)系,實(shí)驗(yàn)周臨近尾聲,我只能帶著這樣的作品請老師驗(yàn)收成果。軟件設(shè)計(jì)就這樣結(jié)束了。這次的軟件設(shè)計(jì)實(shí)驗(yàn)周給我的感覺與以前的非常不同。之前的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購房定金合同的法律要求
- 肉牛飼養(yǎng)與養(yǎng)殖技術(shù)培訓(xùn)與實(shí)踐試題考核試卷
- 拍賣事件安排協(xié)議
- 聚戊二酸酯纖維單體制造考核試卷
- 氣道異物卡喉護(hù)理查房
- 紡織品設(shè)計(jì)原理考核試卷
- 生態(tài)恢復(fù)工程項(xiàng)目監(jiān)測與評價(jià)考核試卷
- 紙張加工中的涂布工藝對環(huán)境的影響考核試卷
- 染整工藝在航空航天紡織品中的應(yīng)用與挑戰(zhàn)考核試卷
- 絕緣材料在食品加工設(shè)備絕緣處理的考核試卷
- (二模)濟(jì)寧市2025年4月高考模擬考試地理試卷
- 首都醫(yī)科大學(xué)附屬北京安貞醫(yī)院招聘考試真題2024
- 抽化糞池合同協(xié)議
- 食品安全自查、從業(yè)人員健康管理、進(jìn)貨查驗(yàn)記錄、食品安全事故處置等保證食品安全的規(guī)章制度
- 物理實(shí)驗(yàn)通知單記錄單初二上
- 鑰匙移交清單
- DB11-T211-2017園林綠化用植物材料木本苗
- 關(guān)于完善和落實(shí)罪犯互監(jiān)制度的思考
- GB∕T 40501-2021 輕型汽車操縱穩(wěn)定性試驗(yàn)通用條件
- 認(rèn)識浮力+阿基米德原理
- 防止電力生產(chǎn)重大事故地二十五項(xiàng)反措
評論
0/150
提交評論