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

📄 chaoshengbo.c

📁 本设计是关于超声波测距的资料 附带源码和原理图 同时还介绍了各种超声波测距方法
💻 C
📖 第 1 页 / 共 3 页
字号:
} 
/****************************************************************************************** 
* 函数名称    :WriteData 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void WriteData(uchar Dbyte ) 
{ 
     CS = 1; 
     CheckBusy(); 
     SendByte(0xfa);            //11111,RW(0),RS(1),0 
     SendByte(0xf0&Dbyte);      //高四位 
     SendByte(0xf0&Dbyte<<4);//低四位(先执行<<) 
     CS = 0; 
} 
/****************************************************************************************** 
* 函数名称    :ReadData 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
uchar ReadData( void ) 
{ 
     CheckBusy(); 
     SendByte(0xfe);            //11111,RW(1),RS(1),0 
     return ReceiveByte(); 
} 
/****************************************************************************************** 
* 函数名称    :LcmInit 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void LcmInit( void ) 
{ 
     WriteCommand(0x30);      //8BitMCU,基本指令集合 
     WriteCommand(0x03);      //AC归0,不改变DDRAM内容 
     WriteCommand(0x0C);      //显示ON,游标OFF,游标位反白OFF 
     WriteCommand(0x01);      //清屏,AC归0 
     WriteCommand(0x06);      //写入时,游标右移动 
} 

/****************************************************************************************** 
* 函数名称    :LcmClearTXT 
* 功能描述    :文本区清RAM函数 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void LcmClearTXT( void ) 
{ 
     uchar i; 
     WriteCommand(0x30);      //8BitMCU,基本指令集合 
     WriteCommand(0x80);      //AC归起始位 
     for(i=0;i<64;i++) 
     WriteData(0x20); 
} 

/****************************************************************************************** 
* 函数名称    :LcmClearBMP 
* 功能描述    :图形区清RAM函数 
* 参数        :  参数名称:        输入/输出?        类型                描述 
* 图形区和文本区显示在两个不同的RAM区 
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void LcmClearBMP( void ) 
{ 
     uchar i,j; 
     WriteCommand(0x34);      //8Bit扩充指令集,即使是36H也要写两次 
     WriteCommand(0x36);      //绘图ON,基本指令集里面36H不能开绘图 
     for(i=0;i<32;i++)            //12864实际为256x32 
     { 
           WriteCommand(0x80|i);      //行位置 
           WriteCommand(0x80);      //列位置 
           for(j=0;j<32;j++)            //256/8=32 byte 
                WriteData(0); 
     } 
} 
/****************************************************************************************** 
* 函数名称    :PutStr 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void PutStr(uchar row,uchar col,uchar *puts) 
{ 
     WriteCommand(0x30);      //8BitMCU,基本指令集合 
     WriteCommand(AC_TABLE[8*row+col]);      //起始位置 
     while(*puts != '\0')      //判断字符串是否显示完毕 
     { 
           if(col==8)            //判断换行 
           {            //若不判断,则自动从第一行到第三行 
                 col=0; 
                 row++; 
           } 
           if(row==4) row=0;      //一屏显示完,回到屏左上角 
           WriteCommand(AC_TABLE[8*row+col]); 
           WriteData(*puts);      //一个汉字要写两次 
           puts++; 
           WriteData(*puts); 
           puts++; 
           col++; 
     } 
} 
/****************************************************************************************** 
* 函数名称    :PutBMP 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void PutBMP(uchar *puts) 
{ 
     uint x=0; 
     uchar i,j; 
     WriteCommand(0x34);      //8Bit扩充指令集,即使是36H也要写两次 
     WriteCommand(0x36);      //绘图ON,基本指令集里面36H不能开绘图 
     for(i=0;i<32;i++)            //12864实际为256x32 
     { 
           WriteCommand(0x80|i);      //行位置 
           WriteCommand(0x80);      //列位置 
           for(j=0;j<32;j++)      //256/8=32 byte 
           {            //列位置每行自动增加 
                 WriteData(puts[x]); 
                 x++; 
           } 
     } 
} 
/****************************************************************************************** 
* 函数名称    :DisplayDots 
* 功能描述    : 
* 参数        :  参数名称:        输入/输出?        类型                描述 
*  
* 返回值      : 
* 作者        : 
* 创建日期    :2006-12-19 
* 全局变量    : 
* 全局静态变量: 
* 局部静态变量: 
*----------------------------------------修改历史------------------------------------------ 
* 当前版本    :                          修改人:                  修改日期: 
* 修改说明    : 
******************************************************************************************/ 
void DisplayDots(uchar DotByte) 
{ 
     uchar i,j; 
     WriteCommand(0x34);      //8Bit扩充指令集,即使是36H也要写两次 
     WriteCommand(0x36);      //绘图ON,基本指令集里面36H不能开绘图 
     for(i=0;i<32;i++)            //12864实际为256x32 
     { 
           WriteCommand(0x80|i);      //行位置 
           WriteCommand(0x80);      //列位置 
           for(j=0;j<32;j++)      //256/8=32 byte 
           {            //列位置每行自动增加 
              WriteData(DotByte);                   
           } 
           DotByte=~DotByte; 
     } 
} 
LCDXY(uchar H,uchar L) 
{ 
         WriteCommand(0x30);      //8BitMCU,基本指令集合 
    WriteCommand(AC_TABLE[8*H+L]);      //起始位置 
} 
void Write_number(uchar s)//        数字显示函数 
{         
                WriteData(s+0x30); 
                //WriteData(s); 
                //WriteCommand(0x06); 
                //Delaynms(1); 
} 
/*void show_time()   //液晶显示程序 
{ 
          //DS1302_GetTime(&CurrentTime);  //获取时钟芯片的时间数据 
          //TimeToStr(&CurrentTime);       //时间数据转换液晶字符 
          //DateToStr(&CurrentTime);       //日期数据转换液晶字符 
          //ReadTemp();                    //开启温度采集程序 
          //temp_to_str();                 //温度数据转换成液晶字符 
          //PutStr(0,0,CurrentTime.TimeString); 
          PutStr(0,5,DIS3); 
        //PutStr(0,7,week_value); 
          //PutStr(3,0,DIS5); 
        //PutStr(1,TempBuffer[i]); 
        write(1,0xA1);         
        write(1,0xE6);  
}*/

⌨️ 快捷键说明

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