ساخت دماسنج با سنسور LM35
در این بخش دانلود پروژه برنامه نویسی و ساخت دماسنج با سنسور LM35 و میکروکنترلر ARM, توسط تیم الکترونیک و برنامه نویسی الکترونیک ۹۸ برای شما علاقه مندان به پروژه های میکروکنترلر ARM با هدف آموزش برنامه نویسی و راه اندازی میکروکنترلرهای ARM آماده شده است. در این پروژه با استفاده از واحد ADC میکروکنترلر AT91SAM7S از خانواده میکروکنترلر های ARM و سنسور دمای LM35 یک دماسنج دیجیتالی را طراحی می کنیم. توسط سخت افزار شکل زیر ولتاژ آنالوک خروجی سنسور LM35 توسط مبدل آنالوگ به دیجیتال تبدیل شده و میزان دما اندازه گیری شده بر روی LCD کاراکتری نمایش داده می شود. برای کالیبره کردن دماسنج می توان از پتانسیومتر موجود استفاده نمود.
نقشه شماتیک پروژه
برنامه میکروکنترلر به زبان C در نرم افزار IAR Embedded Workbench IDE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <Atmel/ioat91sam7s64.h> #include “lcd.h” void main () { //——————–start up————————– AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; // AT91C_WDTC_WDDIS=(1<<15) AT91C_BASE_RSTC->RSTC_RMR=0xA5000001; //——————–speed up————————– AT91C_BASE_CKGR->CKGR_MOR = 0xF01; AT91C_BASE_CKGR->CKGR_PLLR = 0x2903FFC; AT91C_BASE_PMC->PMC_MCKR = 0x3; AT91C_BASE_PMC->PMC_SCER = 0x1; //—————————————————– int T; lcd_pininit (16,15,5,6,7,8,26,27,28,29); lcd_init (); AT91C_BASE_ADC->ADC_MR = 0x1000A00; AT91C_BASE_ADC->ADC_CHER = (1<<7); while(1) { AT91C_BASE_ADC->ADC_CR = 0x2; while ((AT91C_BASE_ADC->ADC_SR&1<<7)==0); T= (int)(((float)(AT91C_BASE_ADC->ADC_CDR7&0x3FF))/3.15); lcd_gotoxy(0,0); lcd_putsf(“T = “); lcd_puts(T-273); lcd_putsf(” c “); } } |