⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calvol.pre

📁 采用PICC18编写的单片机源代码
💻 PRE
📖 第 1 页 / 共 2 页
字号:


volatile near bit PSPIF @ ((unsigned)&PIR1*8)+7;
volatile near bit ADIF @ ((unsigned)&PIR1*8)+6;
volatile near bit RCIF @ ((unsigned)&PIR1*8)+5;
volatile near bit TXIF @ ((unsigned)&PIR1*8)+4;
volatile near bit SSPIF @ ((unsigned)&PIR1*8)+3;
volatile near bit CCP1IF @ ((unsigned)&PIR1*8)+2;
volatile near bit TMR2IF @ ((unsigned)&PIR1*8)+1;
volatile near bit TMR1IF @ ((unsigned)&PIR1*8)+0;


near bit PSPIE @ ((unsigned)&PIE1*8)+7;
near bit ADIE @ ((unsigned)&PIE1*8)+6;
near bit RCIE @ ((unsigned)&PIE1*8)+5;
near bit TXIE @ ((unsigned)&PIE1*8)+4;
near bit SSPIE @ ((unsigned)&PIE1*8)+3;
near bit CCP1IE @ ((unsigned)&PIE1*8)+2;
near bit TMR2IE @ ((unsigned)&PIE1*8)+1;
near bit TMR1IE @ ((unsigned)&PIE1*8)+0;



volatile near bit IBF @ ((unsigned)&TRISE*8)+7;
volatile near bit OBF @ ((unsigned)&TRISE*8)+6;
volatile near bit IBOV @ ((unsigned)&TRISE*8)+5;
volatile near bit PSPMODE @ ((unsigned)&TRISE*8)+4;
volatile near bit TRISE2 @ ((unsigned)&TRISE*8)+2;
volatile near bit TRISE1 @ ((unsigned)&TRISE*8)+1;
volatile near bit TRISE0 @ ((unsigned)&TRISE*8)+0;


volatile near bit TRISD7 @ ((unsigned)&TRISD*8)+7;
volatile near bit TRISD6 @ ((unsigned)&TRISD*8)+6;
volatile near bit TRISD5 @ ((unsigned)&TRISD*8)+5;
volatile near bit TRISD4 @ ((unsigned)&TRISD*8)+4;
volatile near bit TRISD3 @ ((unsigned)&TRISD*8)+3;
volatile near bit TRISD2 @ ((unsigned)&TRISD*8)+2;
volatile near bit TRISD1 @ ((unsigned)&TRISD*8)+1;
volatile near bit TRISD0 @ ((unsigned)&TRISD*8)+0;



volatile near bit TRISC7 @ ((unsigned)&TRISC*8)+7;
volatile near bit TRISC6 @ ((unsigned)&TRISC*8)+6;
volatile near bit TRISC5 @ ((unsigned)&TRISC*8)+5;
volatile near bit TRISC4 @ ((unsigned)&TRISC*8)+4;
volatile near bit TRISC3 @ ((unsigned)&TRISC*8)+3;
volatile near bit TRISC2 @ ((unsigned)&TRISC*8)+2;
volatile near bit TRISC1 @ ((unsigned)&TRISC*8)+1;
volatile near bit TRISC0 @ ((unsigned)&TRISC*8)+0;


volatile near bit TRISB7 @ ((unsigned)&TRISB*8)+7;
volatile near bit TRISB6 @ ((unsigned)&TRISB*8)+6;
volatile near bit TRISB5 @ ((unsigned)&TRISB*8)+5;
volatile near bit TRISB4 @ ((unsigned)&TRISB*8)+4;
volatile near bit TRISB3 @ ((unsigned)&TRISB*8)+3;
volatile near bit TRISB2 @ ((unsigned)&TRISB*8)+2;
volatile near bit TRISB1 @ ((unsigned)&TRISB*8)+1;
volatile near bit TRISB0 @ ((unsigned)&TRISB*8)+0;


volatile near bit TRISA6 @ ((unsigned)&TRISA*8)+6;
volatile near bit TRISA5 @ ((unsigned)&TRISA*8)+5;
volatile near bit TRISA4 @ ((unsigned)&TRISA*8)+4;
volatile near bit TRISA3 @ ((unsigned)&TRISA*8)+3;
volatile near bit TRISA2 @ ((unsigned)&TRISA*8)+2;
volatile near bit TRISA1 @ ((unsigned)&TRISA*8)+1;
volatile near bit TRISA0 @ ((unsigned)&TRISA*8)+0;



volatile near bit LE0 @ ((unsigned)&LATE*8)+0;
volatile near bit LE1 @ ((unsigned)&LATE*8)+1;
volatile near bit LE2 @ ((unsigned)&LATE*8)+2;

volatile near bit LATE0 @ ((unsigned)&LATE*8)+0;
volatile near bit LATE1 @ ((unsigned)&LATE*8)+1;
volatile near bit LATE2 @ ((unsigned)&LATE*8)+2;


volatile near bit LD0 @ ((unsigned)&LATD*8)+0;
volatile near bit LD1 @ ((unsigned)&LATD*8)+1;
volatile near bit LD2 @ ((unsigned)&LATD*8)+2;
volatile near bit LD3 @ ((unsigned)&LATD*8)+3;
volatile near bit LD4 @ ((unsigned)&LATD*8)+4;
volatile near bit LD5 @ ((unsigned)&LATD*8)+5;
volatile near bit LD6 @ ((unsigned)&LATD*8)+6;
volatile near bit LD7 @ ((unsigned)&LATD*8)+7;

volatile near bit LATD0 @ ((unsigned)&LATD*8)+0;
volatile near bit LATD1 @ ((unsigned)&LATD*8)+1;
volatile near bit LATD2 @ ((unsigned)&LATD*8)+2;
volatile near bit LATD3 @ ((unsigned)&LATD*8)+3;
volatile near bit LATD4 @ ((unsigned)&LATD*8)+4;
volatile near bit LATD5 @ ((unsigned)&LATD*8)+5;
volatile near bit LATD6 @ ((unsigned)&LATD*8)+6;
volatile near bit LATD7 @ ((unsigned)&LATD*8)+7;



volatile near bit LC0 @ ((unsigned)&LATC*8)+0;
volatile near bit LC1 @ ((unsigned)&LATC*8)+1;
volatile near bit LC2 @ ((unsigned)&LATC*8)+2;
volatile near bit LC3 @ ((unsigned)&LATC*8)+3;
volatile near bit LC4 @ ((unsigned)&LATC*8)+4;
volatile near bit LC5 @ ((unsigned)&LATC*8)+5;
volatile near bit LC6 @ ((unsigned)&LATC*8)+6;
volatile near bit LC7 @ ((unsigned)&LATC*8)+7;

volatile near bit LATC0 @ ((unsigned)&LATC*8)+0;
volatile near bit LATC1 @ ((unsigned)&LATC*8)+1;
volatile near bit LATC2 @ ((unsigned)&LATC*8)+2;
volatile near bit LATC3 @ ((unsigned)&LATC*8)+3;
volatile near bit LATC4 @ ((unsigned)&LATC*8)+4;
volatile near bit LATC5 @ ((unsigned)&LATC*8)+5;
volatile near bit LATC6 @ ((unsigned)&LATC*8)+6;
volatile near bit LATC7 @ ((unsigned)&LATC*8)+7;


volatile near bit LB0 @ ((unsigned)&LATB*8)+0;
volatile near bit LB1 @ ((unsigned)&LATB*8)+1;
volatile near bit LB2 @ ((unsigned)&LATB*8)+2;
volatile near bit LB3 @ ((unsigned)&LATB*8)+3;
volatile near bit LB4 @ ((unsigned)&LATB*8)+4;
volatile near bit LB5 @ ((unsigned)&LATB*8)+5;
volatile near bit LB6 @ ((unsigned)&LATB*8)+6;
volatile near bit LB7 @ ((unsigned)&LATB*8)+7;

volatile near bit LATB0 @ ((unsigned)&LATB*8)+0;
volatile near bit LATB1 @ ((unsigned)&LATB*8)+1;
volatile near bit LATB2 @ ((unsigned)&LATB*8)+2;
volatile near bit LATB3 @ ((unsigned)&LATB*8)+3;
volatile near bit LATB4 @ ((unsigned)&LATB*8)+4;
volatile near bit LATB5 @ ((unsigned)&LATB*8)+5;
volatile near bit LATB6 @ ((unsigned)&LATB*8)+6;
volatile near bit LATB7 @ ((unsigned)&LATB*8)+7;


volatile near bit LA0 @ ((unsigned)&LATA*8)+0;
volatile near bit LA1 @ ((unsigned)&LATA*8)+1;
volatile near bit LA2 @ ((unsigned)&LATA*8)+2;
volatile near bit LA3 @ ((unsigned)&LATA*8)+3;
volatile near bit LA4 @ ((unsigned)&LATA*8)+4;
volatile near bit LA5 @ ((unsigned)&LATA*8)+5;
volatile near bit LA6 @ ((unsigned)&LATA*8)+6;

volatile near bit LATA0 @ ((unsigned)&LATA*8)+0;
volatile near bit LATA1 @ ((unsigned)&LATA*8)+1;
volatile near bit LATA2 @ ((unsigned)&LATA*8)+2;
volatile near bit LATA3 @ ((unsigned)&LATA*8)+3;
volatile near bit LATA4 @ ((unsigned)&LATA*8)+4;
volatile near bit LATA5 @ ((unsigned)&LATA*8)+5;
volatile near bit LATA6 @ ((unsigned)&LATA*8)+6;



volatile near bit RE0 @ ((unsigned)&PORTE*8)+0;
volatile near bit RE1 @ ((unsigned)&PORTE*8)+1;
volatile near bit RE2 @ ((unsigned)&PORTE*8)+2;


volatile near bit RD0 @ ((unsigned)&PORTD*8)+0;
volatile near bit RD1 @ ((unsigned)&PORTD*8)+1;
volatile near bit RD2 @ ((unsigned)&PORTD*8)+2;
volatile near bit RD3 @ ((unsigned)&PORTD*8)+3;
volatile near bit RD4 @ ((unsigned)&PORTD*8)+4;
volatile near bit RD5 @ ((unsigned)&PORTD*8)+5;
volatile near bit RD6 @ ((unsigned)&PORTD*8)+6;
volatile near bit RD7 @ ((unsigned)&PORTD*8)+7;



volatile near bit RC0 @ ((unsigned)&PORTC*8)+0;
volatile near bit RC1 @ ((unsigned)&PORTC*8)+1;
volatile near bit RC2 @ ((unsigned)&PORTC*8)+2;
volatile near bit RC3 @ ((unsigned)&PORTC*8)+3;
volatile near bit RC4 @ ((unsigned)&PORTC*8)+4;
volatile near bit RC5 @ ((unsigned)&PORTC*8)+5;
volatile near bit RC6 @ ((unsigned)&PORTC*8)+6;
volatile near bit RC7 @ ((unsigned)&PORTC*8)+7;


volatile near bit RB0 @ ((unsigned)&PORTB*8)+0;
volatile near bit RB1 @ ((unsigned)&PORTB*8)+1;
volatile near bit RB2 @ ((unsigned)&PORTB*8)+2;
volatile near bit RB3 @ ((unsigned)&PORTB*8)+3;
volatile near bit RB4 @ ((unsigned)&PORTB*8)+4;
volatile near bit RB5 @ ((unsigned)&PORTB*8)+5;
volatile near bit RB6 @ ((unsigned)&PORTB*8)+6;
volatile near bit RB7 @ ((unsigned)&PORTB*8)+7;


volatile near bit RA0 @ ((unsigned)&PORTA*8)+0;
volatile near bit RA1 @ ((unsigned)&PORTA*8)+1;
volatile near bit RA2 @ ((unsigned)&PORTA*8)+2;
volatile near bit RA3 @ ((unsigned)&PORTA*8)+3;
volatile near bit RA4 @ ((unsigned)&PORTA*8)+4;
volatile near bit RA5 @ ((unsigned)&PORTA*8)+5;
volatile near bit RA6 @ ((unsigned)&PORTA*8)+6;

# 293 "E:\workall\LAMP2\PICC18\Reconv\pic18.h"
extern unsigned char eeprom_read(unsigned int address);
extern void eeprom_write(unsigned int address,unsigned char data);



extern unsigned char flash_read(unsigned long addr);



extern void flash_write(const unsigned char *,unsigned int,far unsigned char *);


extern void flash_erase(unsigned long addr);

# 323
extern unsigned int config_read(unsigned char reg_no);
extern void config_write(unsigned char reg_no, unsigned int dataword);


extern unsigned int device_id_read(void);


extern unsigned char idloc_read(unsigned char reg_no);
extern void idloc_write(unsigned char reg_no,unsigned char data);


extern void initiate_write(void);

# 353
extern unsigned char checksum8(unsigned long startAddr, unsigned long length);
extern unsigned int checksum16(unsigned long startAddr, unsigned long length);
extern unsigned long checksum32(unsigned long startAddr, unsigned long length);

# 17 "E:\workall\LAMP2\PICC18\Reconv\calVol.h"
const unsigned int TableAddrE2EachEmerVolt[4][20]={{0x04+4+16+84+1+1,0x04+4+16+84+1+1+1,0x04+4+16+84+1+1+2,
0x04+4+16+84+1+1+3,0x04+4+16+84+1+1+4,0x04+4+16+84+1+1+5,
0x04+4+16+84+1+1+6,0x04+4+16+84+1+1+7,0x04+4+16+84+1+1+8,
0x04+4+16+84+1+1+9,0x04+4+16+84+1+1+10,0x04+4+16+84+1+1+11,
0x04+4+16+84+1+1+12,0x04+4+16+84+1+1+13,0x04+4+16+84+1+1+14,
0x04+4+16+84+1+1+15,0x04+4+16+84+1+1+16,0x04+4+16+84+1+1+17,
0x04+4+16+84+1+1+18,0x04+4+16+84+1+1+19},
{0x04+4+16+84+1+1+20,0x04+4+16+84+1+1+21,0x04+4+16+84+1+1+22,
0x04+4+16+84+1+1+23,0x04+4+16+84+1+1+24,0x04+4+16+84+1+1+25,
0x04+4+16+84+1+1+26,0x04+4+16+84+1+1+27,0x04+4+16+84+1+1+28,
0x04+4+16+84+1+1+29,0x04+4+16+84+1+1+30,0x04+4+16+84+1+1+31,
0x04+4+16+84+1+1+32,0x04+4+16+84+1+1+33,0x04+4+16+84+1+1+34,
0x04+4+16+84+1+1+35,0x04+4+16+84+1+1+36,0x04+4+16+84+1+1+37,
0x04+4+16+84+1+1+38,0x04+4+16+84+1+1+39},
{0x04+4+16+84+1+1+40,0x04+4+16+84+1+1+41,0x04+4+16+84+1+1+42,
0x04+4+16+84+1+1+43,0x04+4+16+84+1+1+44,0x04+4+16+84+1+1+45,
0x04+4+16+84+1+1+46,0x04+4+16+84+1+1+47,0x04+4+16+84+1+1+48,
0x04+4+16+84+1+1+49,0x04+4+16+84+1+1+50,0x04+4+16+84+1+1+51,
0x04+4+16+84+1+1+52,0x04+4+16+84+1+1+53,0x04+4+16+84+1+1+54,
0x04+4+16+84+1+1+55,0x04+4+16+84+1+1+56,0x04+4+16+84+1+1+57,
0x04+4+16+84+1+1+58,0x04+4+16+84+1+1+59},
{0x04+4+16+84+1+1+60,0x04+4+16+84+1+1+61,0x04+4+16+84+1+1+62,
0x04+4+16+84+1+1+63,0x04+4+16+84+1+1+64,0x04+4+16+84+1+1+65,
0x04+4+16+84+1+1+66,0x04+4+16+84+1+1+67,0x04+4+16+84+1+1+68,
0x04+4+16+84+1+1+69,0x04+4+16+84+1+1+70,0x04+4+16+84+1+1+71,
0x04+4+16+84+1+1+72,0x04+4+16+84+1+1+73,0x04+4+16+84+1+1+74,
0x04+4+16+84+1+1+75,0x04+4+16+84+1+1+76,0x04+4+16+84+1+1+77,
0x04+4+16+84+1+1+78,0x04+4+16+84+1+1+79}};
unsigned int baseVolt;
unsigned char Amp;
unsigned int EmerVolt[4][10];
void SaveEmerVolt(unsigned char chnNo,unsigned char EmerNo,unsigned int SapDigitial);
void CalVolt_initial(void);
void ChangeAmp(void);
void ChangeBaseVolt(unsigned char digit);

# 9 "E:\workall\LAMP2\PICC18\Reconv\calVol.c"
void CalVolt_initial(void)
{
unsigned char tmpCtr,tmpCtr2;
baseVolt=eeprom_read(0x00)+eeprom_read(0x01)*255;
Amp=eeprom_read(0x04+4+16+84+1);

for(tmpCtr=0;tmpCtr<4;tmpCtr++)
{
for(tmpCtr2=0;tmpCtr2<10;tmpCtr2++)
{
EmerVolt[tmpCtr][tmpCtr2]=eeprom_read(TableAddrE2EachEmerVolt[tmpCtr][tmpCtr2*2])
+eeprom_read(TableAddrE2EachEmerVolt[tmpCtr][tmpCtr2*2+1])*255;
}
}
}

# 30
unsigned int CalSapVolt(unsigned int SapDigitial)
{
return (baseVolt*SapDigitial*Amp/1023);
}

# 39
void SaveEmerVolt(unsigned char chnNo,unsigned char EmerNo,unsigned int SapDigitial)
{
EmerVolt[chnNo][EmerNo]=CalSapVolt(SapDigitial);
eeprom_write(TableAddrE2EachEmerVolt[chnNo][EmerNo*2],((unsigned char)((EmerVolt[chnNo][EmerNo])&0Xff)));
eeprom_write(TableAddrE2EachEmerVolt[chnNo][EmerNo*2+1],((unsigned char)((EmerVolt[chnNo][EmerNo])>>8)));
}

# 51
void SaveBaseVolt(unsigned int newBaseVolt)
{
baseVolt=newBaseVolt;
eeprom_write(0x00,((unsigned char)((baseVolt)&0Xff)));
eeprom_write(0x01,((unsigned char)((baseVolt)>>8)));
}

# 62
void ChangeAmp(void)
{
if(Amp==1)
{
Amp=4;
}
else if(Amp==4)
{
Amp=1;
}
eeprom_write(0x04+4+16+84+1,Amp);
}

# 80
void ChangeBaseVolt(unsigned char digit)
{
if(digit==0)
{
baseVolt=baseVolt+100;
}
else if(digit==1)
{
baseVolt=baseVolt+10;
}
else if(digit==2)
{
baseVolt=baseVolt+1;
}
if(baseVolt>500)
{
baseVolt=400;
}
SaveBaseVolt(baseVolt);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -