基于STM32的溫濕度檢測(cè)和傳輸_第1頁(yè)
基于STM32的溫濕度檢測(cè)和傳輸_第2頁(yè)
基于STM32的溫濕度檢測(cè)和傳輸_第3頁(yè)
基于STM32的溫濕度檢測(cè)和傳輸_第4頁(yè)
基于STM32的溫濕度檢測(cè)和傳輸_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)(論文)專用紙湖 北 工 業(yè) 大 學(xué)畢 業(yè) 設(shè) 計(jì)(論文) 題 目:基于Cortex-M3的數(shù)據(jù)采集系統(tǒng)研究學(xué) 院: 電氣工程與電子工程 專 業(yè): 自 動(dòng) 化 學(xué)生姓名: 孫 軍 指導(dǎo)教師: 權(quán) 軼 日 期: 2014 年 4 月 基于STM32的數(shù)據(jù)采集系統(tǒng)研究摘 要隨著嵌入式技術(shù)的發(fā)展,單片機(jī)技術(shù)進(jìn)入了一個(gè)新的臺(tái)階,目前除最早的51單片機(jī)現(xiàn)在有了STM32系列單片機(jī)以ARM的各系列單片機(jī),而本次畢業(yè)設(shè)計(jì)我采用STM32單片機(jī)來(lái)完成,目的是實(shí)現(xiàn)溫濕度的采集和傳輸,溫濕度的采集是作為自動(dòng)化學(xué)科中一個(gè)必須掌握的檢測(cè)的技術(shù),也是一項(xiàng)比較實(shí)用的技術(shù)。數(shù)據(jù)采集是獲取信號(hào)對(duì)象信息的過(guò)程。本文設(shè)計(jì)

2、了一個(gè)基于ARM Cortex-M3處理器的數(shù)據(jù)采集系統(tǒng),利用內(nèi)置的豐富的外設(shè)資源,實(shí)現(xiàn)多路模擬輸入電壓信號(hào)的連續(xù)采集和順序轉(zhuǎn)換,通過(guò)RS232串行通信將轉(zhuǎn)換結(jié)果在PC接收端顯示,并產(chǎn)生PWM方波信號(hào),實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)溫度信號(hào)的實(shí)時(shí)監(jiān)測(cè)。本次設(shè)計(jì)目的是提供方法進(jìn)行可行性研究。關(guān)鍵詞:嵌入式技術(shù);電路設(shè)計(jì);STM32;sht10溫濕度采集;程序設(shè)計(jì)abstract引 言 我的畢業(yè)設(shè)計(jì)做的是溫濕度數(shù)據(jù)的采集和傳輸。溫濕度的采集的用途是非常的廣泛的,比如說(shuō)化工業(yè)中做酶的發(fā)酵,必須時(shí)刻了解所發(fā)酵酶的溫濕度才可以得到所需酶。文物的保護(hù)同樣也離不開(kāi)溫、濕度的采集,在博物館和檔案館中,空氣濕度和和空氣質(zhì)量條件的優(yōu)

3、劣,是藏品保存關(guān)鍵,所以溫濕度的檢測(cè)對(duì)其也是具有重要意義的。最后就是大型機(jī)房的溫濕度的采集,國(guó)家對(duì)此有嚴(yán)格標(biāo)準(zhǔn)規(guī)定溫濕度的范圍,超出此范圍會(huì)影響服務(wù)器或系統(tǒng)的正常工作等等。所以溫濕度的檢測(cè)是目前被廣泛運(yùn)用。此次設(shè)計(jì)的芯片采用的是STM32,由于STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3內(nèi)核,增強(qiáng)型系列時(shí)鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時(shí)鐘頻率為36MHz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個(gè)系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時(shí)鐘

4、頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品。同時(shí)在編程方面STM32也具有和其他單片機(jī)的優(yōu)勢(shì)之處,如51單片機(jī)必須從最底層開(kāi)始編程,而STM32所有的初始化和一些驅(qū)動(dòng)的程序都是以模板的形式提供給開(kāi)發(fā)者,在此開(kāi)發(fā)者只需要了些其他的模塊功能和工作方式和少量的語(yǔ)法知識(shí)便可以進(jìn)行編程,此優(yōu)勢(shì)不但節(jié)約了時(shí)間,也為STM32的發(fā)展做出了強(qiáng)有力的鋪墊,而且STM32目前是剛剛被作為主流開(kāi)發(fā)的單片機(jī),所以其前景是無(wú)可估量的,這次畢業(yè)設(shè)計(jì)也是看好了其優(yōu)越的發(fā)展趨勢(shì)來(lái)選擇的。LCD1602的使用,這里使用1602的目的是為了可以得到實(shí)時(shí)的溫濕度的數(shù)據(jù),即為了在溫濕度模塊

5、程序編寫完成后燒入芯片可知其工作狀態(tài)也可以作為一個(gè)讀書的路徑來(lái)使用。之后是上下位機(jī)之間的數(shù)據(jù)接收,由于自動(dòng)化本來(lái)就是為了實(shí)現(xiàn)自動(dòng)控制,雖然此次設(shè)計(jì)只做了單方面的數(shù)據(jù)采集,但是這里連接上位機(jī)的目的就是使將來(lái)對(duì)此數(shù)據(jù)進(jìn)行一個(gè)可控的操作返回至下位機(jī)對(duì)現(xiàn)場(chǎng)溫濕度進(jìn)行控制,在這里只是作為一種設(shè)想,在此次設(shè)計(jì)中未得實(shí)現(xiàn)。1芯片模塊1.1 STM32介紹1.1.1 ARM公司的高性能”Cortex-M3”內(nèi)核 1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz 1.1.2 一流的外設(shè) 1s的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉(zhuǎn)速度 1.

6、1.3低功耗 在72MHz時(shí)消耗36mA(所有外設(shè)處于工作狀態(tài)),待機(jī)時(shí)下降到2A1.1.4最大的集成度 復(fù)位電路、低電壓檢測(cè)、調(diào)壓器、精確的RC振蕩器等 1.1.5簡(jiǎn)單的結(jié)構(gòu)和易用的工具 1.1.6 STM32F10x重要參數(shù): 2V-3.6V供電 容忍5V的I/O管腳 優(yōu)異的安全時(shí)鐘模式 帶喚醒功能的低功耗模式 內(nèi)部RC振蕩器 內(nèi)嵌復(fù)位電路 工作溫度范圍: -40至+85或105 1.1.7 STM32F101性能特點(diǎn) 36MHz CPU多達(dá)16K字節(jié)SRAM 1x12位ADC溫度傳感器 1.1.8 STM32F103性能特點(diǎn) 72MHz CPU多達(dá)20K字節(jié)SRAM 2x12位ADC 溫

7、度傳感 PWM定時(shí)器 CAN USB1.2 STM32芯片選型1.2.1選型原則首先STM32芯片擁有很多種型號(hào)不同的型號(hào)的管腳數(shù)量或管腳功能分布是不同,我們?cè)谶x擇的時(shí)候必須本著節(jié)約夠用的原則(設(shè)計(jì)不必用好),管腳的分配容易適應(yīng)所需模塊。1.2.2 所選型號(hào)STM32C8t6或STM32C8t7這兩塊芯片功能相同且均為48腳芯片出去兩對(duì)供電口和兩對(duì)板內(nèi)供電和地剩余40腳這里分配的是溫濕度采集模塊占用個(gè)2腳,CC1020模塊占用7個(gè)腳,1602占用13腳,按鈕電路占用4腳、JATG電路占用5個(gè)腳、MAX232電路占用4個(gè)腳芯片管腳如下圖所示。1.2.3選用轉(zhuǎn)接板由于在本次設(shè)計(jì)是第一次設(shè)計(jì)PCB板

8、,可能會(huì)存在無(wú)法避免的錯(cuò)誤,為了節(jié)約時(shí)間和減少開(kāi)銷則選用一塊核心板來(lái)直插功能板,此轉(zhuǎn)接板型為清風(fēng)板資料如下:一、功能列表(V0.9)采用 STM32F101C8,但封裝采用 LQFP48,根據(jù)需要可以焊接 STM32F103 1、芯片資源: 1) 64KFLASH 2) 10k ram3) 通用定時(shí)器3個(gè) 4) 2路 SPI 5) 2路 I2C 6) 3路 USART 7) 12位同步 ADC10通道 8) GPIO37 9) CPU頻率 36MHz 10)工作電壓 2.0-3.6V 11)封裝 LQFP48 2、板子功能 1)流水燈,兩路,分別使用 PA0和 PA1 2)電源指示燈3)上電復(fù)

9、位電路 4) 按鍵復(fù)位電路 5)BOOT0和 BOOT1跳線設(shè)置 6)VDDA/VSSA和 VDD/VSS分離,可跳線短接 7)外接 8M晶振和 32768晶振 8)所有 IO通過(guò)排針外連,方便擴(kuò)展和使用 9)內(nèi)置 10Kram,我想跑個(gè)小型的 OS應(yīng)該沒(méi)有問(wèn)題,這里定時(shí)器應(yīng)該會(huì)用到。 10)核心板可直接用于目標(biāo)板。二、QFHXB原理圖和 PCB圖1.3 SHT1X/7X溫濕度模塊1.3.1 SHT1X/7X介紹 SHT1x7x系列單片集成傳感器是Sensirion公司最近推出的一種可以同時(shí)測(cè)量濕度、溫度和露點(diǎn)的傳感器,不需外圍元件直接輸出經(jīng)過(guò)標(biāo)定了的相對(duì)濕度、溫度及露點(diǎn)的數(shù)字信號(hào),可以有效解

10、決傳統(tǒng)溫、濕度傳感器的不足。SHT1x7x系列單片集成傳感器是利用CMOSensTM技術(shù)制造的,如圖1所示。1.3.2 SHT1X基本工作原理和數(shù)據(jù)處理算法內(nèi)部集成了濕度敏感元件和溫度敏感元件、放大器、一個(gè)14 位的AD轉(zhuǎn)換器、標(biāo)定數(shù)據(jù)存儲(chǔ)器以及數(shù)字總線接口以及穩(wěn)壓電路。由于溫度傳感器和濕度傳感器在硅片上是緊靠在一起,可以精確地測(cè)定露點(diǎn),不會(huì)因?yàn)閮烧咧g的溫度差而引入誤差;直接通過(guò)AD據(jù)是存放在芯片上OTP存儲(chǔ)器中的標(biāo)定系數(shù),輸出是經(jīng)過(guò)標(biāo)定的數(shù)字信號(hào),可以確保傳感器的性能指標(biāo)一致性、穩(wěn)定性好、成本低、使用方便。SHT1x7x系列電源電壓適用范圍寬:2455 V。測(cè)量精度高:濕度的精度為

11、7;35,溫度的精度為±05(在20時(shí))。待機(jī)時(shí)電流低于3A。傳感器的數(shù)字輸出是通過(guò)兩線數(shù)字接口直接連到微處理器上去,便于進(jìn)行系統(tǒng)設(shè)計(jì)。管腳描述如表1所示。SHT1x7x送出的溫度、濕度數(shù)據(jù)必須經(jīng)過(guò)轉(zhuǎn)換,才能表示實(shí)際的溫度和濕度,其公式如下1:    其中:TC表示攝氏溫度;RHTrue表示相對(duì)濕度。d1,d2和溫度分辨率有關(guān),C1,C2,C3,t1,t2和濕度的分辨率有關(guān),其對(duì)應(yīng)關(guān)系如表2和表3所示。 1.3.3 溫濕度模塊的選型這里選用的是SHT10,應(yīng)為此型號(hào)精度在同類產(chǎn)品中是最低的同時(shí)價(jià)錢也是最便宜的,作為開(kāi)發(fā)和設(shè)計(jì)用是最合適的,模塊如右圖所示1

12、.5 顯示模塊1.5.1 1602介紹工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)實(shí)圖如下所示1.5.2 1602各管腳功能1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線 VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中: 引腳符號(hào)功能說(shuō)明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。

13、5R/WR/W為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1底4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2底4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3底4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線 6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flag)15BLA背光電源正極16BLK背光電源負(fù)極寄存器選擇控制表 RSR/W操作說(shuō)明00寫入

14、指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關(guān)于E=H脈沖開(kāi)始時(shí)初始化E為0,然后置E為1,再清0. busyflag(DB7):在此位為被清除為0時(shí),LCD將無(wú)法再處理其他的指令要求。2硬件設(shè)計(jì)2.1運(yùn)用軟件2.1.2 DXP 2004軟件圖標(biāo)如右圖所示,軟件界面如下圖所示。2.2原理圖設(shè)計(jì) 2.2.1原理圖元件庫(kù)的建立 1)建立原理圖元件庫(kù)選擇如上圖選項(xiàng)便可建立新的原理圖元件庫(kù)2)庫(kù)建好后在底板空白處按P鍵選擇如圖選項(xiàng),然后拖一個(gè)隨意的矩形出來(lái)作為元件(最好可以放得下芯片上所有的

15、管腳)之后再空白處按P鍵選擇Pin,放下模塊所具有的管腳數(shù)(在放下管腳之前可以先按TAB鍵對(duì)管腳的名稱和標(biāo)號(hào)已近類型進(jìn)行編輯) 3)所作圖應(yīng)重命名保存并保存在易找到的地方 下圖為重命名這里最好改為自己所畫芯片名稱,保存方法(略)4)所畫原理圖庫(kù)展2.2.2 原理圖建立1)點(diǎn)擊如下圖選項(xiàng)(得到空白圖紙)2)調(diào)用原理圖按照如下步驟2.2.2 電路設(shè)計(jì)所有元件插入完畢后,根據(jù)模塊所給資料將其內(nèi)部電路連接,這里分別介紹個(gè)別模塊的電路分析。 1)首先是LCD1602的電路設(shè)計(jì)如上圖這里要說(shuō)明的是5V的電位上拉,由于STM32芯片標(biāo)準(zhǔn)電壓為3.3V,1602的工作電壓為5V,當(dāng)工作時(shí)GPIO口輸出的電壓為

16、3.3V,但1602識(shí)別電壓為5V,這時(shí)317腳沒(méi)有電位上拉則1602的工作將不正常。而加入10K的上拉電阻是為了防止5V的電壓直接供入芯片使芯片燒毀。圖中的變阻器是用來(lái)控制字體的對(duì)比度的,TLP521-1光耦是用來(lái)控制1602背光的開(kāi)關(guān)的,這里我一直給光耦的1,2管腳一直供電3.3V,而回路PB2當(dāng)保持在3.3V電壓時(shí)光耦不工作,當(dāng)使PB2口處于低電平時(shí)1,2腳導(dǎo)通光耦工作使3,4腳導(dǎo)通,1602中BLA口上原本供有5V電壓,這時(shí)管偶導(dǎo)通使BLK口接地形成回路背光點(diǎn)亮。 2)SHT1X電路設(shè)計(jì)這里還是這個(gè)3.3V的上拉電阻比較重要,由于此模塊直接供電3.3V當(dāng)數(shù)據(jù)采集返回后電平明顯不足3.3

17、V如果不上拉而返回?cái)?shù)據(jù),則誤差會(huì)非常大,100nF的電容即用于消除干擾。3)電源設(shè)計(jì)電源模塊用了1個(gè)5V模塊然后接3.3V模塊這樣2個(gè)點(diǎn)位的電壓都可以供人了,固態(tài)電容和普通電容都是用來(lái)抗燥的,不多做解釋,這里的發(fā)光二極管做電源指示燈。4)JTAG電路設(shè)計(jì)同樣是做了一個(gè)電位上拉5)MAX232電路6)開(kāi)關(guān)電路10K電阻接地作為復(fù)位電路使用,開(kāi)關(guān)接通對(duì)GPIO供電置于高電平斷開(kāi)后等于接地返回低電平 7)CPU 電路管腳分布參照清風(fēng)板管腳說(shuō)明原則是對(duì)照各模塊管腳功能依依分配2.2.3 原理圖完成繪制原理圖時(shí)注意事項(xiàng):1) 電路連線要用WIRE,不能用LINE2) 在允許不確定元件編號(hào)的原件名稱上使用

18、U?,J?等標(biāo)注,如果在已知元件標(biāo)號(hào)時(shí)必須第一時(shí)間改為所需編號(hào)并鎖定,這樣可以避免不必要的麻煩。3) 在管腳對(duì)應(yīng)連接時(shí)必須應(yīng)用NET命令,而不是TEXT只有用NET命令連接才能生效(其字為紅)。4) 每個(gè)模塊的供電和地的連接參數(shù)必須一致。2.3 PCB板設(shè)計(jì)2.2.1封裝庫(kù)1)要制作封裝庫(kù)首先必須對(duì)所需封裝資料進(jìn)行了解其長(zhǎng)、寬、焊盤大小模塊資料上都會(huì)有提供,另外還包括管腳信息,管腳標(biāo)號(hào)都要明確了解。2)創(chuàng)建封裝庫(kù)3)封裝庫(kù)編輯界面第 31 頁(yè) 共 31 頁(yè)4)成圖封裝展示0805封裝IDC-6封裝SHT1X封裝IDC14封裝SW-PB封裝SOT-23封裝SOT233封裝S1封裝SIP-22封裝

19、SIP-2封裝LCD1602封裝SO-16封裝2.2.2 PCB板圖設(shè)計(jì)1) 建立PCB工程和PCB文件2)打開(kāi)所設(shè)計(jì)電路,同時(shí)建立PCB文件并在工作區(qū)找到 3)將電路設(shè)計(jì)和PCB文件同時(shí)拖入PCB工程中4)生成PCB圖9點(diǎn)擊EXECUTE CHANGES生成PCB元器件這時(shí)便可以拖動(dòng)圖中各元件進(jìn)行電路排版,圖中細(xì)線為管腳連接線,在排版完成后根據(jù)此線進(jìn)行布線。(排版圖展示)這里要說(shuō)明應(yīng)該注意的是JTAG口的IDC20封裝和DB9/M封裝,在 畫圖前應(yīng)該確認(rèn)IDC 20封裝是否有足夠的位置擺放和DB9/M封裝的正反,否則可能出現(xiàn)無(wú)法安裝問(wèn)題。排版還是就著就近的原則這樣可以使線路布線看起來(lái)簡(jiǎn)單明了

20、 下面進(jìn)行布線環(huán)節(jié),這里可以手工進(jìn)行布線(前面布線規(guī)則已經(jīng)定義過(guò)這里不必重復(fù)定義)也可以進(jìn)行自動(dòng)布線。這里點(diǎn)擊AUTO ROUTE選擇ALL,進(jìn)入如下圖界面這里選擇雙層板規(guī)則,然后ROUTE ALL計(jì)算機(jī)自動(dòng)開(kāi)始尋找布線路徑之后可以得到布線初圖,然后再用手工進(jìn)行修改,這樣可以盡量消除電路圖中的缺陷如下圖為第一次制版布線所用軟件是protel 99se,采用手工布線完成,下板用于開(kāi)發(fā)編程使用。此圖為第二次進(jìn)行布局排線,考慮到所有元器件的布局,而且在布線上也能略顯美觀至此PCB板設(shè)計(jì)完成3 硬件制作3.1 PCB板的制作流程3.1.1由電路圖生成加工文件(運(yùn)行環(huán)境Protel99SE)3.1.2線

21、路板光繪文件Gerber Output1的生成(1)選中需要加工的PCB文件,在文件(File)菜單中選擇CAM管理器(CAM Manager),彈出如下對(duì)話框:(2)單擊下一步(Next),提示輸出加工文件類型,如圖所示,首先選擇Gerber文件格式。 (3)連續(xù)單擊下一步(Next),到數(shù)字格式設(shè)置界面。選擇圖示的Millimeter(毫米)和4:4格式(即保留4位整數(shù)和4位小數(shù)),單擊下一步(Next)到圖層選擇對(duì)話框。(1) 選擇布線中使用的圖層,雙面板一定要選擇頂層(TopLayer)、底層(BottomLayer)、禁止布線層(Keep Out Layer),單面板一定要選擇底層(

22、BottomLayer)、禁止布線層(Keep Out Layer)。(2) 單擊完成(Finish)即生成線路板光繪文件Gerber Output1。3.1.3 鉆孔加工文件NC Drill Output1的生成(1)在CAM Outputs文件欄的空白處,單擊鼠標(biāo)右鍵,選擇CAM Wizard,出現(xiàn)同下圖的加工文件類型選擇界面,選擇鉆孔文件NC Drill。(2)單擊下一步,在后續(xù)數(shù)字格式設(shè)置界面中,同樣設(shè)置單位為毫米,整數(shù)和小數(shù)位數(shù)為4:4,(3)單擊Finish(完成),生成鉆孔文件NC Drill Output1。3.1.3 光繪文件和鉆孔文件的坐標(biāo)統(tǒng)一右擊Gerber output

23、1文件,選擇屬性(Properties),在高級(jí)(Advanced)選項(xiàng)卡中,選中Reference to relative origin,這是鉆孔文件默認(rèn)的坐標(biāo)系。3.1.4加工文件的導(dǎo)出最后在CAM Outputs文件欄中,單擊鼠標(biāo)右鍵,選擇生成CAM文件(Generate CAM Files),或直接按F9,生成所有加工文件,這時(shí),左面欄目中會(huì)出現(xiàn)一個(gè)CAM文件夾。右鍵點(diǎn)擊左面欄目中的CAM文件夾,選擇輸出(Export),將該文件夾存放到指定位置。3.1.5 感光板加工文件的打印在Browse菜單中選擇所需要打印的電路圖,然后在File菜單下,選擇print即可打印。3.1.6 覆膜板

24、加工文件的打印選擇Design菜單下的Rules,將Length改為0.0001。選擇頂層或底層,然后點(diǎn)擊左邊工具欄中的“ ”符號(hào),等鼠標(biāo)變?yōu)椤啊碧?hào)后,沿電路圖邊框畫一圈。最后,右擊將紅色或藍(lán)色陰影部分拖出。在Tools中選擇打印預(yù)覽,在File菜單下選擇print打印。成品如下圖:這里所展示的是同樣功能的兩塊板子,只是布局有所不同。由于第一次做PCB板,所以板子中也存在一些問(wèn)題后面會(huì)解釋。3.2 封裝的焊接這里最好用可調(diào)溫的焊臺(tái),這樣不容易損壞焊盤,焊接的時(shí)候也比較順手。分立元件一般不用粘,管腳有引線可以固定。然后用焊錫絲焊接,焊接時(shí)間應(yīng)該小于3秒,如果沒(méi)焊好,等一會(huì)再焊。要不然,件沒(méi)焊上,

25、PCB的焊盤下來(lái)了!貼片元件和器件手工焊接提前應(yīng)該做一些準(zhǔn)備:貼片電阻等小件的焊接前,將焊盤搪少量的焊錫(盡量少,并均勻)。電烙鐵溫度以1秒左右能融化焊錫為最佳。然后用尖的鑷子夾元件并擺好位置,烙鐵頭上有焊錫,不用特意保留, 3.3硬件電路的檢測(cè)和檢修 3.3.1電源 首先給板子通上5V9V的直流電,看板子上,和核心板上的電源是否可以點(diǎn)亮,否則對(duì)照電路圖檢查電源,或用萬(wàn)用表檢測(cè)各檢點(diǎn)間的電壓,找出錯(cuò)誤所在并改正,改正的方法一般用飛線的辦法。 3.3.2 芯片的測(cè)試用STM32所提供的模板編寫一段小程序點(diǎn)亮,板子上的某個(gè)燈,并使其可以閃爍,則可證明板子的良好性這里首先在KEIL中添加程序模板此模

26、板,把所有的端口的配置和驅(qū)動(dòng)都已經(jīng)完成,我們只需要加入所需要指令和終端、時(shí)鐘等便可以實(shí)現(xiàn)所需功能右圖列舉了一部分此模板所具有的驅(qū)動(dòng),我們都可以直接調(diào)用,這里便可以打開(kāi)此模板的MAIN函數(shù)進(jìn)行編程了,非常的方便。一下程序是為了點(diǎn)亮清風(fēng)核心板上的PA0和板子上的通過(guò)PB2控制的LED燈#include "stm32f10x.h"#include <stdio.h>#include "stm32f10x_conf.h"#define PUTCHAR_PROTOTYPE int _io_putchar(int ch)#else#define PUTC

27、HAR_PROTOTYPE int fputc(int ch, FILE *f)#endif /* _GNUC_ */void Delay(vu32 nCount) for(; nCount != 0; nCount-);void GPIO_Configuration(void); void RCC_Configuration(void);int main(void)RCC_Configuration(); GPIO_Configuration(); while(1)/初始信號(hào)是高電平 GPIO_SetBits(GPIOA, GPIO_Pin_1);GPIO_ResetBits(GPIOB,

28、GPIO_Pin_2);Delay(0xAFFFF);GPIO_ResetBits(GPIOA, GPIO_Pin_0);GPIO_SetBits(GPIOB, GPIO_Pin_2);Delay(0xAFFFF);/*/ void RCC_Configuration(void) /* GPIOA clock enable */ / 這里是用來(lái)打開(kāi)GPIOA和GPIOB的時(shí)鐘功能的RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);/GPIO 配置void GPIO_Configuration(

29、void) GPIO_InitTypeDef GPIO_InitStructure; /這里對(duì)所對(duì)應(yīng)的管腳進(jìn)行進(jìn)一步配置、管腳號(hào)、頻率、輸入輸出GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_In

30、itStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure); #ifdef USE_FULL_ASSERT#endif配置完畢要燒程序還必須具備仿真器,本次畢業(yè)設(shè)計(jì)我采用的仿真器有2種和,以下是的仿真器。仿真器連接好后需要調(diào)節(jié)上的燒錄設(shè)置步驟如下)首先點(diǎn)擊)選擇ebug并選擇所選用的仿真器類型2) 點(diǎn)擊SETTING設(shè)置,點(diǎn)擊FLASH DOWNLOAD,點(diǎn)擊ADD添加3) 選擇芯片型號(hào)配置完

31、成,點(diǎn)擊確定4) 編譯,下載5)程序燒入后重啟芯片,PA0口和PB2口的小燈會(huì)依次閃滅6)至此硬件測(cè)試完畢4.軟件編程 4.1點(diǎn)擊“project - New uVision Project”新建一個(gè)工程: 4.2彈出一個(gè)框,在CPU類型下我們找到并選中“Atmel”下的AT89S51或52:  4.2以上工程創(chuàng)建完畢,接下來(lái)開(kāi)始建立一個(gè)源程序文本: 者:月夜   來(lái)源:本站原創(chuàng)()七、在下面空白區(qū)別寫入或復(fù)制一個(gè)完整的C程序:  八、輸入源程序文件名名稱,在這里筆者示例輸入“test”,這個(gè)名稱,同樣大家可以隨便命名。注意:如果您想用匯編語(yǔ)言,要帶后綴名一定是“test . asm”,如果是C語(yǔ)言,則是“test . c”,然后保存: 作者:月夜   來(lái)源:本站原創(chuàng)( 十、最后還要有設(shè)置一下,按下圖設(shè)置晶振,建議初學(xué)者修改成12M,因12MHZ方便計(jì)算指令時(shí)間:   十一、在Output欄選中Create HEX File,使編譯器輸出單片機(jī)需要的HEX文件: 作者:月夜   來(lái)源:本站原創(chuàng)( 十三、工程項(xiàng)目創(chuàng)建

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論