基于STM32的溫濕度監(jiān)測.doc
《基于STM32的溫濕度監(jiān)測.doc》由會員分享,可在線閱讀,更多相關(guān)《基于STM32的溫濕度監(jiān)測.doc(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、物聯(lián)網(wǎng)工程設(shè)計與實施項目設(shè)計項目課題: 基于STM32的溫濕度檢測 院 系: 計算機科學(xué)與技術(shù)學(xué)院專 業(yè): 物聯(lián)網(wǎng)工程項目經(jīng)理:于淵學(xué)號: 123921043副 經(jīng) 理:謝金光學(xué)號: 123921024項目成員:李周恒學(xué)號: 123921002項目成員: 袁桃 學(xué)號: 123921048 項目成員: 頡濤 學(xué)號: 123921054 項目成員 肖青 學(xué)號: 123921025 項目成員 馮錦榮 學(xué)號: 123921011 項目成員 唐敏 學(xué)號: 123921023 指導(dǎo)教師: 2014 年 12月目錄摘要2Absract3一設(shè)計目標4二設(shè)計方案4三實驗所需器材5四設(shè)計內(nèi)容54.1 STM32模
2、塊54.2 AM2302介紹64.2.1 產(chǎn)品概述64.2.2 應(yīng)用范圍74.2.3 產(chǎn)品亮點74.2.4 單總線接口定義74.2.5 傳感器性能84.2.6 單總線通信94.3 Nokia 5110 介紹104.3.1 SPI接口時序?qū)憯?shù)據(jù)/命令114.3.2 顯示漢字114.3.4 顯示圖形114.4 原理圖設(shè)計114.5 PCB板設(shè)計13五實驗軟件設(shè)計135.1 溫濕度傳感器DHT22的程序135.2 濕度顯示函數(shù)175.3主函數(shù)程序185.3.1顯屏程序19六作品實物展示27七設(shè)計總結(jié)28基于STM 32 的溫濕度檢測摘要隨著現(xiàn)代社會的高速發(fā)展,越來越多的科學(xué)技術(shù)被應(yīng)用于農(nóng)業(yè)生產(chǎn)領(lǐng)域。
3、在溫室大棚中對溫濕度、二氧化碳濃度等外部參數(shù)的實時準確的測量和調(diào)節(jié)更是保證農(nóng)業(yè)高效生產(chǎn)的重要前提。 本次課程設(shè)計中實現(xiàn)了一個基于STM32F103VET6的智能溫濕度檢測系統(tǒng),目的是實現(xiàn)溫濕度的采集和顯示,溫濕度的采集是作為自動化科學(xué)中一個必須掌握的檢測技術(shù),也是一項比較實用的技術(shù)。本次實驗主要作了如下幾個方面工作:首先通過對實時性、準確性、經(jīng)濟性和可擴展性等四個方向的分析比較之后,選擇了STM32F103VE微控制器作為主控芯片和AM2303溫濕度傳感器來實現(xiàn)對溫濕度數(shù)據(jù)進行采集;在Nokia5110顯示屏上顯示出溫度和濕度,然后詳細介紹了各個模塊的工作原理和硬件電路設(shè)計思路,實現(xiàn)了溫濕度數(shù)
4、據(jù)實時準確的測量;之后闡述了系統(tǒng)各個部分的軟件設(shè)計思路;最后對系統(tǒng)在實際應(yīng)用中采集到的數(shù)據(jù)進行了處理,分析了誤差產(chǎn)生的原因,并通過分段線性插值算法對系統(tǒng)非線性誤差進行了校準,同未校準時采集的數(shù)據(jù)相比,校準后的數(shù)據(jù)準確度更高,穩(wěn)定性更好。 在保證測量效果的基礎(chǔ)上,本系統(tǒng)設(shè)計中充分考慮到性價比和再次開發(fā)周期性等,具有成本低、設(shè)計開發(fā)方便、通用性強等特點,不僅適用于現(xiàn)代農(nóng)業(yè)生產(chǎn)中,還能用于其它工業(yè)控制、機械制造等其它領(lǐng)域,具有一定的市場推廣價值?!娟P(guān)鍵詞】: 嵌入式技術(shù),電路設(shè)計,STM32,AM2302溫濕度采集,Nokia5110 顯示屏,程序設(shè)計AbsractIn the design of
5、the curriculum implements a smart temperature and humidity detection system based on STM32F103VET6, the purpose is to realize the acquisition and display of the temperature and humidity, temperature and humidity of the acquisition as a must master in automation science detection technology, is also
6、a practical technology. This experiment mainly made the following several aspects work: first of all, based on the real-time, accuracy, economy and expansibility etc. After analysis and comparison of four directions, STM32F103VE micro-controller as the master control chip and AM2303 temperature and
7、humidity sensors to achieve temperature and humidity data acquisition; On the Nokia5110 screen display the temperature and humidity, and then introduces in detail the working principle of each module and the hardware circuit design, realized the real-time accurate measurement of temperature and humi
8、dity data; Elaborated the system after each part of the software design idea; Finally, the system in the practical application of dealing with the data collected, analyzed the reasons of the error, and through the piecewise linear interpolation algorithm for system of nonlinear error calibration, co
9、mpared with not calibration data, after calibration data with higher accuracy and better stability.Keywords: embedded technology, circuit design, STM32, collecting AM2302 temperature and humidity, Nokia5110 display, the program design一設(shè)計目標本次設(shè)計要求實現(xiàn)對周圍環(huán)境溫濕度的感知以及顯示。要求學(xué)生對STM32有一定程度的理解,熟悉STM32串口以及中斷的使用,會
10、基本的C語言和java,熟練掌握keil for ARM軟件的使用與程序下載以及手機軟件開發(fā)環(huán)境。二設(shè)計方案(1) 了解溫濕度傳感器工作原理,根據(jù)原理畫好PCB原理圖。(2) 根據(jù)PCB原理圖自制PCB板電路,將液晶屏,溫濕度傳感器,變壓器,stm32開發(fā)板等相關(guān)元件設(shè)備進行集成。(3) 測試PCB電路,檢查相關(guān)電路能否正常工作,以及STM32核心板的能否正常調(diào)試。(4) 在完成電路調(diào)試后,用jlink下載器下載調(diào)試程序成功完成程序?qū)ο嚓P(guān)元件的驅(qū)動。(5) 實驗完成后做好相應(yīng)的實驗總結(jié)。三實驗所需器材1.STM32F核心板 2.溫濕度傳感器(DHT22) 3.電容 4.3MM 紅光LED發(fā)光二
11、極管 5.穩(wěn)壓集成塊(L7805)6.整流橋 7.電解電容 8.保險座 9.散熱器10.電阻 11.變壓器 12.電位器 13.排座 14.5110液晶屏模塊四設(shè)計內(nèi)容4.1 STM32模塊芯片的選擇:STM32VET6芯片的介紹:內(nèi)核:ARM32位的Cortex-M3CPU最高72MHz工作頻率,在存儲器的0等待周期訪問時可達1.25DMips/MHz(Dhrystone2.1)單周期乘法和硬件除法存儲器從64K或128K字節(jié)的閃存程序存儲器高達20K字節(jié)的SRAM時鐘、復(fù)位和電源管理2.03.6伏供電和I/O引腳上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測器(PVD)416MHz晶體振
12、蕩器內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器內(nèi)嵌帶校準的40kHz的RC振蕩器產(chǎn)生CPU時鐘的PLL帶校準功能的32kHzRTC振蕩器低功耗睡眠、停機和待機模式VBAT為RTC和后備寄存器供電2個12位模數(shù)轉(zhuǎn)換器,1s轉(zhuǎn)換時間(多達16個輸入通道)轉(zhuǎn)換范圍:0至3.6V雙采樣和保持功能溫度傳感器DMA:7通道DMA控制器支持的外設(shè):定時器、ADC、SPI、I2C和USART圖4.1 STM32VET6芯片引腳圖 圖 4.2 STM32芯片實物圖4.2 AM2302介紹4.2.1 產(chǎn)品概述AM2302濕敏電容數(shù)字溫濕度模塊是一款含有己校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和
13、溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容式感濕元件和一個高精度測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在單片機中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。標準單總線接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選擇。產(chǎn)品為3引線(單總線接口)連接方便。特殊封裝形式可根據(jù)用戶需求而提供。 圖4.3 實物圖外形尺寸(單位:mm)4.2
14、.2 應(yīng)用范圍暖通空調(diào)、除濕器、測試及檢測設(shè)備、消費品、汽車、自動控制、數(shù)據(jù)記錄器、家電、濕度調(diào)節(jié)器、醫(yī)療、氣象站、及其他相關(guān)濕度檢測控制等。4.2.3 產(chǎn)品亮點超低能耗、傳輸距離遠、全部自動化校準、采用電容式濕敏元件、完全互換、標準數(shù)字單總線輸出、卓越的長期穩(wěn)定性、采用高精度測溫元件。4.2.4 單總線接口定義引腳名稱描述VDD電源(3.5V-5.5V)SDA串行數(shù)據(jù),雙向口NC空腳GND地 表4.1 AM2302引腳分配表 圖4.4 AM2302引腳分配圖AM2302的供電電壓范圍為3.5V-5.5V,建議供電電壓為5V。數(shù)據(jù)線SDA引腳為三態(tài)結(jié)構(gòu),用于讀寫傳感器數(shù)據(jù)。4.2.5 傳感器性
15、能參數(shù)條件mintypmax單位分辨率0.1%RH分辨率16bit1精度252%RH重復(fù)性0.3%RH互換性完全互換2響應(yīng)時間1/e(63%)5S遲滯0.3%RH3漂移典型值0.5%RH/yr表 4.2 AM2302相對濕度性能表參數(shù)條件mintypmax單位分辨率0.1分辨率16bit精度0.51量程范圍-4080重復(fù)性0.2互換性完全互換響應(yīng)時間1/e(63%)10S漂移0.3/yr表4.3 AM2302相對溫度性能表圖4.5 25時 AM2302 的相對濕度最大誤差 溫度傳感器的溫最大誤差4.2.6 單總線通信 AM2302器件采用簡化的單總線通信。單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交
16、換、控制均由數(shù)據(jù)線完成。設(shè)備(微處理器)通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其它設(shè)備使用總線;單總線通常要求外接一個約5.1k的上拉電阻,這樣,當(dāng)總線閑置時,其狀態(tài)為高電平。由于它們是主從結(jié)構(gòu),只有主機呼叫傳感器時,傳感器才會應(yīng)答,因此主機訪問傳感器都必須嚴格遵循單總線序列,如果出現(xiàn)序列混亂,傳感器將不響應(yīng)主機。SDA用于微處理器與AM2302之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次傳送40位數(shù)據(jù),高位先出。具體通信時序如圖4.5所示,通信格式說明見表4.3。圖4.5 AM2302單總線通信協(xié)議 名稱單總線格式定義起始信號 微處理器把數(shù)據(jù)總線(S
17、DA)拉低一段時間(至少 800s)1,通知傳感器準備數(shù)據(jù)。響應(yīng)信號傳感器把數(shù)據(jù)總線(SDA)拉低 80s,再接高 80s 以響應(yīng)主機的起始信號。數(shù)據(jù)格式 收到主機起始信號后,傳感器一次性從數(shù)據(jù)總線(SDA)串出 40 位數(shù)據(jù),高位先出濕度濕度分辨率是 16Bit,高位在前;傳感器串出的濕度值是實際濕度值的 10 倍。溫度溫度分辨率是 16Bit,高位在前;傳感器串出的溫度值是實際溫度值的 10 倍;溫度最高位(Bit15)等于 1 表示負溫度,溫度最高位(Bit15)等于 0 表示正溫度;溫度除了最高位(Bit14Bit0)表示溫度值。校驗位校驗位濕度高位+濕度低位+溫度高位+溫度低位表4.
18、3:AM2302 通信格式說明用戶主機(MCU)發(fā)送一次起始信號(把數(shù)據(jù)總線SDA拉低至少800s)后,AM2302從休眠模式轉(zhuǎn)換到高速模式。待主機開始信號結(jié)束后,AM2302發(fā)送響應(yīng)信號,從數(shù)據(jù)總線SDA串行送出40Bit的數(shù)據(jù),先發(fā)送字節(jié)的高位;發(fā)送的數(shù)據(jù)依次為濕度高位、濕度低位、溫度高位、溫度低位、校驗位,發(fā)送數(shù)據(jù)結(jié)束觸發(fā)一次信息采集,采集結(jié)束傳感器自動轉(zhuǎn)入休眠模式,直到下一次通信來臨。4.3 Nokia 5110 介紹1)84x48 的點陣LCD,可以顯示4 行漢字,2)采用串行接口與主處理器進行通信,接口信號線數(shù)量大幅度減少,包括電源和地在內(nèi)的信號線僅有9 條。支持多種串行通信協(xié)議(
19、如AVR 單片機的I、MCS51 的串口模式等),傳輸速率高達4Mbps,可全速寫入顯示數(shù)據(jù),無等待時間。3)可通過導(dǎo)電膠連接模塊與印制版,而不用連接電纜,用模塊上的金屬鉤可將模塊固定到印制板上,因而非常便于安裝和更換。4)LCD 控制器驅(qū)動器芯片已綁定到LCD 晶片上,模塊的體積很小。5)采用低電壓供電,工作電壓為3,3V,正常顯示時的工作電流在200A 以下,且具有掉電模式。LPH7366 的這些特點非常適合于電池供電的便攜式通信設(shè)備和測試設(shè)備中。 圖4.64.3.1 SPI接口時序?qū)憯?shù)據(jù)/命令Nokia5110(PCD8544)的通信協(xié)議是一個沒有MISO只有MOSI的SPI協(xié)議,如果單
20、片機有富裕的SPI接口,也可以利用硬件SPI,但通常沒有必要,只需要軟件程序模擬即可。4.3.2 顯示漢字顯示漢字可以采用兩種點陣方式,一種是12*12點陣,一種是16*16點陣,網(wǎng)上也有一個自動提取字模的小軟件“3310液晶顯示屏漢字提取程序”,這個小程序只適用于水平尋址(V=0)。采用12*12點陣漢字時,由于不是8的整數(shù)倍數(shù),因此行與行之間只能隔開,這樣才能完整顯示一個漢字。4.3.4 顯示圖形顯示的圖形像素大小不能超過84*48。也有一個字模提取小軟件Zimo21可以幫助我們得到圖像的像素數(shù)組。但要注意Zimo21軟件的設(shè)置,不然的話就顯示不了想要的圖片。4.4 原理圖設(shè)計圖4.7 電
21、路板設(shè)計軟件:Altium圖 4.8 傳感器電路圖4.9 5110顯示屏電路圖4.10 電源電路圖 4.11 實驗原理圖4.5 PCB板設(shè)計要制作封裝庫首先必須對所需封裝資料進行了解其長、寬、焊盤大小模塊資料上都會有提供,另外還包括管腳信息,管腳標號都要明確了解。 圖 4.12五實驗軟件設(shè)計5.1 溫濕度傳感器DHT22的程序#include #include dht22.h /復(fù)位DHT22void DHT22_Rst(void) DHT22_IO_OUT(); /SET OUTPUT DHT22_DQ_OUT=0; /拉低DQ delay_ms(20); /拉低至少18ms DHT22_D
22、Q_OUT=1; /DQ=1 delay_us(30); /主機拉高2040usu8 DHT22_Check(void) u8 retry=0;DHT22_IO_IN();/SET INPUT while (DHT22_DQ_IN&retry=100)return 1;else retry=0; while (!DHT22_DQ_IN&retry=100)return 1; return 0;/從DHT22讀取一個位/返回值:1/0u8 DHT22_Read_Bit(void) u8 retry=0;while(DHT22_DQ_IN&retry100)/等待變?yōu)榈碗娖絩etry+;delay
23、_us(1);retry=0;while(!DHT22_DQ_IN&retry100)/等待變高電平retry+;delay_us(1);delay_us(40);/等待40usif(DHT22_DQ_IN)return 1;else return 0; /從DHT22讀取一個字節(jié)/返回值:讀到的數(shù)據(jù)u8 DHT22_Read_Byte(void) u8 i,dat; dat=0;for (i=0;i8;i+) dat=1; dat|=DHT22_Read_Bit(); return dat;/u8 DHT22_Read_Data(u8 *temp,u8 *humi) u8 buf5;u8 i
24、;DHT22_Rst();if(DHT22_Check()=0)for(i=0;iAPB2ENR|=1CRH&=0XFFFF0FFF; /PA11 推挽輸出GPIOA-CRH|=0X00003000;GPIOA-ODR|=111; /輸出1 DHT22_Rst();return DHT22_Check();5.2 濕度顯示函數(shù)void Humidity_display(void)uchar table0=Temp:00.00C ;uchar table1=Humi:00.00% ;u8 t=0; u8 temperature,tem; u8 humidity,hum; int num;if(t
25、%10=0)/每100ms讀取一次 DHT22_Read_Data(&temperature,&humidity);/讀取溫濕度值/顯示溫度值table05=temperature/10+0 x30; table06=temperature%10+0 x30;tem=temperature*100; table08=tem/10%10+0 x30; table09=tem%10+0 x30; /顯示濕度值table15=humidity/10+0 x30; table16=humidity%10+0 x30;hum=humidity*100; table18=hum/10%10+0 x30;
26、table19=hum%10+0 x30; write_1602_com(0 x80);for(num=0;num16;num+)write_1602_dat(table0num);delay_ms(8);write_1602_com(0 x80+0 x40);for(num=0;num0;i-)for(j=110;j0;j-); void GPIO_Configuration_LCD(void) GPIO_InitTypeDef GPIO_InitStructure; GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); GPIO
27、_InitStructure.GPIO_Pin = GPIO_Pin_8| GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin= GPIO_Pin_14| GPIO_Pin_15| GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Ou
28、t_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); #define WIDTH 6#define HEIGHT 8#define WIDTH_CN13#define HEIGHT_CN16unsigned char lcd_display=0123456789; const unsigned char font6 = 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 , / sp 0 x00, 0 x00, 0 x00, 0
29、x2f, 0 x00, 0 x00 , / ! 0 x00, 0 x00, 0 x07, 0 x00, 0 x07, 0 x00 , / 0 x00, 0 x14, 0 x7f, 0 x14, 0 x7f, 0 x14 , / # 0 x00, 0 x24, 0 x2a, 0 x7f, 0 x2a, 0 x12 , / $ 0 x00, 0 x62, 0 x64, 0 x08, 0 x13, 0 x23 , / % 0 x00, 0 x36, 0 x49, 0 x55, 0 x22, 0 x50 , / & 0 x00, 0 x00, 0 x05, 0 x03, 0 x00, 0 x00 ,
30、/ 0 x00, 0 x00, 0 x1c, 0 x22, 0 x41, 0 x00 , / ( 0 x00, 0 x00, 0 x41, 0 x22, 0 x1c, 0 x00 , / ) 0 x00, 0 x14, 0 x08, 0 x3E, 0 x08, 0 x14 , / * 0 x00, 0 x08, 0 x08, 0 x3E, 0 x08, 0 x08 , / + 0 x00, 0 x00, 0 x00, 0 xA0, 0 x60, 0 x00 , / , 0 x00, 0 x08, 0 x08, 0 x08, 0 x08, 0 x08 , / - 0 x00, 0 x00, 0
31、x60, 0 x60, 0 x00, 0 x00 , / . 0 x00, 0 x20, 0 x10, 0 x08, 0 x04, 0 x02 , / / 0 x00, 0 x3E, 0 x51, 0 x49, 0 x45, 0 x3E , / 0 0 x00, 0 x00, 0 x42, 0 x7F, 0 x40, 0 x00 , / 1 0 x00, 0 x42, 0 x61, 0 x51, 0 x49, 0 x46 , / 2 0 x00, 0 x21, 0 x41, 0 x45, 0 x4B, 0 x31 , / 3 0 x00, 0 x18, 0 x14, 0 x12, 0 x7F,
32、 0 x10 , / 4 0 x00, 0 x27, 0 x45, 0 x45, 0 x45, 0 x39 , / 5 0 x00, 0 x3C, 0 x4A, 0 x49, 0 x49, 0 x30 , / 6 0 x00, 0 x01, 0 x71, 0 x09, 0 x05, 0 x03 , / 7 0 x00, 0 x36, 0 x49, 0 x49, 0 x49, 0 x36 , / 8 0 x00, 0 x06, 0 x49, 0 x49, 0 x29, 0 x1E , / 9 0 x00, 0 x00, 0 x36, 0 x36, 0 x00, 0 x00 , / : 0 x00
33、, 0 x00, 0 x56, 0 x36, 0 x00, 0 x00 , / ; 0 x00, 0 x08, 0 x14, 0 x22, 0 x41, 0 x00 , / 0 x00, 0 x02, 0 x01, 0 x51, 0 x09, 0 x06 , / ? 0 x00, 0 x32, 0 x49, 0 x59, 0 x51, 0 x3E , / 0 x00, 0 x7C, 0 x12, 0 x11, 0 x12, 0 x7C , / A 0 x00, 0 x7F, 0 x49, 0 x49, 0 x49, 0 x36 , / B 0 x00, 0 x3E, 0 x41, 0 x41,
34、 0 x41, 0 x22 , / C 0 x00, 0 x7F, 0 x41, 0 x41, 0 x22, 0 x1C , / D 0 x00, 0 x7F, 0 x49, 0 x49, 0 x49, 0 x41 , / E 0 x00, 0 x7F, 0 x09, 0 x09, 0 x09, 0 x01 , / F 0 x00, 0 x3E, 0 x41, 0 x49, 0 x49, 0 x7A , / G 0 x00, 0 x7F, 0 x08, 0 x08, 0 x08, 0 x7F , / H 0 x00, 0 x00, 0 x41, 0 x7F, 0 x41, 0 x00 , /
35、I 0 x00, 0 x20, 0 x40, 0 x41, 0 x3F, 0 x01 , / J 0 x00, 0 x7F, 0 x08, 0 x14, 0 x22, 0 x41 , / K 0 x00, 0 x7F, 0 x40, 0 x40, 0 x40, 0 x40 , / L 0 x00, 0 x7F, 0 x02, 0 x0C, 0 x02, 0 x7F , / M 0 x00, 0 x7F, 0 x04, 0 x08, 0 x10, 0 x7F , / N 0 x00, 0 x3E, 0 x41, 0 x41, 0 x41, 0 x3E , / O 0 x00, 0 x7F, 0
36、x09, 0 x09, 0 x09, 0 x06 , / P 0 x00, 0 x3E, 0 x41, 0 x51, 0 x21, 0 x5E , / Q 0 x00, 0 x7F, 0 x09, 0 x19, 0 x29, 0 x46 , / R 0 x00, 0 x46, 0 x49, 0 x49, 0 x49, 0 x31 , / S 0 x00, 0 x01, 0 x01, 0 x7F, 0 x01, 0 x01 , / T 0 x00, 0 x3F, 0 x40, 0 x40, 0 x40, 0 x3F , / U 0 x00, 0 x1F, 0 x20, 0 x40, 0 x20,
37、 0 x1F , / V 0 x00, 0 x3F, 0 x40, 0 x38, 0 x40, 0 x3F , / W 0 x00, 0 x63, 0 x14, 0 x08, 0 x14, 0 x63 , / X 0 x00, 0 x07, 0 x08, 0 x70, 0 x08, 0 x07 , / Y 0 x00, 0 x61, 0 x51, 0 x49, 0 x45, 0 x43 , / Z 0 x00, 0 x00, 0 x7F, 0 x41, 0 x41, 0 x00 , / 0 x00, 0 x55, 0 x2A, 0 x55, 0 x2A, 0 x55 , / 55 0 x00,
38、 0 x00, 0 x41, 0 x41, 0 x7F, 0 x00 , / 0 x00, 0 x04, 0 x02, 0 x01, 0 x02, 0 x04 , / 0 x00, 0 x40, 0 x40, 0 x40, 0 x40, 0 x40 , / _ 0 x00, 0 x00, 0 x01, 0 x02, 0 x04, 0 x00 , / 0 x00, 0 x20, 0 x54, 0 x54, 0 x54, 0 x78 , / a 0 x00, 0 x7F, 0 x48, 0 x44, 0 x44, 0 x38 , / b 0 x00, 0 x38, 0 x44, 0 x44, 0
39、x44, 0 x20 , / c 0 x00, 0 x38, 0 x44, 0 x44, 0 x48, 0 x7F , / d 0 x00, 0 x38, 0 x54, 0 x54, 0 x54, 0 x18 , / e 0 x00, 0 x08, 0 x7E, 0 x09, 0 x01, 0 x02 , / f 0 x00, 0 x18, 0 xA4, 0 xA4, 0 xA4, 0 x7C , / g 0 x00, 0 x7F, 0 x08, 0 x04, 0 x04, 0 x78 , / h 0 x00, 0 x00, 0 x44, 0 x7D, 0 x40, 0 x00 , / i 0
40、 x00, 0 x40, 0 x80, 0 x84, 0 x7D, 0 x00 , / j 0 x00, 0 x7F, 0 x10, 0 x28, 0 x44, 0 x00 , / k 0 x00, 0 x00, 0 x41, 0 x7F, 0 x40, 0 x00 , / l 0 x00, 0 x7C, 0 x04, 0 x18, 0 x04, 0 x78 , / m 0 x00, 0 x7C, 0 x08, 0 x04, 0 x04, 0 x78 , / n 0 x00, 0 x38, 0 x44, 0 x44, 0 x44, 0 x38 , / o 0 x00, 0 xFC, 0 x24
41、, 0 x24, 0 x24, 0 x18 , / p 0 x00, 0 x18, 0 x24, 0 x24, 0 x18, 0 xFC , / q 0 x00, 0 x7C, 0 x08, 0 x04, 0 x04, 0 x08 , / r 0 x00, 0 x48, 0 x54, 0 x54, 0 x54, 0 x20 , / s 0 x00, 0 x04, 0 x3F, 0 x44, 0 x40, 0 x20 , / t 0 x00, 0 x3C, 0 x40, 0 x40, 0 x20, 0 x7C , / u 0 x00, 0 x1C, 0 x20, 0 x40, 0 x20, 0
42、x1C , / v 0 x00, 0 x3C, 0 x40, 0 x30, 0 x40, 0 x3C , / w 0 x00, 0 x44, 0 x28, 0 x10, 0 x28, 0 x44 , / x 0 x00, 0 x1C, 0 xA0, 0 xA0, 0 xA0, 0 x7C , / y 0 x00, 0 x44, 0 x64, 0 x54, 0 x4C, 0 x44 , / z 0 x14, 0 x14, 0 x14, 0 x14, 0 x14, 0 x14 / horiz lines;void LCD_WriteByte(unsigned char dt, unsigned c
43、har command)unsigned char i; sce0; /使能LCDif(command=0) /傳送命令 dc0;else dc1; /傳送數(shù)據(jù)for(i=0;i8;i+) if(dt&0 x80)sdin1;elsesdin0;dt=dt1;sclk0;sclk1;dc1; sce1;/關(guān)閉LCDsdin1;void LCD_Init(void)sce1;res0;/產(chǎn)生一個讓LCD復(fù)位的低電平脈沖 delay_ms(10); res1;delay_ms(100);LCD_WriteByte(0 x21,0);/使用水平尋址,進入拓展指令 LCD_WriteByte(0 x1
44、3, 0);/定液晶偏置系統(tǒng) 1:48LCD_WriteByte(0 xbb,0);/設(shè)定設(shè)置Vop,相當(dāng)于亮度 LCD_WriteByte(0 x20,0);/芯片活動 使用基本指令并且水平尋址LCD_WriteByte(0 x0c,0);/設(shè)定顯示模式,正常顯示 LCD_Clear();void LCD_Set_XY(unsigned char X, unsigned char Y) Y|=0 x40; X|=0 x80;LCD_WriteByte(Y, 0);/ 列LCD_WriteByte(X, 0);/ 行sce1; void LCD_Clear(void)unsigned char
45、 t,k;LCD_Set_XY(0,0);for(t=0;t6;t+) for(k=0;k84;k+) LCD_WriteByte(0 x00,1); void LCD_WriteChar(unsigned char X,unsigned char Y,unsigned char c) unsigned char i,j ; const unsigned char *map = &font00; c -= 32; /變換 map += c *( HEIGHT/8*WIDTH); for(i=0;iHEIGHT/8;i+) LCD_Set_XY(X, Y+i); for(j=0;j=(84/WI
46、DTH)X=0;Y+=HEIGHT;i=0;j+;if(j=(48/HEIGHT) return ; void LCD_WriteNumber(unsigned char x,unsigned char y, unsigned long number) unsigned char num10=,i,j,k; if(number=0) /number 0 時候 LCD_WriteChar(x, y,0); else for(i=0;number0;i+) numi=lcd_displaynumber%10;/每位以字符表示 number/=10; for(j=0;ji/2;j+)k=numj;n
47、umj=numi-1-j;numi-1-j=k; LCD_WriteString_en(x,y,num); void LCD_Write_cn(unsigned char row, unsigned char page,unsigned char c) /row:列 page:頁 dd:字符unsigned char i; LCD_Set_XY(row, page);/ 列,頁 for(i=0; i12;i+) LCD_WriteByte(chinese1c*24+i,1); LCD_Set_XY(row, page+1);/ 列,頁 for(i=12; i24;i+) LCD_WriteBy
48、te(chinese1c*24+i,1);六作品實物展示 圖6.1 實物圖1 圖6.2 實物圖2七設(shè)計總結(jié)首先非常感謝老師開設(shè)了這項課程,給我們創(chuàng)造了一個接觸實際硬件設(shè)計與調(diào)試的環(huán)境,讓我們有機會把課堂學(xué)到的知識應(yīng)用到實際過程中,而且在這過程中我發(fā)現(xiàn)我們對原先學(xué)到的理論知識有了新的認識。 在本次課程實踐活動中,我們對一個電子系統(tǒng)從構(gòu)思到設(shè)計到實現(xiàn)到調(diào)試有了一定的了解,也學(xué)到了許多知識和技能,包括如何針對芯片選型,如何繪制原理圖,如何焊接貼片元件,如何調(diào)試硬件電路,如何編寫嵌入式系統(tǒng)的程序,如何移植一些現(xiàn)有的成果,也加深了對一些概念的認識。在硬件的設(shè)計過程中,我主要學(xué)到了如何繪制原理圖和pcb板
49、。在這次課程實驗中,我們有了明確的目標,也有了實際的器件來操作,因此學(xué)習(xí)也有了動力。 在軟件設(shè)計過程中,我們接觸到了嵌入式系統(tǒng)的軟件設(shè)計,這不同與以往在 PC 機上的 程序設(shè)計,其程序規(guī)模也遠遠大于類似科創(chuàng)系列課程中所設(shè)計到的軟件,同時在很多地方需要移植現(xiàn)成的代碼,這就要求我們不僅要會寫程序,還要會讀懂他人寫的程序,并且學(xué)會寫能讓別人看的懂的程序。在次過程中,我們接觸到了平時不大涉及的位操作,宏定義,多進程多線程等等。 由于大多只是是在課本之外,而且是比較新的技術(shù),設(shè)計過程中就要求我們有足夠的搜索資源尋找答案的能力,借助互聯(lián)網(wǎng)的強大力量和同學(xué)的幫助,使我們接觸到了許多新的知識,大大開拓了這方面
50、的見識。在和同學(xué)們的共同努力中,我們也學(xué)會了如何更好的和他人一同做一件較為復(fù)雜的事情,如何將任務(wù)分成可以并行的模塊,如何更好的團隊分工與協(xié)作,如何將自己的想法和他人交流,如何去聆聽他人的想法。雖然設(shè)計和實現(xiàn)的過程中,每一步都會遇到許多挫折,時常被一些奇怪的問題弄的暈頭轉(zhuǎn)向,但在同學(xué)的共同努力下,以及成功后帶來的巨大的成就感的驅(qū)動下,我們還是挺過了一個又一個難關(guān),最終實現(xiàn)了溫濕度的顯示 的功能,成功的喜悅還是彌補了探索過程中的郁悶。雖然花了很多時間,但學(xué)到了很多東西,感覺還是很值得的。課程實驗雖然告一段落,但是這個系統(tǒng)的設(shè)計還可以有很多事情可以去做,當(dāng)前所實現(xiàn)的功能只是目前硬件的簡單應(yīng)用,我們還可以繼續(xù)努力,做出一個實用性更強的系統(tǒ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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院感染環(huán)境監(jiān)測及采樣方法課件
- 蘇教版六年級數(shù)學(xué)上冊《分數(shù)除法12整理與練習(xí)》研討ppt課件
- 產(chǎn)褥期婦女的護理
- 高中數(shù)學(xué)人教版選修2ppt課件216微積分基本定理
- 四年級科學(xué)巖石和我們課件
- 招商銀行279612090文檔課件
- 人教版部編-九年級歷史下冊-第12課亞非拉民族解放運動的高漲ppt課件
- 正確滅火小這安全教育課件
- 部編本人教版小學(xué)五年級美術(shù)上冊ppt:《色彩的和諧》課件
- 北京課改初中數(shù)學(xué)九上《《圓周角》課件-(公開課獲獎)2022年北京課改版-北京課改版
- 北京XX花園營銷中心開放活動策劃方案
- 中心靜脈置管的護理1
- 電場教材分析課件
- 牛津英語8A-Unit1Integrated-skills-B-&-Study-skillsppt課件
- 認識一元一次方程(第1課時)ppt課件