?? max5.c
字號:
//本程序沒有用到tmr2中斷,只用了tmr2延時,并且把延時程序嵌入了發(fā)送程序中
#include <pic.h>
unsigned int SecondCount;
char n=0x00;
char i=0;
char j=0;
void chushi()
{
SSPCON=0x08;//初始化SSPCON寄存器,使時鐘F=Fosc/[4*(SSPADD+1)]
TRISC3=1;
TRISC4=1;
TRISA4=0;
SSPSTAT=0x80;//初始化SSPSTAT寄存器
SSPADD=0x02; //設定I2C時鐘頻率
SSPCON2=0x00;//初始化SSPCON2寄存器
di();
SSPIF=0;
RA4=0;
SSPEN=1; //SSP模塊使能
}
void chushit()
{
T1OSCEN=0;//禁止自帶振蕩器功能
TMR1CS=0;//選擇內部時鐘源(FOSC/4),工作于定時方式
T1CKPS1=1;//預分頻比為1:8
T1CKPS0=1;
TMR1IF=0;
TMR1IF=0;
PEIE=1;
GIE=1;
}
void chuan()
{
SEN=1;
for(n=2;--n;) continue;
do{
RSEN=1;
}
while(SSPIF==0);
SSPIF=0;
SSPBUF=0X58;
do{
;
}
while(SSPIF==0);
SSPIF=0;
SSPBUF=n;
do{
;
}
while(SSPIF==0);
SSPIF=0;
SSPBUF=0b10000000;
do{
;
}
while(SSPIF==0);
SSPIF=0;
PEN=1;
do{
;
}
while(SSPIF==0);
SSPIF=0;
}
main()
{
chushi();
chushit();
for(j=0;;j++)
{
if(j%2==0) n=0x00;
if(j%2==1) n=0x01;
do
{TMR1H=(65536-1250)/256;
TMR1L=(65536-1250)%256; //10ms
TMR1IF=0;
TMR1ON=1;
do{chuan();}
while(TMR1IF==0);
TMR1ON=0;
TMR1IF=0;
i++;
}
while(i<100);
TMR1ON=0;
TMR1IF=0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -