// 该程序控制2个74HC595操作4个数码管进行显示
// LED_BUFFER_LENGTH为数码管显示缓冲区,长度应为数码管个数得两倍(因为有小数点)
// 可显示内容:数字0-9、小数点、负号、字母A-F、字母H、字母L、字母O、字母P、字母R、字母U
// 应在循环中调用refresh函数刷新数码管显示
#include <string.h>
sbit DIO = P1^1; // 串行数据输入
sbit RCLK = P1^2; // 时钟脉冲信号————上升沿有效
sbit SCLK = P1^3; // 打入信号————上升沿有效
// 共阳
unsigned char code LED_0F[] =
{// 0 1 2 3 4 5 6 7 8 9 A b C d E F - H L O P R U
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF,0x89,0xC7,0xA3,0x8C,0xAF,0xC1
};
#define LED_BUFFER_LENGTH 8
uchar led_buf[LED_BUFFER_LENGTH];
void refresh();
void show(uchar* str);
uint floatToString(float n, ubyte a, uchar* str);
void main()
{
show("HELP&#