- 博客(0)
- 资源 (3)
- 收藏
- 关注
51单片机心形闪烁配套资料.zip
51单片机心形闪烁配套资料
#include <REGX52.H>
#define uint unsigned int
#define uchar unsigned char
uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED???λ????λ??
uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED???λ????λ??
uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED??1??????8????????(???λ????λ)
uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED??1??????8????????(???λ????λ)
uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED??8????????????????(???λ????λ)
uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED??8????????????????(???λ????λ)
uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED???λ????λ??(???λ????0)
uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED???λ????λ??(???λ????0)
uchar i,j; //???????????
uint tt=70; //??????????
void delay(uint time) //???????
{
uint x,y;
for(x=time;x>0;x--)
for(y=110;y>0;y--);
}
void disp0() //??0 ????LED???3??
{
for(i=0;i<3;i++)
{
P0=0x00; P2=0x00; P3=0x00; P1=0x00;
delay(300);
P0=0xff; P2=0xff; P3=0xff; P1=0xff;
delay(300);
}
}
void disp1() //??1 LED???????
{
for(i=0;i<8;i++)
{
P2=table1[i];
delay(100);
}
P2=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
delay(100);
}
P3=0xff;
for(i=0;i<8;i++)
{
P1=table1[i];
delay(100);
}
P1=0xff;
for(i=0;i<8;i++)
{
P0=table0[i];
delay(100);
}
P0=0xff;
}
void disp2() //??2 LED????????
{
for(i=0;i<8;i++)
{
P0=table1[i];
delay(100);
}
P0=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
delay(100);
}
P1=0xff;
for(i=0;i<8;i++)
{
P3=table0[i];
delay(100);
}
P3=0xff;
for(i=0;i<8;i++)
{
P2=table0[i];
delay(100);
}
P2=0xff;
}
void disp3() //??3 4??LED??????????????1/4?
{
for(i=0;i<8;i++)
{
P0=table1[i];
P1=table1[i];
P2=table1[i];
P3=table0[i];
delay(100);
}
for(i=0;i<8;i++)
{
P0=table0[i];
P1=table0[i];
P2=table0[i];
P3=table1[i];
delay(100);
}
P3=0xff; P0=0xff;
}
void disp4() //??4 2??LED????????????
{
for(i=0;i<8;i++)
{
P2=table1[i];
P1=table1[i];
delay(100);
}
P2=0xff; P1=0xff;
for(i=0;i<8;i++)
{
P3=table1[i];
P0=table0[i];
delay(100);
}
P3=0xff; P0=0xff;
}
void disp5() //??5 2??LED?????????????
{
for(i=0;i<8;i++)
{
P0=table1[i];
P3=table0[i];
delay(100);
}
P0=0xff; P3=0xff;
for(i=0;i<8;i++)
{
P1=table0[i];
P2=table0[i];
delay(100);
}
P1=0xff; P2=0xff;
}
2019-06-01
oled_spi.zip
用stm32来控制spi接口的oled,oled为6pin接口
#define __OLED_SPI_H
#include "stm32f10x.h"
#define OLED_SPI_GPIO GPIOF
#define OLED_SPI_RCCEN RCC_APB2Periph_GPIOF
#define OLED_SPI_SCL GPIO_Pin_14 //D0
#define OLED_SPI_SDA GPIO_Pin_13 //D1
#define OLED_SPI_RST GPIO_Pin_11 //RST
#define OLED_SPI_DC GPIO_Pin_12 //DC
#define OLED_CMD 0 //???
#define OLED_DATA 1 //???
#define OLED_SPI_D0_OL GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_SCL) //D0 IO??????
#define OLED_SPI_D0_OH GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_SCL) //D0 IO??????
#define OLED_SPI_D1_OL GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_SDA) //D1 IO??????
#define OLED_SPI_D1_OH GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_SDA) //D1 IO??????
#define OLED_SPI_RST_OL GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_RST) //RST IO??????
#define OLED_SPI_RST_OH GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_RST) //RST IO??????
#define OLED_SPI_DC_OL GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_DC) //DC IO??????
#define OLED_SPI_DC_OH GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_DC) //DC IO??????
#define OLED_SPI_RST_Clr() GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_RST) //RST IO??????
#define OLED_SPI_RST_Set() GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_RST) //RST IO??????
#define OLED_SPI_RS_Clr() GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_DC) //DC IO??????
#define OLED_SPI_RS_Set() GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_DC) //DC IO??????
#define OLED_SPI_SCLK_Clr() GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_SCL) //D0 IO??????
#define OLED_SPI_SCLK_Set() GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_SCL) //D0 IO??????
#define OLED_SPI_SDIN_Clr() GPIO_ResetBits(OLED_SPI_GPIO, OLED_SPI_SDA) //D1 IO??????
#define OLED_SPI_SDIN_Set() GPIO_SetBits(OLED_SPI_GPIO, OLED_SPI_SDA) //D1 IO??????
void OLED_SPI_WR_Byte(uint8_t dat,uint8_t cmd);
void OLED_SPI_Init(void);
void OLED_SPI_WrDat(unsigned char data);
void OLED_SPI_WrCmd(unsigned char cmd);
void OLED_SPI_Set_Pos(unsigned char x, unsigned char y);
void OLED_SPI_Fill(unsigned char bmp_data);
void OLED_SPI_CLS(void);
void OLED2_P6x8Str(u8 x,u8 y,u8 ch[]);//小字符串;
void OLED2_P16x32Str(u8 x,u8 y,unsigned char ch[]);
void sssb1(void);
void sssb2(void);
void sspb1(void);
void ssxl(void);
void hallokitty_bmp(void);
void sjb_bmp(u8 rock);
void LCD_PutPixel(u8 x,u8 y);
void LCD_Put_Column(u8 x,u8 y,u8 data);
void OLED_write_2_num(unsigned char X,unsigned char Y,signed int s);
void OLED_write_char(unsigned char c);
#endif
2019-06-01
GY953_.zip
// GY953
// 使用单片机:STC89C52
// 晶振: 11.0592 M(一定是11.0592m的)
// 注意:需要先用串口助手或者软件修改GY953串口波特率为9600
// 接线
// GY953 51MCU
// VCC-------5V
// GND-------GND
// TX--------RX(P3.0 PIN10)
// RX--------TX(P3.1 PIN11)
// LCD1602引脚请根据下面定义修改
// 功能:GY953跟89c52 串口通信,lcd1602显示
#include
#include //Keil library
#include //Keil library
#include
#define uchar unsigned char
#define uint unsigned int
// LCD1602引脚请根据下面定义修改
#define DataPort P2 //LCD1602 数据端口
sbit LCM_RS=P0^7; //LCD1602 控制端口
sbit LCM_RW=P0^6; //LCD1602 控制端口
sbit LCM_EN=P0^5; //LCD1602 控制端口
//********定义函数*****************************
void delay(unsigned int k);
void InitLcd();
void WriteDataLCM(uchar dataW);
void WriteCommandLCM(uchar CMD,uchar Attribc);
void DisplayOneChar(uchar X,uchar Y,uchar DData);
void SeriPushSend(uchar send_data);
//********定义变量*****************************
uchar BUF[15]; //数据缓存区
uchar cnt=0; //接收数据的累计值
uchar sign=0;
int YPR[3];
2019-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人