收藏 分销(赏)

GP2Y0A21例程.doc

上传人:a199****6536 文档编号:3561044 上传时间:2024-07-09 格式:DOC 页数:6 大小:27KB
下载 相关 举报
GP2Y0A21例程.doc_第1页
第1页 / 共6页
GP2Y0A21例程.doc_第2页
第2页 / 共6页
GP2Y0A21例程.doc_第3页
第3页 / 共6页
GP2Y0A21例程.doc_第4页
第4页 / 共6页
GP2Y0A21例程.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、/* 用法: LCD_init(); LCD_write_string(列,行,字符串); LCD_write_char(列,行,字符); -下面是STC与LCD连接信息LCD data P0.4-P0.7 RS P2.4 EN P2.6 RW P2.5(RW可不用端口,直接接地)要使用本驱动,改变下面配置信息即可-*/#include #include #define ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00#define ADC_SPEEDL 0x20#define A

2、DC_SPEEDH 0x40#define ADC_SPEEDHH 0x60#define uchar unsigned char#define uint unsigned int #define LCD_DATA_PORT P0 #define LCD_RS P24 / out#define LCD_EN P26 / out#define LCD_RW P25 / out 可以直接接地uchar dis1=CCFROBOT IR:0A21;uchar dis2=Range: cm;uchar ch=0;uint ADC_HS;uchar bai,shi,ge;uchar buf6;uint

3、A2D;/*-函数说明-*/void LCD_init(void);void LCD_en_write(void);void LCD_write_command(uchar command) ;void LCD_write_data(uchar data1);/(uchar data);不能定义为data,data在kiel51中是关键词。void LCD_set_xy (uchar x, uchar y);void LCD_write_string(uchar X,uchar Y,uchar *s);void LCD_write_char(uchar X,uchar Y,uchar data

4、1);/-void delay_1us(void) /1us延时函数 _nop_();/asm(nop); void delay_nus(uint n) /N us延时函数 uint i=0; for (i=0;i0;b-) for(a=12;a0;a-); void delay_nms(uint n) /N ms延时函数 uint i=0; for (i=0;in;i+) delay_1ms(); void LCD_init(void) /液晶初始化 LCD_RW=0; /RW=0 LCD_write_command(0x38); LCD_en_write(); delay_nus(40);

5、 LCD_write_command(0x38); /0x38为8位显示 0x28为4位显示 LCD_write_command(0x0c); /显示开 LCD_write_command(0x01); /清屏 delay_nms(2); void LCD_en_write(void) /液晶使能 LCD_EN=1; delay_nus(1); LCD_EN=0;void LCD_write_command(uchar command) /写指令/*/连线为高4位的写法 delay_nus(16); LCD_RS=0; /RS=0 LCD_DATA_PORT&=0X0f; /清高四位 LCD_

6、DATA_PORT|=command&0xf0; /写高四位 LCD_en_write(); command=command4)&0x0f; /写高四位 LCD_en_write(); LCD_DATA_PORT&=0xf0; /清高四位 LCD_DATA_PORT|=command&0x0f; /写低四位 LCD_en_write(); */ void LCD_write_data(uchar data1) /写数据 /* /连线为高4位的写法 delay_nus(16); LCD_RS=1; /RS=1 LCD_DATA_PORT&=0X0f; /清高四位 LCD_DATA_PORT|=d

7、ata1&0xf0; /写高四位 LCD_en_write(); data1=data14)&0x0f; /写高四位 LCD_en_write(); LCD_DATA_PORT&=0Xf0; /清高四位 LCD_DATA_PORT|=data&0x0f; /写低四位 LCD_en_write();*/ void LCD_set_xy( uchar x, uchar y ) /写地址函数 uchar address; if (y = 0) address = 0x80 + x; else address = 0xc0 + x; LCD_write_command( address); void

8、LCD_write_string(uchar X,uchar Y,uchar *s) /列x=015,行y=0,1 LCD_set_xy( X, Y ); /写地址 while (*s!=0) / 写显示字符 LCD_write_data( *s ); s +; void LCD_write_char(uchar X,uchar Y,uchar data1) /列x=015,行y=0,1 LCD_set_xy( X, Y ); /写地址 LCD_write_data( data1); void AD_Init()P1ASF = 0x01;ADC_RES = 0;ADC_CONTR = ADC_

9、POWER|ADC_SPEEDLL|ADC_START|ch;delay_nms(2);void GetADCResult()ADC_CONTR = ADC_POWER|ADC_SPEEDLL|0|ADC_START;_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG);ADC_CONTR&=ADC_FLAG;A2D=ADC_RES*256+ADC_RESL;ADC_HS = (7605/(A2D+12)-4;/return ADC_HS;void Count()bai=(ADC_HS/100+48);shi=(ADC_HS%1

10、00/10+48);ge=(ADC_HS%100%10+48);buf0 = bai;buf1 = shi;buf2 = ge;buf3 = 0x0d;buf4 = 0x0a;buf5 = 0x00;void main()AUXR1=0x04;LCD_init(); AD_Init();LCD_write_string(0,0,dis1);LCD_write_string(0,1,dis2);while(1)GetADCResult();Count();LCD_write_char(7,1,bai);LCD_write_char(8,1,shi);LCD_write_char(9,1,ge);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服