main.pre
来自「采用PICC18编写的单片机源代码」· PRE 代码 · 共 1,107 行 · 第 1/3 页
PRE
1,107 行
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\EmerTime\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);
# 13 "E:\workall\LAMP2\PICC18\EmerTime\main.h"
unsigned char dispBuf[5];
unsigned char taskNo;
unsigned char FaceReg;
unsigned char FaceChnNo;
unsigned char FaceEmerNo;
unsigned char Intpart[3],Decm[2];
static bit flag_1Sec;
# 6 "E:\workall\LAMP2\PICC18\EmerTime\display.h"
void display_initial(void);
void display(void);
unsigned char TableNum[16]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0XD8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
unsigned char TableNumPt[10]={0x40,0x79,0x24,0x30,
0x19,0x12,0x02,0x78,
0x00,0x18};
unsigned char TableLetter[10]={0x88,0x83,0xc6,0xa1,
0x86,0x8e,0xab,0xaf,
0xce,0xc1};
static unsigned char dispCtr;
# 6 "E:\workall\LAMP2\PICC18\EmerTime\key.h"
void readkey_initial(void);
unsigned char readkey0(void);
unsigned char readkey1(void);
unsigned char readkey2(void);
unsigned char readkey3(void);
# 10 "E:\workall\LAMP2\PICC18\EmerTime\delay1ms.h"
void delay(unsigned int TimeMs);
# 13 "E:\workall\LAMP2\PICC18\EmerTime\ADConvt.h"
const unsigned char TableADCON0[4]={0x81,0x85,0x91,0x95};
struct strucAD
{
unsigned int ADBuf[4];
unsigned int ADResult[4];
unsigned int ADMin[4];
unsigned char isStartADSap[4];
unsigned char ADNum;
} ADChnRe;
void AD_initial(void);
unsigned int ADConvt(unsigned char ADChn);
void MainAdConv(void);
# 10 "E:\workall\LAMP2\PICC18\EmerTime\Ctrl14013.h"
void Ctrl14013_Initial(void);
void Ctrl14013_Reset(unsigned char ChnNo_14013);
bit Ctrl14013_ReadQ(unsigned char ChnNo_14013);
# 10 "E:\workall\LAMP2\PICC18\EmerTime\TIMER2.h"
void Timer2_Initial(void);
unsigned char isTo1Sec(void);
void Timer2ON(void);
void Timer2OFF(void);
# 8 "E:\workall\LAMP2\PICC18\EmerTime\EmerTime.h"
struct Time
{
unsigned char second;
unsigned int minute;
unsigned char FlagEndEmerTime;
};
struct Time EmerTime[4];
void EmerTime_Initial(void);
void resetEmerTime(unsigned char ChnNo);
void EmerTimeInc1s(unsigned char ChnNo);
void setFlagEndEmerTime(unsigned char ChnNo);
void clrFlagEndEmerTime(unsigned char ChnNo);
unsigned char getFlagEndEmerTime(unsigned char ChnNo);
unsigned int getEmerTime(unsigned char ChnNo);
# 17 "E:\workall\LAMP2\PICC18\EmerTime\calVol.h"
unsigned int TableAddrE2EachEmerVolt[4][2]={{0x04+4+8+1+1,0x04+4+8+1+1+1},
{0x04+4+8+1+1+2,0x04+4+8+1+1+3},
{0x04+4+8+1+1+4,0x04+4+8+1+1+5},
{0x04+4+8+1+1+6,0x04+4+8+1+1+7}};
unsigned int baseVolt;
unsigned char Amp;
unsigned int EmerVolt[4][1];
void SaveEmerVolt(unsigned char chnNo,unsigned int SapDigitial);
void CalVolt_initial(void);
void ChangeAmp(void);
void ChangeBaseVolt(unsigned char digit);
# 42 "E:\workall\LAMP2\PICC18\EmerTime\serialPort.h"
unsigned char selfAddr;
unsigned char recBuf[3];
unsigned char sendBuf[4][5];
unsigned char NumRecData;
unsigned char flagRecEnd;
void serialPort_Initial(void);
void DoInstru(void);
void SetSelfAddr(unsigned char setMode);
void ChkRecEnd(void);
# 16 "E:\workall\LAMP2\PICC18\EmerTime\main.c"
asm("\tpsect eeprom_data,class=EEDATA"); asm("\tdb\t" "0xEF" "," "0x01" "," "0x18" "," "0x04" "," "0x00" "," "0x00" "," "0x00" "," "0x00");
asm("\tpsect eeprom_data,class=EEDATA"); asm("\tdb\t" "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00");
asm("\tpsect eeprom_data,class=EEDATA"); asm("\tdb\t" "0x01" "," "0x01" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00");
asm("\tpsect eeprom_data,class=EEDATA"); asm("\tdb\t" "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00" "," "0x00");
# 28
void Interpt_Initial(void)
{
GIEH=0;
GIEL=0;
TMR2IF=0;
RCIF=0;
TMR2IP=1;
RCIP=0;
IPEN=1;
TMR2IE=1;
RCIE=1;
GIEH=1;
GIEL=1;
}
# 47
void interrupt HI_ISR(void)
{
if(TMR2IF==1)
{
TMR2IF=0;
if(isTo1Sec())
{
flag_1Sec=1;
}
}
}
# 63
void interrupt low_priority LOW_ISR(void)
{
if(RCIF==1)
{
recBuf[NumRecData]=RCREG;
NumRecData++;
ChkRecEnd();
}
}
# 78
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?