ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
CodeWizardAVR V1.25.7 beta 5 StandardAutomatic Program Generator © Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project: Измеритель частоты сети Version: от 17 до 120 Гц Date: 10.11.2008 Author: Шарапов А.В. Company: ПрЭ Comments: курсовой проект Chip type: ATmega16 Program type: Application Clock frequency: 1,000000 MHz Memory model: Small External SRAM size: 0 Data Stack size: 256 *****************************************************/ #include <mega16.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B;PORTA #endasm #include <lcd.h> #include <stdio.h> flash char Decode2Rus[255-192+1]= { X41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4, XA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8, X50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB, XAC,0xE2,0xAD,0xAE,0xAD,0xAF,0xB0,0xB1, X61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7, XB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE, X70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0, XC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7 }; #define _ALTERNATE_PUTCHAR_ Void putchar(char c) { if(c>=192) lcd_putchar(Decode2Rus[c-192]); else lcd_putchar(c); } // Declare your global variables here unsigned int period=20000; unsigned int f=500; char lcd_buffer[33];// Буфер в ОЗУ для LCD-дисплея // External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) { // Place your code here TCCR1B=0; //останов таймера period=TCNT1L+256*TCNT1H; TCNT1H=0;//обнуление таймера TCNT1L=0; TCCR1B=0x02;//запуск измерения нового периода f=(100000000/period+5)/10; sprintf(lcd_buffer," power circuit frequency %u.%uHz",f/10,f%10);// Подготовка строки для LCD-дисплея lcd_gotoxy(1,0);// Вывод строки со второй позиции в 1 строке Lcd_puts(lcd_buffer); } Void main(void) { // Declare your local variables here // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1000,000 kHz // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x02; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // External Interrupt(s) initialization // INT0: On // INT0 Mode: Falling Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40; // LCD module initialization Lcd_init(16); // Global enable interrupts #asm("sei") While (1) { // Place your code here };} Не нашли, что искали? Воспользуйтесь поиском:
|