📄 hd7279.h
字号:
#ifndef _HD7279_H
#define _HD7279_H
#include <iom128v.h>
#include <macros.h>
/*******************PINS DEFINE****************************/
/*
#define WR7279 PORTC
#define RD7279 PINC
#define DR7279 DDRC
#define cs7279 BIT(4) //cs7279定义为
#define clk7279 BIT(5) //clk7279定义为
#define dat7279 BIT(6) //dat7279定义为
#define key7279 BIT(7) //key7279定义为
*/
#define WR7279 PORTE
#define RD7279 PINE
#define DR7279 DDRE
#define cs7279 BIT(7) //cs7279定义为
#define clk7279 BIT(6) //clk7279定义为
#define dat7279 BIT(5) //dat7279定义为
#define key7279 BIT(4) //key7279定义为
/********************HD7279 INSTRUCTIOINS******************/
#define CMD_RESET 0xa4 //复位(清除)指令
#define CMD_TEST 0xbf //测试指令
#define DECODE0 0x80 //方式0译码
#define DECODE1 0xc8 //方式1译码
#define CMD_READ 0x15 //读取键盘数据指令
#define UNDECODE 0x90 //不带小数点显示
#define RTL_CYCLE 0xa3 //循环左移指令
#define RTR_CYCLE 0xa2 //循环右移指令
#define RTL_UNCYL 0xa1 //左移指令
#define RTR_UNCYL 0xa0 //右移指令
#define ACTCTL 0x98 //消隐控制
#define SEGON 0xe0 //段点亮指令
#define SEGOFF 0xc0 //段关闭指令
#define BLINKCTL 0x88 //闪烁控制
/*****************FUNCTION DECLARATION*************************/
//长时延函数
extern void long_delay(void);
//短时延函数
extern void short_delay(void);
//10ms时延函数
extern void delay10ms(unsigned int);
/*****************************************************
Function name:HD7279初始化函数
功 能:初始化HD7279(管脚配置、HD7279复位)
输 入:无
返 回:无
备 注:使用HD7279之前调用此函数,并配置管脚的宏定义
******************************************************/
extern void init_7279(void);
/****************** **********************
Function name:HD7279写入函数
功 能:对HD7279写数据
输 入:cmd为指令数据; dta为数据数据
返 回:无
备 注:HD7279的控制函数
******************************************/
extern void write7279(unsigned char cmd,unsigned char dta); //写入到HD7279
/****************** **********************
Function name:HD7279读取函数
功 能:对HD7279读取原始键值
输 入:无
返 回:键盘原始键值
备 注:HD7279的控制函数
******************************************/
extern unsigned char read7279(void);
/****************** **********************
Function name:HD7279键码判断函数
功 能:根据HD7279返回的键码传化为输出值
输 入:无
返 回:无
备 注:
******************************************/
void switch_number(void);
/*******************************************内部函数申明***********************************************/
//长时延函数
extern void long_delay(void);
//短时延函数
extern void short_delay(void);
//10ms时延函数
extern void delay10ms(unsigned int);
//发送一个字节
/****************** **********************
Function name:HD7279字节发送函数
功 能:HD7279发送一个字节
输 入:无
返 回:无
备 注:HD7279硬件函数
******************************************/
extern void send_byte(unsigned char);
/****************** **********************
Function name:HD7279字节接收函数
功 能:从HD7279接收一个字节
输 入:无
返 回:一个字节
备 注:HD7279硬件函数
******************************************/
extern unsigned char receive_byte(void);
/****************** **********************
Function name:HD7279按键等待接收函数
功 能:当完成一次按键,返回键值
输 入:无
返 回:键盘键值
备 注:HD7279的控制函数
******************************************/
extern unsigned char get_key7279(void);
/****************** **********************
Function name:检测HD7279所得键值是否是参数提供的键值
功 能:对HD7279读取原始键值
输 入:无
返 回:键盘原始键值
备 注:HD7279的控制函数
******************************************/
void test_button(unsigned char button);
/******************************************外部调用函数*********************************************/
signed long get_data ( signed char dig_start,signed char dig_end );
void dis_data ( unsigned char dig_start,unsigned char dig_end,signed long num);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -