?? dianya-xs.txt
字號:
#include <c8051f000.h>
void Timer0_Init(void);
//sfr16 RCAP2 =0xCA;
sfr16 TMR1 =0x8B;
sbit rd = P1^7;
sbit re = P1^5;
sbit wr = P1^6;
sbit addr0 = P1^0;
sbit addr1 = P1^1;
sbit addr2 = P1^2;
sbit addr3 = P1^3;
sbit addr4 = P1^4;
sbit data0 = P2^0;
sbit data1 = P2^1;
sbit data2 = P2^2;
sbit data3 = P2^3;
sbit lcd_en =P3^0;
int n,m,l,wei,temp1,temp2,temp3,yichu_shu,count,xs;
float dianya;
void write (int addr, int datain);
unsigned int read();
void OSCILLATOR_Init (void);
void PORT_Init (void);
void Timer2_Init(void);
void delay (int time_ms);
void ADC0_Init (void);
void ADC0_ISR (void) interrupt 15
{ unsigned int dianya_temp,temp;
ADCINT = 0;
dianya_temp=ADC0H;
dianya_temp=dianya_temp<<8|ADC0L;
dianya=(float)dianya_temp/4095;
dianya*=2.43;
dianya*=2;
}
void main (void)
{
WDTCN =0xde;
WDTCN =0xad;
OSCILLATOR_Init();
PORT_Init();
lcd_en=0;
Timer2_Init();
ADC0_Init ();
OSCICN=0x08;
ADCEN=1;
EA=1;
while (1)
{
xs=dianya*100.0;
write(2,xs%10);
write(3,xs%100/10);
write(4,xs/100);
write(7,4);
delay(500);
}
}
unsigned int read()
{
unsigned int data_rd;
PRT2CF &=0xf0;
P2=0xff;
rd=0;
data_rd=P2;
data_rd &=0x0f;
rd=1;
PRT2CF |= 0xff;
return data_rd;
}
void OSCILLATOR_Init (void)
{
OSCICN |= 0x03;
OSCXCN=0xef;
}
void PORT_Init (void)
{
PRT1CF |= 0xff;
PRT2CF |= 0xff;
P1 |= 0xa0;
XBR0 =0x00;
XBR1 =0x08;
XBR2 =0x40;
}
void write (int addr,int datain)
{
char pp;
PRT2CF |=0xff;
pp=addr;
pp |=0xA0;
P1 =pp;
P2=datain;
wr=1;
wr=0;
}
void Timer2_Init()
{
CKCON=0x00;
TL2=0x00;
TH2=0xdc;
RCAP2L=0x00;
RCAP2H=0xdc;
T2CON=0x04;
ET2=0;
}
void ADC0_Init (void)
{ ADC0CN = 0x4c;
REF0CN = 0x03;
AMX0SL = 0x02;
ADC0CF = 0x67;
AMX0CF=0x00;
EIE2 |= 0x02;
}
void delay(int time_10ms)
{
for (n=0;n<=time_10ms;n++)
{
for(m=0;m<=10;m++)
{
for(l=0;l<=80;l++);
}
}
}
void PCA_Init(void)
{
PCA0MD=0x05;
PCA0L=0x00;
PCA0H=0xdc;
PCA0CN=0x40;
EIE1|=0x08;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -