m
对于学max197的人来说是一个很好的机会,这个程序不难,绝对可以看懂它:
以下两个是。H文件的,你们另外保存一下就行了
#include
#include
#define uchar unsigned char
#define uint unsigned int
#include"delay.h"
#include"chuankou.h"
sbit MAX197_CS=P0^0;
sbit MAX197_WR=P0^1;
sbit MAX197_RD=P0^2;
sbit MAX197_HBEN=P0^3;
uchar premp,temp1;
void MAX197_Write(char temp)
{
MAX197_CS=1;
MAX197_WR=1;
delays(1);
MAX197_CS=0;
_nop_();
_nop_();
MAX197_WR=0;
_nop_();
_nop_();
_nop_();
_nop_();
P1=temp;
_nop_();
_nop_();
_nop_();
_nop_();
MAX197_WR=1;
_nop_();
MAX197_CS=1;
delayl(5);
}
long int MAX197_Read()
{
long int premp;
uint TempL,TempH;
delayl(2);
MAX197_HBEN=0;
_nop_();
MAX197_CS=0;
MAX197_RD=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TempL=P1;
delayl(600);
MAX197_HBEN=1;
delayl(600);
_nop_();
_nop_();
_nop_();
_nop_();
TempH=P1;
delays(1);
MAX197_RD=1;
MAX197_CS=1;
premp=TempH*256|TempL;
return premp;
}
void Init_MAX197()
{
P1=0x00;
MAX197_Write(0x40);
}
void main()
{
long int frag,i;
uint j;
init_uart();
while(1)
{
Init_MAX197();
frag=MAX197_Read();
i=frag*500000/4096;
send_dat(i/100000);
send_char('.');
send_dat(i/10000%10);
send_dat(i/1000%10);
send_dat(i/100%10);
send_dat(i/10%10);
send_dat(i%10);
send_char('v');
send_char(' ');
send_char(' ');
}
}
#ifndef chuankou
#define chuankou
void init_uart()
{
TMOD = 0X20;
TH1 = 0XFA;
TL1 = 0XFA;
SCON = 0X40;
PCON = 0X80;
TR1 = 1;
REN = 1;
}
void send_dat(uint dat1)
{
SBUF = (dat1+'0');
while(TI==0);
TI = 0;
}
void send_char(uchar dat)
{
SBUF = dat;
while(TI==0);
TI=0;
}
void printstr(uchar *p)
{
while((*p)!='