<meta name="keywords" content="必胜时时彩开户,keywords" /> 第十课 C51表达式语句及仿真器 联系我们

第十课 C51表达式语句及仿真器

前面学习了年夜部门的基本语法,以下所要学习的种种基本语句的语法能说是组成法式模范模范的灵魂。在前面的课程中的例子里,也质朴明确过一些语句的应用措施,能看出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    变量及内存检查