导航:首页 > 编程语言 > ad558程序

ad558程序

发布时间:2023-05-26 04:44:47

Ⅰ 求基于AT89S52的ADC0809位AD转换芯片的程序

(1). 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。
(粗配2). 进行漏凳败A/D转换之前,要启动转换的方法:
ABC=110选择第三通道
ST=0,ST=1,ST=0产生启动转换的正脉冲返颤信号 .
C语言源程序
#include
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};
unsigned char dispcount;
sbit ST="P3"^0;
sbit OE="P3"^1;
sbit EOC="P3"^2;
unsigned char channel="0xbc";//IN3
unsigned char getdata;
void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
TR0=1;
ET0=1;
EA=1;
P3=channel;
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
dispbuf[2]=getdata/100;
getdata=getdata%10;
dispbuf[1]=getdata/10;
dispbuf[0]=getdata%10;
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}

Ⅱ adc8080的ad转换单片机程序

#include "reg51.h"
#define data_point P0
sbit EOC=P2^0;
sbit ADDA=P2^1;
sbit ADDB=P2^2;
sbit ADDC=P2^3;
sbit OE=P2^5;
sbit START=P2^6;
sbit CLK=P2^7;
sbit ALE=P2^6;
unsigned char disp[3]={0,0,0};
char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char t0count=0;

unsigned int temp;
double sum;
unsigned char val_Integer; //整数
unsigned int val_Decimal; //小数

sbit k1 = P1^0;
sbit k2 = P1^1;
sbit k3 = P1^2;
sbit k4 = P1^3;

void delay(unsigned char ms)
{
unsigned char i;
while(ms--)
for(i=0;i<125;i++);
}

void display()
{
disp[0]=disp[0]&0x7f;
P3= disp[0];
k1 = 1;
delay(2);
k1 = 0;

P3= disp[1];
k2 = 1;
delay(2);
k2 = 0;

P3= disp[2];
k3 = 1;
delay(2);
k3 = 0;

P3= disp[3];
k4 = 1;
delay(2);
k4 = 0;

}

unsigned char ADC0808()
{
unsigned char d;
ADDC=0;
ADDB=0;
ADDA=0;
TR1=1;
ALE=1;ALE=0;
START=1;START=0;

while(EOC==0);
OE=1;
d=data_point;
OE=0;
TR1=1;
return d;
}
void covert(unsigned char x)
{

sum=x*0.0201378;
val_Integer=(unsigned char)sum;
val_Decimal=(unsigned int)((sum-val_Integer)*1000);

disp[3]=dispcode[val_Decimal%10];
disp[2]=dispcode[val_Decimal/10%10];
disp[1]=dispcode[val_Decimal/100];
disp[0]=dispcode[val_Integer];
}
void main()
{
TMOD=0x21;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=256-2;
ET0=1;
ET1=1;
EA=1;
TR0=1;
OE=0;
START=0;
EOC=1;
while(1)
{
display();
}
}
void time0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
t0count++;
if(t0count==100)
{
t0count=0;
covert(ADC0808());
}
}
void time1() interrupt 3
{
CLK=~CLK;
}

Ⅲ ad中compile的作用是什么,如何执行该命令

compile的作用是对你的代码进行语法检查,将你的文本程序语言转化成计算机可以运行的“01010…形式的二进制文件。compile是exec和eval的低级版本大睁租。它不执行或计算您的语句或早册表达式,但返回可以执行此操作的代码对象。模式如下;compile(string,'','eval')返回完成滚兆eval(string)时将执行的代码对象。

阅读全文

与ad558程序相关的资料

热点内容
苹果谷歌框架 浏览:239
二建题库app哪个软件好用知乎 浏览:257
抖音直播评分数据从哪里看 浏览:301
如何关闭网络共享端口 浏览:727
看房子需要关注哪些数据 浏览:5
苹果本引导密码怎么关 浏览:1000
麦萌app如何与好友配音 浏览:45
金希贞和尹多贤合作的电影 浏览:812
师范生教材在哪个APP里看 浏览:407
电影苹果删减版时长 浏览:574
课中坏事女演员名单 浏览:867
大数据可视化常见图形系列之一 浏览:915
双重幻想电影完整版 浏览:582
最好的最快的免费电影网站 浏览:416
win10红色小喇叭 浏览:767
李月仙血枪泪影1993 浏览:582
食人族到底有多少部 浏览:498
计算机网络的分类ppt 浏览:119
大连市大数据中心网站 浏览:765
营销型网站全网优化怎么收费 浏览:853

友情链接