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

📄 driver.c

📁 电子称重的程序
💻 C
字号:
#include	<config.h>
#include	<head.h>
#include	<main.h>
#include	"driver.h"
#include	"LCD_1621.h"
#define TIMERS	2
Uchar	idata show_buf[19];
Ulong	idata	systime=0;
Uint		idata	TimerTime[TIMERS],TimerReloadTime[TIMERS];
Uchar	idata	beeptime;
Uchar	idata	lcdfbit;


void ComInit()
{
	 Uart_Init(9600,0);
}
 /**************************************************************************
*      函数原型:  void systimeinit()
*      功    能: 系统时间初始化
**************************************************************************/
void systimeinit()
{
	TMOD&=0x0f;
	TMOD|=0X10;
	TL1=(0x10000-(SYSCLK/1200))&0x00ff;
	TH1=(0x10000-(SYSCLK/1200))>>8;
	TR1=1;
	ET1=1;
	EA=1;
}
 /**************************************************************************
*      函数原型:  void T1_int(void)
*      功    能: 定时器1中断,进行与系统时间相关的操作,包括声音驱动
**************************************************************************/
void T1_int(void) interrupt 3
{
	Uchar i;
	TL1=(0x10000-(SYSCLK/1200))&0x00ff;
 	TH1=(0x10000-(SYSCLK/1200))>>8;
	systime+=1;
 	PostMessageOne(M_TIMETICK,1);
	for(i=0;i<TIMERS;i++)
 	if(TimerTime[i])
	{
 		if(--TimerTime[i]==0)
			{PostMessage(M_FUNDELAYOK,i);TimerTime[i]=TimerReloadTime[i];}
	}
}

 /**************************************************************************
*      函数原型:  void beep(Uchar beept)
*      功    能: 声音驱动函数
*      入    口:  发声时间长度
*************************************************************************/
void beep(Uchar beept)
{
 	beeptime=beept/10;
	 if(beeptime)
	beep_set(0);
}
Ulong getsystime()
{
	return systime;
}
void SetTimer(Uint delaytime,Uchar timer)
{
	 TimerReloadTime[timer]=TimerTime[timer]=delaytime;
}
void KillTimer(Uchar timer)
{
	 TimerReloadTime[timer]=TimerTime[timer]=0;
}
/**************************************************************************
*      函数原型: void    void lprintf(const char *,...)
*      功    能: 显示数据函数
**************************************************************************/
void aprintf(unsigned char sendmode,const char *schar,...)
{
	Uchar	idata	i;
	va_list	vat;
	va_start(vat,schar);
	vsprintf(show_buf,schar,vat);
 	va_end(vat);
	for(i=0;i<13;i++)
	{
		if(show_buf[i]==0)
		for(;i<13;i++)
 		show_buf[i]=' ';
	}
	i=(sendmode&0xf0)>>4;
	if(i==0x0)
 	lcd_writenum(show_buf);
 	else if(i==0x1)
	lcd_writechar(show_buf);
	else if(i==0x2) lcd_writechar(show_buf+lcd_writenum(show_buf));
}

⌨️ 快捷键说明

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