⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51表达式语句及仿真器.htm

📁 单片机教程 用c语言实现编程 可以大大缩短我们的开发周期
💻 HTM
📖 第 1 页 / 共 3 页
字号:
	   
	   if (password == "")
	   {
		showAlert ("密码不能为空");
		thisform.password.focus();
		return false;
	   }
	   return true;
}
function top_joined(value)
{
	if (value != "")
	{
		var action;
		action = value.split("_");
		if (action[0] == "league")
		{
			window.location.href="/league/index.php?gid=" + action[1];
		}
		if (action[0] == "acti")
		{
			window.location.href="/league/activity/acti_mana_index.php?t_id=" + action[1];
		}

	}
}

function copyurl(url)
{
	try{
		clipboardData.setData('Text',url);
		showAlert('已经把该社团网址复制到系统剪贴板,您可以使用(Ctrl+V或鼠标右键)粘贴功能,通过其他软件记录或发送给您的朋友。')
	}
	catch(e){}
}
function add_favorite(uid, url, name)
{
	window.open("/personal/favorite/add.php?member_id="+uid+"&url="+url+"&name="+name,'_blank','width=400,height=220,toolbar=0,locationbar=0,menubar=0,statbar=0'); 
	return false;
}

// 提示登录
function alertlert_login()
{
	showAlert('对不起,您目前没有权限,请先登录!');
	document.login_form1.account.focus();
}


//申请加入社团
function con_join(con_gid)
{
	showConfirm("您确认加入本社团吗?","window.location.href='/league/apply.php?g_id="+con_gid+"';","");
}


//退出本社团
function con_quiet(con_gid,con_uid)
{
	showConfirm("您确认退出本社团吗?","window.location.href='/league/member/quiet_member.php?g_id="+con_gid+"&q_uid="+con_uid+"';","");
}

</SCRIPT>
<!-- 回复框 -->
<DIV id=background style="DISPLAY: none"></DIV>
<DIV id=postbox 
style="DISPLAY: none; Z-INDEX: 50; LEFT: 769px; WIDTH: 600px; POSITION: absolute; TOP: 271px">
<FORM name=reply_comment action=/league/comment/index.php?gid=514465 method=post 
target=hidden_frame><INPUT id=act type=hidden value=add name=act> <INPUT id=r_id 
type=hidden name=r_id> <INPUT id=t_id type=hidden name=t_id> <INPUT id=f_uid 
type=hidden name=f_uid> 
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
  <TBODY>
  <TR>
    <TD height=13>&nbsp;</TD></TR>
  <TR>
    <TD class=box_common height=26>&nbsp;<SPAN 
      class=font_common_title>回复评论</SPAN></TD></TR></TBODY></TABLE>
<TABLE class=box_common01 cellSpacing=0 cellPadding=0 width="70%">
  <TBODY>
  <TR>
    <TD>
      <TABLE cellSpacing=8 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0><TBODY>
        <TR>
          <TD class=font_common vAlign=top align=right height=63>内容:</TD>
          <TD class=font_common vAlign=top><TEXTAREA class=input_box01 id=input_area name=input_area rows=6 cols=48></TEXTAREA></TD></TR>
        <TR>
          <TD class=font_common vAlign=top align=right width="15%">原文:</TD>
          <TD class=font_common style="LINE-HEIGHT: 18px" vAlign=top 
            width="85%"><SPAN class=gray id=past_type></SPAN></TD></TR>
        <TR>
          <TD class=font_common vAlign=top align=middle colSpan=2><INPUT class=btn01 onclick=javascript:hidden_reply();submit_post(document.reply_comment); type=button value=发表 name=queding> 
            &nbsp;&nbsp; <INPUT class=btn01 onclick=hidden_reply(); type=reset value=取消> 
        </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></DIV><!-- 回复框 -->
<DIV id=mainBox>
<DIV id=mainBoxBg>
<TABLE class=module_title cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR>
    <TD class=corner_left></TD>
    <TD class=corner_center><A 
      href="http://www.5jia1.com/league/?gid=514465">首页</A>&nbsp;&gt;&nbsp;<A 
      href="http://www.5jia1.com/league/blog/blog_index.php?gid=514465">社团文集</A>&nbsp;&gt;&nbsp;<A 
      href="http://www.5jia1.com/league/blog/show_comm.php?bid=361295">第十课 
      C51表达式语句及仿真器</A></TD>
    <TD class=corner_right></TD></TR></TBODY></TABLE>
<DIV class=module_content>
<DIV class=module_content_line>
<DIV class=bg>
<TABLE cellSpacing=10 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=middle>
      <TABLE class=box_common cellSpacing=1 cellPadding=5 width="100%" 
        border=0><TBODY>
        <TR class=box_common_title>
          <TD colSpan=2>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD width="35%"><B>第十课 C51表达式语句及仿真器</B></TD>
                <TD align=right width="65%">作者: <A 
                  href="http://www.5jia1.com/personal/?member_id=505887" 
                  target=_blank>张文俊</A> &nbsp;&nbsp;2007-08-14 
                  17:00:22&nbsp;&nbsp; </TD></TR></TBODY></TABLE></TD></TR>
        <TR class=box_content>
          <TD vAlign=top align=middle width="10%"><A 
            href="http://www.5jia1.com/personal/?member_id=505887" 
            target=_blank><IMG class=box01 height=98 
            src="10.files/s_0_personal_photo_505887.jpg" width=98 vspace=5 
            border=0></A><BR><IMG height=14 src="10.files/icon_boy.gif" width=14 
            border=0>&nbsp; <A 
            href="http://www.5jia1.com/personal/?member_id=505887" 
            target=_blank>张文俊</A> </TD>
          <TD>
            <TABLE class="font_content  autowrap" cellSpacing=12 cellPadding=0 
            width="100%" border=0>
              <TBODY>
              <TR>
                <TD class=line_h20 style="WIDTH: 790px">
                  <DIV style="OVERFLOW-X: auto; WIDTH: 100%">
                  <TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TH vAlign=center align=middle height=32>
                        <H1>第十课 C51表达式语句及仿真器</H1></TH></TR>
                    <TR>
                      <TD align=middle bgColor=#f7f7f7 
                        height=25>作者:佚名&nbsp;&nbsp;&nbsp;&nbsp;来源:本站原创&nbsp;&nbsp;&nbsp;&nbsp;点击数: 
                        125&nbsp;&nbsp;&nbsp;更新时间:2007年07月15日&nbsp;&nbsp;&nbsp;</TD></TR></TBODY></TABLE>
                  <P>前面学习了大部分的基本语法,以下所要学习的各种基本语句的语法能说是组成程序的灵魂。在前面的课程中的例子里,也简单理解过一些语句的使用方法,能看出C语言是一种结构化的程序设计语言。C 
                  语言供给了相当丰富的程序控制语句。学习掌握这些语句的使用方法也是单片机C语言学习中的重点。</P>
                  <P>表达式语句是最基本的一种语句。不一样的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB 
                  的表达式语句,而在51<A href="http://www.5jia1.com/" 
                  target=_blank><U><FONT 
                  color=#800080>单片机</FONT></U></A>的C语言中则是加入分号“;”构成表达式语句。举例如下:</P>
                  <P>b &nbsp;= &nbsp;b &nbsp;* &nbsp;10; Count++;</P>
                  <P>X &nbsp;= &nbsp;A;Y &nbsp;= &nbsp;B;</P>
                  <P>Page &nbsp;= &nbsp;(a+b)/a-1;</P>
                  <P>以上的都是合法的表达式语句。在我收到的一些网友的 Email 
                  中,发现很多开始学习的朋友一般在编写调试程序时忽略了分号“;”,造成程序不能被正常的编译。我本人的经验是在遇 
                  到编译错误时先语法是否有误,这在开始学习时一般会因在程序中加入了全角符号、运算符打错 漏掉或没有在后面加“;”。</P>
                  <P>在 C 语言中有一个特殊的表达式语句,称为空语句,它仅仅是由一个分号“;”组成。 
                  有时候为了使语法正确,那么就要求有一个语句,但这个语句又没有实际的运行效果那么这 
                  时就要有一个空语句。说起来就像大家在晚自修的时候用书包占位一样,呵呵。</P>
                  <P>空语句通常用会以下两种使用方法。</P>
                  <P>(1)while,for 构成的循环语句后面加一个分号,形成一个不执行其它操作的空循环体。 
                  我会会常常用它来写等待事件发生的程序。大家要注意的是“;”号作为空语句使用时,要 
                  与语句中有效组成部分的分号相区别,如&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;for 
                  &nbsp;(;a&lt;50000;a++);第一个分号也应该算是 空语句,它会使 a 赋值为 0(但要注意的是如程序前有 
                  a 值,则 a 的初值为 a 的当前值),最后一个分号则使整个语句行成一个空循环。若此时 a=0,那么 for 
                  &nbsp;(;a&lt;50000;a++);就相当</P>
                  <P>于 for &nbsp;(a=0;a&lt;50000;a++);我本人习惯是写后面的写法,这样能使人更不难读明白。 
                  (2)在程序中为有关语句供给标号,标记程序执行的位置,使相关语句能跳转到要执行</P>
                  <P>的位置。这会用在 goto 语句中。</P>
                  <P>下面的示例程序是简单说明 while 空语句的使用方法。硬件的功能很简单,就是在 P3.7 上 
                  接一个开关,当开关按下时 P1 上的灯会全亮起来。当然实际应用中按钮的功能实现并没有 
                  这么的简单,一般还要进行防抖动处理等。</P>
                  <P>先在我们的实验板上加一个按钮。电路图如图 10-1。</P><BR 
                  style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section42>
                  <P><IMG hspace=0 src="10.files/20077153491858086.jpg" 
                  align=baseline border=0></P></DIV><BR 
                  style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section43>
                  <P>程序如下:</P>
                  <P>#include &nbsp;&lt;AT89x51.h&gt;</P>
                  <P>void &nbsp;main(void)</P>
                  <P>{</P>
                  <P>图 10-1 &nbsp;加了按钮的实验电路图</P>
                  <P>unsigned &nbsp;int &nbsp;a;</P>
                  <P>do</P>
                  <P>{</P>
                  <P>P1 &nbsp;= &nbsp;0xFF; &nbsp;//关闭 P1 上的 LED</P>
                  <P>while(P3_7); &nbsp;//空语句,等待 P3_7 按下为低电平,低电平时执行下面的语句 P1 
                  &nbsp;= &nbsp;0; &nbsp;//点亮 LED</P>
                  <P>for(;a&lt;60000;a++); &nbsp;//这也是空语句的使用方法,注意 a 的初值为当前值</P>
                  <P>} &nbsp;//这样第一次按下时会有一延时点亮一段时间,以后按多久就亮多久</P>
                  <P>while(1); &nbsp;//点亮一段时间后关闭再次判断 P3_7,如此循环</P>
                  <P>}</P></DIV><BR style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section44>
                  <P>上面的实验电路已加入了 RS232 串行口电路,只要稍微改变一下,就能变为具有仿真功能的 
                  实验电路。这个改变的关键就是把芯片改用 &nbsp;SST89C58,并在芯片中烧入仿真监控程序。 SST89C58 
                  同样也是一种 51 架构的<A href="http://www.5jia1.com/" 
                  target=_blank><U><FONT color=#800080>单片机</FONT></U></A>,它具有 
                  24K+8K 的两个程序存储区,能选择其 一做为程序的启动区。只要把一个叫 SOFTICE.HEX 的监控程序用支持 
                  SST89C58 的编程器烧 录到芯片中(使用编程器或用 CA 版的 SST89C58 烧录 SOFTICE 
                  的具体方法和文件能参考 <A href="http://www.5jia1.com/"><U><FONT 
                  color=#0000ff>/</FONT></U></A> ),就 能把上 面 的电路升级为 </P>
                  <P>MON51 仿真实验器。那么怎么用它和 KEIL 实现联机仿真呢?</P>
                  <P><IMG hspace=0 src="10.files/20077157945475471.gif" 
                  align=baseline border=0></P>
                  <P>图 10-2&nbsp;&nbsp;&nbsp; 项目设置菜单</P>
                  <P><IMG hspace=0 src="10.files/20077155161433989.gif" 
                  align=baseline border=0></P></DIV><BR 
                  style="PAGE-BREAK-BEFORE: auto" clear=all>
                  <DIV class=Section45>
                  <P>图 10-3&nbsp;&nbsp;&nbsp; 项目设置 首先要在你要仿真的程序项目设置仿真器所使用的驱动,在 
                  Debug 页中选择对应本仿真器的 KeilMon51 驱 动,如图 10 中 1 所示。图 10-3 的 3 
                  是选择在仿真时能使用的工具窗口,如内存显示,断点等等。按 2 进 行图 10-4 
                  中的仿真器设置。设置好串行口号,波特率,晶体震荡器为 11.0592M 时选 38400。Cache&nbsp; 
                  Options 为仿真 缓选取后会加快仿真的运行的速度。设好后编译运行程序就能连接仿真器了,连接成功会出现如图 
10-</P>
                  <P>5 的画面。如连接不成功就出现图 10-6 的图,这个时候能先复位电路再按"Try Again",还不成功连接的话则 
                  应检查软件设置和硬件电路。图 10-5 中 1 是指示仿真器的固件版本为 F-MON51V3.4 版。点击 3 中小红 
                  点位置时为设置和取消断点,点击 2 则运行到下一个断点。图 10-7 则是变量和存储器的查看。仿真器在</P>
                  <P>软件大概的使用方法和软件仿真相差不多。</P>
                  <P><IMG hspace=0 src="10.files/20077155380041920.gif" 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -