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

📄 8279setting.c

📁 基于8051和8279的数字时钟程序
💻 C
字号:
#include<8279setting.h>
#include<ABSACC.H>
#include<reg52.H>
#define COM XBYTE [0x8001]	//8279命令据口地址
#define DAT XBYTE [0x8000]	//8279数据口地址
#define uchar 	unsigned char	

uchar code key_table[16]={1,4,7,0,2,5,8,'e',3,6,9,'f','a','b','c','d'};//按键编码
uchar code dis_table[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};//数字代码0~9,'-'

void init_8279(void)//8279初始化
{	
	command_write_8279(0xd1);
	command_write_8279(0x00);
 	command_write_8279(0x30);	
}

void busy_8279(void)//等待忙
{ 	uchar status;
	P0=0X80;	
	do
		status=COM;
 	while(status&0x80==0);
}

void command_write_8279(uchar command)/*写命令*/
{
	busy_8279();
	COM=command;
}
void data_write_8279(uchar w_data)/*写数据*/
{
	busy_8279();
	DAT=w_data;
}
uchar status_read_8279(void)/*读状态*/
{	
	uchar status;
	status=COM;
	return status;
}

uchar data_read_8279(void)/*读数据*/
{	
	uchar r_data;
	r_data=DAT;
	return r_data;
}

uchar deky_8279(void)/*判断是否有键按下子程序*/
 { 
	uchar k;
   	k=COM;
   	return(k&0x1f);
}

uchar keyin_8279(void)/*取键值函数*/
{
	uchar i,j1,k1;
	while(deky_8279()==0);
	command_write_8279(0x40);
	i=data_read_8279();
	j1=(i&0x18)>>3;
	k1=i&0x03;
	i=4*j1+k1;
	return(key_table[i]);
 }

void disp(uchar pos, uchar disp_data)//对应位置上显示相应数字
{	
	command_write_8279(pos+0x80);
	data_write_8279(dis_table[disp_data]);		
}

⌨️ 快捷键说明

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