本文写了如何使用数码管显示超声波测距
#define MAIN_Fosc 11059200L //定义主时钟
#include "15W4KxxS4.H"
#include "delay.H"
uchar data_1,data_2,data_3,data_4;
/********************LED定义****************************/
/*******************************************************/
uchar code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
uchar disbuf[4]={0,0,0,0};
uchar code LED_0F[] =
{// 0 1 2 3 4 5 6 7 8 9 A b C d E F -
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
};
/**********************
引脚别名定义
***********************/
sbit TM1637_DIO = P2^0; //串行数据输入
sbit TM1637_CLK = P2^1; //时钟脉冲信号——上升沿有效
// 全局变量
//uchar LED[8]; //用于LED的8位显示缓存
uchar NumDis[24]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0X6F,\
0x77,0x7C,0x39,0x5E,0x79,0x71,\
0x08,0x48,0x49,\
0x76,0x38,0x0E,0x50,0x37};//0123456789ABCDEF一二三HLJRS
#define TM1637_DIO_IN() {P2M0 = 0; P2M1 = 0; } //设置TM1637_DIO引脚为准双向口(输入)
#define TM1637_DIO_OUT() {P2M0 = 0x01; P2M1 = 0;} //设置TM1637_DIO引脚为输出口
#define TM1637_READ_DIO TM1637_DIO == 1 //读取TM1637_DIO口的状态
/**************************************
功能描述:TM1637开始函数
入口参数:无
返回值:无
***************************************/
void TM1637_Start(void)
{
TM1637_DIO_OUT();
TM1637_CLK = 1;
TM1637_DIO = 1;
del