📄 set9852.cpp
字号:
#include <math.h>
#include <stdio.h>
#include <dos.h>
#include <time.h>
#include "global.h"
#include "set9852.h"
/*
A6Byte::A6Byte()
{
for(int i=0;i<6;i++)
data[i]=0;
}
void A6Byte::Set(const unsigned char d[6])
{
for(int i=0;i<6;i++)
data[i]=d[i];
}
A6Byte A6Byte::operator += (A6Byte a)
{
unsigned char carry=0,old_data;
for(int i=0;i<6;i++){
old_data=data[i];
data[i]=data[i]+a.data[i]+carry;
if(old_data>data[i])
carry=1;
else
carry=0;
}
return *this;
}
*/
void init9852()
{
outport(0x370,cmd_word|0x8000);
delay(10);
outport(0x370,cmd_word&0x7fff);
delay(10);
outportb(0x31d,0x14);
outportb(0x354,0xff);
outportb(0x31f,0x01);
// outportb(0x31f,0x00);
outportb(0x354,0xff);
outportb(0x31e,0x12);
outportb(0x354,0xff);
outportb(0x320,0x00);
outportb(0x354,0x00);
//5.9
// outportb(0x319,0x01);
}/*
void set9852(A6Byte freq)
{ int i;
// for(int i=0;i<6;i++){
enable();
// struct time t1,t2;
enable();
// gettime(&t1);
enable();
outportb(0x304,freq.data[5]);
enable();
outportb(0x354,0xff);
enable();
outportb(0x305,freq.data[4]);
enable();
outportb(0x354,0xff);
enable();
outportb(0x306,freq.data[3]);
enable();
outportb(0x354,0xff);
enable();
outportb(0x307,freq.data[2]);
enable();
outportb(0x354,0xff);
enable();
outportb(0x308,freq.data[1]);
enable();
outportb(0x354,0xff);
enable();
outportb(0x309,freq.data[0]);
enable();
outportb(0x354,0xff);
// enable();
// gettime(&t2);
// i=t2.ti_hund-t1.ti_hund;
// printf("%d ",i);
// }
}
*/
void set9852(long frequ)
{
if(frequ<100000||frequ>50000000)
return;
int i;
unsigned char frequency[6];
// double FTW=(double)frequ*pow(2,48)/180000000.0;
double FTW=(double)frequ*1563749.8706147555555;
for(i=0;i<6;i++)
{
frequency[5-i]=FTW-(int)(FTW/256)*256;
FTW=FTW/256;
}
for(i=0;i<6;i++){
outportb(0x304+i,frequency[i]);
outportb(0x354,0xff);
}
// outportb(0x354,0xff);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -