m
對于學(xué)max197的人來說是一個(gè)很好的機(jī)會,這個(gè)程序不難,絕對可以看懂它:
以下兩個(gè)是。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)!=' 贡嘎县| 拉萨市| 大洼县| 剑川县| 台中县| 林州市| 尤溪县| 瑞金市| 余干县| 威远县| 宜宾县| 南充市| 巴林右旗| 榆树市| 阿坝| 安泽县| 澎湖县| 会理县| 肇州县| 鸡东县| 勃利县| 灵璧县| 读书| 新乐市| 安国市| 老河口市| 防城港市| 祁连县| 砚山县| 醴陵市| 盐山县| 璧山县| 湖南省| 台湾省| 平阳县| 比如县| 墨江| 合川市| 丹寨县| 泰安市| 松潘县|
電子發(fā)燒友App