?? main.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 + -