超声波倒车报警器(4)

2019-02-15 11:01

delay(5); lcden=0;

}

void lcd_init(){ lcden=0;

write_com(0x38); // write_com(0x0c); // write_com(0x06); // write_com(0x01); //}

void displaynum(uchar temp){ write_com(0x80+0x40); // write_dat(temp/10+0x30); // write_dat(0x2e);

write_dat(temp+0x30);

}

void displaynum2(uchar temp){ write_com(0x80+0x44); write_dat(temp/10+0x30); write_dat(0x2e);

write_dat(temp+0x30);

}

void displaynum3(uchar temp){

write_com(0x80+0x48);

设置16*2显示,5*7点阵,8位数据接口开显示,不现实光标 写一个字符后地址加一 显示清零,指针清零

显示位置第二行 数字变换为ASCII码 15

}

write_dat(temp/10+0x30); write_dat(temp+0x30);

void displayword(uchar *temp){ }

说明:write_com子程序用于向1602写入指令(rs=0),write_dat子程序用于向1602写入数据(rs=1)。lcd_init子程序通过向lcd1602写入一系列指令来完成初始化工作。其余子程序分别在不同位置显示数字或字母。需要注意的是,数字需要经过ASCII译码方可正确显示,LCD1602内部RAM缓冲区如图4-5所示。

write_com(0x80); //显示位置第一行 while(*temp != 0){ write_dat(*temp); temp++; }

图 4-5

向0x00-0x0F和0x40-0x4F区域写入显示数据可立即显示在LCD1602的第一、第二行上,写入到其他地址则需要通过移屏指令移入可显示区域。本设计只使用前者。

16

4.4 温度测量程序

温度检测子程序的主要功能是读出RAM中的2字节温度数据,并计算声速。其程序流程图如图4-6所示

图 4-6

温度检测源程序如下: void dswrite(uchar dat) {

17

uint i; uchar j; bit testb; for(j=1;j<=8;j++) {

testb=dat&0x01; dat=dat>>1; if(testb) { DS=0;

i++;i++; DS=1;

i=8;while(i>0)i--; } else {

DS=0; i=8;while(i>0)i--; DS=1; i++;i++; } } }

uchar dsread(void) {

uchar i,j,dat; dat=0;

18

for(i=1;i<=8;i++) {

j=dsreadbit();

dat=(j<<7)|(dat>>1);

}

return(dat); }

bit dsreadbit(void) {

uint i; bit dat;

DS=0;i++; DS=1;i++;i++; dat=DS;

i=8;while(i>0)i--; return (dat); }

void dsreset(void) {

uint i; DS=0; i=103;

while(i>0)i--; DS=1; i=4;

while(i>0)i--;

19


超声波倒车报警器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年福建成人高考复习重点(各科试题精选) - 图文

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

马上注册会员

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