|
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#include "IIC.h" //i2c库函数
code uchar seg[]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60}; //数码管码表
code uchar tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //数码管位选
sbit bz=P3^3; //喇叭位
uchar outdata; //模拟量输出值
sbit k1=P1^2 ; //模拟量输出者增加
sbit k2=P1^1; //模拟量输出者减少
void delay(uint k) //延时子函数
{
while(k--);
}
void key1() //模拟输出值增加
{
if(k1==0)
{
delay(1000);
if(k1==0)
outdata++;
}
}
void key2() //模拟输出值减少
{
if(k2==0)
{
delay(1000);
if(k2==0)
outdata--;
}
}
void ADCinshow(uchar dd) //模拟量输入值显示
{
P0=seg[dd/100];
P2=tab[7];
delay(8);
P0=0xff; //显示消影
P2=0xff;
P0=seg[dd%100/10];
P2=tab[6];
delay(8);
P0=0xff;
P2=0xff;
P0=seg[dd%10];
P2=tab[5];
delay(8);
P0=0xff;
P2=0xff;
}
void ADCoutshow(uchar k) //模拟量输出值显示
{
P0=seg[k/100];
P2=tab[2];
delay(8);
P0=0xff;
P2=0xff;
P0=seg[k%100/10];
P2=tab[1];
delay(8);
P0=0xff;
P2=0xff;
P0=seg[k%10];
P2=tab[0];
delay(8);
P0=0xff;
P2=0xff;
}
|
|