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

📄 dianyabiao.c

📁 KEIL 51上的数字电压表实验程序 用C编写 已经调试过
💻 C
字号:
/*电压表程序设计*/
#include <REG51.h>
#include <intrins.h>
#include <absacc.h>
#include "VIIC_C51.h"
#include "ZLG7290.h"

#define uchar 	unsigned char
#define uint  	unsigned int
#define ulong 	unsigned long
#define	ZLG7290	0x70	//定义器件地址
//定义TLC549串行总线操作端口
sbit	CLK=P1^0;
sbit	DAT=P1^1;
sbit	CS=P1^2;
//定义I2C总线控制端口
sbit	SDA=P1^7;
sbit	SCL=P1^6;
//显示缓冲区初始化:DP-51PRO
uchar disp_buf[8]={0x15,0x18,0x16,0x01,0x05,0x1f,0x16,0x0d};
uchar	bdata ADCdata;
sbit	ADbit=ADCdata^0;

/***************************************************
**函数名称:	TLC549ADC()
**函数功能:	读取上一次A/D转换的数据,启动下一次A/D转换
****************************************************/
uchar	TLC549ADC(void)
{
	uchar 	i;
	CLK=0;	
	DAT=1;
	CS=0;
	for(i=0;i<8;i++)
	{
		CLK=1;
		_nop_();
		_nop_();
		ADCdata<<=1;
		ADbit=DAT;
		CLK=0;
		_nop_();		
	}
	return (ADCdata);
}
/****************************************
**函数名称:	delay()
**函数功能:	硬件延时50MS程序
**入口参数:	i
****************************************/
void delay(uchar i)
{ uchar j;
  for(j=0;j<i;j++)
    {
	    TMOD=0x01;
	    TH0=0X3C;
	    TL0=0XB0;
	    TF0=0;ET0=0;
	    TR0=1;
	    while(!TF0);
	    TR0=0;TF0=0;
    }
}
/*A/D数据转换处理和输出显示功能函数*/
/*******************************************
**函数名称:	display()
**函数功能:	处理A/D转换后的数据并输出显示
********************************************/
void display(uchar advalue)
{ 
	ulong 	ad_disp;
	ad_disp=((ulong)advalue)*500/255;	
    disp_buf[2] =(uchar)(ad_disp/100%10)+0x80;
    disp_buf[1] =(uchar)(ad_disp/10%10);
    disp_buf[0] =(uchar)(ad_disp/1%10);
    ZLG7290_SendBuf(disp_buf,8);
}
/*****************************
**主程序函数
*****************************/
void main()
{
	uchar ad_sample;
	ZLG7290_SendBuf(disp_buf,8);
	ZLG7290_SendData(0X15,0X02);
  	disp_buf[7] =0x1f;			
    disp_buf[6] =0x1f;		
    disp_buf[5] =0x1f;
    disp_buf[4] =0x1f;
    disp_buf[3] =0x1f;
	delay(50);
	while(1)
	{
		ad_sample=TLC549ADC();
		display(ad_sample);
		delay(6);
	}
}





⌨️ 快捷键说明

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