单片机keil u4程序编译出错

单片机keil u4程序编译出错,第1张

主要州裂原因是头文件lcd_160128.h 找不到,请在编译环境中给出具体的文件路径。sheji.c(6): error C129: missing '' before 'LCD_Initialise' ,这册卖闭一段删配枯掉或者注释掉再看看,一般重新写一遍就好了。

我觉瞎余顷得楼磨陆下的说的不太好,因为我的也经常这样~~~~~~~最好的方法是新建一毁薯个账户,把原来的账户给删除掉,你会神奇的发现,你已经能安装任何软件了!!!!!还有,这个是特洛伊木马搞的鬼,最好去查杀一下,因为我的就是中了这种木马,之后被小红伞给查杀了!!!!!!!

你仿照这个程序改改你的显示

#include<reg52.h>

#include <intrins.h>

#include <math.h>

#include <旦汪stdio.h>

#define uchar unsigned char

#define uint unsigned int

#define LCD_DATA P0

sbit lcd_flag=P0^7

sbit LCD_RS=P3^0

sbit LCD_RW=P3^1

sbit LCD_E=P3^3

sbit p32=P3^2

sbit ST=P2^3

sbit OE=P2^4

sbit EOC=P2^5

static long int counter

static long float f

float Vbuf=0,xy,tmp,flag=0

void lcd_delay(int ms) //延时函数

{

uchar i

while(ms--)

{

for(i=0i<250i++)

{

_nop_()_nop_()_nop_()_nop_()

}

}

}

bit lcd_busy()//判断是否忙碌 RS=Low,RW=High,E=High:读状态

{

bit flag

LCD_RS=0/宏氏/寄存器为Low

LCD_RW=1//是否读写为High

LCD_E=1 //使能端为High

if (lcd_flag==1) flag=1

else flag=0

LCD_E=0

return flag//返回标志,判断是否LCD忙碌

}

write_command(uchar command)//写指令时序

{ while(lcd_busy())

LCD_RS=0

LCD_RW=0

LCD_E=0

LCD_DATA=command

//delay_1ms(5)

LCD_E=1

LCD_E=0

}

write_data(uchar da) //写数据时序

{ while(lcd_busy())

LCD_RS=1

LCD_RW=0

LCD_E=0

// delay_1ms(5)

LCD_DATA=da

LCD_E=1

LCD_E=0

}

void LCD_INIT(void)

{ write_command(0x38)lcd_delay(1)//LCD为2行,5×7字

write_command(0x0c)lcd_delay(1)//打开显示,显示光标,光标模绝仔不闪

write_command(0x06) lcd_delay(1)//每次右移一字符

}

void main()

{

uchar i,j,n

uchar buff[16],buf[16]

LCD_INIT()

P2 &=0xf8

while(1)

{

flag++

if(flag >= 10)

{

ST = 0

OE = 0

ST = 1

ST = 0

if(EOC == 1)

{

OE = 1

xy = P1

OE =0

if(xy >tmp)

{

tmp = xy

Vbuf = xy*1.0/50

}

}

}

if(flag <10)

{

TMOD=0X09

TH0=0

TL0=0

while(p32==1)

TR0=1

while(p32==0)

while(p32==1)

TR0=0

}

counter=TH0*256+TL0

while(counter<=500) /*判断是否分频及计算分频次数*/

{

P2++

i++

counter=counter*10

if(i==2)

{

P2 &= 0xf8

break

}

}

f=(1843200.0/(2*counter))*pow(10,i)

sprintf(buf,"V=%4.2fv",Vbuf)

//if(f<1500) f = f / 1.3123

if(f<1000)

{

sprintf(buff,"f=%4.2fHZ",f)

}

else if(f<1000000)

{

f=f/1000

sprintf(buff,"f=%4.2fkHZ",f)

}

write_command(0x80)

for( j=0j<16&&buf[j] != '\0'j++)

{

write_data(buf[j])

}

write_command(0xc0)

for(n=0n<16&&buff[n]!='\0'n++)

{

write_data(buff[n])

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12407174.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存