完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-5-29 17:14 编辑
网上搜的单片机简易计算机的c语言代码,编译总是失败 不知道原因出现在哪里,求大佬帮忙看下,没什么分可以给,大佬体谅下QwQ 如下: Build target 'Target 1' assembling STARTUP.A51... compiling jisuanqi.c... JISUANQI.C(222): error C141: syntax error near 'char' JISUANQI.C(222): error C202: 'i': undefined identifier JISUANQI.C(223): error C202: 'j': undefined identifier JISUANQI.C(225): error C202: 'i': undefined identifier JISUANQI.C(226): error C202: 'i': undefined identifier JISUANQI.C(229): error C202: 'i': undefined identifier JISUANQI.C(230): error C202: 'i': undefined identifier JISUANQI.C(230): error C202: 'i': undefined identifier Target not created
对应编码为: char dynamic_display() //动态显示函数 { ET0=0; char i,j; for(j=8;j>0;j--) { P1=tmp<>(8-i); //片选的动态变化 P0=DisplayCode[dsp[8-i]];//显示数字,由于录入时从高位开始录入,所以dsp[1]为最低位,dsp[8]为最高位 delay(1); P0=0xff; //消隐 i++; if(i==8) i=0; } TL0=-(1000/256); TH0=-(1000%256); ET0=1;
}
全代码如下: #include unsigned char DisplayCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x86,0xAF,0xFF,0x7F,0xBF};//码选,0~9,E,r,空格,.,- char dsp[9]={0,0,12,12,12,12,12,12,12}; tmp=0xfe; void delay(unsigned int z)//延迟函数 char keyscan()//键位扫描函数 void calculate(char k,char a[8],char b[8]) char dynamic_display() //动态显示函数 { ET0=0; char i,j; for(j=8;j>0;j--) { P1=tmp<>(8-i); //片选的动态变化 P0=DisplayCode[dsp[8-i]];//显示数字,由于录入时从高位开始录入,所以dsp[1]为最低位,dsp[8]为最高位 delay(1); P0=0xff; //消隐 i++; if(i==8) i=0; } TL0=-(1000/256); TH0=-(1000%256); ET0=1; }void main(void) { char i,j,k,c; char a[8],b[8]; /***定时1ms***/ TMOD=0; TL0=-(1000/256); TH0=-(1000%256); EA = 1; //总中断开关 ET0 = 1; //开中断 TR0 = 1; //启用计数器0 //数字录入循环 KSC do {... }while((dsp[0]==15)&&(c<2)); //直到ab输入完成且按下等号
calculate(k,a,b); //进行最后计算 /***goto跳转标志***/ goto KSC; //跳回KSC,等待新一轮计算 while(1); //防止程序跑飞 } void inter_1ms() interrupt 1 using 1 { dynamic_display; }
|
|
相关推荐
12个回答
|
|
所有局部变量的声明,都只能紧挨着大括号{,而你程序中在{后面的却是ET0=0;肯定会错误,可把char i,j;写在前面。
可加我微信交流baofeng_zouyu
最佳答案
|
|
|
|
限于字数限制,省略部分相关代码
|
|
|
|
应该像unsigned char DisplayCode[]这样用unsigned char吧
|
|
|
|
改成unsigned char 后就变成了JISUANQI.C(222): error C141: syntax error near 'unsigned' 差不多一样的问题。。 |
|
|
|
void delay(unsigned int z)//延迟函数
char keyscan()//键位扫描函数 void calculate(char k,char a[8],char b[8]) 缺少分号 |
|
|
|
|
|
|
|
|
|
|
|
语法错误啊,建议楼主多看看检查检查
|
|
|
|
很感谢老哥的帮忙!
|
|
|
|
不错,感谢分享经验心得,值得学习,麻烦了,辛苦了,非常感谢。
|
|
|
|
不错,感谢分享经验心得,值得学习,麻烦了,辛苦了,非常感谢。
|
|
|
|
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
788 浏览 0 评论
2275 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2141 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1682 浏览 0 评论
2930 浏览 3 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
5551 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 11:35 , Processed in 0.890938 second(s), Total 72, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号