超声波视力保护器(8)

2019-03-03 14:37

{ }

/********************************************************************

* 名称 : init_1602()

* 功能 : 1602初始化,请参考1602的资料 * 输入 : 无 * 输出 : 无

***********************************************************************/

void init_1602() { }

write_com(0x38); // write_com(0x0c); write_com(0x06); if(hang==1)

write_com(0x80+add); write_com(0x80+0x40+add);

else

write_data(0x30+date/100); write_data('.');

write_data(0x30+date/10); write_data(0x30+date);

36

/********************************************************************

* 名称 : write_string(uchar hang,uchar lie,uchar *p)

* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示\cd ef\,调用该函数如下

write_string(1,5,\* 输入 : 行,列,需要输入1602的数据 * 输出 : 无

***********************************************************************/

void write_string(uchar hang,uchar add,uchar *p) { }

uchar key_can;

/********************独立按键程序*****************/ void key()

if(hang==1)

write_com(0x80+add); write_com(0x80+0x40+add); while(1) {

if(*p == '\\0') break; write_data(*p); p++;

else

}

37

{ static uchar key_new; key_can = 20;

if((P2 & 0x0f) != 0x0f) { delay_uint(50);

if(((P2 & 0x0f) != 0x0f) && (key_new == 1)) { key_new = 0; switch(P2 & 0x0f) { case 0x0e: key_can = 1; break; //左边第1个 case 0x0d: key_can = 2; break; //左边第2个 case 0x0b: key_can = 3; break; //左边第3个 case 0x07: key_can = 4; break; //左边第4个 }

//

write_sfm2(2,0,key_can);

}

} else

key_new = 1; }

/***********

********************************************************/

38

//请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的 {

unsigned char i=0,value=0,value1=0;

SCL=0; DO=1; CS=0; SCL=1; SCL=0; DO=SGL;

SCL=1; //第二个上升沿 SCL=0; DO=ODD;

SCL=1; //第三个上升沿 SCL=0; //第三个下降沿 DO=1;

for(i=0;i<8;i++) { }

SCL=1;

SCL=0; //开始从第四个下降沿接收数据 value<<=1; if(DO)

value++;

//开始

//第一个上升沿

// 1 0 0 通道 // 1 1 1 通道

unsigned char ad0832read(bit SGL,bit ODD)

39

}

for(i=0;i<8;i++) { } CS=1; SCL=1;

if(value==value1)

return value;

//与校验数据比较,正确就返回

//接收校验数据

value1>>=1; if(DO)

value1+=0x80; SCL=1; SCL=0;

数据,否则返回0

return 0;

/*********************小延时函数*****************************/ void delay() { }

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

//执行一条_nop_()指令就是1us

40


超声波视力保护器(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018国考行测指导:利用同余特性巧解不定方程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: