⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.h

📁 AVR红外遥控
💻 H
字号:
#ifndef __DISPLAY_H__
#define __DISPLAY_H__

#include <avr/io.h>
#include "cc.h"


// I/O bit ************************************************************
// 1) SPI master for all 74HC595
#define SD        PB3
#define SCLK      PB5
#define SS        PB2
// 2) 74HC595
#define LATCH1    PC1       // for RCLK1
#define LATCH2    PC0       // for RCLK2
#define LATCH3    PC2       // for RCLK3
#define OE        PC3       // for /OE

// 3) LED14/15/16
#define LED14     PC5
#define LED15     PC4
#define LED16     PD5

#define LED14_OFF    (PORTC |= _BV(LED14))
#define LED14_ON     (PORTC &= ~_BV(LED14))

#define LED15_OFF    (PORTC |= _BV(LED15))
#define LED15_ON     (PORTC &= ~_BV(LED15))

#define LED16_OFF    (PORTD |= _BV(LED16))
#define LED16_ON     (PORTD &= ~_BV(LED16))

// 13个LED数码块显示缓冲区,值为BCD码(bit0-3) 0x0~0x9
extern u8_t bcd_buf[13];



// ==================================================================
// LED 显示初始化
void init_display(void);


// 用于立即关闭所有显示
// 通常在掉电时节能,以便完成剩余的紧急事件。比如:写EEPROM
void display_off(void);


// sdata: 显示的BCD码0xo~0x9
// spos:  显示位置
// spt:   0x01显示小数点,00x00不显示小数点
// 该过程主要由T0中断自动调用,也可以外部使用
void led_putchar(u8_t sdata, u8_t spos, u8_t spt);





// ====================================================================
// buff: BCD的数据指针,指向8单元的数组
// pdata: 数据最大99999999
// 转换正确返回: 1
u8_t htobcd8(u8_t *buff, u32_t pdata);

// buff: BCD的数据指针,指向8单元的数组
// pdata: 数据最大99999
// 转换正确返回: 1
u8_t htobcd5(u8_t *buff, u32_t pdata);














#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -