本帖最后由 youming50 于 2021-10-31 20:36 编辑
51移植的,修改部分命名,代码水平有限,但是没报警,直接定义第几位显示某个数字。不懂得直接留言,看到会回复,c文件 头文件在附件,直接添加就行。还是希望大佬能精简精简。
- #include "wm_hal.h"
- #include "wm_gpio.h"
- typedef struct
- {
- GPIO_TypeDef *WR_Port;
- uint32_t WR_Pin;
- GPIO_TypeDef *CS_Port;
- uint32_t CS_Pin;
- GPIO_TypeDef *DAT_Port;
- uint32_t DAT_Pin;
- } HT1621_HandleTypeDef;
- #define HT1621_WR_H(HANDLE) HAL_GPIO_WritePin(HANDLE->WR_Port, HANDLE->WR_Pin, GPIO_PIN_SET)
- #define HT1621_WR_L(HANDLE) HAL_GPIO_WritePin(HANDLE->WR_Port, HANDLE->WR_Pin, GPIO_PIN_RESET)
- #define HT1621_CS_H(HANDLE) HAL_GPIO_WritePin(HANDLE->CS_Port, HANDLE->CS_Pin, GPIO_PIN_SET)
- #define HT1621_CS_L(HANDLE) HAL_GPIO_WritePin(HANDLE->CS_Port, HANDLE->CS_Pin, GPIO_PIN_RESET)
- #define HT1621_DAT_H(HANDLE) HAL_GPIO_WritePin(HANDLE->DAT_Port, HANDLE->DAT_Pin, GPIO_PIN_SET)
- #define HT1621_DAT_L(HANDLE) HAL_GPIO_WritePin(HANDLE->DAT_Port, HANDLE->DAT_Pin, GPIO_PIN_RESET)
-
- #define BIAS 0x52 //0b1000 0101 0010 1/3duty 4com
- #define SYSDIS 0X00 //0b1000 0000 0000 关闭系统振荡器和LCD偏压发生器
- #define SYSEN 0X02 //0b1000 0000 0010 打开系统振荡器
- #define LCDOFF 0X04 //0b1000 0000 0100 关LCD偏压
- #define LCDON 0X06 //0b1000 0000 0110 打开LCD偏压
- #define XTAL 0x28 //0b1000 0010 1000 外部接时钟
- #define RC256 0X30 //0b1000 0011 0000 内部时钟
- #define TONEON 0X12 //0b1000 0001 0010 打开声音输出
- #define TONEOFF 0X10 //0b1000 0001 0000 关闭声音输出
- #define WDTDIS 0X0A //0b1000 0000 1010 禁止看门狗
- uint8_t Ht1621Tab[16];
- uint8_t ram[16];
- uint8_t rom[32];
- //uint8_t str[5]={0x00,0x00,0x00,0x00,0x00};
- HAL_StatusTypeDef Ht1621_Init(HT1621_HandleTypeDef *HT); // 初始化 HT1621
- void Ht1621Wr_Data(uint8_t Data,uint8_t cnt,HT1621_HandleTypeDef *HT); // - - HT1621 写数据函数
- void Ht1621WrCmd(uint8_t Cmd,HT1621_HandleTypeDef *HT); // - - HT1621 写命令函数
- void Ht1621WrOneData(uint8_t Addr,uint8_t Data,HT1621_HandleTypeDef *HT); // - - HT1621 在指定地址写入数据函数
- void Ht1621WrAllData(uint8_t Addr,uint8_t *p,uint8_t cnt,HT1621_HandleTypeDef *HT); // - - HT1621 连续写入数据函数
- void _ram(); //刷新ram缓存
- void dis(HT1621_HandleTypeDef *HT); //刷新显示函数
复制代码
2
|
|
|
|