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

📄 main.c

📁 采用LPC935控制的一个项目
💻 C
字号:
#include <REG935.H>
#include"..\SOURCE\general.h"
#include"..\SOURCE\lcd.h"
#include <STRING.H>
#include <stdio.h>
BYTE pow;
bit	xf3011over=0,xf3011err=0;
void speak(BYTE *p);

void main(void)
{
	cpuint();
	CCU_init(1);
	delay(50);
	
	
	if(pow!=0xaa)
	{
		POWCTRL=1;
		pow=0x55;
	}
	else
	{
		POWCTRL=0;
	
	}
	EEPROM_W(CONTRAST_ADD,CONTRAST); //EEPROM_W(0x01,0x08)
//	DISTANCE=EEPROM_R(0x01);
//	x9c104(50);
//	EN=1;
	LcdInit();
//	LcdDraw(104, 8, 56, 60, 0, DodemLOGO);
	welcome();

	while(1)
	{
	SD = 0;
	DCLK = 0;	
	autotest();
	}
}
/*********************************************************************************************************
* 函数名称: xf3011text  
*
* 功能描述: XF3011文本语音播送
*
* 入口参数: p文本语音的起始地址                                                                                  
*
* 出口参数: 
*
* 全局变量: 无
*
* 调用模块: 无
*
* 作    者: 刘贤曙
* 创建时间: 2006年1月11日
********************************************************************************************************/
void xf3011text(BYTE *p)
{ 
	unsigned int length = 0;
	int i = 0;
	length = strlen(p);	//需要发送文本的长度
	SBUF = 0xFE;			//向串口发送帧头标志
	while(TI==0);		//等待发送中断标志位置位
	TI=0;				//发送中断标志位清零
	SBUF=0x01;			//发送文本合成命令字
	while(TI==0);
	TI=0;
	SBUF=0x00;			//发送待合成文本长度的高字节
	while(TI==0);
	TI=0;
	SBUF=length;		//发送待合成文本长度的低字节
	while(TI==0);
	TI=0;
	for(i=0;i<length;i++)//依次发送待合成的文本数据
	{
	  SBUF=*p;
	  while(TI==0);
	  TI=0;
	  p++;
	}
		
}
/*********************************************************************************************************
* 函数名称: numtostr  
*
* 功能描述: 数值到文本
*
* 入口参数: str1需要加入数值的文本内容;k需要加入原文本的数值
*
* 出口参数: DISTANCE 一次测试后的记数值	;RANGE 完成测试时的范围
*			当DISTANCE=0x0fff,RANGE=7时说明测试距离过长,超出测试范围。
*
* 全局变量: 无
*
* 调用模块: 无
*
* 作    者: 刘贤曙
* 创建时间: 2007年1月12日
********************************************************************************************************/
void numtostr(char*str1,DWORD k)
{
	DWORD k1,k2,klen;
	char *str4;
	klen=strlen(str1);
	str4=str1+klen;
	k2=10000;
	while(1)
	{
	   k1=k/k2;
	   if ((k1>0)||(k2==1)) break;
	   k2/=10;
	}
	while (1)
	{
	   k1=k/k2+48;
	   str4[0]=k1;
	   k%=k2;
	   str4++;
	   k2/=10;
	   if (k2==0) break;
	}
	str4[0]=0;

}

⌨️ 快捷键说明

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