ADC0809与单片机仿真

来源:本站
导读:目前正在解读《ADC0809与单片机仿真》的相关信息,《ADC0809与单片机仿真》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《ADC0809与单片机仿真》的详细说明。

ADC0809与单片机仿真

程序:

//************ccp************//

‍#include<reg51.h>
#include<AD0809.h>

void main() //主函数
{
init_timer0();
while(1)
{
handle_ad();
}
}


void init_timer0()
{
TMOD=0x02;//2
TH0=0x14;//TH0=256-236;
TL0=0x14; //TL0=256-236;
IE=0x82;
TR0=1;
}

void start()
{
ST=0;
ST=1;
ST=0;
}

void set_OE()
{
OE=1;
}

void clr_OE()
{
OE=0;
}

void delay(uint t) // delay
{
uchar i;
while(t--)
{
for(i=0;i<120;i++);
}
}

//*******数码管显示*******
void display()
{
unsigned char j;
for(j=0;j<=3;j++)
{
P2=ledwei[j];
if(j==1)
{
P0=display_c[count[j]];
delay(1);
}
P0=display_cc[count[j]];
delay(1);
}
}

void handle(uint num)
{
num=num*250;
num= num/256;
num=num*40;
count[0]= num %10;
count[1]= num %100/10;
count[2]= num %1000/100;
count[3]= num /1000;
}

void handle_ad()
{
start();
while(EOC==0);//等待转换结束,转换EOC=0
set_OE();
handle(P3);
display(); //OE=0; //高阻
clr_OE(); //高阻
}

void timer0() interrupt 1
{

CLK=~CLK;
}

//*************ccp*********************//

‍#ifndef _D0809_
#define _0809_

#include<reg51.h>

#define uint unsigned int
#define uchar unsigned char
uchar code display_cc[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴
uchar code display_c[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//共阴
uchar code ledwei[]={0xf7,0xfb,0xfd,0xfe};
static uint count[]={0,0,0,0};
sbit CLK=P1^3;
sbit ST=P1^2;
sbit EOC=P1^1;
sbit OE=P1^0;

//定义函数
void init_timer0();//初始化
void start();
void set_OE();
void clr_OE();
void delay(uint t);
void display();
void handle(uint num);
void handle_ad(); //处理


#endif

提醒:《ADC0809与单片机仿真》最后刷新时间 2023-07-10 03:57:24,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《ADC0809与单片机仿真》该内容的真实性请自行鉴别。