Страница 1 из 1

Цифровая шкала функционального генератора

Добавлено: Пн июн 16, 2014 17:57:22
П210Ш
Здравствуйте, уважаемые мастера!
Попалась мне под руку ICL8038 и решил собрать функциональный генератор. Но вот с индикацией режимов работы сего прибора закавыка! В интернете полным-полно простых схем частотомеров на МК, но, кроме значения частоты, хотелось-бы видеть какой сигнал на выходе (синус, меандр, треугольник) и с каким ослаблением (0 дБ, -20 дБ, -40 дБ, -60 дБ).
В программировании я , увы, не силён. Надеюсь на Вашу поддержку в решении сего вопроса.
ТЗ: схема и прошивка частотомера до 1 МГц на МК с выводом на винстаровский дисплей 1602 (верхняя строка - частота с точностью до 1 Гц, нижняя строка - форма выходного сигнала и ослабление на выходе).
Из МК сейчас есть в наличии PIC16F628A, Atmega8. Другие тоже не проблема. Для управления выводом информации на нижнюю строку использовать свободные направления галетных переключателей на три и четыре положения, соответственно.

Re: Цифровая шкала функционального генератора

Добавлено: Вт июн 17, 2014 12:16:56
pcb432
C
ТЗ ...
вам наверное не в этот раздел :) .

Re: Цифровая шкала функционального генератора

Добавлено: Вт июн 17, 2014 15:48:57
pyzhman
Спойлер

Код: Выделить всё

//Date    : 17.06.2014
//Chip type           : ATmega48
//Clock frequency     : 16,000000 MHz


#include <mega48.h>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x05 ;PORTB
#endasm
#include <lcd.h>

// Declare your global variables here

void main(void)
{
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;

// LCD module initialization
lcd_init(16);

while (1)
{
lcd_gotoxy(0,1); // курсор в начало нижней строки
switch(PIND) // опрашиваем галетник
	{
	case 1:
		lcd_putsf("0дБ");
		break;
	case 2:
		lcd_putsf("-20дБ");
		break;
	case 4:
		lcd_putsf("-40дБ");
		break;
	case 8:
		lcd_putsf("-60дБ");
		break;
	case 16:
		lcd_putsf("треуг");
		break;
	case 32:
		lcd_putsf("пила");
		break;
	case 64:
		lcd_putsf("синус");
		break;
	}
};
}
Пишите, если что, в личку.