c语言编译c141,单片机C语言错误C141:syntax error near 'void'请大家帮忙看下程序,谢谢...

这篇博客主要展示了如何使用C语言进行单片机编程,包括时间初始化、延迟函数、显示函数以及AD转换。在AD转换过程中,通过P3口的信号控制,读取P0口的数据并进行温度计算,将结果显示在显示器上。遇到的错误C141: syntax error near 'void'可能是语法错误,需检查void关键字的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include

#include "intrins.h"      //调用_nop_();延时函数用

unsigned char code dispbitcode[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char dispbuf[4];

unsigned char getdata;

unsigned int temp;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

sbit CLK=P3^3;

sbit ALE=P3^7;

sbit P34=P3^4;

sbit P35=P3^5;

sbit P36=P3^6;

sbit P20=P2^0;

sbit P21=P2^1;

sbit P22=P2^2;

sbit P23=P2^3;

sbit P17=P1^7;

sbit P26=P2^6;

sbit P27=P2^7;

void TimeInitial();

void Delay(unsigned int i);

void TimeInitial()

{ TMOD=0x01;

TH0=(65536-200)/256;

TL0=(65536-200)%256;

EA=1;

ET0=1;

TR0=1;

}

void Delay(unsigned int i)

{

unsigned int j;

for(;i>0;i--)

{

for(j=0;j<100;j++)

{;}

}

}

void Display()

{

P1=dispbitcode[dispbuf[3]];

P20=0;

P21=1;

P22=1;

P23=1;

Delay(10);//避免闪烁

P1=0x00;  //关闭一下,否则显示不全

P1=dispbitcode[dispbuf[2]];

P17=1;

P20=1;

P21=0;

P22=1;

P23=1;

Delay(10);

P1=0x00;

P1=dispbitcode[dispbuf[1]];

P20=1;

P21=1;

P22=0;

P23=1;

Delay(10);

P1=0x00;

P1=dispbitcode[dispbuf[0]];

P20=1;

P21=1;

P22=1;

P23=0;

Delay(10);

P1=0x00;

}

void adzhuanh()

{P34=0;        //地址通道

P35=0;

P36=0;

ALE=1;

_nop_();

_nop_();

ALE=0;

ST=1;

_nop_();

_nop_();

ST=0;

_nop_();

_nop_();

_nop_();

_nop_();

while(EOC==0);

OE=1;

getdata=P0;

OE=0;/*

temp=getdata*1.0/255*500;*/temp=getdata*200.0/255.0*12.0;

if (temp>1800)

{_nop_();

_nop_();

_nop_();

_nop_();

P26=1;

P27=0;

dispbuf[0]=temp/2%10;

dispbuf[1]=temp/20%10;

dispbuf[2]=temp/200%10;

dispbuf[3]=temp/2000;

}

void main()

{

TimeInitial();

while(1)

{adzhuanh();

Display(); }

else

{_nop_();

_nop_();

_nop_();

_nop_();

P27=1;

P26=0;

dispbuf[0]=temp/2%10;

dispbuf[1]=temp/20%10;

dispbuf[2]=temp/200%10;

dispbuf[3]=temp/2000;

Display();}

}

}

void t0(void) interrupt 1 using 0

{

TH0=(65536-200)/256;

TL0=(65536-200)%256;

CLK=~CLK;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值