欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

STM8控制4位LED数码管显示数字

发布时间:2025/6/15 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 STM8控制4位LED数码管显示数字 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
用4位LED显示数字#define STB_H GPIOC->ODR |= (uint8_t)(GPIO_PIN_2) #define STB_L GPIOC->ODR &= (uint8_t)(~GPIO_PIN_2)#define DATA_H GPIOE->ODR |=(uint8_t)( GPIO_PIN_5) #define DATA_L GPIOE->ODR &= (uint8_t)(~GPIO_PIN_5)#define CLK_H GPIOC->ODR |=(uint8_t) (GPIO_PIN_1) #define CLK_L GPIOC->ODR &= (uint8_t)(~GPIO_PIN_1)//数码管端口定义 void Init_GPIO(void) { //串行接口(CLK,STB,DIN,DOUT)GPIO_Init(GPIOE, GPIO_PIN_5, GPIO_MODE_OUT_PP_HIGH_FAST); //DINGPIO_Init(GPIOC, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST); //CLKGPIO_Init(GPIOC, GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST); //STB }void tm1616write(u8 wr_date) {u8 i;STB_L;Delay(10); for(i=0;i<8;i++){CLK_L;Delay(10);if(wr_date&0x01!=0){DATA_H;}else{DATA_L;}Delay(10);CLK_H;Delay(10);wr_date=wr_date>>1;} }void tm1616show(u8 data1,u8 data2,u8 data3,u8 data4) {u8 j;STB_H;CLK_H;DATA_H;tm1616write(0x00); STB_H; tm1616write(0x44); STB_H; for(j=0;j<4;j++) {tm1616write(0xC0); tm1616write(data1); STB_H; tm1616write(0xC2); tm1616write(data2); STB_H; tm1616write(0xC4); tm1616write(data3); STB_H; tm1616write(0xC6); tm1616write(data4); STB_H; }tm1616write(0x8C); STB_H; }void main(void) {tm1616show(LEDArray[1],LEDArray[1],LEDArray[1],LEDArray[0x0c]); //显示111C }

                                                LED数码管原理

(1)产品封装图

(2)电路原理图

 

总结

以上是生活随笔为你收集整理的STM8控制4位LED数码管显示数字的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。