stm32共陰極四位數碼管驅動

2021-09-27 03:57:23 字數 1244 閱讀 5545

自己寫的四位數碼管驅動

74hc595

使用hal庫

led.c

#include "main.h"

#include "gpio.h"

#define getbit(x,y) ((x)>>(y)&1) //first bit is y=0

#define sclk0 hal_gpio_writepin(sclk_gpio_port,sclk_pin,gpio_pin_reset)

#define sclk1 hal_gpio_writepin(sclk_gpio_port,sclk_pin,gpio_pin_set)

#define rclk0 hal_gpio_writepin(rclk_gpio_port,rclk_pin,gpio_pin_reset)

#define rclk1 hal_gpio_writepin(rclk_gpio_port,rclk_pin,gpio_pin_set)

#define do0 hal_gpio_writepin(do_gpio_port,do_pin,gpio_pin_reset)

#define do1 hal_gpio_writepin(do_gpio_port,do_pin,gpio_pin_set)

uint16_t code=;

uint16_t num=;

void sendbyte(uint16_t a)

}void sendnum(uint16_t co,uint16_t nu)

uint16_t getnum(uint16_t a,uint16_t b)

void display(uint16_t number)

}

led.h

#ifndef __led_h

#define __led_h

#include "main.h"

void sendbyte(uint16_t a);

void sendnum(uint16_t co,uint16_t nu);

uint16_t getnum(uint16_t a,uint16_t b);

void display(uint16_t number);

#endif

使用時,要設定引腳別名為sclk,rclk,do。將驅動加入keil工程後,直接呼叫display()函式就行,傳遞引數為四位無符號整形。

四位共陰極數碼管使用經驗

led數碼管是由多個發光二極體封裝在一起組成 8 字型的器件,引線已在內部連線完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段,有的另加乙個小數點。按發光二極體單元連線方式可分為共陽極數碼管和共陰極數碼管。共陰數碼管是指將所有發光二極體的陰極接到一起形成公共陰極 com 的數碼...

TPY102四位數碼管1 0

main.py put your code here 四位數碼管1.0 適用於 四位七段數碼管,共陽 輸入num型別 字串str 2019.12.28 import pyb from pyb import pin 數碼管a g dp對應的開發板引腳 x1 x2 x3 x4 x5 x6 x7 x8 用...

基於Proteus的四位數碼管顯示

p0口接斷碼線,p2口低四位接位選線,第一位數碼管的位選線由p2.0來控制,第二位數碼管的位選線由p2.1來控制,依次類推,由此可知可以控制p2.0到p2.3引腳,從而控制這個數碼管哪一位來顯示字元,而通過控制p0口輸出斷碼值來控制數碼管顯示什麼樣的字元 從而實現四位數碼管的顯示,由此也可推出多位數...