STM8控制4位LED数码管显示数字
生活随笔
收集整理的這篇文章主要介紹了
STM8控制4位LED数码管显示数字
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用4位LED顯示數(shù)字#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)//數(shù)碼管端口定義
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數(shù)碼管原理
(1)產(chǎn)品封裝圖
(2)電路原理圖
?
總結(jié)
以上是生活随笔為你收集整理的STM8控制4位LED数码管显示数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 移远NB-IOT模块的BC28与M26与
- 下一篇: 实时摄像头数据传输丢包问题