H
hbaocr
Guest
Код:
# Включити "LPC214x.H" / / LPC2148 MPU Реєстрація
# Включити <stdio.h> / / Для Е Б Функція/ * * Pototype розділ /
недійсним init_serial0 (недійсними); / / Initil UART-0
Int ріЬспаг (INT CH) / / Чар Покладіть на UART-0
Int деЬсЬаг (недійсними); / / Отримати символ з UART-0
недійсним затримку (непідписаних довгий Int) / / Функція затримкивал непідписаних Int / / Результат АЦП (HEX)
поплавець вольт / / АЦП Результат Вольт
тап_п (недійсними)
(
init_serial0 (); / / Початковий UART0 = 9600, N, 8,1
Е ("вхідна напруга 0-3.3V для P0.6 При п Test \"); / / Виклик функції prinff
/ / XXXX XXXX XXXX XXXX XXXX XXXX xx11 хххх
PINSEL0 | = 0x00003000 / / Чон ADC1.0 Підключення P0.6 (pin30)
/ / Початковий ADC8 (ADCR = 0x01210601)
AD1CR і = 0x00000000 / / скинути всі cotrol біт
AD1CR | = 0x00000001 / / Чон ADC1.0
AD1CR | = 0x00000600 / / АЦП Годинник = VBP (PCLK) / 7
AD1CR | = 0x00010000 / / Busrt = 1 чо гавкіт phep колінах перетворення A-> D воїв CLK ADC та Чон про TREN
AD1CR і 0xFFF1FFFF = / / CLKS = 000 = 10 біт: 11 такті перетворення
AD1CR | = 0x00200000 / / PDN = 1 чо phep АЦП модуля Тіч Кук
AD1CR і 0xF7FFFFFF = / / EDGE = 0 = Перетворення по задньому фронту
/ / Початок випробувань читайте ADC8 та відображення на UART0 / /
в той час як (1) / / Цикл Продовжити
(
AD1CR | = 0x01000000; / / тепер почати розмову
а ((AD1DR0 і 0x80000000) == 0) / / почекати повного перетворення АЦП
вал = ((AD1DR0>> 6) і 0x03FF);
Е ("Гія три ве тра:% о", вал);
)
)/******************************/
/ * Початковий UART0 = 9600, N, 8,1 * /
/ * ЖЕС (pclk) = 60,00 МГц * /
/******************************/
недійсним init_serial0 (недійсними)
(
PINSEL0 і 0xFFFFFFF0 = / / Скидання P0.0, P0.1 Pin Config
PINSEL0 | = 0x00000001; / / Select P0.0 = TxD (UART0)
PINSEL0 | = 0x00000004; / / Select P0.1 = RxD (UART0)U0LCR і 0xFC = / / Скидання Word Виберіть (1:0)
U0LCR | = 0x03; / / Дані Bit = 8 Bit
U0LCR і 0xFB = / / Стоп біт = 1 Bit
U0LCR і 0xF7 = / / Паритет = Відключити
U0LCR і 0xBF = / / відключити контроль Перерва
U0LCR | = 0x80; / / Включити програмування дільників Засувки/ / U0DLM: U0DLL = 60,00 МГц / [16 х Baud]
/ / = 60,00 МГц / [16 х 9600]
/ / = 390,6 = 391 = 0187H
U0DLM = 0x01; / / Програма дільників клямка (391) за 9600 Baud
U0DLL = 0x87;U0LCR і 0x7F = / / Вимкнути програмування дільників ЗасувкиU0FCR | = 0x01; / / Включити FIF0
U0FCR | = 0x02; / / RX FIFO Скидання
U0FCR | = 0x04; / / TX FIFO Скидання
U0FCR і = 0x3F;
)/****************************/
/ * Створити персонажа Для UART0 * /
/****************************/
Int ріЬспаг (INT CH)
(
(Сп == '\ п')
(
а (! (U0LSR і 0x20)); / / Чекаємо TXD буфера Порожній
U0THR = 0x0D / / Створити CR
)
а (! (U0LSR і 0x20)); / / Чекаємо TXD буфера Порожній
повернення (U0THR = сп); / / Створити Характер
)/*****************************/
/ * Читання символу з UART0 * /
/*****************************/
Int деЬсЬаг (недійсними)
(
а (! (U0LSR і 0x01)); / / Чекаємо RXD Отримання даних Готові
повернення (U0RBR) / / Отримати Receice даних і повернення
)/***********************/
/ * Функція затримки * /
/ * 1-4294967296 * /
/***********************/
недійсним затримку (непідписаних довгий Int count1)
(
а (count1> 0) (count1 -
/ / Цикл зниження Лічильник
)
# Включити "LPC214x.H" / / LPC2148 MPU Реєстрація
# Включити <stdio.h> / / Для Е Б Функція/ * * Pototype розділ /
недійсним init_serial0 (недійсними); / / Initil UART-0
Int ріЬспаг (INT CH) / / Чар Покладіть на UART-0
Int деЬсЬаг (недійсними); / / Отримати символ з UART-0
недійсним затримку (непідписаних довгий Int) / / Функція затримкивал непідписаних Int / / Результат АЦП (HEX)
поплавець вольт / / АЦП Результат Вольт
тап_п (недійсними)
(
init_serial0 (); / / Початковий UART0 = 9600, N, 8,1
Е ("вхідна напруга 0-3.3V для P0.6 При п Test \"); / / Виклик функції prinff
/ / XXXX XXXX XXXX XXXX XXXX XXXX xx11 хххх
PINSEL0 | = 0x00003000 / / Чон ADC1.0 Підключення P0.6 (pin30)
/ / Початковий ADC8 (ADCR = 0x01210601)
AD1CR і = 0x00000000 / / скинути всі cotrol біт
AD1CR | = 0x00000001 / / Чон ADC1.0
AD1CR | = 0x00000600 / / АЦП Годинник = VBP (PCLK) / 7
AD1CR | = 0x00010000 / / Busrt = 1 чо гавкіт phep колінах перетворення A-> D воїв CLK ADC та Чон про TREN
AD1CR і 0xFFF1FFFF = / / CLKS = 000 = 10 біт: 11 такті перетворення
AD1CR | = 0x00200000 / / PDN = 1 чо phep АЦП модуля Тіч Кук
AD1CR і 0xF7FFFFFF = / / EDGE = 0 = Перетворення по задньому фронту
/ / Початок випробувань читайте ADC8 та відображення на UART0 / /
в той час як (1) / / Цикл Продовжити
(
AD1CR | = 0x01000000; / / тепер почати розмову
а ((AD1DR0 і 0x80000000) == 0) / / почекати повного перетворення АЦП
вал = ((AD1DR0>> 6) і 0x03FF);
Е ("Гія три ве тра:% о", вал);
)
)/******************************/
/ * Початковий UART0 = 9600, N, 8,1 * /
/ * ЖЕС (pclk) = 60,00 МГц * /
/******************************/
недійсним init_serial0 (недійсними)
(
PINSEL0 і 0xFFFFFFF0 = / / Скидання P0.0, P0.1 Pin Config
PINSEL0 | = 0x00000001; / / Select P0.0 = TxD (UART0)
PINSEL0 | = 0x00000004; / / Select P0.1 = RxD (UART0)U0LCR і 0xFC = / / Скидання Word Виберіть (1:0)
U0LCR | = 0x03; / / Дані Bit = 8 Bit
U0LCR і 0xFB = / / Стоп біт = 1 Bit
U0LCR і 0xF7 = / / Паритет = Відключити
U0LCR і 0xBF = / / відключити контроль Перерва
U0LCR | = 0x80; / / Включити програмування дільників Засувки/ / U0DLM: U0DLL = 60,00 МГц / [16 х Baud]
/ / = 60,00 МГц / [16 х 9600]
/ / = 390,6 = 391 = 0187H
U0DLM = 0x01; / / Програма дільників клямка (391) за 9600 Baud
U0DLL = 0x87;U0LCR і 0x7F = / / Вимкнути програмування дільників ЗасувкиU0FCR | = 0x01; / / Включити FIF0
U0FCR | = 0x02; / / RX FIFO Скидання
U0FCR | = 0x04; / / TX FIFO Скидання
U0FCR і = 0x3F;
)/****************************/
/ * Створити персонажа Для UART0 * /
/****************************/
Int ріЬспаг (INT CH)
(
(Сп == '\ п')
(
а (! (U0LSR і 0x20)); / / Чекаємо TXD буфера Порожній
U0THR = 0x0D / / Створити CR
)
а (! (U0LSR і 0x20)); / / Чекаємо TXD буфера Порожній
повернення (U0THR = сп); / / Створити Характер
)/*****************************/
/ * Читання символу з UART0 * /
/*****************************/
Int деЬсЬаг (недійсними)
(
а (! (U0LSR і 0x01)); / / Чекаємо RXD Отримання даних Готові
повернення (U0RBR) / / Отримати Receice даних і повернення
)/***********************/
/ * Функція затримки * /
/ * 1-4294967296 * /
/***********************/
недійсним затримку (непідписаних довгий Int count1)
(
а (count1> 0) (count1 -
)