基於STM32的常用數碼管晶元TM1650驅動

2021-08-15 04:06:41 字數 1204 閱讀 5494

店家給的是51或者arduino的,花了點時間移植一下;

iic協議這裡就不多說了;

使用模擬iic口 定義b12 b13

#define analonsda_pin gpio_pin_12

#define analonsda_gpio_port gpiob

#define analonscl_pin gpio_pin_13

#define analonscl_gpio_port gpiob

io配置為輸出

/*configure gpio pin output level */

hal_gpio_writepin(gpiob, analonsda_pin|analonscl_pin|big_sda_pin|big_scl_pin, gpio_pin_reset);

/*configure gpio pins : pbpin pbpin */

gpio_initstruct.pin = analonsda_pin|analonscl_pin|big_sda_pin|big_scl_pin;

gpio_initstruct.mode = gpio_mode_output_pp;

gpio_initstruct.speed = gpio_speed_freq_low;

hal_gpio_init(gpiob, &gpio_initstruct);

驅動程式

void displaydata(uint8_t idata,uint8_t tab)

itemp = itemp/10; }

}void tm1650_start()

} void tm1650_stop()

} void tm1650_ack()

} void tm1650_write(unsigned char  data)     //寫資料函式

} void write_data(unsigned char add,uint8_t data)    //指定位址寫入資料

因為博主使用freertos 所以在測試任務裡面呼叫

void startdefaulttask(void const * argument)

hal_delay(500); }

osdelay(1); }

/* user code end startdefaulttask */ }

依次顯示1234  2345  4567。。。

STM32 矩陣鍵盤控制數碼管

在以往的32部落格中,見過了數碼管和矩陣鍵盤,今天就將他們結合起來,如何用矩陣鍵盤去控制數碼管。我們都知道數碼管可以顯示從0 9十位數字,也可以顯示從a f的字母,將數碼管和2 2矩陣鍵盤結合起來也就是使用四個按鍵分別控制加,減,置0和全部點亮。加減的功能不用多說也就是從0加到f,如果繼續增加的話又...

STM32板子上的數碼管亮度不夠

最近在做乙個數碼管,其他人的程式數碼管亮度很高,但是我的程式亮度不高,後來在網上搜尋結果,查尋原因,現記錄如下 長期點亮就是 數碼管最亮 的時候。但動態顯示中,要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個...

STM32板子上的數碼管亮度不夠

最近在做乙個數碼管,其他人的程式數碼管亮度很高,但是我的程式亮度不高,後來在網上搜尋結果,查尋原因,現記錄如下 長期點亮就是 數碼管最亮 的時候。但動態顯示中,要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個...