单片机C51这个错在哪

作者&投稿:毛崔 (若有异议请与网页底部的电邮联系)
单片机C51,哪里错了~

我忘的差不多,第一个for循环,time不用赋值吗?

问题很多,M1^0在51中是没有的,P0^0&M1^0==P2;存在语法错误,而且如P1^0之类直接赋值也不行的。你将P2这个char 型量赋值给一个位变量,结果只会讲P2.0赋值。

以下是单片机实践团为您解答:
1)请下载:C51FPS.LIB放到,目录:c:\keil\c51\lib即可。
2)问题分析:你包含了头文件stdio.h,里面有些实体是在这个C51FPS.LIB中的,我猜测的。
3)为什么这么说呢,你的keil版本太老了(而且组件不全),一看就知道,建议使新版本的避免不必要的麻烦。
4)还要请参考下面的说法:
首先看看官网的解决方案,英文的。如下,我英文不好随便翻译一下
我通过错误重现,发现可以解决。希望对你有帮助
ANSWER
If you are creating a code banking application...
(如果你创建了代码分页)
L51_BANK.OBJ is the object file that is generated by the assembler from the L51_BANK.A51 object module. Make sure that you have properly configured the L51_BANK.A51 file and assembled it for your project. If you use µVision, make sure that L51_BANK.A51 is included in your project.
(L51_BANK.OBJ是通过L51_BANK.A51工程模块 汇编创建的工程文件,确保你当前配置好了L51_BANK.A51文件并为你的工程编译,如果使用µVision(keil4)确保L51_BANK.A51文件包含在你的工程里 )
看具体操作: 复制keil 安装目录下的 C:\KEIL4\C51\LIB\L51_BANK.OBJ到你建的工程里面并像添加。c或。h一样加入工程source group 中 ,编译一下加好了。。
If you are NOT creating a code banking application...
Open the Project Options dialog in µVision and uncheck the Code Banking checkbox at the bottom left of the Target tab.
(如果没有创建代码分页或分块,打开工程选项对话框,取消Code Banking勾选项)
操作如下:
projiect——>option for target ——>取消左下角的code banking勾选项即可
5)嗯,换个好的IDE、找个好点的教程,少走不必要的弯路,慢慢试吧。

找不到#include <stdio.h>文件,在51单片机中用不了scanf和printf吧!


为什么明基DCc51数码相机拍出来的照片模糊.应该怎么调整这个效果会让照...
照片模糊的可能原因:1、拍照时相继没有拿稳。解决办法:按快门时拿稳相机不要晃动。2、相继快门速度慢。解决办法:适当调高相继快门速度。3、镜头脏污。解决办法:用镜头纸或眼镜布之类的清洁镜头。4、相机自身问题。这个除了送修之外就没有办法了。

at91c51怎么区分管脚?
1、XTAL1、XTAL2引脚。这类引脚属于外接时钟引脚。前者为片内震荡电路的输入,后者为片内震荡电路的输出。2、RST引脚。这类引脚属于复位引脚,连续输入两个机器周期以上高电平就可以触发机制,完成单片机的复位初始化的工作,单片机就可以从头开始执行程序了。3、PSEN引脚。这类引脚的全称是程序存储器允许...

单片机的sbit WR?
sbit是C51扩展的变量类型,是定义特殊功能寄存器的位变量。典型应用是:sbit P0_1=P0^1;\/\/即定义P0_1为P0口的第2位

c51怎么才能学好
但要设计出丰富的单片机系统,解决复杂的实际问题,还需要了解更多的外设知识及其与单片机的联系(如电动机、各类存储器、继电器、红外管等)。这些需要不断的学习和积累。有时候,接到一些开发任务,就需要你针对这个任务自觉地去搜集、学习相关知识,在实践中不断载学习和提高。最后推荐一本经典图书:《...

msp430与c51单片机哪个更好点
c51单片机比较有代表性的如64KB的flash和1KB的ram算是很大了。51单片机和430单片机的主要区别是51是8位的,430是16位的。开发环境都有相应的c开发环境。C 51 单片机是 8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有 111 条指令。而 MSP430 单片机是 16 位的单片机,采用了...

如果零基础学习单片机,要多少学费 比如说教你c51,stm32等
不用学费,但有成本,单 片机学习要注重实验和编程,买一块开发板,完全可以自学,一般都有配套配套文字和视频教程,网上还可以提问和讨论 C51的开发板就 200-300块钱,质量差别不大,价格差是因配件的多少不同 STM32的开发板便宜一些的300-400元,高端一些600一900元,配件也可以自由搭配 另外有...

怎样使用计算机实时作业系统
2.在微控制器系统中嵌入ucos ii将增加系统的开销。现在所使用的51微控制器,一般是指87C51或者89C51,其片内都带有一定的RAM和 ROM。对于一些简单的程式,如果采用传统的程式设计方法,已经不需要外扩储存器了。如果在其中嵌入ucos ii的话,在只需要使用任务排程、任务切换、讯号量处理、延时或超时服务的情况下,也不...

单片微机原理汇编与C51及接口技术内容简介
对于存储设备,书中涵盖了半导体存储器的种类和工作原理,以及常用的可编程接口芯片,如A\/D和D\/A转换芯片。特别值得一提的是,针对80C51系列单片机,如8xC552和C8051Fxxx,进行了详细而全面的介绍,这些单片机与80C51兼容,为学习者提供了实践平台。作者凭借丰富的科研和教学经验,精心编排了众多实例,这些...

C51单片机+ULN2003能否驱动直流减速电机?如果能的话,电路应该怎么连接...
LN2003也是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。因此:一端B1由C51控制,另一端C1控制电机。

单机片C51完全学习手册内容简介
《单片机C51完全学习手册》是一本专注于单片机C51语言的详尽教程。它首先从基础讲起,深入剖析C51程序设计的基本要素,如语法、函数和数据结构,确保读者对语言有全面理解。接着,书中详细讲解了Keil C51这一调试软件的运用和调试技巧,这对于提升程序设计的精准度至关重要。此外,手册还涵盖了Keil C51集成...

金州区13813886257: 小弟初学C51单片机,想请教大哥大姐们一个使用定时器的跑马灯程序,程序如下,错在了哪? -
焦达小儿: 你的程序有一个循环: while(0){} ,这是一个死循环,真正的死循环,程序根本进不去.你试试这个,我现在没法给你调试,你自己试试.#include void main() { unsigned char cnt; unsigned char con; unsigned char num; P0 = 0x00; TMOD = 0x01;...

金州区13813886257: 帮忙看一下这个单片机程序错在哪里?总是编译错误.(答案正确的话会加分) -
焦达小儿: 经本人的复制编译下肯定确认本程序本身没有错误,根据自费一个错误提示 *** ERROR L104: MULTIPLE PUBLIC DEFINITIONSSYMBOL: MAIN 有MAIN的符号的函数被重复定义 有可能这个项目下还有还有其它文件有MAIN这个主程序,要么是编译器本身的问题

金州区13813886257: 51单片机c语言提示错误在哪里?谢谢! -
焦达小儿: 它提示你在第八行附近有问题,检查的时候发现你写的是led=0,这一句是不完整的,需要写成led=0; 就可以了,即在后面加一个分号

金州区13813886257: 51单片机,这个程序错在哪里呢?编译器总提示C(32): error C141: syntax error near 'u8' -
焦达小儿: main函数的while循环里面,调用函数你还给参数加个类型,这是语法错误.

金州区13813886257: 51单片机少写了一个循环语句,为什么还能执行循环,错在哪里呢?程序如下: -
焦达小儿: 结论 1:如果主程序中没有 while(1) 这个无限循环,程序走到最后会再次从头开始执行.结论 2:如果主程序有 while(1) 这个无限循环,程序走到最后会一直在这个死循环中运行,不会出现再从头执行的情况.这应该属于 Keil 编译器的 bug,有...

金州区13813886257: - - - Error: can't execute 'E:\单片机\KEILV805中文版\C51\BIN\C51.EXE'这个是怎么回事?求解 -
焦达小儿: 1、确认你是成功安装keil软件,这样情况基本都是没有正确安装的问题2、尽量不要安装在中文路径 还有什么问题直接留言

金州区13813886257: c51 单片机 c141 错误 错在哪里了? -
焦达小儿: 51单片机有 double float 这个定义吗?我记得51系列的单片机不支持这种类型,这个类型似乎在16位的体系中才出现的

金州区13813886257: c51单片机一个简单的模块化c51单片机一个简单的模块化编程错在那里.编程错在那里.第一次模块化不知错在那里了.
焦达小儿: 头文件最好写成#include<reg51.h>,还有你的.h文件不是这么搞的,包含的方法不对,你上网上找一个案例看看,如果是包含的,在你C程序下应该有.h文件在里面的,你这个没有,同时一般包含.h文件,应该是#include"XXXX.h"

金州区13813886257: 这两个 单片机 52程序错哪了,怎么运行不了呢,哪里的语法错了? -
焦达小儿: 第一个程序第一个错误 while前面少了分号第二个错误 一般表示是括号没配对,我没仔细看,你自己检查一下吧,也有可能第一个错误改掉以后就不会报第二个错误了.第二个程序你想访问P2口的某一位,应该像这样做sbit P2_1 = P2^1;P2_1 = 0;感觉这是你对sbit的用法理解错了,sbit是C51里面扩充的关键字.这里的^不是一个运算符号,只 是一种约定的表达方式,^后面只能是常数,用变量肯定不对.第一个程序里面的访问P2的k位也是错的,要想判断P2的k位要这样做if( ( (1<<k) & P2 ) == 0 )将1 移动 k 次的结果 与 P2 做位“与”

金州区13813886257: 单片机C51,请帮忙,错误在哪,八路流水灯—第一次按下按钮时,只有D1发光;第二次只有D2,查询方式 -
焦达小儿: while(1){ if(key==0) delay(10); if(key==0) {key_num++; 这个延时函数有问题,你的延时的是10是10us.没起到延时的作用.所以你按一下后 这个Key_num的值都已经不知道飞到哪里了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网