赞
踩
模块配置网站:http://www.smartpi.cn/#/
1.点击创建产品 -> 其他 -> 其他产品
2.选择场景为 纯离线方案 ,选择模组为 SU-03T。
3.填写产品信息
4.根据需要进行Pin 脚配置,唤醒词自定义,离线命令词与应答语自定义,发音人配置,其他配置,然后点击生成新版本即可。
5.点击产品列表 -> 选择刚刚生成的产品点击查看详情 -> 语音SDK -> 点击生成SDK
6.生成SDK大概10~30分钟,生成完成后会发手机短信提醒你,然后点击下载SDK,注意下载到没有中文路径的位置,不然烧录时候会出错。
1.接线方式
B7 引脚 接 串口 RXD
B6 引脚 接 串口 TXD
GND 接 串口 GND
VCC 接 串口 VCC
2.选择需要升级的固件 bin 文件
在目录uni_hb_m_solution\image_demo\Hummingbird-M-Update-Tool
下默认选择UniOneUpdateTool.exe
程序同目录下的 uni_app_release_update.bin
文件,如固件放在其他位置,单击选择按钮,指定选择到对应 bin 文件即可。
3. 点击烧录按钮,如图所示,提示栏显示等待设备。(注意:此时设备不要上电)
4.蜂鸟 M 板上电开机,正常情况下就会自动开始下载了。
5.烧录完成,设备将自动重启进入正常开机状
main.c
#include "reg52.h" #include "hc04.h" #include "delay.h" #include "sg90.h" #include "Oled.h" #include "motor.h" #define MIDDLE 0 #define LEFT 1 #define RIGHT 2 #define BZ 1 #define XJ 2 #define GS 3 sbit A25 = P1^5; sbit A26 = P1^6; sbit A27 = P1^7; sbit leftSensorX = P2^7; sbit rightSensorX = P2^6; sbit leftSensorG = P2^5; sbit rightSensorG = P2^4; char dir; double disMiddle; double disLeft; double disRight; void xunjiMode() { if(leftSensorX == 0 && rightSensorX == 0){ goForward(); } if(leftSensorX == 1 && rightSensorX == 0){ goLeft(); } if(leftSensorX == 0 && rightSensorX == 1){ goRight(); } if(leftSensorX == 1 && rightSensorX == 1){ //停 stop(); } } void gensuiMode() { if(leftSensorG == 0 && rightSensorG == 0){ goForward(); } if(leftSensorG == 1 && rightSensorG == 0){ goRight(); } if(leftSensorG == 0 && rightSensorG == 1){ goLeft(); } if(leftSensorG == 1 && rightSensorG == 1){ //停 stop(); } } void bizhangMode() { if(dir != MIDDLE){ sgMiddle(); dir = MIDDLE; Delay300ms(); } disMiddle = get_distance(); if(disMiddle > 35){ //前进 goForward(); }else if(disMiddle < 10){ goBack(); }else { //停止 stop(); //测左边距离 sgLeft(); Delay300ms(); disLeft = get_distance(); sgMiddle(); Delay300ms(); sgRight(); dir = RIGHT; Delay300ms(); disRight = get_distance(); if(disLeft < disRight){ goRight(); Delay150ms(); stop(); } if(disRight < disLeft){ goLeft(); Delay150ms(); stop(); } } } void main() { int mark = 0; Time0Init(); Time1Init(); //舵机的初始位置 sgMiddle(); Delay300ms(); Delay300ms(); dir = MIDDLE; Oled_Init(); Oled_Clear(); Oled_Show_Str(2,2,"-----Ready----"); while(1){ //满足寻迹模式的条件 if(A25 == 0 && A26 == 1 && A27 == 1){ if(mark != XJ){ Oled_Clear(); Oled_Show_Str(2,2,"-----XunJi----"); } mark = XJ; xunjiMode(); } //满足跟随模式的条件 if(A25 == 1 && A26 == 0 && A27 == 1){ if(mark != GS){ Oled_Clear(); Oled_Show_Str(2,2,"-----GenSui----"); } mark = GS; gensuiMode(); } //满足避障模式的条件 if(A25 == 1 && A26 == 1 && A27 == 0){ if(mark != BZ){ Oled_Clear(); Oled_Show_Str(2,2,"-----BiZhang----"); } mark = BZ; bizhangMode(); } } }
sg90.c
#include "reg52.h" #include "delay.h" sbit sg90_con = P1^1; int jd; int cnt = 0; void Time0Init() { //1. 配置定时器0工作模式位16位计时 TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //2. 给初值,定一个0.5出来 TL0=0x33; TH0=0xFE; //3. 开始计时 TR0 = 1; TF0 = 0; //4. 打开定时器0中断 ET0 = 1; //5. 打开总中断EA EA = 1; } void sgMiddle() { //中间位置 jd = 3; //90度 1.5ms高电平 cnt = 0; } void sgLeft() { //左边位置 jd = 5; //135度 1.5ms高电平 cnt = 0; } void sgRight() { //右边位置 jd = 1; //0度 cnt = 0; } void Time0Handler() interrupt 1 { cnt++; //统计爆表的次数. cnt=1的时候,报表了1 //重新给初值 TL0=0x33; TH0=0xFE; //控制PWM波 if(cnt < jd){ sg90_con = 1; }else{ sg90_con = 0; } if(cnt == 40){//爆表40次,经过了20ms cnt = 0; //当100次表示1s,重新让cnt从0开始,计算下一次的1s sg90_con = 1; } }
Oled.c
#include "reg52.h" #include "intrins.h" #include "Oledfont.h" sbit scl = P1^2; sbit sda = P1^3; void IIC_Start() { scl = 0; sda = 1; scl = 1; _nop_(); sda = 0; _nop_(); } void IIC_Stop() { scl = 0; sda = 0; scl = 1; _nop_(); sda = 1; _nop_(); } char IIC_ACK() { char flag; sda = 1;//就在时钟脉冲9期间释放数据线 _nop_(); scl = 1; _nop_(); flag = sda; _nop_(); scl = 0; _nop_(); return flag; } void IIC_Send_Byte(char dataSend) { int i; for(i = 0;i<8;i++){ scl = 0;//scl拉低,让sda做好数据准备 sda = dataSend & 0x80;//1000 0000获得dataSend的最高位,给sda _nop_();//发送数据建立时间 scl = 1;//scl拉高开始发送 _nop_();//数据发送时间 scl = 0;//发送完毕拉低 _nop_();// dataSend = dataSend << 1; } } void Oled_Write_Cmd(char dataCmd) { // 1. start() IIC_Start(); // // 2. 写入从机地址 b0111 1000 0x78 IIC_Send_Byte(0x78); // 3. ACK IIC_ACK(); // 4. cotrol byte: (0)(0)000000 写入命令 (0)(1)000000写入数据 IIC_Send_Byte(0x00); // 5. ACK IIC_ACK(); //6. 写入指令/数据 IIC_Send_Byte(dataCmd); //7. ACK IIC_ACK(); //8. STOP IIC_Stop(); } void Oled_Write_Data(char dataData) { // 1. start() IIC_Start(); // // 2. 写入从机地址 b0111 1000 0x78 IIC_Send_Byte(0x78); // 3. ACK IIC_ACK(); // 4. cotrol byte: (0)(0)000000 写入命令 (0)(1)000000写入数据 IIC_Send_Byte(0x40); // 5. ACK IIC_ACK(); ///6. 写入指令/数据 IIC_Send_Byte(dataData); //7. ACK IIC_ACK(); //8. STOP IIC_Stop(); } void Oled_Init(void){ Oled_Write_Cmd(0xAE);//--display off Oled_Write_Cmd(0x00);//---set low column address Oled_Write_Cmd(0x10);//---set high column address Oled_Write_Cmd(0x40);//--set start line address Oled_Write_Cmd(0xB0);//--set page address Oled_Write_Cmd(0x81); // contract control Oled_Write_Cmd(0xFF);//--128 Oled_Write_Cmd(0xA1);//set segment remap Oled_Write_Cmd(0xA6);//--normal / reverse Oled_Write_Cmd(0xA8);//--set multiplex ratio(1 to 64) Oled_Write_Cmd(0x3F);//--1/32 duty Oled_Write_Cmd(0xC8);//Com scan direction Oled_Write_Cmd(0xD3);//-set display offset Oled_Write_Cmd(0x00);// Oled_Write_Cmd(0xD5);//set osc division Oled_Write_Cmd(0x80);// Oled_Write_Cmd(0xD8);//set area color mode off Oled_Write_Cmd(0x05);// Oled_Write_Cmd(0xD9);//Set Pre-Charge Period Oled_Write_Cmd(0xF1);// Oled_Write_Cmd(0xDA);//set com pin configuartion Oled_Write_Cmd(0x12);// Oled_Write_Cmd(0xDB);//set Vcomh Oled_Write_Cmd(0x30);// Oled_Write_Cmd(0x8D);//set charge pump enable Oled_Write_Cmd(0x14);// Oled_Write_Cmd(0xAF);//--turn on oled panel } void Oled_Clear() { unsigned char i,j; //-128 --- 127 for(i=0;i<8;i++){ Oled_Write_Cmd(0xB0 + i);//page0--page7 //每个page从0列 Oled_Write_Cmd(0x00); Oled_Write_Cmd(0x10); //0到127列,依次写入0,每写入数据,列地址自动偏移 for(j = 0;j<128;j++){ Oled_Write_Data(0); } } } void Oled_Show_Char(char row,char col,char oledChar){ //row*2-2 unsigned int i; Oled_Write_Cmd(0xb0+(row*2-2)); //page 0 Oled_Write_Cmd(0x00+(col&0x0f)); //low Oled_Write_Cmd(0x10+(col>>4)); //high for(i=((oledChar-32)*16);i<((oledChar-32)*16+8);i++){ Oled_Write_Data(F8X16[i]); //写数据oledTable1 } Oled_Write_Cmd(0xb0+(row*2-1)); //page 1 Oled_Write_Cmd(0x00+(col&0x0f)); //low Oled_Write_Cmd(0x10+(col>>4)); //high for(i=((oledChar-32)*16+8);i<((oledChar-32)*16+8+8);i++){ Oled_Write_Data(F8X16[i]); //写数据oledTable1 } } void Oled_Show_Str(char row,char col,char *str){ while(*str!=0){ Oled_Show_Char(row,col,*str); str++; col += 8; } }
motor.c
#include "reg52.h" sbit RightCon1A = P3^7; sbit RightCon1B = P3^3; sbit LeftCon1A = P3^4; sbit LeftCon1B = P3^5; void goForward() { LeftCon1A = 0; LeftCon1B = 1; RightCon1A = 0; RightCon1B = 1; } void goRight() { LeftCon1A = 0; LeftCon1B = 1; RightCon1A = 0; RightCon1B = 0; } void goLeft() { LeftCon1A = 0; LeftCon1B = 0; RightCon1A = 0; RightCon1B = 1; } void goBack() { LeftCon1A = 1; LeftCon1B = 0; RightCon1A = 1; RightCon1B = 0; } void stop() { LeftCon1A = 0; LeftCon1B = 0; RightCon1A = 0; RightCon1B = 0; }
hc04.c
#include "reg52.h" #include "delay.h" sbit Trig = P2^3; sbit Echo = P2^2; void Time1Init() { TMOD &= 0x0F; //设置定时器模式 TMOD |= 0x10; TH1 = 0; TL1 = 0; //设置定时器0工作模式1,初始值设定0开始数数,不着急启动定时器 } void startHC() { Trig = 0; Trig = 1; Delay10us(); Trig = 0; } double get_distance() { double time; //定时器数据清零,以便下一次测距 TH1 = 0; TL1 = 0; //1. Trig ,给Trig端口至少10us的高电平 startHC(); //2. echo由低电平跳转到高电平,表示开始发送波 while(Echo == 0); //波发出去的那一下,开始启动定时器 TR1 = 1; //3. 由高电平跳转回低电平,表示波回来了 while(Echo == 1); //波回来的那一下,我们开始停止定时器 TR1 = 0; //4. 计算出中间经过多少时间 time = (TH1 * 256 + TL1)*1.085;//us为单位 //5. 距离 = 速度 (340m/s)* 时间/2 return (time * 0.017); }
delay.c
#include "intrins.h" void Delay2000ms() //@11.0592MHz { unsigned char i, j, k; i = 15; j = 2; k = 235; do { do { while (--k); } while (--j); } while (--i); } void Delay10us() //@11.0592MHz { unsigned char i; i = 2; while (--i); } void Delay300ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 3; j = 26; k = 223; do { do { while (--k); } while (--j); } while (--i); } void Delay150ms() //@11.0592MHz { unsigned char i, j, k; i = 2; j = 13; k = 237; do { do { while (--k); } while (--j); } while (--i); } void Delay450ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 4; j = 39; k = 209; do { do { while (--k); } while (--j); } while (--i); }
Oledfont.h
const unsigned char 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 };
sg90.h
void Time0Init();
void sgMiddle();
void sgRight();
void sgLeft();
Oled.h
void Oled_Write_Cmd(char dataCmd);
void Oled_Write_Data(char dataData);
void Oled_Init(void);
void Oled_Clear();
void Oled_Show_Str(char row,char col,char *str);
motor.h
void goRight();
void goLeft();
void goForward();
void goBack();
void stop();
hc04.h
double get_distance();
void Time1Init();
delay.h
void Delay2000ms(); //@11.0592MHz
void Delay10us(); //@11.0592MHz
void Delay150ms();
void Delay450ms();
void Delay300ms();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。