




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include<reg51.h> #include<intrins.h> #defineucharunsignedchar #defineuintunsignedint #defineDelay4us(){_nop_();_nop_();_nop_();_nop_();} //引脚定义 sbitLCD_RS=P2^0; sbitLCD_RW=P2^1; sbitLCD_EN=P2^2; //延时子程序 voidDelayMS(intms){ uchart; while(ms--)for(t=0;t<120;t++); } //LCD忙状态检测 bitLCD_Busy_Check(){ bitResult; LCD_RS=0;LCD_RW=1; LCD_EN=1;Delay4us();Result=(bit)(P0&0x80); LCD_EN=0; returnResult; } //写LCD命令 voidLCD_Write_Command(ucharcmd){ // while(LCD_Busy_Check()); DelayMS(5); LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_(); P0=cmd;Delay4us(); LCD_EN=1;Delay4us();LCD_EN=0; } //写LCD数据 voidLCD_Write_Data(uchardat){ // while(LCD_Busy_Check());//LCD是否忙? DelayMS(5); LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;Delay4us(); LCD_EN=1;Delay4us();LCD_EN=0; } //LCD初始化 voidLCD_Initialise() { LCD_Write_Command(0x38);DelayMS(5);//设置16*2行显示,5*7点阵,8位数据接口 LCD_Write_Command(0x0C);DelayMS(5);//开显示 LCD_Write_Command(0x06);DelayMS(5);//地址指针加1,光标加1,整屏显示不移动 LCD_Write_Command(0x01);DelayMS(5);//指针清零,显示清零 } sbitSCL=P1^0; sbitSDA=P1^1; ucharRecv_Buffer[4];//数据接收缓冲(每通道1字节) uintVoltage[]={'0','0','0'};//数据分解为电压x.xx bitbdataIIC_ERROR;//设置I2C错误标志位 ucharLCD_Line_1[]={"1-.V2-.V"}; ucharLCD_Line_2[]={"3-.V4-.V"}; voidLCD_Set_Position(ucharpos){//设置LCD显示位置 LCD_Write_Command(pos|0x80); } voidLCD_Display_A_Line(ucharLine_Addr,uchars[]){//显示一行 uchari; LCD_Set_Position(Line_Addr); for(i=0;i<16;i++);LCD_Write_Data(s[i]); } //将模数转换后的值分解存入缓冲 voidConvert_To_Voltage(ucharval){ uchartmp; Voltage[2]=val/51+'0';//最大值为255,对应5伏电压,分度为255/5=51,一位整数 tmp=val%51*10; Voltage[1]=tmp/51+'0';//第一位小数 tmp=tmp%51+'0'; Voltage[0]=tmp/51+'0';//第二位小数 } //启动I2C总线 voidIIC_Start(){ SDA=1;SCL=1;Delay4us();SDA=0;Delay4us();SCL=0; } //停止I2C总线 voidIIC_Stop(){ SDA=0;SCL=1;Delay4us();SDA=1;Delay4us();SCL=0; } //从机发送应答 voidSlave_Ark(){ SDA=0;SCL=1;Delay4us();SCL=0;SDA=1; } //从机发送非应答 voidSlave_NOArk(){ SDA=1;SCL=1;Delay4us();SCL=0;SDA=0; } //发送一个字节 voidIIC_SendByte(ucharwd){ uchari; for(i=0;i<8;i++)//循环移入8位

王子****青蛙
实名认证
内容提供者


最近下载