基于gp32溫度測試系統(tǒng)的設(shè)計及基于JAVA的留言板的設(shè)計與實現(xiàn)畢業(yè)論文_第1頁
基于gp32溫度測試系統(tǒng)的設(shè)計及基于JAVA的留言板的設(shè)計與實現(xiàn)畢業(yè)論文_第2頁
基于gp32溫度測試系統(tǒng)的設(shè)計及基于JAVA的留言板的設(shè)計與實現(xiàn)畢業(yè)論文_第3頁
基于gp32溫度測試系統(tǒng)的設(shè)計及基于JAVA的留言板的設(shè)計與實現(xiàn)畢業(yè)論文_第4頁
基于gp32溫度測試系統(tǒng)的設(shè)計及基于JAVA的留言板的設(shè)計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE 目錄 TOC\o"1-3"\h\z第一章前言21.1MCU與嵌入式系統(tǒng) 21.2傳感器簡介 31.3熱敏電阻溫度傳感器 4第二章硬件測試52.1單片機(jī)系統(tǒng) 52.2單片機(jī)的選擇 52.2.1MC68HC908GP32單片機(jī)的特點 52.2.2MC68HC908GP32內(nèi)部結(jié)構(gòu) 62.2.3GP32MCU的引腳功能 82.3測溫系統(tǒng)的原理框圖 92.3.1溫度傳感器電路 102.3.2信號放大電路 102.3.3A/D轉(zhuǎn)換模塊 112.3.4溫度顯示系統(tǒng) 11第三章軟件設(shè)計123.1MCU方程序 123.1.1Main函數(shù) 123.1.2A/D轉(zhuǎn)換模塊的基本編程方法 133.1.3串行口初始化子程序 173.1.4串口通行模塊 183.1.5WllDef.c程序 223.2PC機(jī)方(VB編程) 22第四章測試與總結(jié)274.1測試 274.1.1連接硬件電路 274.1.208C語言程序調(diào)試 274.2總結(jié) 284.3參考文獻(xiàn) 30基于GP32溫度測試系統(tǒng)的設(shè)計第一章前言1.1MCU與嵌入式系統(tǒng)MCU的基本含義:在一塊芯片上集成了中央處理器單元(CPU)、存儲器(RAM/ROM)、定時器/計數(shù)器及多種輸入/輸出(I/O)接口的比較完整的數(shù)字處理系統(tǒng)。MCU從體系結(jié)構(gòu)到指令系統(tǒng)都是按照嵌入式系統(tǒng)的應(yīng)用特點專門設(shè)計,能很好地滿足應(yīng)用系統(tǒng)的嵌入,面向測控對象和現(xiàn)場可靠運(yùn)行等方面的要求。因此由MCU構(gòu)成的系統(tǒng)是發(fā)展最快、品種最多、數(shù)量最大、應(yīng)用最廣的嵌入式系統(tǒng)。由于MCU有嵌入式應(yīng)用的專用體系結(jié)構(gòu)與指令系統(tǒng),而且具有體積小、可靠性高等特點,同時具有各種各樣的型號,可以滿足不同的需求,實際應(yīng)用時,開發(fā)者可根據(jù)具體要求選用最佳型號的MCU嵌入到所需的應(yīng)用系統(tǒng)中[2]。一個以MCU為核心,比較復(fù)雜的嵌入式產(chǎn)品或?qū)嶋H嵌入式應(yīng)用系統(tǒng),包含模擬量的輸入、模擬量的輸出,開關(guān)量的輸入、開關(guān)量的輸出以及數(shù)據(jù)通信部分。如圖1為一個典型的嵌入式應(yīng)用系統(tǒng)框圖。MCU工作支撐電路保障MCU能夠正常運(yùn)行,如電源提供、晶振電路及必要的濾波電路等。實際模擬信號一般來自相應(yīng)的傳感器。但是,一般傳感器將實際模擬信號轉(zhuǎn)成的電信號都比較弱,MCU無法直接獲得該信號,需要將起放大,然后經(jīng)過模/數(shù)(A/D)轉(zhuǎn)換變?yōu)閿?shù)字信號,進(jìn)行處理。目前許多MCU內(nèi)部包含A/D轉(zhuǎn)換模塊,實際應(yīng)用時也可根據(jù)需要外接A/D轉(zhuǎn)換芯片。常見的模擬量有:溫度、濕度、壓力、質(zhì)量、氣體濃度、液體濃度、流量等。對MCU來說,模擬信號通過A/D轉(zhuǎn)換變成相應(yīng)的數(shù)字序列進(jìn)行處理。實際開關(guān)信號一般也來自相應(yīng)的開關(guān)類傳感器。如光電、電磁開關(guān)、干簧管、聲控、紅外開關(guān)等,在一些兒童電子玩具就有一些類似的開關(guān)。手動開關(guān)也可以作為開關(guān)信號送到MCU中。對MCU來說,開關(guān)信號就是只有“0”和“1”兩種可能值的數(shù)字信號。其他輸入信號通過通信方式與MCU溝通。常用的通信方式有:異步串行(SCI)通信方式、串行外設(shè)接口(SPI)通信方式、并行通信方式、USB通信方式、網(wǎng)絡(luò)通信方式等。在執(zhí)行機(jī)構(gòu)中,有開關(guān)量執(zhí)行機(jī)構(gòu),也有模擬量執(zhí)行機(jī)構(gòu)。開關(guān)量執(zhí)行機(jī)構(gòu)只有“開”、“關(guān)”兩種狀態(tài)。模擬量執(zhí)行機(jī)構(gòu)需要連續(xù)變換的模擬量控制。MCU一般不能直接控制這些執(zhí)行機(jī)構(gòu),需要通過相應(yīng)的驅(qū)動電路實現(xiàn)。還有一些執(zhí)行機(jī)構(gòu),即不是通常的開關(guān)量控制,也不是通常的D/A轉(zhuǎn)換量控制,而是“脈沖”量控制,如控制空調(diào)電動機(jī),MCU則通過軟件對其控制。MCUMCU放大器:將微弱電信號放大成MCU可接受的電信號傳感器:將實際物理信號轉(zhuǎn)換為微弱電信號模擬量驅(qū)動機(jī)構(gòu):將MCU送出的信號放大模擬量執(zhí)行機(jī)構(gòu)將實際開關(guān)信號轉(zhuǎn)換成MCU可接受的電信號MCU與嵌入式系統(tǒng)開關(guān)量驅(qū)動機(jī)構(gòu):將MCU送出的信號放大開關(guān)量執(zhí)行機(jī)構(gòu)其他輸入信號其他輸出信號MCU工作支撐電路其他通信設(shè)備通信信號匹配電路A/D轉(zhuǎn)換接口D/A轉(zhuǎn)換接口I/O接口通信接口實際模擬信號實際開關(guān)信號圖1一個典型的嵌入式應(yīng)用系統(tǒng)框圖1.2傳感器簡介傳感器是一種把物理量或化學(xué)量轉(zhuǎn)變成便于利用的電信號的器件,其實質(zhì)是一種功能塊,其作用是將來自外界的各種信號轉(zhuǎn)變?yōu)殡娦盘枴K菍崿F(xiàn)測試與自動控制系統(tǒng)的首要環(huán)節(jié)。如電子計價秤中所安裝的稱重傳感器,它是電子計價秤的重要部件,它擔(dān)負(fù)著將重量轉(zhuǎn)換成電信號的任務(wù),它所輸出的電信號被放大器放大并經(jīng)A/D轉(zhuǎn)換后由相關(guān)電路顯示出稱重信息。如果沒有傳感器對原始參數(shù)進(jìn)行精確可靠的測量,哪么無論是信號轉(zhuǎn)換或信息處理,或者最佳數(shù)據(jù)的顯示和控制都將無法實現(xiàn)。在現(xiàn)代電子信息系統(tǒng)中,信息采集傳感器技術(shù)、信息傳感痛惜技術(shù)、信息處理微處理器技術(shù)是現(xiàn)在電子信息技術(shù)的3大核心技術(shù)。傳感器的種類可分為力、熱、濕、氣,磁、光、電等。室溫傳感器用于測量室內(nèi)和室外的環(huán)境溫度,管溫傳感器用于測量蒸發(fā)器和冷凝器的管壁溫度。室溫傳感器和管溫傳感器的形狀不同,但溫度特性基本一致。按溫度特性劃分,目前美的使用的室溫管溫傳感器有二種類型:1、常數(shù)B值為4100K±3%,基準(zhǔn)電阻為25℃對應(yīng)電阻10KΩ±3%。溫度越高,阻值越??;溫度越低,阻值越大。離25℃越遠(yuǎn),對應(yīng)電阻公差范圍越大;在0℃和55℃對應(yīng)電阻公差約為±7%;而1.3熱敏電阻溫度傳感器溫度傳感器利用一些金屬、半導(dǎo)體等材料與溫度有關(guān)的特性而制成的,這些特性包括熱膨脹、電阻、電容、磁性、熱電勢、熱噪聲、彈性及光學(xué)特征。根據(jù)制造材料將其分為熱敏電阻傳感器、半導(dǎo)體熱電偶傳感器、PN結(jié)溫度傳感器和集成溫度傳感器等類型。熱敏電阻傳感器,其最基本電氣特性是隨著溫度的變化自身阻值也隨之變化。熱電阻材料熱電阻測溫是基于金屬導(dǎo)體的電阻值隨溫度的增加而增加這一特性。第二章硬件測試2.1單片機(jī)系統(tǒng)單片機(jī)選用的是Freescale公司的MC908GP32,主要完成對A/D轉(zhuǎn)換電路的控制、對轉(zhuǎn)換后的數(shù)字量的處理以及對顯示模塊的控制,并且為ADC0809提供工作時鐘2.2單片機(jī)的選擇嵌入式系統(tǒng)的核心就是各種不同類型的MCU,選擇MCU時要考慮的因素有處理性能、功耗、價格、封裝形式、軟硬件開發(fā)工具、設(shè)計者的熟悉程度等。對于許多嵌入式系統(tǒng)設(shè)計來說,目標(biāo)不在于挑選速度最快并且功能最強(qiáng)的MCU(這樣的MCU往往價格較高),而是選擇對于完成功能最合適的MCU。應(yīng)遵循的原則有:MCU的總I/O口個數(shù)應(yīng)略多于系統(tǒng)功能所需的個數(shù),以備功能擴(kuò)展和調(diào)試時使用;對于使用到的外設(shè)功能模塊應(yīng)盡可能集成在MCU的內(nèi)部,以簡化硬件系統(tǒng),減少系統(tǒng)工作功耗,提高系統(tǒng)的可靠性;盡量選擇設(shè)計者較為熟悉和開發(fā)工具完備的芯片型號,這樣可以減少開發(fā)周期,提高開發(fā)效率?;谏鲜鲞x型原則,本設(shè)計采用了MC68HC908GP32(42引腳)單片機(jī),它穩(wěn)定性高、開發(fā)周期短、成本低、兼容性好;按各種型號帶有不同大小的片內(nèi)閃速(FLASH)存儲器,具有非常高的性價比;增加了增強(qiáng)型的串行通訊接口SCI和串行外圍接口SPI。2.2.1MC68HC908GP32單片機(jī)的特點MC68HC908GP32單片機(jī)的主要特點概述如下:1)512B片內(nèi)RAM;32K片內(nèi)Flash程序存儲器,具有在線編程能力和保密功能。2)時鐘發(fā)生器模塊,具有32KHz晶振PLL電路,可產(chǎn)生各種工作頻率;8MHz內(nèi)部總線頻率。3)增強(qiáng)的HC05CPU結(jié)構(gòu);16種尋址方式(比HC05多8種);16位變址寄存器和堆棧指針;存儲器至存儲器數(shù)據(jù)傳送;快速8×8乘法指令;快速16/8除法指令;擴(kuò)展的循環(huán)控制功能;BCD功能.4)33根通用I/O腳,包括26根多功能I/O腳和5或7根專用I/O腳;PTA、PTC和PTD的輸入口有可選擇的上拉電阻;PTC0—PTC4有15mA吸流和放流能力,其他口有10mA吸流和放流能力(總體驅(qū)動電流應(yīng)小于150mA);所有口有最高5mA輸入電流保護(hù)功能。5)增強(qiáng)型串行通訊口SCI;串行外圍接口SPI;兩個16位雙通道定時器接口模塊(TIM1和TIM2),每個通道可選擇為輸入捕捉、輸出比較和PWM,其時鐘可分別選為內(nèi)部時鐘的1、2、4、8、6、32和64的分頻值;帶時鐘預(yù)分頻的定時基模塊有8種周期性實時中斷(1、4、16、256、512、1024、2048和4096Hz),可在STOP方式時使用外部32KHz晶振周期性喚醒CPU;8位鍵盤喚醒口。6)系統(tǒng)保護(hù)特性:計算機(jī)工作正常(COP)復(fù)位;低電壓檢測復(fù)位,可選為3V或5V操作;非法指令碼檢測復(fù)位;非法地址檢測復(fù)位。7)具有PDIP40、SDIP42和QFP44封裝形式。8)優(yōu)化用于控制應(yīng)用;優(yōu)化支持C語言。2.2.2MC68HC908GP32內(nèi)部結(jié)構(gòu)MC68HC908GP32MCU(以下簡稱GP32MCU)的三種封裝形式只有引腳數(shù)量和形式有所區(qū)別,其他方面是一致的。圖4給出了GP32的內(nèi)部結(jié)構(gòu)框圖。圖4中I/O接口是按44引腳的GP32給出的,對于42引腳的GP32MCU則沒有PTC5、PTC6兩個引腳,對于40引腳的GP32MCU則沒有PTC5、PTC6及PTD6/T2CH0、PTD7/T2H1四個引腳。從內(nèi)部結(jié)構(gòu)簡圖可以看出,GP32內(nèi)部有以下主要部分:M68HC08CPU、存儲器、定時接口模塊、定時基模塊、看門狗模塊、并行I/O接口、串行通信接口SCI、串行外設(shè)接口SPI、斷點模塊、A/D轉(zhuǎn)換模塊、鍵盤中斷模塊、時鐘發(fā)生模塊及鎖相環(huán)電路、低電壓禁止模塊、復(fù)位與中斷模塊、鑒控模塊MON、系統(tǒng)設(shè)置模塊。M68HC08CPUM68HC08CPUCPU寄存器算數(shù)邏輯單元64B控制和狀態(tài)寄存器32KB片內(nèi)Flash程序寄存器512B片內(nèi)RAM307B監(jiān)控ROM36B用戶Flash矢量空間時鐘發(fā)生模塊32KHz振蕩器鎖相環(huán)PLL系統(tǒng)集成模塊SIM矢量空間外中斷模塊IRQ8位A/D轉(zhuǎn)換模塊電源PORTADDRAPORTCDDRCPORTBDDRBPORTDDDRD監(jiān)視模式入口模塊加密模塊PTA7/~KBD7……PTA0/~KBD0定時器模塊TBM斷點模塊BRK低電壓禁止模塊LVI鍵盤中斷控制模塊KBI定時器接口模塊TIM1定時器接口模塊TIM2內(nèi)存映像模塊串行通信接口模塊SCI串行外設(shè)接口模塊SPI監(jiān)控模塊MON數(shù)據(jù)總線開關(guān)模塊系統(tǒng)操作正常監(jiān)視模塊COP配置寄存器模塊1配置寄存器模塊1上電復(fù)位模塊PTB7/AD7……PTB0/AD0PTC4……PTC0PTD7/T2CH1PTD6/T2CH0PTD5/T1CH1PTD4/TICH0PTD3/SPSCKPTD2/MISOPTD1/MOSIPTD0/~SSVDDVSSVDDAVSSAVDDAD/VREFHVSSAD/VREFLOSC1OSC2CGMXFC~RST~IRQ圖4MC68HC908GP32結(jié)構(gòu)框圖2.2.3GP32MCU的引腳功能MC68HC908GP32的引腳圖電源類引腳VDD、VSS(20引腳、19引腳):電源供給端。VDDAD/VREFH、VSSAD/VREFL(31引腳、32引腳):內(nèi)部A/D轉(zhuǎn)換模塊的電源供給及參考電壓輸入端。VDDA、VSSA(1引腳、2引腳):時鐘發(fā)生器模塊(CGM)的電源供給端??刂祁愐_(6引腳):外部低有效復(fù)位輸入或輸出引腳,有內(nèi)部上拉電阻。(14引腳):外部中斷輸入引腳,有內(nèi)部上拉電阻。I/O類引腳PTA7/KBD7-PTA0/KBD0(42-35引腳):8位通用雙向I/O接口,每個可編程為鍵盤輸入引腳。PTB7/AD7-PTBO/AD0(32-25引腳):8位通用雙向I/O接口,也可作為8位A/D轉(zhuǎn)換輸入引腳。PTC4-PTC0(11-7引腳):5位通用雙向I/O接口。PTD7/T2CH1-PTD0/SS(24-21引腳、18-15引腳):8種特殊功能、雙向I/O接口,其中PTD4-PTD7用于定時器模塊(TIM1和TIM2)。SPSCK、MOSI、MISO、SS用語串行外圍接口(SPI)。PTE1/TxD、PTE0/RxD(12引腳、13引腳):2位雙向I/O接口或串行通信。其他CGMXFC(3引腳):CGM的外部濾波電容連接引腳。OSC1、OSC2(5引腳、4引腳):芯片內(nèi)振蕩器引腳。2.3測溫系統(tǒng)的原理框圖溫度傳溫度傳感器電路信號放大電路A/D轉(zhuǎn)換電路單片機(jī)系統(tǒng)溫度顯示系統(tǒng)圖1測溫系統(tǒng)的原理框圖2.3.1溫度傳感器電路溫度傳感器采用的是NS公司生產(chǎn)的LM35,它具有很高的工作精度和較寬的線性工作范圍,它的輸出電壓與攝氏溫度線性成比例,且無需外部校準(zhǔn)或微調(diào),可以提供±1/4℃的常用的室溫精度。LM35的輸出電壓與攝氏溫度的線形關(guān)系可用下面公式表示,0℃時輸出為0V,每升高1℃2.3.2信號放大電路由于溫度傳感器LM35輸出的電壓范圍為0~0.99V,雖然該電壓范圍在A/D轉(zhuǎn)換器的輸入允許電壓范圍內(nèi),但該電壓信號較弱,如果不進(jìn)行放大直接進(jìn)行A/D轉(zhuǎn)換則會導(dǎo)致轉(zhuǎn)換成的數(shù)字量太小、精度低。系統(tǒng)中選用通用型放大器μA741對LM35輸出的電壓信號進(jìn)行幅度放大,還可對其進(jìn)行阻抗匹配、波形變換、噪聲抑制等處理。系統(tǒng)采取同相輸入,電壓放大倍數(shù)為5倍,電路圖如圖5所示。2.3.3A/D轉(zhuǎn)換模塊A/D轉(zhuǎn)換模塊(AnalogToDigitalConvertModule),即模數(shù)轉(zhuǎn)換,是將電壓信號轉(zhuǎn)換為對應(yīng)的數(shù)字信號。進(jìn)行A/D轉(zhuǎn)換的基本問題:1)采樣精度:數(shù)字量變化一個最小量時模擬信號的變化量,即采樣位數(shù)。2)采樣速率:完成一次A/D采樣所要花費的時間。3)濾波:對采樣的數(shù)據(jù)進(jìn)行篩選去掉誤差較大的毛刺。4)物理量回歸:把A/D采樣值與實際物理量對應(yīng)起來。A/D轉(zhuǎn)換數(shù)據(jù)寄存器ADR:ADR存放A/D轉(zhuǎn)換的8位結(jié)果,每次A/D轉(zhuǎn)換結(jié)束更新該寄存器。編程從該寄存器讀取A/D轉(zhuǎn)換結(jié)果。該寄存器地址為:$003D,為只讀寄存器,復(fù)位時為$00。2.3.4溫度顯示系統(tǒng)該溫度顯示系統(tǒng)較為簡單,由可編程并行輸入輸出芯片8255A的A,B,C端口外接3個8段LED顯示器來實現(xiàn)。MC908GP32的P2.6為8255提供片選信號,74LS373的Q7,Q6接8255的A1,A0,可得到8255的A,B,C及控制口的地址為BF3FH,BF7FH,BFBFH,BFFFH。MC908GP32處理好的溫度數(shù)據(jù)輸出至8255,并由MC908GP32對8255編程控制其A,B,C端口輸出高電平或低電平,以便從8段LED顯示器顯示實際溫度。8段LED顯示器選用共陽極,8255的A,B,C端口與8段LED顯示器之間接限流電阻。第三章軟件設(shè)計在MCU上的程序包括頭文件定義、溫度驅(qū)動子程序、系統(tǒng)初始化子程序、串口通信子程序等,通過專用編譯器和寫入工具寫到MCU中。系統(tǒng)的軟件部分用C語言編程,采用模塊化結(jié)構(gòu),主要由A/D轉(zhuǎn)換模塊、單片機(jī)內(nèi)部數(shù)據(jù)處理模塊、溫度顯示模塊等3部分構(gòu)成,便于修改和維護(hù)。系統(tǒng)的所有程序文件,見下表:溫度測量系統(tǒng)工程文件文件類型文件名功能簡介頭文件GP32C.hGP32MCU映像寄存名定義頭文件EnDisInt.h開放或禁止MCU各模塊中斷頭文件Type.h類型別名定義頭文件Includes.h總頭文件AD.h"A/D轉(zhuǎn)換頭文件SCI.h串行通信頭文件C語言子函數(shù)文件Setup.c芯片初始化文件SCI.c串口通信文件AD.cA/D轉(zhuǎn)換文件C語言主函數(shù)Main.c主函數(shù)文件3.1MCU方程序該模塊是系統(tǒng)的核心模塊3.1.1Main函數(shù)#include"Includes.h"http://總頭文件//主函數(shù)voidmain(void){DisableMCUInt();//禁止總中斷MCUInit();//芯片初始化//在此處添加用戶程序SCIinit();ADCinit();while(1){SCIsend1(ADCave(0,200));}}3.1.2A/D轉(zhuǎn)換模塊的基本編程方法根據(jù)測量系統(tǒng)要求不同以及單片機(jī)的忙閑程度,通??刹捎?種軟件編程方式:程序查詢方式,延時方式和中斷方式。本系統(tǒng)采用延時方式。延時程序?qū)嶋H上是無條件傳送I/O方式,當(dāng)向A/D轉(zhuǎn)換器發(fā)出啟動命令后,即進(jìn)行軟件延時,延時時間稍大于進(jìn)行一次A/D轉(zhuǎn)換所需要的時間,之后打開A/D轉(zhuǎn)換器的輸出緩沖器讀數(shù)即為轉(zhuǎn)換好的數(shù)字量。A/D轉(zhuǎn)換時間為64個時鐘周期,因為系統(tǒng)中ADC0809的工作時鐘為500kHz,故A/D轉(zhuǎn)換時間為128μs,延時時間可大致選擇160μs。程序段如下:1)A/D轉(zhuǎn)換初始化對ADCLK寫入控制字節(jié),決定時鐘輸入源是內(nèi)部總線還是外部晶振,決定分頻系數(shù)等。2)啟動A/D轉(zhuǎn)換對ADSCR寫入控制字節(jié),選取要轉(zhuǎn)換的通道、決定轉(zhuǎn)換結(jié)束數(shù)據(jù)獲取的方式、設(shè)置是連續(xù)轉(zhuǎn)換還是一次轉(zhuǎn)換等。3)獲A/D轉(zhuǎn)換結(jié)果若是中斷方式,在A/D中斷程序中取得,若是查詢方式,通過ADSCR的第7位(COCO位)取得,當(dāng)COCO=1時可從ADR中取數(shù)。//[ADC.h]A/D轉(zhuǎn)換頭文件*#include"GP32C.h"http://GP32MCU映像寄存器名定義#include"Type.h"http://類型別名定義#defineCOCOBit7voidADCinit(void);//A/D轉(zhuǎn)換初始化INT8UADCvalue(INT8Uchannel);//1路A/D轉(zhuǎn)換函數(shù)INT8UADCmid(INT8Uchannel);//1路A/D轉(zhuǎn)換函數(shù)(中值濾波)INT8UADCave(INT8Uchannel,INT8Un);//1路A/D轉(zhuǎn)換函數(shù)(均值濾波)//[ADC.c]A/D轉(zhuǎn)換*//硬件連接://PTB0/AD0接模擬量輸入端//*#include"ADC.h"http://ADCinit:A/D轉(zhuǎn)換初始化*//功能:設(shè)置A/D轉(zhuǎn)換時鐘頻率為1MHz//*voidADCinit(void){ADCLK=0b00110000;//||||||||_______不用//||||___________選擇內(nèi)部總線時鐘//|||____________分頻系數(shù)為2}//ADCave:1路A/D轉(zhuǎn)換函數(shù)(均值濾波)*//功能:通道channel進(jìn)行n次中值濾波,求和再作均值,得出均值濾波結(jié)果//*INT8UADCave(INT8Uchannel,INT8Un){INT8Ui;INT16Uj;j=0;for(i=0;i<n;i++)j+=ADCmid(channel);j=j/n;return(INT8U)j;}//ADCmid:1路A/D轉(zhuǎn)換函數(shù)(中值濾波)*//功能:獲取通道channel中值濾波后的A/D轉(zhuǎn)換結(jié)果//*INT8UADCmid(INT8Uchannel){INT8Ui,j,k,tmp;//1.取三次A/D轉(zhuǎn)換結(jié)果i=ADCvalue(channel);j=ADCvalue(channel);k=ADCvalue(channel);if(i>j){tmp=i;i=j;j=tmp;}if(k>i){if(k>j){tmp=j;}else{tmp=k;}}else{tmp=i;}returntmp;}//ADCvalue:1路A/D轉(zhuǎn)換函數(shù)*//功能:獲取通道channel的A/D轉(zhuǎn)換結(jié)果//*INT8UADCvalue(INT8Uchannel){INT8Utmp;//1.選取通道號ADch4-ADch0=00000-00111:AD0引腳~AD7引腳channel&=0b00011111;//取通道號變量的低五位(實際通道號)tmp=ADSCR&0b11100000;//取ADSCR的高三位(取上電復(fù)位默認(rèn)值000)ADSCR=tmp|channel;//合并上述8位//2.取A/D轉(zhuǎn)換結(jié)果while((ADSCR&(1<<COCOBit))==0);returnADR;}//總頭文件#include"Includes.h"http://主程序voidmain(void){DisableMCUint();//禁止總中斷//1.芯片初始化MCUinit();//2.模塊初始化SCIinit();//(1)串行口初始化ADCinit();//(2)A/D轉(zhuǎn)換初始化while(1){//在通道0做A/D轉(zhuǎn)換,200次中值濾波,串口發(fā)送均值濾波結(jié)果SCIsend1(ADCave(0,200));}}3.1.3串行口初始化子程序該模塊是對串行通信接口(SerialCommunicationInterface,SCI)的比特率寄存器(SCBR)、控制寄存器1(SCC1)、控制寄存器2(SCC2)進(jìn)行設(shè)置。//[SCI.h]串行通信頭文件//頭文件#include"GP32C.h"http://GP32MCU映像寄存器名定義#include"Type.h"http://類型別名定義//與SCI模塊相關(guān)的MCU寄存器及有關(guān)標(biāo)志位的宏定義#defineReSendStatusRSCS1//SCI狀態(tài)寄存器#defineReTestBit5//接收緩沖區(qū)滿標(biāo)志位#defineSendTestBit7//發(fā)送緩沖區(qū)空標(biāo)志位#defineReSendDataRSCDR//數(shù)據(jù)寄存器//串行通信函數(shù)聲明voidSCIInit(void);//串行口初始化voidSCISend1(INT8Uo);//發(fā)送1字節(jié)voidSCISendN(INT8Un,INT8Uch[]);//發(fā)送n字節(jié)INT8USCIRe1(INT8U*p);//接收1字節(jié)INT8USCIReN(INT8Un,INT8Uch[]);//接收n字節(jié)//SCIInit:串行口初始化*//功能:對串行口進(jìn)行初始化,默認(rèn)為允許SCI,正常碼輸出,8位數(shù)據(jù),無校驗,允許發(fā)送器,允許接收器.查詢方式收發(fā),波特率為9600(設(shè)fBUS=2.4576MHz)//參數(shù):無//返回:無//*voidSCIInit(void){//1.總線頻率fBUS=2.4576MHz,定義波特率Bt=9600SCBR=0b00000010;//2.設(shè)置允許SCI,正常碼輸出、8位數(shù)據(jù)、無校驗SCC1=0b01000000;//3.設(shè)置允許發(fā)送、允許接收,查詢方式收發(fā)SCC2=0b00001100;}3.1.4串口通行模塊串口通信的主要功能是:接收時,把外部單線輸入的數(shù)據(jù)變成一個字節(jié)的并行數(shù)據(jù)送入MCU內(nèi)部;發(fā)送時,把需要發(fā)送的一個字節(jié)的并行數(shù)據(jù)轉(zhuǎn)為單線輸出。圖20給出了普遍意義上的SCI的編程模型。在比特寄存器中可設(shè)置比特率,在控制寄存器中設(shè)置通信格式、是否效驗、是否中斷等。SCI數(shù)據(jù)寄存器既做接收數(shù)據(jù)寄存器,也可做發(fā)送數(shù)據(jù)寄存器,這并不沖突,因為發(fā)送與接收的實際工作是通過“發(fā)送移位寄存器”和“接收移位寄存器”完成。接收移位寄存器SCI數(shù)據(jù)寄存器SCI比特率寄存器SCI狀態(tài)寄存器SCI控制寄存器MCU內(nèi)部總線(InternalBus)發(fā)送移位寄存器接收移位寄存器SCI數(shù)據(jù)寄存器SCI比特率寄存器SCI狀態(tài)寄存器SCI控制寄存器MCU內(nèi)部總線(InternalBus)發(fā)送移位寄存器圖20SCI編程模型該模塊包括:單字節(jié)接收、多字節(jié)接收、單字節(jié)發(fā)送、多字節(jié)發(fā)送等子程序,結(jié)構(gòu)圖如圖21。串口通信模塊單字節(jié)發(fā)送多字節(jié)發(fā)送多字節(jié)接收單字節(jié)接收串口通信模塊單字節(jié)發(fā)送多字節(jié)發(fā)送多字節(jié)接收單字節(jié)接收圖21串口通信/***文件描述:本文件包含了串行通信的4子程序,分別為:**(1)SCISend1:串行發(fā)送1字節(jié)**(2)SCISendN:串行發(fā)送n字節(jié)**(3)SCIRe1:串行接收1字節(jié)**(4)SCIReN:串行接收n字節(jié)***///[以下為子程序源代碼]//[包含頭文件]#include"SCI.h"/*SCISend1:串行發(fā)送1個字節(jié)**功能:串行發(fā)送1個字節(jié)**參數(shù):要發(fā)送的數(shù)據(jù)**返回:無***/voidSCISend1(unsignedcharo){//判斷ReStatusR的第SendTestBit位是否為1,是1可以發(fā)送while(1)if((ReSendStatusR&(1<<SendTestBit))!=0){ReSendDataR=o;break;}}/*SCISendN:串行發(fā)送N個字節(jié)**功能:發(fā)送數(shù)組中的N個字節(jié)數(shù)據(jù)**參數(shù):待發(fā)送的數(shù)據(jù)字節(jié)數(shù)及其要存放的數(shù)組首地址**返回:無***/voidSCISendN(unsignedcharn,unsignedcharch[]){inti;for(i=0;i<n;i++) SCISend1(ch[i]);}/*SCIRe1:串行收一個字節(jié)數(shù)據(jù)**功能:從串行口接收1個字節(jié)的數(shù)據(jù)**參數(shù):標(biāo)志指針p**返回:接收到的數(shù)據(jù)(若接收失敗,返回0xff)**說明:參數(shù)*p帶回接收標(biāo)志=0收到數(shù)據(jù),=1未收到數(shù)據(jù)***/unsignedcharSCIRe1(unsignedchar*p){unsignedintk;unsignedchari;//ReStatusR第ReTestBit位為1表示可接收數(shù)據(jù) for(k=0;k<0xfbbb;k++) if((ReSendStatusR&(1<<ReTestBit))!=0) {i=ReSendDataR; *p=0x00; break;} if(k>=0xfbbb) {i=0xff; *p=0x01;}returni;//返回接收到的數(shù)據(jù)}/*SCIReN:HC08串行接收N個字節(jié)**功能:接收N個字節(jié)數(shù)據(jù),并存放在ch數(shù)組中**參數(shù):待接收的數(shù)據(jù)字節(jié)數(shù)及其存放的數(shù)組首地址**返回:接收標(biāo)志=0收到數(shù)據(jù),=1未收到數(shù)據(jù)***/unsignedcharSCIReN(unsignedcharn,unsignedcharch[]){intm;unsignedcharfp;m=0;while(m<n) { ch[m]=SCIRe1(&fp); if(fp==1)return1; m++; }return0; }3.1.5WllDef.c程序#include"wllDef.h"constINT8Uhg[]={0x79,30,0x4f,29,0x4e,28,0x4d,27,0x4c,26,0x4b,25,0x4a,24,0x49,23,0x48,22,0x47,21,0x46,20,0x45,19,0x15,18,0x00};INT8UwllDef(INT8Uvalve){INT8Uwll;INT8Ui;i=0;wll=0xff;while(hg[i]!=0x00){if(hg[i]==valve){wll=hg[i+1];break;}i+=2;}returnwll;}建立此程序用于查找經(jīng)A/D轉(zhuǎn)換后所得到的數(shù)值與之對應(yīng)的實際的溫度值,進(jìn)而通過串口輸出到顯示界面。3.2PC機(jī)方(VB編程)程序描述:1)把發(fā)送窗口中的數(shù)據(jù)從COM1發(fā)送出去2)把接收到的數(shù)據(jù)顯示在接收窗口中//*OptionExplicit//檢查未經(jīng)聲明的變量DimSendData()AsByte//發(fā)送數(shù)據(jù)數(shù)組DimRecvData()AsByte//接收數(shù)據(jù)數(shù)組PrivateSubCmd_stop_Click()IfCmd_stop.Caption="停止"http://停止發(fā)送Cmd_stop.Caption="繼續(xù)"MSComm1.PortOpen=False//關(guān)閉串口ElseCmd_stop.Caption="停止"http://繼續(xù)發(fā)送MSComm1.PortOpen=True//打開串口EndIfEndSubPrivateSubCombo_bps_Click()//改變發(fā)送數(shù)據(jù)格式MSComm1.Settings=Str(Combo_bps.List(Combo_bps.ListIndex))&","&"N"&","_&"8"&","&"1"EndSubPrivateSubForm_Load()//串行口初始化默認(rèn)串口1,波特率9600CallSCIinit(MSComm1,1,"9600,N,8,1")//清空有關(guān)文本框TxtSEND.Text=""TxtRECV.Text="":TxtRecvHex.Text="":TxtRecvOct.Text=""http://開放串行中斷MSComm1.RThreshold=1EndSubPrivateSubCmdSEND_Click()//單擊"發(fā)送"按鈕DimiAsIntegerIfTxtSEND.Text=""ThenTxtRECV.Text="":TxtRecvHex.Text="":TxtRecvOct.Text=""GoToCmdSEND_Click_ExitEndIfReDimSendData(Len(TxtSEND.Text)-1)Fori=0ToLen(TxtSEND.Text)-1SendData(i)=Asc(Mid$(TxtSEND.Text,i+1,1))NextiMSComm1.Output=SendDataCmdSEND_Click_Exit:EndSubPublicSubMSComm1_OnComm()//串行接收中斷DimiAsIntegerDimStempAsStringStaticS1AsStringStaticS2AsStringStaticS3AsStringIfLen(Trim(TxtRECV.Text))=0ThenS1="":S2="":S3=""MSComm1.RThreshold=0//關(guān)閉串行中斷RecvData=MSComm1.InputFori=LBound(RecvData)ToUBound(RecvData)If(RecvData(i)>=127OrRecvData(i)=0)ThenStemp=Chr$(1)ElseStemp=Trim(Chr$(RecvData(i)))EndIfS1=S1&Stemp&""S2=S2&Hex$(RecvData(i))&""S3=S3&RecvData(i)&""NextiTxtRECV.Text=S1:TxtRecvHex.Text=S2:TxtRecvOct.Text=S3IfLen(S1)>=160ThenS1="":S2="":S3=""http://讓文本框光標(biāo)緊跟最后TxtRECV.SelStart=Len(TxtRECV.Text)TxtRecvHex.SelStart=Len(TxtRecvHex.Text)TxtRecvOct.SelStart=Len(TxtRecvOct.Text)MSComm1.RThreshold=1//開放串行中斷EndSubPrivateSubCmdCLR_Click()//單擊"清空"按鈕TxtSEND.Text=""TxtRECV.Text="":TxtRecvHex.Text="":TxtRecvOct.Text=""EndSubPrivateSubCmdEXIT_Click()//單擊"退出"按鈕IfMSComm1.PortOpen=TrueThenMSComm1.PortOpen=FalseEndEndSubPrivateSubMSOption1_Click()//改變串口號為1MSComm1.PortOpen=FalseMSComm1.CommPort=1MSComm1.PortOpen=True//打開串行口1OnErrorGoToMSOption1_Click_ErrorGoToMSOption1_Click_ExitMSOption1_Click_Error:MsgBox("這臺機(jī)器沒有COM1,請選擇COM2!")EndMSOption1_Click_Exit:EndSubPrivateSubMSOption2_Click()//改變串口號為2MSComm1.PortOpen=FalseMSComm1.CommPort=2OnErrorGoToMSOption2_Click_ErrorMSComm1.PortOpen=True//打開串行口2GoToMSOption2_Click_ExitMSOption2_Click_Error:MsgBox("這臺機(jī)器沒有COM2,請選擇COM1!")EndMSOption2_Click_Exit:EndSub第四章測試與總結(jié)4.1測試4.1.1連接硬件電路將熱敏電阻的‘—’端到MCU的GND引腳上,將‘+’端接到MCU的VCC引腳上,將‘S’端接到MCU的PB0引腳上。將寫入器的一端接MCU的目標(biāo)板,一端接PC機(jī),將PC機(jī)的通信線與MCU相連,然后打開電源,將目標(biāo)板上的按鈕打到“寫入器”一端。4.1.208C語言程序調(diào)試打開MT-IDE集成開發(fā)環(huán)境,加載工程THIRD.pjt,,編譯源程序,屏幕上顯示:點擊“Flash操作”,選擇“寫入”,彈出一個對話框如下:點擊“擦除及寫入”,提示“寫入完畢”,表示寫入代碼成功:將目標(biāo)板上的按鈕打到“擴(kuò)展板一端”,然后啟動VB,打開顯示程序“工程2”,運(yùn)行程序,結(jié)果如下:當(dāng)溫度改變時,窗口中顯示改變之后的溫度為:4.2總結(jié)單片機(jī)課程設(shè)計,是對單片機(jī)知識的驗證,可以幫助我們理解鞏固所學(xué)知識,激發(fā)我們對單片機(jī)課程的興趣,更鍛煉了我們獨立思考、開拓創(chuàng)新的能力。課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此,作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。要做好一個課程設(shè)計,就必須做到在設(shè)計程序之前,對所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計課程過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。本系統(tǒng)是以單片機(jī)GP32芯片為核心部件,實現(xiàn)了能通過GP32芯片來測量溫度的功能的一個系統(tǒng)。此次在軟件上是花費時間最多的,我們上網(wǎng)找資料,上圖書館,盡可能的了解有關(guān)于溫度測量系統(tǒng)這方面的知識。通過這次課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是08C語言)的掌握方面都能向前邁了一大步?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計,我仍感慨頗多。的確,從選題到定稿,從理論到實踐,在接近一個多星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)08C語言掌握得不好,對于VB的控件方面的知識等等。通過這次課程設(shè)計之后,把以前所學(xué)過的知識重新溫故,還有一些沒學(xué)過的知道也有了一定的了解。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,還有同學(xué)的幫助下,終于游逆而解。同時,在老師和同學(xué)那里我學(xué)得到很多實用的知識,在次我表示感謝!4.3參考文獻(xiàn)[1]王宜懷,劉曉升.嵌入式技術(shù)基礎(chǔ)與實踐.北京:清華大學(xué)出版社,2007.11。[2]王宜懷,曹金華,沈安東,劉曉升.嵌入式技術(shù)基礎(chǔ)與實踐實驗指導(dǎo).北京:清華大學(xué)出版社,2008.2。[3]龍威林,楊冠聲,胡山.單片機(jī)應(yīng)用入門—AT89S51和AVR.北京:化學(xué)工業(yè)出版社,2008.6。[4]趙晶.Protel99高級應(yīng)用.北京:人民郵電出版社,2000。[5]林伸茂.8051單片機(jī)徹底研究基礎(chǔ)篇.北京:人民郵電出版社,2004。[6]范風(fēng)強(qiáng)等.單片機(jī)語言C51應(yīng)用實戰(zhàn)集錦.北京:電子工業(yè)出版社,2005。[7]萬光毅,嚴(yán)義,邢春香.單片機(jī)實驗與實踐教程[M].北京:北京航空航天大學(xué)出版社,2006.4。ganemploymenttribunalclaiEmploymenttribunalssortoutdisagreementsbetweenemployersandemployees.Youmayneedtomakeaclaimtoanemploymenttribunalif:youdon'tagreewiththedisciplinaryactionyouremployerhastakenagainstyouyouremployerdismissesyouandyouthinkthatyouhavebeendismissedunfairly.Formoreinformationaboutdismissalandunfairdismissal,see

Dismissal.Youcanmakeaclaimtoanemploymenttribunal,evenifyouhaven't

appealed

againstthedisciplinaryactionyouremployerhastakenagainstyou.However,ifyouwinyourcase,thetribunalmayreduceanycompensationawardedtoyouasaresultofyourfailuretoappeal.Rememberthatinmostcasesyoumustmakeanapplicationtoanemploymenttribunalwithinthreemonthsofthedatewhentheeventyouarecomplainingabouthappened.Ifyourapplicationisreceivedafterthistimelimit,thetribunalwillnotusuallyaccepti.Ifyouareworriedabouthowthetimelimitsapplytoyou,takeadvicefromoneoftheorganisationslistedunder

Furtherhelp.Employmenttribunalsarelessformalthansomeothercourts,butitisstillalegalprocessandyouwillneedtogiveevidenceunderanoathoraffirmation.Mostpeoplefindmakingaclaimtoanemploymenttribunalchallenging.Ifyouarethinkingaboutmakingaclaimtoanemploymenttribunal,youshouldgethelpstraightawayfromoneoftheorganisationslistedunder

Furtherhelp.Ifyouarebeingrepresentedbyasolicitoratthetribunal,theymayaskyoutosignanagreementwhereyoupaytheirfeeoutofyourcompensationifyouwinthecase.Thisisknownasa

damages-basedagreement.InEnglandandWales,yoursolicitorcan'tchargeyoumorethan35%ofyourcompensation

ifyouwinthecase.Ify目錄內(nèi)容摘要 Ⅰ關(guān)鍵詞 ⅠAbstract ⅠKeywords Ⅰ1.系統(tǒng)分析與設(shè)計 11.1需求分析 11.2三層構(gòu)架 21.3開發(fā)模式 22.模塊設(shè)計 42.1整體模塊設(shè)計 42.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 53.系統(tǒng)詳細(xì)設(shè)計 83.1創(chuàng)建與連接數(shù)據(jù)庫 83.2留言信息頁面的設(shè)計 113.3留言管理頁面設(shè)計 154.結(jié)束語 17參考文獻(xiàn) 18基于JAVA的留言板的設(shè)計與實現(xiàn)內(nèi)容摘要:隨著現(xiàn)代化技術(shù)的不斷進(jìn)步,人們發(fā)現(xiàn)交流的范圍還是很小,不能滿足更大范圍人的需要,這樣就出現(xiàn)了利用因特網(wǎng)在全球發(fā)布信息的留言——BBS。本文概述了用JDK、Access數(shù)據(jù)庫和tomcat軟件構(gòu)建一個簡單的個人留言板,該留言板能很方便的和同學(xué)溝通和交流。留言板具有功能強(qiáng)大,使用方便的特點。用戶以個人的身份進(jìn)入,查看留言,以及在留言板中寫下自己要留言的內(nèi)容,以及自己的相關(guān)信息。管理員可以根據(jù)管理員用戶名和密碼進(jìn)入,進(jìn)行刪除,回復(fù)和修改。關(guān)鍵詞:個人留言板,留言板系統(tǒng),Access數(shù)據(jù)庫1.系統(tǒng)分析與設(shè)計1.1需求分析注冊登錄開發(fā)一個留言系統(tǒng),首先需要確定留言的功能是什么,也就是用戶想要的留言所能做的工作。用戶使用留言是按照一定的流程來進(jìn)行的:用戶注冊登錄進(jìn)入留言,可以就某個話題展開討論,通過留言功能發(fā)布新的話題,通過回帖的功能回復(fù)已有的話題;管理員要管理留言,系統(tǒng)需要具有的功能有創(chuàng)建、刪除留言的版塊,管理注冊的用戶,管理留言,設(shè)置留言基本參數(shù)。這樣的流程就決定了留言所應(yīng)具有的功能,留言功能流程如圖1.1所示。注冊登錄圖1.1留言功能流程圖通過上面的分析,總結(jié)留言的功能有以下幾項:留言版塊列表;瀏覽留言;回復(fù);編輯留言;刪除留言;管理版塊;管理用戶管理留言。瀏覽板塊:用戶(瀏覽者)和管理員都可以看到的界面。注冊登錄:用戶(瀏覽者)要注冊登錄才能進(jìn)行留言。瀏覽留言:用戶(瀏覽者)和管理員都有權(quán)限?;貜?fù)留言:由于是個人留言板,只有管理員才有權(quán)限回復(fù)。用戶(瀏覽者):有瀏覽板塊、瀏覽留言、發(fā)表留言的權(quán)限??梢愿鶕?jù)發(fā)言者留下的郵箱地址發(fā)郵件。發(fā)表留言:用戶(瀏覽者)和管理員都有權(quán)限。管理留言:管理者有權(quán)限,主要是對于留言的回復(fù),修改以及刪除。1管理員所做的管理:(1)查看留言:可以查看所有用戶的留言,并查看留言者填寫的個人信息(2)回復(fù)留言:可以回復(fù)用戶的留言,如有寫錯,可進(jìn)行修改(3)刪除留言:如果用戶發(fā)表了不符合留言規(guī)則的留言,則需要管理員刪除這些留言。1.2三層構(gòu)架“Model”代表的是應(yīng)用的業(yè)務(wù)邏輯,“View”是應(yīng)用的表示面,“Controller”是提供應(yīng)用的處理過程控制,通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進(jìn)行交互和重用。1.3開發(fā)模式網(wǎng)站建設(shè)目前主要有兩種基本的開發(fā)模型:兩層模型、三層模型。B/S結(jié)構(gòu)是真正的三層結(jié)構(gòu),它以訪問WEB數(shù)據(jù)庫為中心,HTTP為傳輸協(xié)議,客戶端通過瀏覽器(Browser)訪問WEB服務(wù)器和與其相連的后臺數(shù)據(jù)庫,我們稱之為B/S(Browser/Server)模式。其三級結(jié)構(gòu)組成如下圖所示:客戶端客戶端WEB服務(wù)器客戶端客戶端WEB服務(wù)器后臺數(shù)據(jù)庫后臺數(shù)據(jù)庫圖1.2開發(fā)模式圖圖中從左到右,分為三個層次:第一層是客戶端即瀏覽器,主要完成客戶和后臺的交互及最終查詢結(jié)果的輸出功能。在客戶端向指定的Web服務(wù)器提出服務(wù)器請求,Web服務(wù)器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上;第二層Web服務(wù)器是功能層,完成客戶的應(yīng)用功能,即Web服務(wù)器接受客戶請求,并與后臺數(shù)據(jù)庫連接,進(jìn)行申請?zhí)幚恚缓髮⑻幚?結(jié)果返回Web服務(wù)器,再傳至客戶端;第三層數(shù)據(jù)庫服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫服務(wù)器應(yīng)客戶請求獨立地進(jìn)行各種處理。與傳統(tǒng)的C/S模式相比,B/S結(jié)構(gòu)把處理功能全部移植到了服務(wù)器端,用戶的請求通過瀏覽器發(fā)出,無論是使用和數(shù)據(jù)庫維護(hù)上都比傳統(tǒng)模式更加經(jīng)濟(jì)方便。而且使維護(hù)任務(wù)層次化:管理員負(fù)責(zé)服務(wù)器硬件日常管理和維護(hù),系統(tǒng)維護(hù)人員負(fù)責(zé)后臺數(shù)據(jù)庫數(shù)據(jù)更新維護(hù)。32.模塊設(shè)計2.1整體模塊設(shè)計從上一節(jié)需求分析可以知道,留言功能分為用戶使用的基本功能和管理員管理系統(tǒng)的功能兩類,因此模塊設(shè)計也分為兩大類。留言的模塊體系圖如圖2.1所示。留言系統(tǒng)管理模塊頁面模塊瀏覽模塊查看留言簽寫留言留言回復(fù)留言編輯留言系統(tǒng)管理模塊頁面模塊瀏覽模塊查看留言簽寫留言留言回復(fù)留言編輯留言刪除注冊登錄 圖2.1留言板的的功能模塊圖本留言系統(tǒng)主要包括頁面模塊和管理模塊,其主要功能模塊如下:1.頁面模塊:(1)瀏覽模塊功能:瀏覽主題帖列表、查看留言;(2)查看留言功能模塊:查看留言及管理員回復(fù);(3)簽寫留言功能模塊:用戶發(fā)帖;2.管理模塊:⑴留言編輯模塊:對用戶留言進(jìn)行編輯;⑵留言回復(fù)模塊:對用戶留言進(jìn)行回復(fù),并允許編輯回復(fù);⑶留言刪除模塊:對用戶留言進(jìn)行刪除從以上分析,可以得到留言的功能框架,即系統(tǒng)的各個部分已經(jīng)確定,對于留言系統(tǒng)來說,各個模塊之間用一條主線串聯(lián)起來,才能構(gòu)建完整的系統(tǒng)。聯(lián)系各個模塊的主線是使用者的權(quán)限,用戶能使用4留言的哪些功能是由用戶的權(quán)限決定的。留言的每個功能都與相應(yīng)的權(quán)限相對應(yīng)。同一類用戶使用的功能模塊,是以使用者為中心連接起來的。另外,操作同一類事物的功能模塊,也是有相互關(guān)系的。因此,瀏覽模塊與發(fā)帖回帖模塊、管理留言模塊關(guān)聯(lián),是由留言的系統(tǒng)流程決定的。而管理版塊模塊與瀏覽模塊關(guān)聯(lián),是由留言與版塊的父子關(guān)系決定的,留言附于版塊,先有版塊,后有留言,留言必須發(fā)表在某個版塊中。還有管理用戶模塊與注冊登錄模塊關(guān)聯(lián),是由同一類對象(用戶)決定的。所有的用戶需要接受管理員的管理,用戶填寫自己的個人信息然后發(fā)表自己的留言。由此,設(shè)計出留言系統(tǒng)的整體框架。2.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計該系統(tǒng)的實體有:管理員信息實體、用戶信息實體、留言實體。實體之間的E-R圖如圖2.2所示。圖2.2實體間的關(guān)系E-R圖5管理員管理員ID賬號密碼圖2.3管理員及其屬性

如2.3圖所示很明確的說明了管理員的屬性,包括ID,賬號和密碼,管理員通過賬號和密碼登錄后可以進(jìn)行留言的管理用戶用戶ID用戶昵稱用戶郵箱留言主題留言內(nèi)容用戶主頁QQ號碼留言時間是否回復(fù)圖2.4用戶信息考慮到功能上的完整性,如圖2.4所示,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):用戶信息:包括數(shù)據(jù)項有昵稱、信箱、主頁、QQ。留言信息:包括數(shù)據(jù)項有留言的編號用戶、主題、內(nèi)容、發(fā)表時間等。6留言板留言板ID 名字主頁網(wǎng)站主頁顯示記錄屏蔽昵稱屏蔽字符圖2.5留言板信息如圖2.5所示,留言板的信息主要有ID,名字,主頁,網(wǎng)站主頁,顯示記錄,屏蔽昵稱,屏蔽字符。通過對留言板信息的控制,達(dá)到控制全局的目的。用戶注冊昵稱信箱密碼圖2.6用戶注冊如圖2.6所示,用戶注冊功能需要填寫昵稱,密碼和信箱,填寫之后完成注冊。用戶登錄昵稱密碼驗證碼圖2.7用戶登錄如圖2.7所示,用戶登錄需要填寫昵稱,密碼和驗證碼,填寫正確之后登錄,然后進(jìn)行留言板的瀏覽及留言。73.系統(tǒng)詳細(xì)設(shè)計留言擁有大量的數(shù)據(jù),這就需要對這些數(shù)據(jù)進(jìn)行存儲和管理建立數(shù)據(jù)庫。因為當(dāng)留言的在線用戶很多時,就會出現(xiàn)“瓶頸”現(xiàn)象,造成阻塞,這里應(yīng)該創(chuàng)建連接池來提高利用率。數(shù)據(jù)庫建立成功后就應(yīng)該進(jìn)行具體的系統(tǒng)設(shè)計。然后,將進(jìn)行留言信息頁面的設(shè)計,包括主頁面、發(fā)布留言相關(guān)頁面等,是顯示在留言頁面,可以由用戶(包括用戶)以上級別的瀏覽者看到;最后,進(jìn)行留言管理頁面的設(shè)計,這是只能由管理員進(jìn)行操作的頁面,管理員會對留言進(jìn)行安全、有條理的管理。3.1創(chuàng)建與連接數(shù)據(jù)庫3.1.1數(shù)據(jù)庫表的設(shè)計留言版面表note_information:記錄所有的留言版面的信息。用戶表not_guest:記錄了用戶的基本且必要的信息。管理員表note_admin:記錄了管理員賬號、密碼。用戶信息表note_user:記錄了用戶的注冊信息。設(shè)計數(shù)據(jù)表間的關(guān)系為雙層對應(yīng),就是簡單的針對某一留言管理員進(jìn)行回復(fù)。至此,留言系統(tǒng)的架構(gòu)部分設(shè)計完成了,有了具體的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和系統(tǒng)功能設(shè)計,就確定了系統(tǒng)的數(shù)據(jù)基礎(chǔ)和功能架。設(shè)計數(shù)據(jù)庫表的字段時,需要充分考慮到留言的應(yīng)用特點。數(shù)據(jù)庫表的設(shè)計要求簡單易于理解,擴(kuò)展性好?;谏厦娴膬?nèi)容,設(shè)計了下列表,這些表之間相互關(guān)聯(lián),共同存儲著系統(tǒng)所需要的數(shù)據(jù)。在設(shè)計數(shù)據(jù)庫表的過程中,要遵循幾條原則:數(shù)據(jù)庫設(shè)計一個表最好只存儲一個實體或?qū)ο蟮南嚓P(guān)信息,不同的實體最好存儲在不同的數(shù)據(jù)表中,如果實體還可以再劃分,原則是最好能夠比當(dāng)前系統(tǒng)要開發(fā)的實體的復(fù)雜度??;數(shù)據(jù)表的信息結(jié)構(gòu)一定要合適,表的字段的數(shù)量一般不要過多;擴(kuò)展信息和動態(tài)變化的信息一定要分開在不同的表里;多對多這樣的表關(guān)系盡量不出現(xiàn)等。表3.1各數(shù)據(jù)表的說明數(shù)據(jù)庫表名說明表的作用Admin用來存放管理員的名字和密碼管理登錄Guest用來存放用戶的信息和留言管理用戶信息Information用來表明該留言板的相關(guān)信息留言板的相關(guān)信息User用來存放用戶的注冊信息用戶的注冊信息8Admin表:用來存放管理員的名字和密碼,主要是管理登錄Guest表:用來存放用戶的信息和留言,主要是管理用戶信息Information表:用來表明該留言板的相關(guān)信息,主要是留言板的相關(guān)信息。表3.2表admin字段名稱類型字段長度描述說明id自動編號10NotNull編號AdminnamevarChar10NotNull管理員名字adminpassvarChar10NotNull管理員密碼如表3.2所示,admin表是用來存放管理員的名字和密碼,主要是管理登錄的,其主要包括ID,Adminname,adminpass;adminname指的是管理員的名字,adminpass指的是管理員的密碼,通過管理員的登錄,可以對留言板進(jìn)行管理,包括編輯,回復(fù)和刪除。表3.3表guest字段名稱類型字段長度描述說明id自動編號100主鍵訪客留言編號NamevarChar10NotNull訪客昵稱TitlevarChar150NotNull訪客留言主題Oicq數(shù)字20訪客的QQ號contentvarChar300NotNull訪客留言內(nèi)容Reply數(shù)字2默認(rèn)為1/0版主是否給予回復(fù)Dateandtime日期\時間10NotNull留言時間HomepagevarChar50訪客的主頁EmailvarChar50NotNull訪客的郵箱如表3.3所示,Guest表是用來存放用戶的信息和留言,主要是管理用戶信息,其用戶信息包括:id訪客留言編號、Name訪客昵稱、Title訪客留言主題、Oicq訪客的QQ號、content訪客留言內(nèi)容、Reply版主是否給予回復(fù)、Dateandtime留言時間、Homepage訪客的主頁、Email訪客的郵箱;其中昵稱、郵箱、主題和內(nèi)容是不能為空的,也就是必填項,這樣可以幫助留言板的管理員識別留言者,并且同一個昵稱只對應(yīng)相應(yīng)的郵箱,當(dāng)其中必填項沒有填好的時候,系統(tǒng)會給予提示,幫助用戶完善用戶信息的填寫9表3.4表information字段名稱類型字段長度描述說明Id自動編號100NotNull編號NamevarChar20NotNull留言板名字urlvarChar50NotNull留言板主頁HomevarChar50NotNull留言板所在網(wǎng)站主頁NumvarChar10NotNull留言每頁顯示記錄數(shù)BadidvarChar10NotNull屏蔽使用的昵稱badwordvarChar50NotNull屏蔽使用的字符如表3.4所示,Information表是用來表明該留言板的相關(guān)信息,主要是留言板的相關(guān)信息,包括Id編號、Name留言板名字、url留言板主頁、Home留言板所在網(wǎng)站主頁、Num留言每頁顯示記錄數(shù)、Badid屏蔽使用的昵稱、badword屏蔽使用的字符;通過對相關(guān)信息的控制,可以屏蔽用戶的部分輸入字,可以使留言板變得文明。表3.5表user字段名稱類型字段長度描述說明Id自動編號100NotNull編號Name字符20NotNull用戶名字Pass字符20NotNull用戶密碼EmailvarChar50NotNull用戶的郵箱如表3.5所示,user表是用來存放用戶注冊信息的,包括Id編號、Name用戶名字、Pass用戶密碼、Email用戶的郵箱,用戶通過注冊然后登錄,再進(jìn)行留言。3.1.2數(shù)據(jù)庫的連接Access是文件型數(shù)據(jù)庫,一個文件就是一個數(shù)據(jù)庫,可以利用JAVA中的語法直接連接。在連接數(shù)據(jù)庫之前,必須先聲明一個對象來當(dāng)作數(shù)據(jù)庫與JAVA程序之間的媒介。在建立表之后,完成代碼的編輯,然后進(jìn)行數(shù)據(jù)庫的連接。3.1.3數(shù)據(jù)添加根據(jù)需要添加數(shù)據(jù),然后再在對應(yīng)表中添加對應(yīng)項目,編輯好代碼,在進(jìn)行連接。3.1.4數(shù)據(jù)刪除根據(jù)需要刪除數(shù)據(jù),然后再在對應(yīng)表中刪除對應(yīng)項目,編輯好代碼,在進(jìn)行連接。103.2留言信息頁面的設(shè)計3.2.1建立查看留言相關(guān)頁面圖3.1瀏覽留言頁面圖留言是留言的主要交流內(nèi)容,是用戶-網(wǎng)頁-用戶之間交流的必要手段,在留言的列表中,第一列“狀態(tài)”,主要是根據(jù)圖標(biāo)來顯示留言所處的狀態(tài),這些狀態(tài)在頁面最底部有圖例表示,接下來一列是留言的主題,留言的主題前面有加號圖標(biāo)的可以展開,點擊留言主題可以預(yù)覽留言的內(nèi)容。之后是留言的作者,即發(fā)帖人?;貜?fù)和人氣分別記載了回復(fù)的留言的數(shù)量和瀏覽過的人數(shù)。最后更新和回復(fù)人指的是最后一個回復(fù)留言的時間和用戶。進(jìn)入留言首先看到的就是這個留言列表頁,通過這一頁用戶可以進(jìn)入瀏覽留言或發(fā)表回復(fù)留言的界面進(jìn)行各種操作。這部分?jǐn)?shù)據(jù)來源主要是留言表、用戶表,其中界面的顏色設(shè)置取自管理員對界面顏色配置的變量值。本頁面為首頁,也為留言界面,包括了兩大模塊:留言操作和其他操作,留言操作包括查看留言、簽寫留言、管理留言三個功能模塊,其他操作則只有退出管理,而退出管理之后,則返回當(dāng)前頁面,就沒有權(quán)限進(jìn)行修改、回復(fù)和刪除。113.2.2注冊登錄相關(guān)頁面圖3.2用戶注冊如圖3.2所示,用戶注冊包括昵稱,密碼和信箱,正確填寫后,提交注冊,就可以用自己注冊的昵稱和密碼登錄瀏覽界面了。圖3.3用戶登錄如圖3.3所示,用戶登錄包括昵稱,密碼和驗證碼,正確輸入后,登陸,就可以瀏覽界面并進(jìn)行留言了。3.2.3建立發(fā)布留言相關(guān)頁面進(jìn)入發(fā)表新帖的界面。這里允許發(fā)表新留言,需要用戶填寫的新留言的信息包括:昵稱、郵箱、個人主頁、QQ、主題、具體內(nèi)容等,這也是留言表里的最基本信息。其中標(biāo)題不能超過50個漢字,要進(jìn)行校驗。其次該留言提供了一些頭像的圖片,用戶只需選擇一種即可。內(nèi)容說明是指書寫留言內(nèi)容時輸入框支持輸入什么。具體內(nèi)容輸入框上的按鈕可以對輸入的內(nèi)容進(jìn)行字體方面的設(shè)置,界面比較友好,讓用過Word的人很容易掌握這些小按鈕的用法,其中有加粗、斜線等。輸入框下方還提供一些小圖片,用戶可以點擊表情圖標(biāo)就可在留言中加入相應(yīng)的表情。所有內(nèi)容都填寫完畢后,點擊“寫好了”按鈕則數(shù)據(jù)庫中相應(yīng)的留言表增加一條記錄,用戶留言發(fā)表成功。12圖3.4發(fā)布留言頁面圖之個人信息如圖3.4所示點擊簽寫留言,則跳入發(fā)布留言界面,然后開始填寫個人信息,個人信息包括昵稱,信箱,主頁,QQ和主題,其中昵稱、信箱和主題是必須填寫的,如果沒有填

溫馨提示

  • 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

提交評論