大四電子課程設(shè)計報告_第1頁
大四電子課程設(shè)計報告_第2頁
大四電子課程設(shè)計報告_第3頁
大四電子課程設(shè)計報告_第4頁
大四電子課程設(shè)計報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、電子信息工程應(yīng)用綜合設(shè)計目錄一課程設(shè)計的目的2二課程設(shè)計的要求2三硬件設(shè)計3189C52介紹32ADC0804介紹33DAC0832介紹34AT24C02介紹35DS1302介紹36DS18B20介紹3四軟件設(shè)計31按鍵部分32聲音告警33LED部分34LCD部分35DA數(shù)模轉(zhuǎn)換36AD模數(shù)轉(zhuǎn)換37串口232通信38EEPROM39實(shí)時時鐘310溫度檢測311紅外接收3五結(jié)束語3一 課程設(shè)計的目的運(yùn)用單片機(jī)原理及其常規(guī)常用電路等知識,根據(jù)題目要求對各種功能進(jìn)行軟件仿真和制作硬件電路,并在電路板上實(shí)際調(diào)試實(shí)現(xiàn)。從而加深對本專業(yè)綜合知識的理解, 把學(xué)過的比較零碎的知識系統(tǒng)化,比較系統(tǒng)的學(xué)習(xí)開發(fā)單片

2、機(jī)應(yīng)用系統(tǒng)的基本步驟和基本方法,使學(xué)生應(yīng)用知識能力、設(shè)計能力、調(diào)試能力以及報告撰寫能力等有一定的提高。二 課程設(shè)計的要求(1)按鍵部分:能通過數(shù)碼管顯示所有20個按鍵值(能區(qū)別就可以)(2)聲音告警:通過IO口能控制蜂鳴器發(fā)聲。(3) LED部分:要實(shí)現(xiàn)8個LED燈的輪流點(diǎn)亮(跑馬燈)(4) LCD部分:液晶屏1602只需要顯示自己的學(xué)號, 12864的液晶屏上還需要顯示自己的中文姓名。顯示要求如:XB123200101 張三 (5) DA數(shù)摸轉(zhuǎn)換電路:要求通過DAC0832芯片,控制一個紅色的發(fā)光二極管,從亮到滅逐漸變化的過程(6) AD模數(shù)轉(zhuǎn)換電路:通過調(diào)節(jié)電位器,改變模擬輸入電壓,通過A

3、DC0804,進(jìn)行電壓采集轉(zhuǎn)換,并在數(shù)碼管上簡單實(shí)時顯示(0255之間)。(7) 串口232通信:實(shí)現(xiàn)電腦與單片機(jī)的通訊(能實(shí)現(xiàn)程序下載就可以)。(8) EEPROM:能夠改變AT24C02某個單元的內(nèi)容,并顯示到數(shù)碼管上 如:對AT24C02里某個特定單元每隔一秒加一,并實(shí)時顯示數(shù)值(9) 實(shí)時時鐘:能夠控制時鐘芯片DS1302,讀寫當(dāng)前日期,并顯示到LCD上 顯示要求 如:2012/10/26 08:18:00(10) 溫度檢測:利用傳感器DS18B02檢測溫度。并在LCD上顯示最高溫度,最低溫度和當(dāng)前溫度,顯示要求 如:TEMP:25.5 OC(11) 紅外接收:利用紅外接收頭VS183

4、8B能夠接收,紅外遙控器發(fā)射的信號,并在LCD上顯示要求 如:00 FF(用戶碼) 1C E3(數(shù)據(jù)碼)(12) USB轉(zhuǎn)串口:系統(tǒng)要求實(shí)現(xiàn)USB轉(zhuǎn)串口電路(使用CH340T),系統(tǒng)可以通過串口直接對宏晶STC的單片機(jī)進(jìn)行程序燒寫。(可選做)三 硬件設(shè)計硬件設(shè)計方面,開發(fā)板集成了本次課程設(shè)計所需要的絕大部分元器件包括AT89C52、數(shù)碼管、LED、ADC0804、DAC0832、AT24C02、DS1302、DS18B20、串口、紅外接收頭等。1 89C52介紹89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用ATMEL公司CMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的M

5、CS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng)。2 ADC0804介紹集成A/D轉(zhuǎn)換器品種繁多,選用時應(yīng)綜合考慮各種因素選取集成芯片。一般逐次比較型A/D轉(zhuǎn)換器用的比較多,ADC0804就是這類單片集成A/D轉(zhuǎn)換器。ADC0804是一款8位、單通道、低價格A/D轉(zhuǎn)換器,主要特點(diǎn)是:模數(shù)轉(zhuǎn)換時間大約100us;方便TTL或CMOS標(biāo)準(zhǔn)接口;可以滿足差分電壓輸入;具有參考電壓輸入端;內(nèi)含時鐘發(fā)生器;單電源工作時(05)V輸入電壓范圍是05V;不需要調(diào)零等等。ADC0804是一款早期的AD轉(zhuǎn)換器,因其價格低廉而在

6、要求不高的場合得到廣泛應(yīng)用。3 DAC0832介紹DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。4 AT24C02介紹AT24C02是一個2K位串行CMOS EEPROM, 內(nèi)部含有256個8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。AT24C02有一個8字節(jié)頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個專門的寫保護(hù)功能。5 DS1302介紹DS1302 是美國DAL

7、LAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。6 DS18B20介紹DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機(jī)房測溫,

8、農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。四 軟件設(shè)計1 按鍵部分 發(fā)0掃描,列項(xiàng)輸入,判斷是否有鍵按下,延時去抖動,如果有鍵按下,逐行掃描初值,返回相應(yīng)的值,無鍵按下,返回0。硬件圖示如下: 圖4-1:按鍵 圖4-2數(shù)碼管 該部分的主體程序如下:main() while(1) key=keyscan(); DULA=1;SHUMA=0; /鎖存使能端為高時,對于數(shù)據(jù)是透明的。鎖存使能變低時,數(shù)據(jù)被鎖存。 P0=tablekey; DULA=0; delay(20); SHUMA=1; P0=0

9、xfe; DULA=1;SHUMA=0; 其中鍵掃程序如下:/*矩陣按鍵*/char keyscan() unsigned char keye; P3=0x0f;if(P3&0x0f)!=0x0f) delay(40); if(P3&0x0f)!=0x0f) P3=0x7f; if(P30=0)while(P30=0)keye=0; if(P31=0)while(P31=0)keye=1; if(P32=0)while(P32=0)keye=2; if(P33=0)while(P33=0)keye=3; P3=0xbf; if(P30=0)while(P30=0)keye=4; if(P31=

10、0)while(P31=0)keye=5; if(P32=0)while(P32=0)keye=6; if(P33=0)while(P33=0)keye=7; P3=0xdf; if(P30=0)while(P30=0)keye=8; if(P31=0)while(P31=0)keye=9; if(P32=0)while(P32=0)keye=10; if(P33=0)while(P33=0)keye=11; P3=0xef; if(P30=0)while(P30=0)keye=12; if(P31=0)while(P31=0)keye=13; if(P32=0)while(P32=0)key

11、e=14; if(P33=0)while(P33=0)keye=15; return keye; 2 聲音告警當(dāng)FM為低電平時,蜂鳴器報警,F(xiàn)M為高電平時,蜂鳴器不報警。硬件圖示如下:圖4-3:蜂鳴器該部分的主體程序如下:while(1) FM=0; 3 LED部分 SL74HC573跟LS/AL573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的;加上拉電阻,他們能和LS/ALSTTL輸出兼容。當(dāng)鎖存使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。圖4-4:LED該部分的主體程序如下:P1=0x00;LEDContr

12、ol=1;while(1) P1=0xfe;delay(500); P1=0xfD;delay(500); P1=0xfB;delay(500); P1=0xf7;delay(500); P1=0xEF;delay(500); P1=0xDF;delay(500);P1=0xBF;delay(500);P1=0x7F;delay(500); 4 LCD部分使用LCD1602,第四腳RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器;第五腳R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作;第六腳E為使能端,當(dāng)E端由高電平跳到低電平時,液晶模塊執(zhí)行命令。選擇1602的優(yōu)點(diǎn)是

13、1602是字符型液晶,顯示字母和數(shù)字比較方便,控制簡單,成本較低。需要注意的是第一行第一個位置寫地址0x80,第二行第一個位置寫地址0xc0圖4-5:LCD該部分的主體程序如下:main() while(1) for(n=0;n10;n+) LCD_SET_CURSOR(1,n+1); /光標(biāo) writedat(xuehaon); /寫數(shù)據(jù) 5 DA數(shù)模轉(zhuǎn)換此模塊使用了DAC0832,電流放大器和反相器。CS片選信號,低電平有效;WR1寫信號1,低電平有效。通過一個for循環(huán)語句降低P0口,LED變暗。該部分的主體程序如下:圖4-6:DAC0832該部分的主體程序如下:mian()P0=0x0

14、0;DULA=0;SHUMA=0;while(1) P0=0xff; P32=0; /CS P36=0; /WR for(i=0;i0;i-) /讀寫之間延時 display(A1,A2,A3); SHUMA=1; P1=0xff; /全置1 P0=0; /選通ADC P37=0; /AD讀使能 adv=P1; /AD數(shù)據(jù)讀取賦給P1口 P37=1;P0=0xff; /關(guān)閉ADCS P36=0; P1=adv; /同時把AD的值送八個發(fā)光二極顯示 A1=adv/100; /分出百,十,和個位 A2=adv%100/10; A3=adv%100%10;7 串口232通信使用串口調(diào)式助手SComA

15、ssistant聯(lián)合開發(fā)版實(shí)現(xiàn)串口232通信。該部分的主體程序如下:main() USART_Init(); /初始化 while(1) /死循環(huán) if(flag=1) /如果有數(shù)據(jù)則進(jìn)入這個語句 flag=0; ES=0; /進(jìn)入發(fā)送數(shù)據(jù)時先關(guān)閉串行中斷 SBUF = ck1; /將數(shù)據(jù)原樣發(fā)回 while(!TI); /等待數(shù)據(jù)發(fā)完 TI=1發(fā)完 TI=0; ES = 1; /重新開啟串口中斷 8 EEPROM圖4-9:EEPROM流程圖 改變AT24C02中的的內(nèi)容,并顯示到數(shù)碼管上,對AT24C02里某個特定單元每隔一秒加一,并顯示數(shù)值。圖4-10:AT24C02該部分的主體程序如下:

16、main() init(); EEPROM_FLAG=1; sec=read_add(23); /讀23的數(shù)據(jù) while(1) A1=sec/100; /分出百,十,和個位 A2=sec%100/10; A3=sec%10; display(A1,A2,A3); write_add(23,sec); /寫入數(shù)據(jù) 9 實(shí)時時鐘圖4-11:實(shí)時時鐘時序圖DS1302工作時為了對任何數(shù)據(jù)傳送進(jìn)行初始化,需要將復(fù)位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,讀操作輸出數(shù)據(jù),寫操作時輸

17、出數(shù)據(jù)。在對DS1302輸出的數(shù)據(jù)進(jìn)行處理后將其顯示在LCD上。圖4-12:DS1302該部分的主體程序如下:main() init_1302(time_1302); initlcd(); while(1) get_1302(time_1302); change(); sprintf(line1, Time:); sprintf(line2, Date:); strcat(line1,times); strcat(line2,date); showline(line1); show2line(line2); 10 溫度檢測圖4-13:溫度檢測時序圖 溫度檢測DS13B20的初始化最需要注意的是

18、延時的時間長短。初始化成功后,跳過讀序號列號的操作,然后啟動溫度轉(zhuǎn)換。再次跳過讀序號列號的操作,讀取溫度寄存器。分別讀取溫度的低八位、高八位,合在一起后轉(zhuǎn)換成攝氏度。通過lcd1602顯示。圖4-14:DS18B20該部分的主體程序如下:main() while(1) Init_DS18B20(); delay(1); WriteOneChar(0xCC);/ 跳過讀序號列號的操作 WriteOneChar(0x44);/ 啟動溫度轉(zhuǎn)換 Init_DS18B20(); delay(1); WriteOneChar(0xCC);/跳過讀序號列號的操作 WriteOneChar(0xBE);/讀取

19、溫度寄存器 a=ReadOneChar();/溫度低8位 b=ReadOneChar();/溫度高8位 te1=b; te180)temax=0; if(tetemax)temax=te; if(tetemin)temin=te; sprintf(line1,Now:%.3fC ,te); sprintf(line2,Max:%.1fMin:%.1f,temax,temin); showline(line1); show2line(line2); 11 紅外接收圖4-15:紅外接收流程圖VS1838B紅外接收頭接收到的是一串方波,其發(fā)送波形如下圖:圖4-16:發(fā)送波形圖接收到的碼中有32bit

20、,即4個字節(jié)。第一個字節(jié)為用戶碼1,接著是第二個字節(jié)用戶碼2,接著是第三個字節(jié)數(shù)據(jù)碼,最后是數(shù)據(jù)碼的反碼。“0”的高電平和低電平持續(xù)時間基本相等,均為0.5ms左右,高低電平一共持續(xù)時間約為1ms;“1”的低電平持續(xù)時間約為0.5ms,高電平持續(xù)時間約為1.5ms,高低電平一共持續(xù)時間為2ms左右。在分析通過定時器得到的時間值時的計算公式為:晶振頻率(11.059MHZ)/12分頻*時間。該部分的主體程序如下:main() HW_FLAG=1; IT0 = 1; /下降沿出發(fā) EX0 = 1; /外部中斷允許 EA = 1; TMOD= 0x02; /8位自動重裝 TH0 = 0x00; TL0 = 0x00; ET0 = 1; /開定時器中斷 TR0 = 1; /啟動定時器中斷 initlcd(); while(1) / 主循環(huán) if (irok) / 如果接收好了進(jìn)行紅外處理 Ircordpro();irok = 0; if (irpro_ok) /如果處理好后進(jìn)行工作處理,如按對應(yīng)的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論