⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc.c

📁 八个c源码,有单片机控制下的跑马灯,交通灯,ad转换,8255a等
💻 C
字号:
#include <reg51.h>
#define uchar unsigned char 
#define uint unsigned int

uchar TAB[]={ 0xc0,0xf9,0xa4,0xb0, 

                               0x99,0x92,0x82,0xf8, 

                               0x80,0x90};
uchar disp[4];//显示器数组
uint temp,result;
void display(void);//声明显示函数
void delay1ms(uchar);//声明延时函数
void init(void);//初始化函数
sbit CLK=P3^3;//时钟接口
sbit EOC=P3^2;
sbit ST=P3^0;
sbit OE=P3^1;
//=====主函数=================
main()
{
init();

while(1)  
{ 
   ST=1;//启动
   ST=0;
   while(EOC==0);//查询等待转换结果
   OE=1;//打开输出允许信号
   temp=P0;//读数据
    result=temp*5.0/255*1000;
    disp[3]=result/1000;
    disp[2]=result/100%10;
    disp[1]=result/10%10;
    disp[0]=result%10;
    display();
    OE=0;
} 
}
//======显示函数=============
void display(void)
{   uchar i,scan;
    scan=0X01;
    for(i=0;i<4;i++)
    { 
      P2=scan;
      P1=TAB[disp[i]];
   if(i==3)
    P1=P1&0x7F;//显示小数点
       delay1ms(4);
       scan<<=1;
    }
}
//=====延时1MS函数=========
void delay1ms(uchar x)
{   uchar i,j;
    for(i=0;i<x;i++)
        for(j=0;j<120;j++);
}
//=====T0初始化函数============
void init(void)
{   EA=1;
    ET0=1;
    TMOD=0x01;
    TH0=(65536-200)/256;
    TL0=(65536-200)%256;
    TR0=1;
}
//=======T0中断服务,提供时钟信号======
void timer0(void) interrupt 1
{   TH0=(65536-200)/256;
    TL0=(65536-200)%256;
    CLK=~CLK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -