基于C8051F410單片機(jī)的12864帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì).doc_第1頁(yè)
基于C8051F410單片機(jī)的12864帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì).doc_第2頁(yè)
基于C8051F410單片機(jī)的12864帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì).doc_第3頁(yè)
基于C8051F410單片機(jī)的12864帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì).doc_第4頁(yè)
基于C8051F410單片機(jī)的12864帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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)介

題 目:基于C8051F410的128*64帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì) 班級(jí): 姓 名: 學(xué) 號(hào): 基于C8051F410的128*64帶字庫(kù)點(diǎn)陣LCD顯示器設(shè)計(jì) (溫州大學(xué)物理與電子信息工程學(xué)院)摘要:128*64帶字庫(kù)點(diǎn)陣LCD顯示器可以顯示84行1616點(diǎn)陣的漢字。顯示數(shù)據(jù)RAM(DDRAM)模塊內(nèi)部顯示數(shù)據(jù)RAM提供642個(gè)位元組的空間,最多可控制4行16字(64個(gè)字)的中文字型顯示,當(dāng)寫(xiě)入顯示數(shù)據(jù)RAM時(shí),可分別顯示CGROM與CGRAM的字型 。 字符顯示RAM在液晶模塊中的地址80H9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系。帶中文字庫(kù)的128X64-0402B內(nèi)部提供1282字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。關(guān)鍵詞:LCD液晶屏,并行接口,控制器接口信號(hào),基本指令,擴(kuò)充指令,字符顯示,圖形顯示1 12864點(diǎn)陣LCD液晶屏帶中文字庫(kù)詳細(xì)介紹 帶中文字庫(kù)的128*64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。2 基本特性(1)、低電源電壓(VDD:+3.0-+5.5V)(2)、顯示分辨率:12864點(diǎn) (3)、內(nèi)置漢字字庫(kù),提供8192個(gè)1616點(diǎn)陣漢字(簡(jiǎn)繁體可選) (4)、內(nèi)置 128個(gè)168點(diǎn)陣字符 (5)、2MHZ時(shí)鐘頻率 (6)、顯示方式:STN、半透、正顯 (7)、驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS (8)、視角方向:6點(diǎn) (9)、背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/51/10 (10)、通訊方式:串行、并口可選 (11)、內(nèi)置DC-DC轉(zhuǎn)換電路,無(wú)需外加負(fù)壓 (12)、無(wú)需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì)(13)、工作溫度: 0 - +55 ,存儲(chǔ)溫度: -20 - +603 模塊接口說(shuō)明并行接口管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB7DB0的數(shù)據(jù)被寫(xiě)到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見(jiàn)注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見(jiàn)注釋2)18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端(+5V)(見(jiàn)注釋3)20KVSS背光源負(fù)端(見(jiàn)注釋3)*注釋1:如在實(shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場(chǎng)合可將該端懸空。 *注釋3:如背光和模塊共用一個(gè)電源,可以將模塊上的JA、JK用焊錫短接。4 模塊主要硬件構(gòu)成說(shuō)明控制器接口信號(hào)說(shuō)明:4.1RS,R/W的配合選擇決定控制界面的4種模式:RSR/W功能說(shuō)明LLMPU寫(xiě)指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫(xiě)入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)4.2E信號(hào)E狀態(tài)執(zhí)行動(dòng)作結(jié)果高低I/O緩沖DR配合/W進(jìn)行寫(xiě)數(shù)據(jù)或指令高DRI/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低高無(wú)動(dòng)作 忙標(biāo)志:BF BF標(biāo)志提供內(nèi)部工作情況.BF=1表示模塊在進(jìn)行內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù).BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù).利用STATUS RD 指令,可以將BF讀到DB7總線,從而檢驗(yàn)?zāi)K之工作狀態(tài). 字型產(chǎn)生ROM(CGROM) 字型產(chǎn)生ROM(CGROM)提供8192個(gè)此觸發(fā)器是用于模塊屏幕顯示開(kāi)和關(guān)的控制。DFF=1為開(kāi)顯示(DISPLAY ON),DDRAM 的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAY OFF)。DFF 的狀態(tài)是指令DISPLAY ON/OFF和RST信號(hào)控制的。 顯示數(shù)據(jù)RAM(DDRAM)模塊內(nèi)部顯示數(shù)據(jù)RAM提供642個(gè)位元組的空間,最多可控制4行16字(64個(gè)字)的中文字型顯示,當(dāng)寫(xiě)入顯示數(shù)據(jù)RAM時(shí),可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫(xiě)入的編碼選擇,在0000H0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個(gè))將選擇CGRAM的自定義字型,02H7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動(dòng)的結(jié)合下一個(gè)位元組,組成兩個(gè)位元組的編碼形成中文字型的編碼BIG5(A140D75F),GB(A1A0-F7FFH)。 字型產(chǎn)生RAM(CGRAM) 字型產(chǎn)生RAM提供圖象定義(造字)功能, 可以提供四組1616點(diǎn)的自定義圖象空間,使用者可以將內(nèi)部字型沒(méi)有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過(guò)DDRAM顯示在屏幕中。 地址計(jì)數(shù)器AC地址計(jì)數(shù)器是用來(lái)貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來(lái)改變,之后只要讀取或是寫(xiě)入DDRAM/CGRAM的值時(shí),地址計(jì)數(shù)器的值就會(huì)自動(dòng)加一,當(dāng)RS為“0”時(shí)而R/W為“1”時(shí),地址計(jì)數(shù)器的值會(huì)被讀取到DB6DB0中。 光標(biāo)/閃爍控制電路此模塊提供硬體光標(biāo)及閃爍控制電路,由地址計(jì)數(shù)器的值來(lái)指定DDRAM中的光標(biāo)或閃爍位置。5 指令說(shuō)明 模塊控制芯片提供兩套控制命令,基本指令和擴(kuò)充指令如下:指令表1:(RE=0:基本指令)指 指 令 碼功 能令RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿20H,并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H,并且將游標(biāo)移到開(kāi)頭原點(diǎn)位置;這個(gè)指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開(kāi)/關(guān)0000001DCBD=1: 整體顯示 ONC=1: 游標(biāo)ONB=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫(xiě)入時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位;這個(gè)指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 基本指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫(xiě)數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫(xiě)入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:(RE=1:擴(kuò)充指令)指 指 令 碼功 能令RSR/WD7D6D5D4D3D2D1D0 待命模式0000000001進(jìn)入待命模式,執(zhí)行其他指令都棵終止待命模式卷動(dòng)地址開(kāi)關(guān)開(kāi)啟000000001SRSR=1:允許輸入垂直卷動(dòng)地址SR=0:允許輸入IRAM和CGRAM地址 反白 選擇00000001R1R0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R000,第一次設(shè)定為反白顯示,再次設(shè)定變回正常 睡眠 模式0000001SLXXSL=0:進(jìn)入睡眠模式SL=1:脫離睡眠模式 擴(kuò)充 功能 設(shè)定00001CLXREG0CL=0/1:4/8位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 基本指令操作G=1/0:繪圖開(kāi)關(guān)設(shè)定繪圖RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0設(shè)定繪圖RAM先設(shè)定垂直(列)地址AC6AC5AC0再設(shè)定水平(行)地址AC3AC2AC1AC0將以上16位地址連續(xù)寫(xiě)入即可備注:當(dāng)IC1在接受指令前,微處理器必須先確認(rèn)其內(nèi)部處于非忙碌狀態(tài),即讀取BF標(biāo)志時(shí),BF需為零,方可接受新的指令;如果在送出一個(gè)指令前并不檢查BF標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延長(zhǎng)一段較長(zhǎng)的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成。6 應(yīng)用舉例6.1使用前的準(zhǔn)備:先給模塊加上工作電壓,再按照下圖的連接方法調(diào)節(jié)LCD的對(duì)比度,使其顯示出黑色的底影。此過(guò)程亦可以初步檢測(cè)LCD有無(wú)缺段現(xiàn)象。6.2字符顯示:帶中文字庫(kù)的128X64-0402B每屏可顯示4行8列共32個(gè)1616點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中文字符或2個(gè)168點(diǎn)陣全高ASCII碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。帶中文字庫(kù)的128X64-0402B內(nèi)部提供1282字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過(guò)將字符顯示編碼寫(xiě)入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫(xiě)入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:00000006H(其代碼分別是0000、0002、0004、0006共4個(gè))顯示自定義字型,02H7FH顯示半寬ASCII碼字符,A1A0HF7FFH顯示8192種GB2312中文字庫(kù)字形。字符顯示RAM在液晶模塊中的地址80H9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如下表所示。80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH字符顯示舉例以下為內(nèi)部電壓VDD和文字顯示代碼#include #include #define uchar unsigned char#define uint unsigned intuchar flag=0;unsigned char sendata=V,D,D, ,:,0,0,0,0, m,V;unsigned char fang=方成杰;unsigned int i;sbit RS=P13;sbit RW=P14;sbit EN=P15;sbit PSB=P16;sbit RET=P07;sfr16 TMR2RL = 0xca; / 定時(shí)器2重載值 P210這里采用的是定時(shí)器2的16位自動(dòng)重載sfr16 TMR2 = 0xcc; / 定時(shí)器2計(jì)數(shù)值sfr16 ADC0 = 0xbd; / P35 ADC0的采樣值#define SYSCLK 24500000 / 內(nèi)部晶振頻率為24.5MHz#define BAUDRATE 115200 / 串口通訊波特率為115200void SYSCLK_Init (void)OSCICN = 0x83; / 內(nèi)部振蕩器不分頻為24.5MHz P138 RSTSRC = 0x04; / 復(fù)位源寄存器 時(shí)鐘丟失檢測(cè)器標(biāo)志置1? P110CLKSEL = 0x00; void PCA_Init() PCA0MD &= 0x40; PCA0MD = 0x00;void PORT_Init (void)/ P0.0 - Unassigned, Open-Drain, Digital / P0.1 - Unassigned, Open-Drain, Digital / P0.2 - Unassigned, Open-Drain, Digital / P0.3 - Unassigned, Open-Drain, Digital / P0.4 - TX0 (UART0), Push-Pull, Digital / P0.5 - RX0 (UART0), Push-Pull, Digital / P0.6 - Unassigned, Open-Drain, Digital / P0.7 - Unassigned, Open-Drain, Digital / P1.0 - Unassigned, Open-Drain, Digital / P1.1 - Skipped, Open-Drain, Analog / P1.2 - Unassigned, Open-Drain, Digital / P1.3 - Skipped, Push-Pull, Digital / P1.4 - Skipped, Push-Pull, Digital / P1.5 - Skipped, Push-Pull, Digital / P1.6 - Skipped, Push-Pull, Digital / P1.7 - Unassigned, Open-Drain, Digital / P2.0 - Skipped, Push-Pull, Digital / P2.1 - Skipped, Push-Pull, Digital / P2.2 - Skipped, Push-Pull, Digital / P2.3 - Skipped, Push-Pull, Digital / P2.4 - Skipped, Push-Pull, Digital / P2.5 - Skipped, Push-Pull, Digital / P2.6 - Skipped, Push-Pull, Digital / P2.7 - Skipped, Push-Pull, Digital P1MDIN = 0xFD; P0MDOUT = 0x30; P1MDOUT = 0x78; P2MDOUT = 0xFF; P1SKIP = 0x7A; P2SKIP = 0xFF; XBR0 = 0x01; XBR1 = 0x40;void delay_50us(uint t)uchar i=2;while(t-)while(i-);void delay_50ms(uint t)uint i,j,k;for (i=t;i0;i-)for (j=57;j0;j-)for(k=100;k0;k-);void write12864com(uchar com) RS=0; RW=0; delay_50us(1); P2=com; EN=1; delay_50us(1); EN=0; delay_50us(1);void write12864dat(uchar dat)RS=1;RW=0;delay_50us(1);P2=dat;EN=1;delay_50us(1);EN=0;delay_50us(1); void initinal12864(void)PSB=1; RET=1;delay_50ms(2);write12864com(0x30);delay_50us(2);write12864com(0x30);delay_50us(2);write12864com(0x0c);delay_50us(1);write12864com(0x01);delay_50us(20);write12864com(0x06);delay_50us(2); void write12864place(uchar x,uchar y)uchar tempaaa=0x80;switch(x)case 1: tempaaa=0x7f; break;case 2: tempaaa=0x8f;break;case 3: tempaaa=0x87;break;case 4: tempaaa=0x97;break;tempaaa=tempaaa+y;write12864com(tempaaa);delay_50us(4);void Timer2_Init (void)TMR2CN = 0x00; / 定時(shí)器2控制寄存器 P213 停止定時(shí)器2,清空TF2標(biāo)志位,以系統(tǒng)時(shí)鐘為基準(zhǔn),16位自動(dòng)重裝載CKCON = 0x30; / 時(shí)鐘控制寄存器 P208 1:允許定時(shí)器2低字節(jié)中斷。 1:使能定時(shí)器2捕捉方式。1-0 00 24.5/12TMR2RL = - (SYSCLK / 10000); / 重載值為100uSTMR2 = 0xffff; / 設(shè)置計(jì)數(shù)值TR2 = 1; / 啟動(dòng)定時(shí)器2void ADC0_Init (void)ADC0CN = 0x03; / ADC0控制寄存器 P46 11:定時(shí)器2溢出啟動(dòng)ADC0轉(zhuǎn)換。REF0CN = 0x13; / 電壓基準(zhǔn)控制寄存器 P61 內(nèi)部電壓基準(zhǔn)設(shè)置為2.2V。并輸出至VREF腳ADC0MX = 0x19; / ADC0通道選擇寄存器 P43 選擇P1.1作為ADC0輸入通道ADC0CF = (SYSCLK/3000000)-1)3; / set SAR clock to 3MHz ADC0配置寄存器P44 ADC0CF |= 0x00; / right-justify results/*位7-3:AD0SC4-0:ADC0 SAR轉(zhuǎn)換時(shí)鐘周期控制位位2:-1AD0RPT:ADC0重復(fù)次數(shù)控制ADC0轉(zhuǎn)換結(jié)束(AD0INT)和ADC0窗口比較中斷(AD0WINT)之間的轉(zhuǎn)換和累加次數(shù)。在突發(fā)模式未被使能時(shí),每次轉(zhuǎn)換都需要一次轉(zhuǎn)換啟動(dòng)。在突發(fā)模式,一次轉(zhuǎn)換啟動(dòng)能觸發(fā)多個(gè)自定時(shí)的轉(zhuǎn)換。在這兩種模式下,轉(zhuǎn)換結(jié)果都被累加到ADC0H:ADC0L寄存器。當(dāng)AD0RPT1-0的設(shè)置值不為00時(shí),ADC0CN寄存器中的AD0LJST位必須被清0(右對(duì)齊)。00:執(zhí)行1次轉(zhuǎn)換。01:執(zhí)行4次轉(zhuǎn)換轉(zhuǎn)換和累加。10:執(zhí)行8次轉(zhuǎn)換轉(zhuǎn)換和累加。11:執(zhí)行16次轉(zhuǎn)換轉(zhuǎn)換和累加。位0:保留。讀 = 0b,必須寫(xiě)0b。*/ EIE1 |= 0x08; / 擴(kuò)展中斷允許1 P95 擴(kuò)展中斷允許1 允許AD0INT標(biāo)志的中斷請(qǐng)求。AD0EN = 1; / ADC0控制寄存器中的使能位 位7/*位7:AD0EN:ADC0使能位0:ADC0禁止。ADC0處于低耗斷點(diǎn)狀態(tài)。1:ADC0使能。ADC0處于活動(dòng)狀態(tài),可以進(jìn)行轉(zhuǎn)換數(shù)據(jù)。*/void UART0_Init (void)SCON0 = 0x10; /設(shè)置UART0為8位通信方式 P184 允許接收 TH1 = 0x96; /CKCON |= 0x08; /系統(tǒng)時(shí)鐘12分頻TL1 = TH1; / 自動(dòng)裝載 TMOD &= 0xf0; / p207 設(shè)置為定時(shí)器1方式 TMOD |= 0x20; / 設(shè)置8位自動(dòng)重載定時(shí)器TR1 = 1; /開(kāi)啟定時(shí)器1 TI0 = 1; /發(fā)送完一字節(jié)數(shù)據(jù)后串行口中斷置1 /-void ADC0_ISR (void) interrupt 10static unsigned long accumulator = 0; / 用于平均值的累加和static unsigned int measurements = 2048; / 用于平均值的采樣次數(shù)unsigned long result=0; / 存放計(jì)算后的采樣平均值unsigned long mV; / 用于存儲(chǔ)最后的電壓值unsigned int i;AD0INT = 0; / ADC0控制寄存器 P46 位5 /*位5:AD0INT:ADC0轉(zhuǎn)換結(jié)束中斷標(biāo)志0:從最后一次AD0INT清0后,ADC0還沒(méi)有完成一次數(shù)據(jù)轉(zhuǎn)換。1:ADC0完成了一次數(shù)據(jù)轉(zhuǎn)換。*/accumulator += ADC0; /采樣值累加measurements-; /次數(shù)減一if(measurements = 0) /判斷是否達(dá)到采樣平均次數(shù) measurements = 2048; /重新賦值采樣次數(shù)result = accumulator / 2048; /計(jì)算2048次采樣的平均值,形成濾波accumulator=0; /累加和清零/ 平均值的采樣次數(shù)取決于你的是否決定濾波和波形的頻率大小,一般用于平穩(wěn)波形的測(cè)量 / / Vref (mV) / measurement (mV) = - * result (bits) / (212)-1 (bits)mV = result * 2200 / 4095; sendata5=mV/1000;sendata6=(mV-sendata5*1000)/100; sendata7=(mV-sendata5*1000-sendata6*100)/10; sendata8=mV-sendata5*1000-sendata6*100-sendata7*10; sendata5=sendata5+0x30;sendata6=sendata6+0x30;sendata7=sendata7+0x30;sendata8=sendata8+0x30;flag=1;/printf(P1.1 V : %ld mVn,mV);for(i=0;i=12;i+) TI0 = 0; SBUF0=sendatai; while(TI0 != 1); TI0 = 0; void main (void) PCA0MD &= 0x40; / WDTE = 0 PCA方式寄存器 P230 位6 1:PCA模塊5被用作看門狗定時(shí)器。/在由單片機(jī)構(gòu)成的微型計(jì)算機(jī)系統(tǒng)中,由于單片機(jī)的工作常常會(huì)受到來(lái)自外界電磁場(chǎng)的干擾,造成程序的跑飛,而陷入死循環(huán),/程序的正常運(yùn)行被打斷,由單片機(jī)控制的系統(tǒng)無(wú)法繼續(xù)工作,會(huì)造成整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果,/所以出于對(duì)單片機(jī)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)的考慮,便產(chǎn)生了一種專門用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱看門狗(watchdog) SYSCLK_Init (); PCA_Init(); PORT_Init (); Timer2_Init(); UART0_Init(); ADC0_Init(); initinal12864();/初始化12864write12864place(1,1);delay_50us(3);for(i=0;i12;i+) write12864dat(sendatai);write12864com(0x9D);for(i=0;i6;i+) write12864dat(fangi);delay_50us(4); EA = 1; / 開(kāi)總中斷while (1) if(flag=1) write12864place(1,4); delay_50us(3);write12864dat(sendata5);write12864dat(sendata6);

溫馨提示

  • 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)論