【机械控制】特色专栏 机械控制 单片机C语言教程(10)C51表达式语句及仿真器

48 0

前面学习了大部分的基本语法,以下所要学习的各种基本语句的语法能说是组成程序的灵魂。在前面的课程中的例子里,也简单理解过一些语句的使用方法,能看出C语言是一种结构化的程序设计语言。C语言供给了相当丰富的程序控制语句。学习掌握这些语句是C语言学习中的重点。

表达式语句是最基本的一种语句。不一样的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB 的表达式语句,而在51单片机的C语言中则是加入分号“;”构成表达式语句。举例如下:

b  =  b  *  10; Count++;

X  =  A;Y  =  B;

Page  =  (a+b)/a-1;

以上的都是合法的表达式语句。在我收到的一些网友的 Email 中,发现很多开始学习的朋友一般在编写调试程序时忽略了分号“;”,造成程序不能被正常的编译。我本人的经验是在遇到编译错误时先语法是否有误,这在开始学习时一般会因在程序中加入了全角符号、运算符打错漏掉或没有在后面加“;”。

在 C 语言中有一个特殊的表达式语句,称为空语句,它仅仅是由一个分号“;”组成。 有时候为了使语法正确,那么就要求有一个语句,但这个语句又没有实际的运行效果那么这时就要有一个空语句。说起来就像大家在晚自修的时候用书包占位一样,呵呵。

空语句通常用会以下两种使用方法。

(1)while,for 构成的循环语句后面加一个分号,形成一个不执行其它操作的镅环体。 我会会常常用它来写等待事件发生的程序。大家要注意的是“;”号作为空语句使用时,要与语句中有效组成部分的分号相区别,如 for  (;a<50000;a++);第一个分号也应该算是空语句,它会使 a 赋值为 0(但要注意的是如程序前有 a 值,则 a 的初值为 a 的当前值),最后一个分号则使整个语句行成一个空循环。若此时 a=0,那么 for  (;a<50000;a++);就相当于 for  (a=0;a<50000;a++);我本人习惯是写后面的写法,这样能使人更不难读明白。 (2)在程序中为有关语句供绫旰牛标记程序执行的位置,使相关语句能跳转到要执行的位置。这会用在 goto 语句中。

下面的示例程序是简单说明 while 空语句的使用方法。硬件的功能很简单,就是在 P3.7 上 接一个开关,当开关按下时 P1 上的灯会全亮起来。当然实际应用中按钮的功能没这么的简单,一般还要进行防抖动处理等。

先在我们的实验板上加一个按钮。电路图如图 10-1。
 

程序如下:

#include  <AT89x51.h>

void  main(void)

{

图 10-1  加了按钮的实验电路图

unsigned  int  a;

do

{

P1  =  0xFF;  //关闭 P1 上的 LED

while(P3_7);  //空语句,等待 P3_7 按下为低电平,低电平时执行下面的语句 P1  =  0;  //点亮 LED

for(;a<60000;a++);  //这也是空语句的使用方法,注意 a 的初值为当前>

}  //这样第一次按下时会有一延时点亮一段时间,以后按多久就亮多久

while(1);  //点亮一段时间后关闭再次判断 P3_7,如此循环

}

上面的实验电路已加入了 RS232 串行口电路,只要稍微改变一下,就能变为具有仿真功能的 实验电路。这个改变的关键就是把芯片改用  SST89C58,并在芯片中烧入仿真监控程序。 SST89C58 同样也是一种 51 架构的单片机,它具有 24K+8K 的两个程序存储区,能选择其 一做为程序的启动区。只要把一个叫 SOFTICE.HEX 的监控程序用支持 SST89C58 的编程器烧 录到芯片中(使用编程器或用 CA 版的 SST89C58 烧录 SOFTICE 的具体方法和文件能参考 ),就能把上面的电路升级为MON51 仿真实验器。那么怎么用它和 KEIL 实现联机仿真呢?

图 10-2    项目设置菜单

图 10-3    项目设置

首先要在你要仿真的程序项目设置仿真器所使用的驱动,在 Debug 页中选择对应本仿真器的 KeilMon51 驱 动,如图 10 中 1 所示。图 10-3 的 3 是选择在仿真时能使用的工具窗口,如内存显示,断点等等。按 2 进行图 10-4 中的仿真器设置。设置好串行口号,波特率,晶体震荡器为 11.0592M 时选 38400。Cache  Options 为仿真缓选取后会加快仿真的运行的速度。设好后编译运行程序就能连接仿真器了,连接成功会出现如图 10-5 的画面。如连接不成功就出现图 10-6 的图,这个时候能先复位电路再按"Try Again",还不成功连接的话则 应检查软件设置和硬件电路。图 10-5 中 1 是指示仿真器的固件版本为 F-MON51V3.4 版。点击3中小红点位置时为设置和取消断点,点击 2 则运行到下一个断点。图 10-7 则是变量和存储器的查看。仿真器在软件大概的使用方法和软件仿真相差不多。

图 10-4    仿真器设置

图 10-5    仿真器连接成功

图 10-6    连接不成功提示

图 10-7    变量及内存查看

0

上一篇: 特色专栏 机械控制 单片机C语言教程(8)运算符和表达式(位运算符) 下一篇: 特色专栏 机械控制 单片机C语言教程(11)C51复合语句和条件语句

教程资料来源于网络,如有侵权,请及时联系平台进行删除

其他

课程目录
搜索
机械控制
特色专栏 机械控制 过载保护与温度保护的区别
特色专栏 机械控制 如何根据继电器电路图设计出PLC梯形图
特色专栏 机械控制 电压反馈电路的特点
特色专栏 机械控制 伺服系统设计步骤及方法
特色专栏 机械控制 PLC在使用过程中常见的技术故障分析及维护
特色专栏 机械控制 DCS系统的维护技巧
特色专栏 机械控制 三菱plc的常见问题
特色专栏 机械控制 电机工作原理图解
特色专栏 机械控制 34种自动控制原理图
特色专栏 机械控制 电气原理图和接线图识图方法
特色专栏 机械控制 实用电工口诀大全
特色专栏 机械控制 三相异步防爆电机和三相同步防爆电机的区别
特色专栏 机械控制 汽车采样机常见电气故障及处理方法
特色专栏 机械控制 传感器的选用
特色专栏 机械控制 新型视觉传感器
特色专栏 机械控制 压力传感器
特色专栏 机械控制 纳米技术传感器
特色专栏 机械控制 无线传感器技术前瞻
特色专栏 机械控制 CCD传感器与CMOS传感器的差异
特色专栏 机械控制 机械测试技术(1)绪论
特色专栏 机械控制 机械测试技术(2)测试装置的基本特性
特色专栏 机械控制 机械测试技术(3)常用传感器
特色专栏 机械控制 机械测试技术(4)信号调理
特色专栏 机械控制 智能控制理论与方法
特色专栏 机械控制 信号处理方法在齿轮故障诊断中的应用
特色专栏 机械控制 全硬件纯正弦SPWM逆变器后级详解
特色专栏 机械控制 继电器的符号和图片识别
特色专栏 机械控制 矩阵键盘C语言程序+电路图
特色专栏 机械控制 常用机床电路工作原理
特色专栏 机械控制 单片机C语言教程(1)建立第一个KeilC51项目
特色专栏 机械控制 单片机C语言教程(2)C51HEX文件的生成和单片机最小系统
特色专栏 机械控制 单片机C语言教程(3)C51数据类型
特色专栏 机械控制 单片机C语言教程(4)C51常量
特色专栏 机械控制 单片机C语言教程(5)C51变量
特色专栏 机械控制 单片机C语言教程(6)C51运算符和表达式
特色专栏 机械控制 单片机C语言教程(7)运算符和表达式(关系运算符)
特色专栏 机械控制 单片机C语言教程(8)运算符和表达式(位运算符)
特色专栏 机械控制 单片机C语言教程(10)C51表达式语句及仿真器
特色专栏 机械控制 单片机C语言教程(11)C51复合语句和条件语句
特色专栏 机械控制 单片机C语言教程(12)C51开关分支语句
特色专栏 机械控制 单片机C语言教程(13)C51循环语句
特色专栏 机械控制 单片机C语言教程(14)C51函数
特色专栏 机械控制 单片机C语言教程(15)C51数组的使用
特色专栏 机械控制 单片机C语言教程(16)C51指针的使用
特色专栏 机械控制 单片机C语言教程(17)C51结构、联合和枚举的使用
特色专栏 机械控制 BH61-ZK系列变频器在EVA发泡机上的应用
特色专栏 机械控制 常见日光灯接线原理图
特色专栏 机械控制 单开双控开关接线原理图
特色专栏 机械控制 电线接头接法图解
特色专栏 机械控制 plc梯形图程序编写步骤
特色专栏 机械控制 欧姆龙PLC接线时怎样区别输入输出点
特色专栏 机械控制 逻辑变量及基本逻辑运算
特色专栏 机械控制 常用计算机控制系统
特色专栏 机械控制 D/A转换器工作原理与性能指标
特色专栏 机械控制 三孔插座怎么接线
特色专栏 机械控制 墙壁开关插座安装接线过程图解
特色专栏 机械控制 控制电机的几种常见控制电路原理图
特色专栏 机械控制 控制三相电动机的三角形接法与星形接法
特色专栏 机械控制 多股电线接头接法图解
特色专栏 机械控制 变频器的工作原理
特色专栏 机械控制 初学PLC的六条方法
特色专栏 机械控制 PCB布局设计应遵循的原则
特色专栏 机械控制 智能家居系统布线注意事项
特色专栏 机械控制 三相四线电表怎么接线?
特色专栏 机械控制 电工接线标准
特色专栏 机械控制 监控摄像头安装图解
特色专栏 机械控制 变频器工作原理及接线方法
特色专栏 机械控制 机械控制理论-(1)绪论
特色专栏 机械控制 鼠标USB接口接线图及含义
特色专栏 机械控制 机械控制理论-(2)控制系统的数学模型及传递函数
特色专栏 机械控制 机械控制理论-(3)线性系统的时域分析
特色专栏 机械控制 机械控制理论-(5)控制系统的稳定性分析
特色专栏 机械控制 一大波接线图
特色专栏 机械控制 机械控制理论-(6)系统的校正方法
特色专栏 机械控制 嵌入式技术优缺点分析
特色专栏 机械控制 剩余电流式及测温式电气火灾监控探测器的设置
特色专栏 机械控制 TN-C系统、TN-C-S系统、TN-S系统的区别
特色专栏 机械控制 电工必懂的一些专业知识问答
特色专栏 机械控制 线路检漏电检测大法
特色专栏 机械控制 电梯电气安全装置检测方法
特色专栏 机械控制 机器人流行编程语言
特色专栏 机械控制 机电设备安装过程中常见问题和解决措施
特色专栏 机械控制 自动控制系统中的和种控制系统
特色专栏 机械控制 自动控制系统分类
特色专栏 机械控制 交流接触器的选用
特色专栏 机械控制 交流接触器的结构及原理
特色专栏 机械控制 单片机的运算符
特色专栏 机械控制 工业自动化仪表术语
特色专栏 机械控制 何谓电动机反接制动
特色专栏 机械控制 6种常用低压电气元件
特色专栏 机械控制 电动机紧急制动接线图
特色专栏 机械控制 数字电路识图方法
特色专栏 机械控制 短时间内学会plc的方法
特色专栏 机械控制 变频器绝缘电阻的测量
特色专栏 机械控制 识读建筑电气施工图步骤
特色专栏 机械控制 3种双控开关的接线方法
特色专栏 机械控制 增量式编码器的工作原理
特色专栏 机械控制 嵌入式开发七大技巧
特色专栏 机械控制 嵌入式系统硬件电路设计六大要点