C51编程可以定义布尔型变量么

wangSeeyin 2014-05-06 12:35:37
bool Recflag,Sendflag;
编译时提示Recflag前却上分号(;),可是实际上前面的都有分好多。。
我就查了一下资料,发现C51基本数据类型里面没有布尔型,是不是C51不支持bool型,所以才会报错,说缺少分号。。
可是C51编程理确实用过while(true)这样的循环,这就说明,C51可以进行逻辑判断,就是支持bool型,可是基本类型里有为何没有bool呢??
难道C51只支持ture,false用在循环和判断里面,不支持个人定义bool型变量么??!!
...全文
2713 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
f27ny105t5123 2014-05-12
  • 打赏
  • 举报
回复
用bit定义就可以 bit就一个二进制位 1代表真 0代表假
zhu070 2014-05-07
  • 打赏
  • 举报
回复
引用 6 楼 of123 的回复:
typedef uchar bool; #define true 1 #define false 0
像这样就可以了 ,C51不支持布尔的
熊已出没 2014-05-06
  • 打赏
  • 举报
回复
Keil编译器支持Bit.相当于BOOL变量.
brightkang 2014-05-06
  • 打赏
  • 举报
回复
首先,typedef char bool语句后面要加分号,还有我记着c51里面是不直接支持bool的,一般直接用bit变量,值是1或者0来处理
wangSeeyin 2014-05-06
  • 打赏
  • 举报
回复
wangSeeyin 2014-05-06
  • 打赏
  • 举报
回复
这样定义的话,难么bool型的变量实际上就是char型的了。。 试了一下,果然编译器提示,true,false没有定义。。
zgl7903 2014-05-06
  • 打赏
  • 举报
回复
用 typedef char bool; 自己定义一下
meadow 2014-05-06
  • 打赏
  • 举报
回复
这个。。。 C语言32个关键字里面就没有BOOL型 用VC在控制台下遍C语言程序不加相应头文件也不合法吧 所以说不是C51支不支持的问题,而是C51有没有定义的问题
of123 2014-05-06
  • 打赏
  • 举报
回复
typedef uchar bool; #define true 1 #define false 0
---------------------------------- Keil C51语言使用技巧及实战_周立功书籍 ---------------------------------- PDF文件,带书签功能,阅读非常方便,不是精品我不发. -----------目录------------------- 介绍 第一章 硬件 1 概述 2存储区结构 2.1 CODE 区 2.2 DATA 区 2.3 特殊功能寄存器 2.4 IDATA区 2.5 XDATA区 3 位操作和布尔逻辑 4 寻址方式 5 处理器状态 6 电源控制 6 中断系统 6.1 中断优先级寄存器 6.2 中断使能寄存器 6.3 中断延迟 6.4 外部中断信号 7 内置定时/计数器 7.1 定时器工作方式 0 和方式 1 7.2 定时器工作方式 2 7.3 定时器工作方式 3 7.4 定时器 2 8 内置 UART 8.1 UART模式0 8.2 UART模式1 8.3 UART模式2 9 其它功能 9.1 I2C 9.2 A/D转换 9.3 看门狗 10 设计 11 实现 第二章 用 C 对 8051 编程 1 为什么要用高级语言 2 C 语言的一些要点 2.1 结构 2.2 联合 2.3 指针 2.4 类定义 3 Keil C和ANSI C 3.1 数据类 3.2 特殊功能寄存器 4 存储类 4.1 DATA 区 4.2 BDATA区 4.3 IDATA段 4.4 PDATA和XDATA段 5 指针 6 中断服务 6.1 指定中断服务程序使用的寄存器组 7 再入函数 8 使用 Keil C 时应做的和应该避免的 8.1 采用短变量 8.2 使用无符号类 8.3 避免使用浮点指针 8.4 使用位变量 8.5 用局部变量代替全局变量 8.6 为变量分配内部存储区 8.7 使用特定指针 8.8 使用调令 8.8 使用宏替代函数 9 存储器模式 10 混合存储模式 11 运行库 12 动态存储分配 13 结论 第三章 使用软件补充硬件 1 介绍 2 使用小存储模式 3 使用液晶驱动 3.1 LCD驱动接口 4 显示数据 4.1 定制 printf 函数 5 使用定时计数器来计时 6 使用系统时标做用户接口 7 改进时钟软件 8 优化内部 RAM 的使用 9 完整的程序 10 使用看门狗定时器 12 保存系统数据 13 结论 第四章 在 8051 上使用汇编和 C 1 介绍 2 增加段和局部变量 3 设置变量地址 4 结合C和汇编 5 内联汇编代码 6 提高编译器的汇编能力 7 仿真多级中断 8 时序问题 9 结论 第五章 系统调试 1 介绍 2 通过系统设计来帮助调试 3 使用调试端口 4 使用Monitor-51 5 利用I/0端口进行调试 6 使用ICE 7 结论 第六章 中断系统 1 介绍 2 中断驱动系统和查寻系统 3 中断的电平和边沿触发 3.1 电平触发中断 3.2 边沿触发方式 4 共用中断 6 扩充外部中断数 7 中断服务程序 8 结论 第7章 串行口 1 介绍 2 慢速串行口和PC的接口 3 高速串行I/O 4 结论 第八章 8051的网络设计 1 复合串行端口 2 队列实行 3 使用内置定时器作TDMA控制 3 保持节点器件同步 4 CSMA网络 5 结论 第九章 控制编译和连接 1 把C代码转变成Keil C代码 2 把汇编代码转换成Keil汇编代码 3 使用using关键字 4 控制连接覆盖过程 5 使用64K或更多RAM 6 使用64K以上的代码空间 7 结论 第十章 8051的模糊控制 1 介绍 2 什么是模糊逻辑 3 模糊系统的结构 4 模糊控制使用的场合 5 进行模糊控制 6 模糊功能的实现 7 方案调整 8结论 总结 ----------------------------------
一、课程特色      1.课程以理论知识讲解+实操+项目实战的方式进行教学,避免了传统课堂教学只知其然不知其所以然的问题。      2.课程对理论知识部分的分析鞭辟入里,再配合实操演示,让学员能够真正掌握每一条指令的使用和每一个参数的含义,以求做到融会贯通,举一反三。      3.对于课程的项目实战部分,则采用保姆式的教学方式,从新建项目开始,让基础不是很好的学员也可以对照视频教程一步一步完成项目实操,让学习能够有一个很好的获得感。二、课程目标      1.掌握西门子TIA Portal软件的使用。      2.掌握步进电机的结构与工作原理(图解法教学)。      3.掌握西门子S7-1200PLC与步进系统的接线(含实物接线讲解)。      4.掌握西门子CTRL_PTO脉冲输出指令参数配置、原理及使用(含实物操作演示+练手小项目)。      5.掌握使用TIA Portal软件进行组态运动轴的参数配置(实操演示)。      6.理解组态运动轴的的每一个参数含义TIA Portal(实操演示)。      7.掌握TIA Portal组态运动轴对步进电机的调试(实操演示)。      8.掌握西门子MC_Home、MC_MoveVelocity等运动控制指令的参数配置及使用(实操演示)。      9.掌握西门子S7-1200/1500PLC结构化编程,完成“立体仓库自动出入库系统”项目实战。      10.掌握西门子KTP700触摸屏组态应用。                       

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧