标题:
求大神帮我看下我这个超神波程序哪里错了
[打印本页]
作者:
噶实践活动
时间:
2021-12-2 17:39
标题:
求大神帮我看下我这个超神波程序哪里错了
求大神帮我看一下,我写的东西在屏上显示不了距离,在lcd和oled上面都不行主程序如下:
#include <stc15.h>
#include "lcd12864cx.h"
#include "oled.h"
#include "ultrasonic.h"
#define u8 unsigned char
sbit buzzer = P0^2;
u8 distance = 0; //距离
u8 distance_alarm = 20; //警报距离
u8 count =0; //所用时间
bit flag =0; //溢出标志位
bit flag200ms = 0; //200ms标志位
bit flag100ms = 0; //100ms标志位
//蜂鸣器初始化
void buzzer_init(){
P0M0=1; //开漏输出
P0M1=1;
buzzer=0;
}
//外部中断0配置
void int0_init(){
IE0 = 0;
IT0 = 1; //中断类型,下降沿
EX0 = 1; //外部中断0允许位
EA = 1; //开启总中断
}
//外部中断1配置
void int1_init(){
IE1 = 0;
IT1 = 1; //中断类型,下降沿
EX1 = 1; //外部中断1允许位
EA = 1; //开启总中断
}
//定时中断0
void t0_init(){
AUXR|=0x80; //工作于1T模式
TMOD&=0xF0; //模式0
TH0 = 0x1C; //1ms
TL0 = 0x18;
EA = 1;
ET0 = 1;
TR0 = 1;
}
//定时中断1
void t1_init() {
AUXR &= 0xBF;
TMOD &= 0x0F;
TMOD |= 0x10;
TL1 = 0;
TH1 = 0;
TF1 = 0;
}
//显示距离
void display_distance(){
u8 buf[3];
buf[2] = distance / 1 % 10; //个位
buf[1] = distance / 10 % 10; //十位
buf[0] = distance / 100 % 10; //百位
OLED_ShowChar(96,4,buf[0],8);
OLED_ShowChar(104,4,buf[1],8);
OLED_ShowChar(112,4,buf[2],8);
delay_ms(10);
co_disp_one(2,4,buf[0]);
co_disp_one(2,5,buf[1]);
co_disp_one(2,6,buf[2]);
}
//显示报警距离
void display(){
u8 buf[3];
buf[2] = distance_alarm / 1 % 10; //个位
buf[1] = distance_alarm / 10 % 10; //十位
buf[0] = distance_alarm / 100 % 10; //百位
co_disp_one(3,4,buf[0]);
co_disp_one(3,5,buf[1]);
co_disp_one(3,6,buf[2]);
delay_ms(10);
}
//检测距离
void check(){
if(distance > distance_alarm){
buzzer = 1;
}else{
buzzer = 0;
}
}
void main(){
int0_init();
int1_init();
t0_init();
t1_init();
GPIO_Init_Ult();//超声波初始化
GPIO_Init_Lcd();
lcd_init(); //lcd初始化
clrram(); //清空显示
lcd_display(); //初始界面
delay_ms(500);
GPIO_Init_Oled();
OLED_Init(); //oled初始化
OLED_Clear(); //oled清屏
delay_ms(500);
OLED_Clear();
oled_display(); //初始界面
delay_ms(500);
buzzer_init(); //蜂鸣器初始化
while(1){
if(flag100ms){ //100ms
flag100ms = 0;
display();
check();
}else if(flag200ms){ //200ms
flag200ms = 0;
RX = 1;
StartModule(); //发送脉冲
TR1=1; //开启计数
while(RX && !TF1); //RX为1计数并等待
TR1=0; //关闭计数
if(flag == 1){ //溢出
flag = 0;
distance = 0; //距离太远
}else{
count = TH1;
count <<= 8;
count |= TL1;
distance = (u8)((unsigned long)count * 17 / 1000); //距离
}
TH1 = 0; //复位定时器
TL1 = 0;
display_distance();
}
}
}
//外部中断0
void exint0() interrupt 0{
distance_alarm+=5;
}
//外部中断1
void exint1() interrupt 2{
distance_alarm-=5;
}
//定时中断0
void time0() interrupt 1{
static u8 i=0;
TH0 = 0x1C; //1ms
TL0 = 0x18;
i++;
if(i==199){ //0.2s
i=0;
flag200ms=1;
}else if(i==99){ //0.1s
flag100ms=1;
}
}
void time1() interrupt 3{
flag = 1;
}lcd的程序
#include "lcd12864cx.h"
#include "oledfont.h"
uchar code str1[]={"当前距离"};
uchar code str2[]={"当前报警"};
uchar code str3[]={" CM "};
void GPIO_Init_Lcd()
{
P0M0=0;
P0M1=0;
P1M0=0;
P1M1=0;
P2M0=0;
P2M1=0;
P3M0=0;
P3M1=0;
P4M0=0;
P4M1=0;
P5M0=0;
P5M1=0;
}
void delay_yjp(unsigned int t)
{
unsigned int i,j;
for(i=0; i<t; i++)
for(j=0; j<100; j++);
}
/********************************************************************
* 名称 : sendbyte()
* 功能 : 按照液晶的串口通信协议,发送数据
* 输入 : dat
* 输出 : 无
***********************************************************************/
void sendbyte(unsigned char dat)
{
unsigned int i;
for(i=0; i<8; i++)
{
if((dat << i) & 0x80)
{
SID = 1;
}
else
{
SID = 0;
}
SCLK = 0;
SCLK = 1;
}
}
/********************************************************************
* 名称 : lcd_cmd()
* 功能 : 写串口指令
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void lcd_cmd(unsigned char cmd)
{
sendbyte(0xf8);
sendbyte(cmd & 0xf0);
sendbyte((cmd << 4) & 0xf0);
delay_yjp(2);
}
/********************************************************************
* 名称 : lcd_dat()
* 功能 : 写串口数据
* 输入 : dat
* 输出 : 无
***********************************************************************/
void lcd_dat(unsigned char dat)
{
sendbyte(0xfa);
sendbyte(dat&0xf0);
sendbyte((dat<<4)&0xf0);
delay_yjp(2);
}
//显示一个字符
void co_disp_one(uchar x,uchar y,uchar dat)
{
if(x==0)x=0x80;
if(x==1)x=0x90;
if(x==2)x=0x88;
if(x==3)x=0x98;
lcd_cmd(0x30);
lcd_cmd(x+y);
lcd_dat(dat); /*显示数组chn中第a个字符*/
}
/*---------------显示字符----------------*/
void co_disp(uchar x,uchar y,uchar a,uchar b ,uchar code *chn)
{
if(x==0)x=0x80;
if(x==1)x=0x90;
if(x==2)x=0x88;
if(x==3)x=0x98;
lcd_cmd(0x30);
lcd_cmd(x+y);
lcd_dat(chn[a]); /*显示数组chn中第a个字符*/
lcd_dat(chn[b]); /*显示数组chn中第b个字符*/
}
/*---------------显示汉字----------------*/
void cn_disp(uchar x,uchar y,uchar lie ,uchar code *chn)
{
if(x==0)x=0x80;
if(x==1)x=0x90;
if(x==2)x=0x88;
if(x==3)x=0x98;
lcd_cmd(0x30);
lcd_cmd(x+y);
lcd_dat(chn[2*lie]); /*根据时序:数据传输分两次,第一次传输高4位,第二次传输低4位,因一个字占用两个地址故乘以2。*/
lcd_dat(chn[2*lie+1]);
}
/*--------------清DDRAM------------------*/
void clrram (void)
{
lcd_cmd(0x30);
lcd_cmd(0x01); //清除显示指令。
delay_yjp(180);
}
/*------------------初始化----------------*/
void lcd_init (void)
{
CS=1; /*串行传输片选信号选通*/
PSB=0; /*串行通信模式*/
lcd_cmd(0x30); /*30---基本指令动作*/
lcd_cmd(0x01); /*清屏,地址指针指向00H*/
delay_yjp(100);
lcd_cmd(0x06); /*光标的移动方向*/
lcd_cmd(0x0c); /*开显示,关游标*/
}
void lcd_display(){
uchar i;
for(i=2;i<6;i++){
cn_disp(0,i,i,str1);
}
for(i=1;i<8;i++){
cn_disp(1,i,i,str2);
}
for(i=0;i<4;i++){ //当前距离
cn_disp(2,i,i,str3);
}
for(i=6;i<8;i++){ // CM
co_disp(2,i,(i-6),(i-4),str5);
}
for(i=0;i<4;i++){ //当前警报
cn_disp(3,i,i,str4);
}
for(i=6;i<8;i++){ // CM
co_disp(3,i,(i-6),(i-4),str5);
}
}
oled的程序
void oled_display() /*显示主界面“”*/
{
OLED_ShowCHinese(48,0,0);
OLED_ShowCHinese(64,0,1);
OLED_ShowCHinese(80,0,2);
OLED_ShowCHinese(96,0,3);
OLED_ShowCHinese(24,2,4);
OLED_ShowCHinese(40,2,5);
OLED_ShowCHinese(56,2,6);
OLED_ShowCHinese(72,2,7);
OLED_ShowCHinese(88,2,8);
OLED_ShowCHinese(104,2,9);
OLED_ShowCHinese(120,2,10);
OLED_ShowCHinese(24,4,11);//当
OLED_ShowCHinese(40,4,12);//前
OLED_ShowCHinese(56,4,13);//距
OLED_ShowCHinese(72,4,14);//离
OLED_ShowChar(88,4,':',8);//:
OLED_ShowChar(96,4,'0',8);//0
OLED_ShowChar(104,4,'0',8);//0
OLED_ShowChar(112,4,'0',8);//0
OLED_ShowChar(120,4,'C',8);//C
OLED_ShowChar(128,4,'M',8);//M
}
void GPIO_Init_Oled()
{
P0M0=0;
P0M1=0;
P1M0=0;
P1M1=0;
P2M0=0;
P2M1=0;
P3M0=0;
P3M1=0;
P4M0=0;
P4M1=0;
P5M0=0;
P5M1=0;
P6M0=0;
P6M1=0;
}
void IIC_Start()//IIC协议规定当时钟线为高,数据线由高变为低时,为启动信号。
{
OLED_SCLK_Set() ;
OLED_SDIN_Set();
OLED_SDIN_Clr();
}
void IIC_Stop()//IIC协议规定当时钟线为高,数据线由低变为高时,为终止信号。
{
OLED_SCLK_Set();
OLED_SDIN_Clr();
OLED_SDIN_Set();
}
void IIC_Wait_Ack()//应答信号是在第九个时钟脉冲期间,要等待从机将数据线变为低电平。
{
OLED_SCLK_Set();
OLED_SCLK_Clr();
}
void Write_IIC_Byte(uchar IIC_Byte)
{
uchar i;
uchar m,da;
da=IIC_Byte;
OLED_SCLK_Clr();//IIC协议规定,只有时钟线为低电平期间,数据线上的电平才允许变化。
for(i=0;i<8;i++)
{
m=da;
m=m&0x80;//提取最高位
if(m==0x80)
{OLED_SDIN_Set();}
else OLED_SDIN_Clr();
da=da<<1;//数据由高至低一位一位传输。
OLED_SCLK_Set();//高电平期间数据保存稳定。
OLED_SCLK_Clr();//低电平期间保证下一次移入的次高位数据有效。即释放总线。
}
}
void Write_IIC_Command(uchar IIC_Command)
{
IIC_Start();
Write_IIC_Byte(0x78); //Slave address,SA0=0
IIC_Wait_Ack();//第9个时钟脉冲作为应答信号的输出脉冲,此处并未等待应答信号,默认应答成功,此条语句只是为了匹配IIC的传输协议。
Write_IIC_Byte(0x00); //write command
IIC_Wait_Ack();
Write_IIC_Byte(IIC_Command);
IIC_Wait_Ack();
IIC_Stop();
}
void Write_IIC_Data(uchar IIC_Data)
{
IIC_Start();
Write_IIC_Byte(0x78);
IIC_Wait_Ack();
Write_IIC_Byte(0x40); //write data
IIC_Wait_Ack();
Write_IIC_Byte(IIC_Data);
IIC_Wait_Ack();
IIC_Stop();
}
void OLED_WR_Byte(uchar dat,uchar cmd)
{
if(cmd)
{
Write_IIC_Data(dat);
}
else
{
Write_IIC_Command(dat);
}
}
/*x取值范围为;0-255;y取值范围为:0-7。*/
void OLED_Set_Pos(uchar x, uchar y)
{
OLED_WR_Byte(0xb0+y,OLED_CMD);//设置页地址
OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);//设置列地址高四位
OLED_WR_Byte((x&0x0f),OLED_CMD); //设置列地址低四位
}
/*清屏函数,清完屏,整个屏幕是黑色的!和没点亮一样!!!*/
void OLED_Clear(void)
{
uchar i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址(0~7)
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++)
OLED_WR_Byte(0,OLED_DATA); //关闭一个屏幕共8页,每一页有128个点阵。
} //更新显示
}
/*在指定位置显示一个字符,包括部分字符
x:0~127
y:0~7
size:选择字体 16/12 */
void OLED_ShowChar(uchar x,uchar y,uchar chr,uchar Char_Size)
{
uchar c=0,i=0;
c=chr-' ';/*得到偏移后的值,因为oledfont.h中常用字符取模数组F8X16[]是一‘ ’开始且连续,此处求取的是chr在数组中的位置。*/
if(x>Max_Column-1)
{x=0;y=y+2;}
if(Char_Size ==16)
{
OLED_Set_Pos(x,y);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
OLED_Set_Pos(x,y+1);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
}
}
//m^n函数
u32 oled_pow(uchar m,uchar n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
/*显示2个数字
x,y :起点坐标
len :数字的位数
size:字体大小
mode:模式 0,填充模式;1,叠加模式
num:数值(0~4294967295)*/
void OLED_ShowNum(uchar x,uchar y,u32 num,uchar len,uchar size2)
{
uchar t,temp;
uchar enshow=0;
for(t=0;t<len;t++)
{
temp=(num/oled_pow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
continue;
}else enshow=1;
}
OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
}
}
/*显示一个字符号串*/
void OLED_ShowString(uchar x,uchar y,uchar *chr,uchar Char_Size)
{
unsigned char j=0;
while (chr[j]!='\0')
{ OLED_ShowChar(x,y,chr[j],Char_Size);
x+=8;
if(x>120){x=0;y+=2;}
j++;
}
}
/*显示汉字 x:列地址(0-255);y:页地址(0-7)。*/
void OLED_ShowCHinese(uchar x,uchar y,uchar no)
{
uchar t,adder=0;
OLED_Set_Pos(x,y);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
adder+=1;
}
OLED_Set_Pos(x,y+1);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
adder+=1;
}
}
/*功能描述:显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7。*/
void OLED_DrawBMP(uchar x0, uchar y0,uchar x1, uchar y1,uchar *BMP)
{
uint j=0;
uchar x,y;
if(y1%8==0) y=y1/8;
else y=y1/8+1;
for(y=y0;y<y1;y++)
{
OLED_Set_Pos(x0,y);
for(x=x0;x<x1;x++)
{
OLED_WR_Byte(BMP[j++],OLED_DATA);
}
}
}
/*初始化OLED控制器SSD1306,由OLED供应商或数据手册提供,无需深究。*/
void OLED_Init(void)
{
OLED_WR_Byte(0xAE,OLED_CMD);//--display off
OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
OLED_WR_Byte(0x40,OLED_CMD);//--set start line address
OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
OLED_WR_Byte(0x81,OLED_CMD); // contract control
OLED_WR_Byte(0xFF,OLED_CMD);//--128
OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap
OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
OLED_WR_Byte(0x3F,OLED_CMD);//--1/32 duty
OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction
OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
OLED_WR_Byte(0x00,OLED_CMD);//
OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
OLED_WR_Byte(0x80,OLED_CMD);//
OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
OLED_WR_Byte(0x05,OLED_CMD);//
OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
OLED_WR_Byte(0xF1,OLED_CMD);//
OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion
OLED_WR_Byte(0x12,OLED_CMD);//
OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
OLED_WR_Byte(0x30,OLED_CMD);//
OLED_WR_Byte(0x8D,OLED_CMD);//set charge pump enable
OLED_WR_Byte(0x14,OLED_CMD);//
OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
OLED_Clear();
}const uchar code F8X16[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
};
uchar code Hzk[][32]={
{0x10,0x10,0xD0,0xFF,0x90,0x10,0xC8,0x54,0x52,0xD1,0x12,0x94,0x08,0xD0,0x10,0x00},
{0x04,0x03,0x00,0xFF,0x00,0x01,0xFF,0x12,0x92,0xFF,0x00,0x5F,0x80,0x7F,0x00,0x00},
{0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0x10,0x10,0xD0,0xFF,0xD0,0x10,0x10,0x10,0x00},
{0x04,0x03,0x00,0xFF,0x00,0x11,0x08,0x04,0x03,0x00,0xFF,0x00,0x03,0x04,0x08,0x00},
{0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00},
{0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00},
{0x00,0xFE,0x22,0x5A,0x86,0x10,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x14,0x0C,0x00},
{0x00,0xFF,0x04,0x08,0x07,0x80,0x41,0x31,0x0F,0x01,0x01,0x3F,0x41,0x41,0x71,0x00},
{0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9E,0x82,0x82,0x82,0x9E,0xA0,0x20,0x20,0x00},
{0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x43,0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0x00},
{0x40,0x40,0x42,0xCC,0x00,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x40,0x00},
{0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},
{0x20,0x20,0x24,0x24,0x24,0x24,0xBF,0x64,0x24,0x34,0x28,0x24,0x22,0x20,0x20,0x00},
{0x10,0x08,0x04,0x02,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x04,0x74,0x54,0x55,0x56,0x54,0x74,0x04,0x00,0xFE,0x02,0x22,0xDA,0x06,0x00,0x00},
{0x10,0x11,0x51,0x91,0x7D,0x0B,0x09,0x08,0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0x00},
{0x08,0x88,0x88,0xFF,0x88,0xA8,0x10,0xE8,0x27,0x24,0xE4,0x34,0x2C,0xE0,0x00,0x00},
{0x08,0x08,0x08,0xFF,0x08,0x08,0x00,0x3F,0x42,0x42,0x43,0x42,0x42,0x43,0x70,0x00},
{0x44,0x84,0x14,0x64,0x0F,0x24,0xA4,0x24,0x24,0xE4,0x2F,0x24,0xA4,0x24,0x04,0x00},
{0x08,0x09,0x78,0x04,0x03,0x04,0x04,0x05,0x04,0xFF,0x04,0x05,0x04,0x04,0x04,0x00},
{0x00,0x40,0x42,0x44,0x58,0x40,0x40,0x7F,0x40,0x40,0x50,0x48,0xC6,0x00,0x00,0x00},
{0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00},
{0x08,0x08,0xE8,0x29,0x2E,0x28,0xE8,0x08,0x08,0xC8,0x0C,0x0B,0xE8,0x08,0x08,0x00},
{0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00},
{0x00,0x3E,0x22,0xE2,0x22,0x3E,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0xE2,0x02,0x00},
{0x20,0x3F,0x20,0x1F,0x11,0x11,0x00,0x7F,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x00},
{0x04,0x04,0x04,0xF4,0x84,0xD4,0xA5,0xA6,0xA4,0xD4,0x84,0xF4,0x04,0x04,0x04,0x00},
{0x00,0xFE,0x02,0x02,0x12,0x3A,0x16,0x13,0x12,0x1A,0x32,0x42,0x82,0x7E,0x00,0x00},
};
超声波的程序
include "stc15.h"
#include "ultrasonic.h"
void GPIO_Init_Ult(){
P1M0=0;
P1M1=0;
}
void delay_ms(u16 z)
{
u8 i;
while(z--)
for(i=0;i<120;i++);
}
//启动模块
void StartModule()
{
TX=1;
delay_ms(20);
TX=0;
}
复制代码
作者:
13205495918
时间:
2021-12-3 07:55
有一说一兄弟,你最好还是贴出来发个贴,你这样别人帮你看的时候还得花黑币下载
作者:
噶实践活动
时间:
2021-12-3 10:19
13205495918 发表于 2021-12-3 07:55
有一说一兄弟,你最好还是贴出来发个贴,你这样别人帮你看的时候还得花黑币下载
好的,好的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1