求大神幫我看一下,我寫的東西在屏上顯示不了距離,在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; //警報(bào)距離
- u8 count =0; //所用時(shí)間
- bit flag =0; //溢出標(biāo)志位
- bit flag200ms = 0; //200ms標(biāo)志位
- bit flag100ms = 0; //100ms標(biāo)志位
- //蜂鳴器初始化
- 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; //開啟總中斷
- }
- //定時(shí)中斷0
- void t0_init(){
- AUXR|=0x80; //工作于1T模式
- TMOD&=0xF0; //模式0
- TH0 = 0x1C; //1ms
- TL0 = 0x18;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
- }
- //定時(shí)中斷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; //個(gè)位
- 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]);
- }
- //顯示報(bào)警距離
- void display(){
- u8 buf[3];
- buf[2] = distance_alarm / 1 % 10; //個(gè)位
- 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(); //發(fā)送脈沖
- TR1=1; //開啟計(jì)數(shù)
- while(RX && !TF1); //RX為1計(jì)數(shù)并等待
- TR1=0; //關(guān)閉計(jì)數(shù)
- if(flag == 1){ //溢出
- flag = 0;
- distance = 0; //距離太遠(yuǎn)
- }else{
- count = TH1;
- count <<= 8;
- count |= TL1;
- distance = (u8)((unsigned long)count * 17 / 1000); //距離
- }
- TH1 = 0; //復(fù)位定時(shí)器
- TL1 = 0;
- display_distance();
- }
- }
- }
- //外部中斷0
- void exint0() interrupt 0{
- distance_alarm+=5;
- }
- //外部中斷1
- void exint1() interrupt 2{
- distance_alarm-=5;
- }
- //定時(shí)中斷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[]={"當(dāng)前距離"};
- uchar code str2[]={"當(dāng)前報(bào)警"};
- 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()
- * 功能 : 按照液晶的串口通信協(xié)議,發(fā)送數(shù)據(jù)
- * 輸入 : 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()
- * 功能 : 寫串口數(shù)據(jù)
- * 輸入 : dat
- * 輸出 : 無
- ***********************************************************************/
- void lcd_dat(unsigned char dat)
- {
- sendbyte(0xfa);
- sendbyte(dat&0xf0);
- sendbyte((dat<<4)&0xf0);
- delay_yjp(2);
- }
- //顯示一個(gè)字符
- 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); /*顯示數(shù)組chn中第a個(gè)字符*/
- }
- /*---------------顯示字符----------------*/
- 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]); /*顯示數(shù)組chn中第a個(gè)字符*/
- lcd_dat(chn[b]); /*顯示數(shù)組chn中第b個(gè)字符*/
- }
- /*---------------顯示漢字----------------*/
- 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]); /*根據(jù)時(shí)序:數(shù)據(jù)傳輸分兩次,第一次傳輸高4位,第二次傳輸?shù)?位,因一個(gè)字占用兩個(gè)地址故乘以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; /*串行傳輸片選信號(hào)選通*/
- PSB=0; /*串行通信模式*/
- lcd_cmd(0x30); /*30---基本指令動(dòng)作*/
- lcd_cmd(0x01); /*清屏,地址指針指向00H*/
- delay_yjp(100);
- lcd_cmd(0x06); /*光標(biāo)的移動(dòng)方向*/
- lcd_cmd(0x0c); /*開顯示,關(guān)游標(biāo)*/
- }
- 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++){ //當(dāng)前距離
- 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++){ //當(dāng)前警報(bào)
- 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);//當(dāng)
- 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協(xié)議規(guī)定當(dāng)時(shí)鐘線為高,數(shù)據(jù)線由高變?yōu)榈蜁r(shí),為啟動(dòng)信號(hào)。
- {
- OLED_SCLK_Set() ;
- OLED_SDIN_Set();
- OLED_SDIN_Clr();
- }
- void IIC_Stop()//IIC協(xié)議規(guī)定當(dāng)時(shí)鐘線為高,數(shù)據(jù)線由低變?yōu)楦邥r(shí),為終止信號(hào)。
- {
- OLED_SCLK_Set();
- OLED_SDIN_Clr();
- OLED_SDIN_Set();
- }
- void IIC_Wait_Ack()//應(yīng)答信號(hào)是在第九個(gè)時(shí)鐘脈沖期間,要等待從機(jī)將數(shù)據(jù)線變?yōu)榈碗娖健?br />
- {
- 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協(xié)議規(guī)定,只有時(shí)鐘線為低電平期間,數(shù)據(jù)線上的電平才允許變化。
- for(i=0;i<8;i++)
- {
- m=da;
- m=m&0x80;//提取最高位
- if(m==0x80)
- {OLED_SDIN_Set();}
- else OLED_SDIN_Clr();
- da=da<<1;//數(shù)據(jù)由高至低一位一位傳輸。
- OLED_SCLK_Set();//高電平期間數(shù)據(jù)保存穩(wěn)定。
- OLED_SCLK_Clr();//低電平期間保證下一次移入的次高位數(shù)據(jù)有效。即釋放總線。
- }
- }
- void Write_IIC_Command(uchar IIC_Command)
- {
- IIC_Start();
- Write_IIC_Byte(0x78); //Slave address,SA0=0
- IIC_Wait_Ack();//第9個(gè)時(shí)鐘脈沖作為應(yīng)答信號(hào)的輸出脈沖,此處并未等待應(yīng)答信號(hào),默認(rèn)應(yīng)答成功,此條語句只是為了匹配IIC的傳輸協(xié)議。
- 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);//設(shè)置頁地址
- OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);//設(shè)置列地址高四位
- OLED_WR_Byte((x&0x0f),OLED_CMD); //設(shè)置列地址低四位
- }
- /*清屏函數(shù),清完屏,整個(gè)屏幕是黑色的!和沒點(diǎn)亮一樣!!!*/
- void OLED_Clear(void)
- {
- uchar i,n;
- for(i=0;i<8;i++)
- {
- OLED_WR_Byte (0xb0+i,OLED_CMD); //設(shè)置頁地址(0~7)
- OLED_WR_Byte (0x00,OLED_CMD); //設(shè)置顯示位置—列低地址
- OLED_WR_Byte (0x10,OLED_CMD); //設(shè)置顯示位置—列高地址
- for(n=0;n<128;n++)
- OLED_WR_Byte(0,OLED_DATA); //關(guān)閉一個(gè)屏幕共8頁,每一頁有128個(gè)點(diǎn)陣。
- } //更新顯示
- }
- /*在指定位置顯示一個(gè)字符,包括部分字符
- 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-' ';/*得到偏移后的值,因?yàn)閛ledfont.h中常用字符取模數(shù)組F8X16[]是一‘ ’開始且連續(xù),此處求取的是chr在數(shù)組中的位置。*/
- 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函數(shù)
- u32 oled_pow(uchar m,uchar n)
- {
- u32 result=1;
- while(n--)result*=m;
- return result;
- }
- /*顯示2個(gè)數(shù)字
- x,y :起點(diǎn)坐標(biāo)
- len :數(shù)字的位數(shù)
- size:字體大小
- mode:模式 0,填充模式;1,疊加模式
- num:數(shù)值(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);
- }
- }
- /*顯示一個(gè)字符號(hào)串*/
- 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起始點(diǎn)坐標(biāo)(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供應(yīng)商或數(shù)據(jù)手冊(cè)提供,無需深究。*/
- 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++);
- }
- //啟動(dòng)模塊
- void StartModule()
- {
- TX=1;
- delay_ms(20);
- TX=0;
- }
復(fù)制代碼
|