这段代码由个人开发者针对普中科技C51单片机设计,用于控制8位数码管显示,具有高度实用性。代码简洁高效,便于嵌入式系统开发人员参考和应用。
《数码管驱动模块》(整数)文件:DisplayNum.c DisplayNum.h 提供现成的函数,可以直接调用完成显示。
Description:
- `DisplayNum(unsigned long int DN_Num, unsigned char _numberSystem)`:在数码管上输出任意不高于8位的DN_Num值。_numberSystem为0代表十进制,为1代表十六进制,2代表二进制。
若不用定时器,则需手动定时扫描。
- `initializeNixieTube(unsigned char TimerNumber, unsigned int updateTime)`:(若用定时器扫描,请自行解除中断注释)初始化用于动态扫描的定时器。TimerNumber为0或1;updateTime范围是0xFF(65536)以内的值,单位微秒。
- `DisplayNumf(char str[], unsigned char type)`:在数码管上显示指定内容,传入字符串指针或首地址,内容只能包含数字、空格和减号。超过8位只显示前8位。
type:0默认;1时钟数据加点分隔xxxx.xx.xx。
DisplayNum.h 头文件:
```c
#include reg52.h
#include
// 声明接口函数
extern void DisplayNum(unsigned long int DN_Num, unsigned char _numberSystem);
extern void initializeNixieTube(unsigned char TimerNumber, unsigned int updateTime);
extern void DisplayNumf(char str[],unsigned char type);
extern unsigned char printNum[8];
```