下面这是数码管的
#include<AT89X51.H>
#include<intrins.h>
/***************************
数码管为共阴数码管
***************************/
sbit s0=P2^7;//个位选通
sbit s1=P2^6;//十位选通
sbit s2=P2^5;//百位选通
sbit s3=P2^4;//千位选通
sbit dp=P0^7;//小数点
sbit in=P3^2;//外部中断1,接CX20106的7脚
sbit csb=P3^3;//40KHz方波输出脚
#define seg P0 //数码管的数据口为P1口
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_()
/****************************/
void init(void);//初始化
void delay_nms(uint n);//延时nms
void delay100us();//延时100us
void display(uint dat);//4位数码管显示函数,只用了3位
void tran(void);//超声波测量函数
/***************************/
uint dis,H=100,L=20;
uchar flag=0,high_time,low_time,m=0;
uchar leddata[]={
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x77, //"A"
0x7C, //"B"
0x39, //"C"
0x5E, //"D"
0x79, //"E"
0x71, //"F"
0x76, //"H"
0x38, //"L"
0x37, //"n"
0x3E, //"u"
0x73, //"P"
0x5C, //"o"
0x40, //"-"
0x00, //熄灭
0x00 //自定义
};
void delay100us()
{
uchar i;
for(i=0;i<50;i++)
;