|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
ARTX水鳥LPC2131板實(shí)驗(yàn)筆記 |
| 作者:hotpower 欄目:ARM技術(shù) |
/*-------------------------------------------------------- ARTX水鳥LPC2131板實(shí)驗(yàn)筆記 HotPower@126.com 2006.1.15 03:18 于西安大雁塔村隊(duì)部 ---------------------------------------------------------*/ #include <ARTX.h> #include <LPC213x.H> // PHILIPS Peripheral Registers #include <LPC213xDEF.H> //ARM菜鳥HotPower創(chuàng)建定義文件(新版) /*----------------------------------------- LED數(shù)碼字符定義 -------------------------------------------*/ //共陽(yáng)極數(shù)碼管(左移) #define LedSegA 0x01 #define LedSegB 0x02 #define LedSegC 0x04 #define LedSegD 0x08 #define LedSegE 0x10 #define LedSegF 0x20 #define LedSegG 0x40 #define LedSegH 0x80 // //共陽(yáng)極數(shù)碼管(右移) /* #define LedSegA 0x80 #define LedSegB 0x40 #define LedSegC 0x20 #define LedSegD 0x10 #define LedSegE 0x08 #define LedSegF 0x04 #define LedSegG 0x02 #define LedSegH 0x01 */ // #define LedChar0 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegE + LedSegF ) #define LedChar1 ( LedSegB + LedSegC ) #define LedChar2 (LedSegA + LedSegB + LedSegD + LedSegE + LedSegG) #define LedChar3 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegG) #define LedChar4 ( LedSegB + LedSegC + LedSegF + LedSegG) #define LedChar5 (LedSegA + LedSegC + LedSegD + LedSegF + LedSegG) #define LedChar6 (LedSegA + LedSegC + LedSegD + LedSegE + LedSegF + LedSegG) #define LedChar7 (LedSegA + LedSegB + LedSegC ) #define LedChar8 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegE + LedSegF + LedSegG) #define LedChar9 (LedSegA + LedSegB + LedSegC + LedSegD + LedSegF + LedSegG) #define LedCharA (LedSegA + LedSegB + LedSegC + LedSegE + LedSegF + LedSegG) #define LedCharB ( LedSegC + LedSegD + LedSegE + LedSegF + LedSegG) #define LedCharC (LedSegA + LedSegD + LedSegE + LedSegF ) #define LedCharD ( LedSegB + LedSegC + LedSegD + LedSegE + LedSegG) #define LedCharE (LedSegA + LedSegD + LedSegE + LedSegF + LedSegG) #define LedCharF (LedSegA + LedSegE + LedSegF + LedSegG) #define RCLK P0_29 //#define SCK0 P0_28 //<LPC213xDEF.H>已定義 //#define MOSI0 P0_25 //<LPC213xDEF.H>已定義 #define BEEP P0_7// P0.7控制蜂鳴器,低電平蜂鳴 #define KEY1 P0_16// #define KEY2 P0_17// #define KEY3 P0_18// #define KEY4 P0_19// #define KEY5 P0_20// #define KEY6 P0_21// #define LED1 P1_18// #define LED2 P1_19// #define LED3 P1_20// #define LED4 P1_21// #define LED5 P1_22// #define LED6 P1_23// #define LED7 P1_24// #define LED8 P1_25// static const unsigned CHAR LedTab[] = { ~LedChar0, ~LedChar1, ~LedChar2, ~LedChar3, ~LedChar4, ~LedChar5, ~LedChar6, ~LedChar7, ~LedChar8, ~LedChar9, ~LedCharA, ~LedCharB, ~LedCharC, ~LedCharD, ~LedCharE, ~LedCharF }; OS_TID Main_Task, Key_Task, Led_Task, Lednum_Task, Beep_Task; void MainTask (void) __task; void KeyTask (void) __task; void LedTask (void) __task; void LednumTask (void) __task; void BeepTask (void) __task; void SystemInit(void); void KeyInit(void); void LedInit(void); void LednumInit(void); void BeepInit(void); void MSPI_Init(void); unsigned CHAR MSPI_SendData(unsigned CHAR); void LedDisplay(unsigned CHAR); void SystemInit(void) { PINSEL0 = 0x00000000; // 設(shè)置管腳連接GPIO PINSEL1 = 0x00000000; // 設(shè)置管腳連接GPIO IODIR0 = 0x00000000; // 設(shè)置P0口為輸入 IODIR1 = 0x00000000; // 設(shè)置P1口為輸入 } void KeyInit(void) { } void LedInit(void) { IODIR1 |= (1 << LED1) | // 設(shè)置LED1為輸出 (1 << LED2) | // 設(shè)置LED2為輸出 (1 << LED3) | // 設(shè)置LED3為輸出 (1 << LED4) | // 設(shè)置LED4為輸出 (1 << LED5) | // 設(shè)置LED5為輸出 (1 << LED6) |& |
| 2樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 12:44:00 發(fā)布:
LPC213XDEF.H(V1.00) /*----------------------------------------------------------- 文 件 名 : LPC213XDEF.H 創(chuàng) 建 人 : ARM水鳥 HotPower@126.com 創(chuàng) 建 日 期 : 2005.7.23 0:38 最近修改日期 : 2006.1.11 2:38 創(chuàng) 建 地 點(diǎn) : 西安大雁塔村隊(duì)部 版 本 號(hào) : V1.00 說(shuō) 明 : 已經(jīng)過(guò)硬件調(diào)試 由于在不斷更新中,故新舊版本以修改日期為準(zhǔn) 備 注 : 由此文件出現(xiàn)的問(wèn)題,ARM水鳥不負(fù)任何責(zé)任 -----------------------------------------------------------*/ #ifndef __LPC213xDEF_H #define __LPC213xDEF_H typedef unsigned CHAR uint8; //無(wú)符號(hào)8位整型變量 typedef signed CHAR int8; //有符號(hào)8位整型變量 typedef unsigned SHORT uint16;//無(wú)符號(hào)16位整型變量 typedef signed SHORT int16; //有符號(hào)16位整型變量 typedef unsigned int uint32;//無(wú)符號(hào)32位整型變量 typedef signed int int32; //有符號(hào)32位整型變量 typedef float fp32; //單精度浮點(diǎn)數(shù)(32位長(zhǎng)度 typedef double fp64; //雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度) #define BV(val) (1 << val) //WINAVR中有定義 #define VICIntSel_Watchdog 0//看門狗中斷(WDINT) #define VICIntSel_SoftInt1 1//保留給軟件中斷 #define VICIntSel_DbgCommRx 2//ARM內(nèi)核中斷 #define VICIntSel_DbgCommTx 3//ARM內(nèi)核中斷 #define VICIntSel_Time0 4//定時(shí)器0中斷 #define VICIntSel_Time1 5//定時(shí)器1中斷 #define VICIntSel_UART0 6//UART0中斷 #define VICIntSel_UART1 7//UART1中斷 #define VICIntSel_PWM0 8//PWM0中斷 #define VICIntSel_I2C0 9//I2C0中斷 #define VICIntSel_SPI0 10//SPI0中斷 #define VICIntSel_SSP 11//SSP中斷 #define VICIntSel_SPI1 11//SPI1中斷 #define VICIntSel_PLL 12//PLL中斷 #define VICIntSel_RTC 13//RTC中斷 #define VICIntSel_EINT0 14//系統(tǒng)控制外部中斷0 #define VICIntSel_EINT1 15//系統(tǒng)控制外部中斷1 #define VICIntSel_EINT2 16//系統(tǒng)控制外部中斷2 #define VICIntSel_EINT3 17//系統(tǒng)控制外部中斷3 #define VICIntSel_ADC0 18//A/D轉(zhuǎn)換器0中斷 #define VICIntSel_I2C1 19//I2C1中斷 #define VICIntSel_BOD 20//掉電檢測(cè)中斷 #define VICIntSel_ADC1 21//A/D轉(zhuǎn)換器1中斷 #define VICIntSel_SoftInt22 22//保留給軟件中斷 #define VICIntSel_SoftInt23 23//保留給軟件中斷 #define VICIntSel_SoftInt24 24//保留給軟件中斷 #define VICIntSel_SoftInt25 25//保留給軟件中斷 #define VICIntSel_SoftInt26 26//保留給軟件中斷 #define VICIntSel_SoftInt27 27//保留給軟件中斷 #define VICIntSel_SoftInt28 28//保留給軟件中斷 #define VICIntSel_SoftInt29 29//保留給軟件中斷 #define VICIntSel_SoftInt30 30//保留給軟件中斷 #define VICIntSel_SoftInt31 31//保留給軟件中斷 #define VICIntSel_Enable 32//使能向量中斷 /*應(yīng)用示例 VICVectCntl0 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_EINT0;//獲取EINT0的IRQ級(jí)別 VICVectAddr0 = (LONG) IRQ_Eint0;//取INT0中斷服務(wù)地址 VICIntEnable = (1 << VICIntSel_EINT0); //使能EINT0中斷 */ /* P0口GPIO位尋址位定義 */ #define P0_0 0//P0.0 #define TXD0 P0_0//UART0的發(fā)送器輸出 #define PWM1 P0_0//脈寬調(diào)制器輸出1 #define P0_1 1//P0.1 #define RXD0 P0_1//UART0的接收器輸入 #define PWM3 P0_1//脈寬調(diào)制器輸出3 #define P0_2 2//P0.2 #define SCL0 P0_2//I2C0時(shí)鐘輸入/輸出。開漏輸出(符合I2C規(guī)范) #define P0_3 3//P0.3 #define SDA0 P0_3//I2C0數(shù)據(jù)輸入/輸出。開漏輸出(符合I2C規(guī)范) #define P0_4 4//P0.4 #define SCK0 P0_4//SPI0的串行時(shí)鐘。SPI時(shí)鐘從主機(jī)輸出,從機(jī)輸入 #define AD0_6 P0_4//A/D轉(zhuǎn)換器0輸入6。該模擬輸入總是連接到相應(yīng)的管腳 #define P0_5 5//P0.5 #define MISO0 P0_5//SPI0主機(jī)輸入從機(jī)輸出端。從機(jī)到主機(jī)的數(shù)據(jù)傳輸 #define AD0_7 P0_5//A/D轉(zhuǎn)換器0輸入7。該模擬輸入總是連接到相應(yīng)的管腳 #define P0_6 6//P0.6 #define MOSI0 P0_6//SPI0主機(jī)輸出從機(jī)輸入端。主機(jī)到從機(jī)的數(shù)據(jù)傳輸 #define AD1_0 P0_6//A/D轉(zhuǎn)換器1輸入0。該模擬輸入總是連接到相應(yīng)的管腳(僅用于 LPC2138) #define P0_7 7//P0.7 #define SSEL0 P0_7//SPI0從機(jī)選擇。選擇SPI接口用作從機(jī) #define PWM2 P0_7//脈寬調(diào)制器輸出2 #define P0_8 8//P0.8 #define TXD1 P0_8//UART1的發(fā)送器輸出 #define PWM4 P0_8//脈寬調(diào)制器輸出4 #define AD1_1 P0_8//A/D轉(zhuǎn)換器1輸入1。該模擬輸入總是連接到相應(yīng)的管腳(僅用于 LPC2138) #define P0_9 9//P0.9 #define RXD1 P0_9//UART1的接收器輸入 #define PWM6 P0_9//脈寬調(diào)制器輸出6 #define P0_10 10//P0.10 #define RTS1 P0_10//UART1請(qǐng)求發(fā)送出端(僅用于LP138) #define CAP1_0 P0_10//定時(shí)器1的捕獲輸入通道0 #define AD1_2 P0_10//A/D轉(zhuǎn)換器1輸入2。該模擬輸入總是連接到相應(yīng)的管腳(僅用于 LPC2138) #define P0_11 11//P0.11 #define CTS1 P0_11//UART1清除發(fā)送入端(僅用于LP138) #define CAP1_1 P0_11//定時(shí)器1的捕獲輸入通道1 #define SCL1 P0_11//I2C1時(shí)鐘輸入/輸。開漏輸出(符合I2C規(guī)范) #define P0_12 12//P0.12 #define DSR1 P0_12//UART1數(shù)據(jù)設(shè)置就緒端(僅用于 LPC2138) #define MAT1_0 P0_12//定時(shí)器1的匹配輸出通道0 #define AD1_3 P0_12//A/D轉(zhuǎn)換器1輸入3。該模擬輸入總是連接到相應(yīng)的管腳(僅用于 LPC2138) #define P0_13 13//P0.13 #define DTR1 P0_13//UART1數(shù)據(jù)終端就緒 #define MAT1_1 P0_13//定時(shí)器1的匹配輸出通道1 #define AD1_4 P0_13//A/D轉(zhuǎn)換器1輸入4。該模擬輸入總是連接到相應(yīng)的管腳(僅用于 LPC2138) #define P0_14 14//P0.14 #define DCD1 P0_14//UART1數(shù)據(jù)載波檢測(cè)輸入(僅用于 LPC2138) #define SDA1 P0_14//I2C1數(shù)據(jù)輸入/輸出。開漏輸出(符合I2C規(guī)范) #define P0_15 15//P0.15 #define RI |
|
| 3樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 13:04:00 發(fā)布:
LPC213XDEF.H之應(yīng)用 LPC213XDEF.H之應(yīng)用 創(chuàng)建LPC213XDEF.H之目的---消除引腳配置頭暈的郁悶 示例(所有配置都基于LPC2131開發(fā)板): void KeyInit(void) { PINSEL1 &= ~(3 << P0_16_PINSEL);//只清除P0_16原先的連接狀態(tài) PINSEL1 |= (P0_16_EINT0 << P0_16_PINSEL);//連接P0_16到EINT0,并保持其他連接不變 PINSEL1 &= ~(3 << P0_20_PINSEL);//只清除P0_20原先的連接狀態(tài) PINSEL1 |= (P0_20_EINT3 << P0_20_PINSEL);//連接P0_20到EINT0,并保持其他連接不變 IO0DIR &=~((1 << KEY1) // 設(shè)置KEY1為輸入 | (1 << KEY2) // 設(shè)置KEY2為輸入 | (1 << KEY3) // 設(shè)置KEY3為輸入 | (1 << KEY4) // 設(shè)置KEY4為輸入 | (1 << KEY5) // 設(shè)置KEY5為輸入 | (1 << KEY6)); // 設(shè)置KEY6為輸入 } void VicIntSetup(void) { VICIntSelect = (1 << VICIntSel_EINT3); // Enable a Vic Channel as FIQ EXTPOLAR &= ~((1 << EXTPOLAR0) //INT0為低電平有效 | (1 << EXTPOLAR3));//INT3為低電平有效 EXTMODE &= ~ (1 << EXTMODE0); //設(shè)置INT0為電平觸發(fā) EXTMODE |= (1 << EXTMODE3); //設(shè)置INT3為邊沿觸發(fā) VICVectCntl0 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_EINT0;//獲取EINT0的IRQ級(jí)別 VICVectAddr0 = (LONG) IRQ_Eint0;//取INT0中斷服務(wù)地址 VICIntEnable = (1 << VICIntSel_EINT0); //使能EINT0中斷 ////////////////////////////////////////////////////////////////////////////////////////////////// VICVectCntl1 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_Time0; VICVectAddr1 = (uint32)IRQ_Timer0; VICIntEnable = (1 << VICIntSel_Time0); VICIntEnable = (1 << VICIntSel_EINT3); //使能EINT3中斷 EXTINT = (1 << EINT0) | (1 << EINT1) | (1 << EINT2) | (1 << EINT3); //清除INT中斷標(biāo)志 } void UART0_Init(void) { uint16 Fdiv; PINSEL0 |= (P0_0_TXD0 << P0_0_PINSEL) | (P0_1_RXD0 << P0_1_PINSEL); //設(shè)置I/O連接到UART0 U0LCR = 0x83; // DLAB=1,允許設(shè)置波特率 Fdiv = (Fpclk / 16) / UART_BPS; // 設(shè)置波特率 // U0DLM = Fdiv / 256; // U0DLL = Fdiv % 256; U0DLM = 0; U0DLL = 94;//95;//96;//98;//97; U0LCR = 0x03; } void KeyInit(void) { PINSEL1 &= ~(3 << P0_16_PINSEL);//只清除P0_16原先的連接狀態(tài) PINSEL1 |= (P0_16_EINT0 << P0_16_PINSEL);//連接P0_16到EINT0,并保持其他連接不變 PINSEL1 &= ~(3 << P0_20_PINSEL);//只清除P0_20原先的連接狀態(tài) PINSEL1 |= (P0_20_EINT3 << P0_20_PINSEL);//連接P0_20到EINT0,并保持其他連接不變 IO0DIR &=~((1 << KEY1) // 設(shè)置KEY1為輸入 | (1 << KEY2) // 設(shè)置KEY2為輸入 | (1 << KEY3) // 設(shè)置KEY3為輸入 | (1 << KEY4) // 設(shè)置KEY4為輸入 | (1 << KEY5) // 設(shè)置KEY5為輸入 | (1 << KEY6)); // 設(shè)置KEY6為輸入 } void RtcInit(void) { /* RTC初始化 */ PREINT = Fpclk / 12980 - 1; // 設(shè)置基準(zhǔn)時(shí)鐘分頻器 PREFRAC = Fpclk - (Fpclk / 12980) * 12980; // PREINT = Fpclk / 32768 - 1; // 設(shè)置基準(zhǔn)時(shí)鐘分頻器 // PREFRAC = Fpclk - (Fpclk / 32768) * 32768; // YEAR = 2003; // 初化年 // MONTH = 6; // 初化月 // DOM = 20; // 初化日 CIIR = 0x01; // 設(shè)置秒值的增量產(chǎn)生一次中斷 ILR = 0x03; // 清除RTC增量和報(bào)警中斷標(biāo)志 CCR = 0x01; // 啟動(dòng)RTC RtcTime.Sec = 0; RtcTime.Min = 0; RtcTime.Hour = 0; } void VicIntSetup(void) { VICIntSelect = (1 << VICIntSel_EINT3); // Enable a Vic Channel as FIQ EXTPOLAR &= ~((1 << EXTPOLAR0) //INT0為低電平有效 | (1 << EXTPOLAR3));//INT3為低電平有效 EXTMODE &= ~ (1 << EXTMODE0); //設(shè)置INT0為電平觸發(fā) EXTMODE |= (1 << EXTMODE3); //設(shè)置INT3為邊沿觸發(fā) VICVectCntl0 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_EINT0;//獲取EINT0的IRQ級(jí)別 VICVectAddr0 = (LONG) IRQ_Eint0;//取INT0中斷服務(wù)地址 VICIntEnable = (1 << VICIntSel_EINT0); //使能EINT0中斷 ////////////////////////////////////////////////////////////////////////////////////////////////// VICVectCntl1 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_Time0; VICVectAddr1 = (uint32)IRQ_Timer0; VICIntEnable = (1 << VICIntSel_Time0); VICIntEnable = (1 << VICIntSel_EINT3); //使能EINT3中斷 EXTINT = (1 << EINT0) | (1 << EINT1) | (1 << EINT2) | (1 << EINT3); //清除INT中斷標(biāo)志 /* VIC初始化 */ VICVectCntl2 = VICIntSel_Enable//使能IRQ中斷 | VICIntSel_RTC; &n |
|
| 4樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 13:46:00 發(fā)布:
暈到~~~無(wú)奈被剝奪的ARM菜鳥資格 |
|
| 5樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 13:52:00 發(fā)布:
自言自語(yǔ)呢 |
|
| 6樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 13:54:00 發(fā)布:
暈到~~~在懷念我的"ARM菜鳥"資格證書... |
|
| 7樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:05:00 發(fā)布:
子欲展其事,必先藏也 |
|
| 8樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 14:12:00 發(fā)布:
子曰: 看你暈不暈~~~
|
|
| 9樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:13:00 發(fā)布:
習(xí)慣了,一點(diǎn)都不暈,呵呵 我發(fā)現(xiàn)我又回到AVR菜鳥時(shí)代了 最近幾天在研究M128的DATASHEET,又發(fā)現(xiàn)好多似懂非懂的東東 |
|
| 10樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 14:19:00 發(fā)布:
暈到~~~跨過(guò)M64就應(yīng)該邁入ARM時(shí)代了
|
|
| 11樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:20:00 發(fā)布:
我屬于懷舊一派 從LPC2104倒退回了M128 |
|
| 12樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 14:23:00 發(fā)布:
AVR不玩C++簡(jiǎn)直泛暈 我在AVR根本不知道什么是C語(yǔ)言...
|
|
| 13樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:25:00 發(fā)布:
你只顧著斗牛了 所以忘掉C怎么玩了 |
|
| 14樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 14:40:00 發(fā)布:
哈哈,紅布掀起來(lái)的時(shí)候連牛都眼暈... |
|
| 15樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:41:00 發(fā)布:
牛眼暈?zāi)鞘潜缓鲇频?br>不是被XX嚇的,呵呵。。。 |
|
| 16樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 14:48:00 發(fā)布:
好詞呀~~~"忽悠"---以后"替代"暈了 整天暈的連自己都被"忽悠"了...
|
|
| 17樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 14:49:00 發(fā)布:
哈哈,這是忽悠的最高境界 |
|
| 18樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/15 15:41:00 發(fā)布:
LPC2132的AD精度試了沒(méi)有? 給AD腳幾個(gè)電壓0V,0.5V,1V,1.5V,2V,2.5V,3V,看看采樣精度和線性如何? |
|
| 19樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 15:53:00 發(fā)布:
精度沒(méi)什么好怕的,穩(wěn)定度才是最大的敵人 |
|
| 20樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/15 15:58:00 發(fā)布:
提精度的原因 我用lpc AD跳字比較厲害,板子是我自己做的,我估計(jì)是模擬電源的問(wèn)題. 請(qǐng)你用zlg的開發(fā)板試一下. 中斷可能對(duì)AD采樣有影響,請(qǐng)hotpower驗(yàn)證一下. |
|
| 21樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 16:14:00 發(fā)布:
低速/高速-實(shí)時(shí)/分時(shí)-采樣/算法都有天地之別---如何驗(yàn)證??? 我要忽悠了... |
|
| 22樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/15 16:26:00 發(fā)布:
哈哈 1.最低速度 2.分時(shí) 3.直接讀AD的值,不要算法 4.輸入電壓不變的情況下,若干次讀出的AD相差幾個(gè)字 * - 本貼最后修改時(shí)間:2006-1-15 16:27:16 修改者:云中月8888 |
|
| 23樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/15 20:41:00 發(fā)布:
我的最大相差5個(gè)字 |
|
| 24樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/15 20:59:00 發(fā)布:
謝謝 AD輸入端你加了幾伏電壓? 如果用中斷,如定時(shí)中斷,會(huì)對(duì)精度有影響嗎? |
|
| 25樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/15 21:04:00 發(fā)布:
看來(lái)lpc arm AD精度比較差 如果跳5個(gè)字,10位AD, 精度1024/5=204.8,還不到8位 |
|
| 26樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 23:43:00 發(fā)布:
忽悠了...說(shuō)話要有分寸和科學(xué)依據(jù) 我近半年后重新選中LPC的其中一個(gè)原因就是它的10位2.44uS的ADC. 如果不到8位,那就不叫PHILIPS了... |
|
| 27樓: | >>參與討論 |
| 作者: computer00 于 2006/1/15 23:45:00 發(fā)布:
估計(jì)是電源不穩(wěn)或者是干擾——忽悠一下。 |
|
| 28樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/15 23:59:00 發(fā)布:
哈哈,我曾經(jīng)是持有電壓標(biāo)準(zhǔn)檢測(cè)計(jì)量證書的人 光陰忽悠證書忽悠的不再辦了... 正因?yàn)橛?jì)量沒(méi)勁,領(lǐng)導(dǎo)也不在讓我忽悠計(jì)量了... 哈哈...電壓,頻率,示波器,...證書都早被我忽悠掉了... |
|
| 29樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 0:07:00 發(fā)布:
沒(méi)《忽悠證書》,你那些證書,拿了也是白搭。所以就被忽悠掉了。 原先我們有一個(gè)設(shè)計(jì)是用2138的AD來(lái)采的,不過(guò)后來(lái)?yè)Q了另一個(gè)標(biāo)準(zhǔn),所以采樣率就不夠用了, 只好在外面加了一個(gè)ADC上去。我們對(duì)精度倒沒(méi)太大的要求,因?yàn)椴蓸拥氖穷愃茢?shù)字信號(hào)的東東, 最后由軟件整形,恢復(fù)出數(shù)字信號(hào)。 * - 本貼最后修改時(shí)間:2006-1-16 0:10:15 修改者:computer00 |
|
| 30樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/16 0:13:00 發(fā)布:
看來(lái)我真要被LPC的ADC忽悠沒(méi)了... 還沒(méi)做忽悠實(shí)驗(yàn),故不敢輕易下結(jié)論... 不過(guò),我相信自己對(duì)忽悠的平衡能力,在忽悠的ADC一般都能被我忽悠過(guò)來(lái)... 請(qǐng)看這條忽悠曲線...-^-^^^^^......****^^^^^^^^ |
|
| 31樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/16 8:06:00 發(fā)布:
10位AD,實(shí)際不到8位 如果按照汽車電子的測(cè)量結(jié)果,輸入電壓不變時(shí),采樣的AD值相差5個(gè)字,那他實(shí)際的AD精度應(yīng)該是1024/5=204.8,不到8位,精度為5/1024=1/204。 如果采用軟件濾波,不算數(shù),我們只想知道lpc硬件實(shí)際的AD精度。 當(dāng)然了,也許大家什么地方?jīng)]用好。 * - 本貼最后修改時(shí)間:2006-1-16 10:30:23 修改者:云中月8888 |
|
| 32樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 9:26:00 發(fā)布:
那似乎是 汽車電子 的測(cè)量結(jié)果~~~~~~~~~ |
|
| 33樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/16 10:21:00 發(fā)布:
實(shí)測(cè)表明:確實(shí)是5個(gè)字。因?yàn)槲抑蛔?個(gè)按鍵,不深入研究 電壓不穩(wěn)?也許,我是用AD做5個(gè)按鍵,一直用手按住某個(gè)鍵的時(shí)候,測(cè)到的最大差5個(gè)字 系統(tǒng)是跑ARTX的,有Timer0、RTC、IIC0、UART0、UART1等中斷 |
|
| 34樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/16 10:44:00 發(fā)布:
電腦圈圈 把你的測(cè)量結(jié)果告訴大家 輸入電壓相同時(shí),AD讀數(shù)相差幾個(gè)字? |
|
| 35樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 10:57:00 發(fā)布:
很抱歉啊,測(cè)試結(jié)果沒(méi)有記錄………… 現(xiàn)在我也不能去測(cè)了。不過(guò)想應(yīng)該不會(huì)有5個(gè)字那么大的,有機(jī)會(huì)去試試。 |
|
| 36樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 11:02:00 發(fā)布:
TO 汽車電子:你的ADC輸入端,是否有加低通濾波電路? |
|
| 37樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/16 12:05:00 發(fā)布:
有。等會(huì)兒吃飽飯后 專門做個(gè)實(shí)驗(yàn),截圖上來(lái) |
|
| 38樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/16 12:27:00 發(fā)布:
哈,出乎意料,嚇我一跳 電源是LM2576-5.0 后跟 1117-3.3 ADC部分原理圖 ![]() J6的第2腳直接接電源地的測(cè)試數(shù)據(jù)截圖 ![]() |
|
| 39樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/16 12:56:00 發(fā)布:
J6的第2腳直接接電源正3.3V的測(cè)試數(shù)據(jù)截圖 Datasheet上說(shuō) ADC的測(cè)量范圍是0~3.0V,但我這里接3.3V ![]() |
|
| 40樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 12:58:00 發(fā)布:
你用1/2Vref試試? |
|
| 41樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/16 13:17:00 發(fā)布:
不盡人意。 J6的第2腳接一個(gè)1K電阻到電源正3.3V的測(cè)試數(shù)據(jù)截圖 ![]() * - 本貼最后修改時(shí)間:2006-1-16 13:49:57 修改者:汽車電子 |
|
| 42樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 13:56:00 發(fā)布:
0543應(yīng)該是準(zhǔn)的。而其它的,應(yīng)該是由于數(shù)字電路等動(dòng)作時(shí)的干擾。 |
|
| 43樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/16 14:15:00 發(fā)布:
汽車電子 相差20多個(gè)字! 是不是中斷對(duì)它的干擾?或讀AD有問(wèn)題? * - 本貼最后修改時(shí)間:2006-1-16 16:55:06 修改者:云中月8888 |
|
| 44樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 14:40:00 發(fā)布:
忽悠了,在水鳥的實(shí)驗(yàn)田里相差2個(gè)字---結(jié)果還算滿意 我就說(shuō)嗎,相差20多個(gè)字那還能叫PHILIPS??? 那樣就叫PHILIPS到水鳥的實(shí)驗(yàn)田里勞動(dòng)改造一番//// |
|
| 45樓: | >>參與討論 |
| 作者: javie 于 2006/1/17 14:42:00 發(fā)布:
你忽悠了,我暈了 |
|
| 46樓: | >>參與討論 |
| 作者: computer00 于 2006/1/17 16:38:00 發(fā)布:
hotpower大叔測(cè)到的是±1個(gè)字?還是±2個(gè)字? 如果是±2個(gè)字,還需加水~~~~~~~~~ |
|
| 47樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 18:53:00 發(fā)布:
嚴(yán)格來(lái)說(shuō)是+-1個(gè)字. 下午也將PWM做了下,比AVR精度高點(diǎn). 這下基本滿足我當(dāng)初選中LPCARM的2個(gè)決定: 1.ADC 2. PWM 3..... N..... |
|
| 48樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/17 22:35:00 發(fā)布:
hotpower我要忽悠了! 相差2個(gè)字,你給AD輸入端加了幾伏電壓? 你不說(shuō)實(shí)驗(yàn)條件,光說(shuō)結(jié)果,小心把某些人忽悠瘸了! PHILIP的pwm精度比較高,16位. |
|
| 49樓: | >>參與討論 |
| 作者: 胡立功 于 2006/1/17 23:22:00 發(fā)布:
如果 如果你加3V電壓,測(cè)量結(jié)果1023,一字不差,跟汽車電子剛開始一樣. 可后來(lái)汽車加1.5v,相差20多字! |
|
| 50樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 23:29:00 發(fā)布:
在這方面我會(huì)站在山上忽悠的---有證書到底不一樣吧 在1.50V時(shí)ADC為(1.501V~1.499V) |
|
| 51樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/17 23:35:00 發(fā)布:
你給的是運(yùn)算后的值 不用軟件濾波,和運(yùn)算,1.5V時(shí),你AD讀出的值是幾?大家想知道原始數(shù)據(jù). |
|
| 52樓: | >>參與討論 |
| 作者: computer00 于 2006/1/17 23:36:00 發(fā)布:
恩,看起來(lái)不錯(cuò)~~~~~~~我們上次測(cè)試時(shí),雖然我當(dāng)時(shí)沒(méi)留意, 但我記得結(jié)果不會(huì)移動(dòng)太多的,也就在±1個(gè)字左右。不過(guò)那個(gè)測(cè)試已經(jīng)有很久了,我現(xiàn)在不敢肯定。 |
|
| 53樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/18 0:10:00 發(fā)布:
忽悠了,肯定遵循你不準(zhǔn)軟件濾波和處理的命令 我的小菜鳥說(shuō)他明天拿個(gè)數(shù)碼相機(jī)"留個(gè)影"... |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |