当前位置:首页 > 基于单片机的甲醛检测仪论文
j=0;
j=j|ADDO;//收数据 ADCLK=1; _nop_(); _nop_();
ADCLK=0;//形成一次时钟脉冲 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; }
ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端
ADDO=1;//拉高数据端,回到初始状态 dat<<=8; dat|=ndat;
return(dat); //return ad k }
/*----------------------点阵字符采集函数--------------------------*/ void tra(uchar *p) //数组dsp[]里面的字符查询后,再储储存到另一个显示数组value[]
void main_Menu()
{ Clr_Scr(); // 先清屏 // CS2=1;CS1=0;
hz_disp16(0,32,1,jiaquan); ?? //甲//醛//测//量//数//据//存//储//??
delay(2000); do{
48
/* k=Adc0832(0); //AD转换结果 l=k/255.0*100.0; ltemp=floor(l); dsw[0]=ltemp/10;
dsw[1]=ltemp;
// sprintf(dsw,\ // dsw[0]=1; switch(dsw[0]) { case 0:
sz_disp16(2,32,1,sz0); break;
case 1:??sz_disp16(2,32,1,sz9); }
switch(dsw[1]) { case 0:
sz_disp16(2,40,1,sz0); break;
case 1:??sz_disp16(2,40,1,sz9); } */
// sz_disp16(2,40,1,sz0); /* tra(dsw);
CS2=1;CS1=0;
sz_disp16(2,56,1,value); */ }
while(P1_3); }
附录四 按键程序
49
#define nullkey 0 //定义// ??
uchar get_key() //读键// {
uchar pass,kcodebuf;
static uchar lastkcode,keytime=0; //定义为静态变量,外部不可见,
但需要常驻内存. static uchar havekey=0; static uchar keylock=0;
kcodebuf=P1 & 0xff; keytime++;
if (kcodebuf!=lastkcode) keytime=0; if (kcodebuf==0xff)
{ havekey=0;
keylock=0; keytime=0;
pass=0; }
??
else pass=nusekey;
lastkcode=kcodebuf;
return(pass); }
/*uchar get_key()
else pass=nusekey;
return(pass); } */
50
附录五 时钟程序
/*--------------------引
脚
连
接
-------------------------------------*/ sbit RST2 = P3^5; // 复位线引脚 // sbit CLK = P3^6; // 时钟线引脚 // ?? // 其它引脚略??
/*---------------定义时间日期显示缓存 ----------------------*/ unsigned char Curtime[7];
idata unsigned char day,sec,min,hour,date,month,year,hms,n,fla_cou; unsigned
char
code
yejing[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; /*------------------子函数声明 (时钟部分 )--------------*/ void InputByte(unsigned char Date); void WriteTo1302(unsigned char Addr,unsigned char Date); ReadFrom1302(unsigned char Addr); void SetTime(unsigned char *pSecDa); void GetTime(unsigned char Curtime[]); void Init_T0(void); void FlashKey(void); void Add(void); void Init_Clock(void); void Refresh(void); void StartMenu(void)
/*------------------------时钟固定汉字显示-----------------------*/ void ClockMsg(void) {
Clr_Scr(); // 先清屏 CS2=1;CS1=0; // 左屏
51
共分享92篇相关文档