📄 hd7279driver.c
字号:
/*
* Copyright (c) 2006,中国传媒大学 广播电视数字化工程中心
* All rights reserved.
*
* 文件名称:hd7279driver.c
* 作 者:脱立恒
* 摘 要:
* 创建日期:070808
* 当前版本:v0.1
* 修订日期:
*
* 修订记录
* ---------------------------------------------------
* 修订人 | 版本 | 修订时间 | 修订内容
*
*
*/
#include "hd7279driver.h"
//*** 变量及I/O口定义 ***
//unsigned char digit[5];
//unsigned char key_number;
//unsigned int tmr;
//unsigned long wait_cnter;
void write7279(unsigned char cmd, unsigned char dta)
{
send_byte (cmd);
send_byte (dta);
}
void send_byte( unsigned char out_byte)
{
unsigned char i;
cs=0; //选中芯片7279
long_delay(); //单片机延时
for (i=0;i<8;i++) //
{
if (out_byte&0x80) //每次发1b,
{
dat=1;
}
else
{
dat=0;
}
clk=1;
short_delay();
clk=0;
short_delay();
out_byte=out_byte*2;
}
dat=0;
}
unsigned char receive_byte(void)
{
unsigned char i, in_byte;
dat=1; // 设为输入状态
long_delay();
for (i=0;i<8;i++)
{
clk=1;
short_delay();
in_byte=in_byte*2;
if (dat)
{
in_byte=in_byte|0x01;
}
clk=0;
short_delay();
}
dat=0;
return (in_byte);
}
void long_delay(void)
{
unsigned char i;
for (i=0;i<0x30;i++);
}
void short_delay(void)
{
unsigned char i;
for (i=0; i<8; i++);
}
void delay10ms(unsigned int time)
{
unsigned int i;
unsigned int j;
for (i=0;i<time;i++)
{
for(j=0; j<0x3A3; j++)//
{
;
}
}
}
unsigned char read7279(unsigned char cmd)
{
unsigned char keynumber;
send_byte (cmd);
keynumber = receive_byte();
return (keynumber);
}
/*--------------------------------------------
调用方式:unsigned char HD7279_GetKey()函数﹫2001/05/12
函数说明:私有函数,读键盘函数
--------------------------------------------*/
/*unsigned char HD7279_GetKey()
{
unsigned char hdkey = NULLKEY; //键值初始化为NULLKEY=0
if(!key)
{
hdkey = read7279 (CMD_READ);
switch ( hdkey )
{ case RunKey:
case StopKey:
while (!key);
default: return(0xff);
}
}
return(0xff);
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -