/*************HLK-W801-KIT-V1.1********************/ /*************1.3' OLED IIC************************/ /*************ID:共同学习stm8**********************/ /*************多平台™一切都是运算******************/ /*************20240421*****************************/ //0X0000 GPIO 数据寄存器 GPIO_DATA RW 读写 GPIO 当前数据 0X180B #define GPIOA_DATA (*(volatile unsigned int*)(0x40011200+0x0000)) //0X0004 GPIO 数据使能寄存器 GPIO_DATA_EN RW 配置 GPIO_DATA 的使能位 0XFFFF #define GPIOA_DATA_EN (*(volatile unsigned int*)(0x40011200+0X0004)) //0X0008 GPIO 方向控制寄存器 GPIO_DIR RW 配置 GPIO 方向 0X0000 #define GPIOA_DIR (*(volatile unsigned int*)(0x40011200+0X0008)) //0X000C GPIO 上拉控制寄存器 GPIO_PULL_EN RW 配置 GPIO 上拉 0XFFFF #define GPIOA_PULL_EN (*(volatile unsigned int*)(0x40011200+0X000c)) //0X001C GPIO 下拉控制寄存器 GPIO_DN_ENA RW 配置 GPIO 下拉 0X0000 #define GPIOA_DN_ENA (*(volatile unsigned int*)(0x40011200+0X001c)) //0X0000 GPIO 数据寄存器 GPIO_DATA RW 读写 GPIO 当前数据 0X180B #define GPIOB_DATA (*(volatile unsigned int*)(0x40011400+0x0000)) //0X0004 GPIO 数据使能寄存器 GPIO_DATA_EN RW 配置 GPIO_DATA 的使能位 0XFFFF #define GPIOB_DATA_EN (*(volatile unsigned int*)(0x40011400+0X0004)) //0X0008 GPIO 方向控制寄存器 GPIO_DIR RW 配置 GPIO 方向 0X0000 #define GPIOB_DIR (*(volatile unsigned int*)(0x40011400+0X0008)) //0X000C GPIO 上拉控制寄存器 GPIO_PULL_EN RW 配置 GPIO 上拉 0XFFFF #define GPIOB_PULL_EN (*(volatile unsigned int*)(0x40011400+0X000c)) //0X001C GPIO 下拉控制寄存器 GPIO_DN_ENA RW 配置 GPIO 下拉 0X0000 #define GPIOB_DN_ENA (*(volatile unsigned int*)(0x40011400+0X001c)) /**************************************************/ // _______________________ // | 1.3' OLED IIC | // | GND|VCC|SCL|SDA | // | 128*64 | // |_______________________| //显示SCL-----PA2 #define X_SCL_L GPIOA_DATA &=~(1<<2) #define X_SCL_H GPIOA_DATA |=(1<<2) //显示SDA-----PA1 #define X_SDA_L GPIOA_DATA &=~(1<<1) #define X_SDA_H GPIOA_DATA |=(1<<1) /**************************************************/ #define led1_l GPIOB_DATA |=(1<<5) #define led1_h GPIOB_DATA &=~(1<<5) #define led2_l GPIOB_DATA |=(1<<25) #define led2_h GPIOB_DATA &=~(1<<25) #define led3_l GPIOB_DATA |=(1<<26) #define led3_h GPIOB_DATA &=~(1<<26) #define led4_l GPIOB_DATA |=(1<<18) #define led4_h GPIOB_DATA &=~(1<<18) #define led5_l GPIOB_DATA |=(1<<17) #define led5_h GPIOB_DATA &=~(1<<17) #define led6_l GPIOB_DATA |=(1<<16) #define led6_h GPIOB_DATA &=~(1<<16) #define led7_l GPIOB_DATA |=(1<<11) #define led7_h GPIOB_DATA &=~(1<<11) /**************************************************/ void xianshi(); //显示 void yanshi_1s(); //延时1秒 /**************************************************/ unsigned char liushui_a1; /**************************************************/ int main(void) { unsigned char liushui_b1; GPIOB_DATA_EN |=(1<<5)+(1<<25)+(1<<26)+(1<<18)+(1<<17)+(1<<16)+(1<<11); //使能 GPIOB_DIR |=(1<<5)+(1<<25)+(1<<26)+(1<<18)+(1<<17)+(1<<16)+(1<<11); //输出 GPIOB_DATA |=(1<<5)+(1<<25)+(1<<26)+(1<<18)+(1<<17)+(1<<16)+(1<<11); //输出高 /**************************************************/ while (1) { liushui_a1 =0x01; liushui_b1 =7; while(liushui_b1--) { xianshi(); //显示 yanshi_1s(); liushui_a1 <<=1; //左移一位 } } return 0; } /**************************************************/ void xianshi() //显示 { if(liushui_a1&0x01){led1_h;} else{led1_l;} if(liushui_a1&0x02){led2_h;} else{led2_l;} if(liushui_a1&0x04){led3_h;} else{led3_l;} if(liushui_a1&0x08){led4_h;} else{led4_l;} if(liushui_a1&0x10){led5_h;} else{led5_l;} if(liushui_a1&0x20){led6_h;} else{led6_l;} if(liushui_a1&0x40){led7_h;} else{led7_l;} } /**************************************************/ void yanshi_1s() //延时1秒 { volatile unsigned int x,y; for(x=1000;x>0;x--) for(y=2500;y>0;y--); } /**************************************************/ /**************************************************/ /**************************************************/ /**************************************************/
main.zip
2024-4-22 08:19 上传
点击文件名下载附件
1.09 KB, 下载次数: 1
举报
人才类勋章
319
487
63
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号