- •Курсовой проект микропроцессорный управляемый генератор специальных сигналов
- •1. Аналитический обзор
- •2. Обоснование выбранного варианта
- •3. Разработка микропроцессорного управляемого генератора специальных сигналов
- •4. Разработка печатной платы
- •Приложение а (обязательное)
- •Приложение в (обязательное) Расчет констант временных задержек
- •Приложение г (обязательное) Расчет констант выходных величин
- •Приложение д (справочное) Расчет максимального отклонения от заданной величины сигнала
Приложение а (обязательное)
Программа расчета значений функции вида Y=N3, N изменяется от 1 до 2
#include <windows.h>
#pragma hdrstop
#include<math.h>
#include<stdio.h>
//---------------------------------------------------------------------------
#pragma argsused
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
FILE *FOUT=fopen("Выход.txt","w");
for (int i=0;i<256;i++)
{
float in=1.0+i/256.0;
float out=(in*in*in);
fprintf(FOUT,"\n%f \t%f",in,out);
}
fclose(FOUT);
return 0;
}
Приложение в (обязательное) Расчет констант временных задержек
Таблица соответствий вводимых кодов генерируемым частотам
Код Частота,Гц
000000 1.010019
000001 1.195486
000010 1.393845
000011 1.589522
000100 1.785714
000101 1.990446
000110 2.173157
000111 2.371017
001000 2.582645
001001 2.775311
001010 2.964896
001011 3.143863
001100 3.345824
001101 3.527088
001110 3.729117
001111 3.955696
010000 4.144562
010001 4.352368
010010 4.502882
010011 4.749240
010100 4.929022
Код Частота,Гц
010101 5.122951
010110 5.332765
010111 5.444251
011000 5.681818
011001 5.808550
011010 6.079767
011011 6.225100
011100 6.377551
011101 6.706008
011110 6.883260
011111 7.070136
100000 7.697044
100001 7.931472
100010 8.180628
100011 8.445946
100100 8.729051
100101 9.031792
100110 9.356287
100111 9.704969
101000 10.080646
101001 10.486577
101010 10.926574
Код Частота,Гц
101011 11.405109
101100 11.927481
101101 12.500000
101110 13.130252
101111 13.827434
110000 14.602804
110001 15.470297
110010 16.447369
110011 17.556179
110100 18.825302
110101 20.292208
110110 22.007042
110111 24.038462
111000 26.483051
111001 29.481133
111010 33.244682
111011 38.109756
111100 44.642857
111101 53.879311
111110 67.934784
111111 91.911766
Программа расчета временных задержек
#include <windows.h>
#pragma hdrstop
#include<math.h>
#include<stdio.h>
//---------------------------------------------------------------------------
#pragma argsused
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int delay[64];
float freq[64];
for (int i=0;i<32;i++)
{
freq[i]=0.2*i+1;
delay[i]=(1/(freq[i]*256*0.0000025)-11)/6+1.5;
delay[63-i]=i+1;
}
delay[0]=0;
FILE *F1=fopen("Задержки.txt","wb");
for (int i=0;i<64;i++)
{
putc(delay[i],F1);
};
for (int i=0;i<(256-64);i++)
{
putc(255,F1);
};
fclose(F1);
delay[0]=256; // формирование таблицы соответствий
FILE *FFreq=fopen("Freq.txt","w");
fprintf(FFreq," Код Частота,Гц\n");
for (int i=0;i<64;i++)
{
freq[i]=1/((6*delay[i]+11)*256*0.0000025);
int cod[6];
char temp=i;
for (int j=0;j<6;j++)
{
cod[j]=temp%2;
temp=temp/2;
};
fprintf(FFreq,"%d%d%d%d%d%d %f \n",cod[5],cod[4],cod[3],cod[2],cod[1],cod[0],freq[i]);
};
fclose(FFreq);
return 0;
}
Dump памяти, в которой начиная с нулевого адреса хранятся временные задержки.
