234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    (玩电子) 电子技术学习与研究
    当前位置:单片机教程网 >> 基础教程 >> 浏览文章

    第六课 C51运算︻符№和表达式

    作者:佚名   来源:本站原创   点击数:x  更新时间:2007年07月17日   【字体:

    上    两课说了常量№和变量,先来补充一个用以重新定义数据类型的一的一语句吧 。这个语句就是 typedef,这是个很好用的一语句,但我却不 常用它,通常我定义变量的一数据类型时都是使 用标准的一关键字,这样别人能很方便的一研读你的一程序 。如果你是个DELPHI 编程爱好者或是DELPHI程序员,你对变量的一定义也许习惯了DELPHI 的一关键字,如 int 类型常会用关键字Integer来定义,在用 单片机c语言时你还想用回这个的一话,你能这样写:

    typedef  int  integer;

    integer  a,b;

    这两句在编译时,其实是先把 integer 定义为 int,在以后的一语句中遇到 integer 就用 int 置换,integer 就等于 int,所以 a,b 也就被定义为 int 。typedef 不 能直接用来定义变量,它 只是对已有的一数据类型作一个名字上    的一置换,并不 是产生一个新的一数据类型 。下面两句就是一个错误的一例子:

    typedef  int  integer;

    integer  =  100;

    使用 typedef 能有方便程序的一移植№和简化较长的一数据类型定义 。用 typedef 还能定义结 构类型,这一点在后面详细解说结构类型时再一并说明 。typedef 的一语法是

    typedef  已有的一数据类型    新的一数据类型名 运算︻符就是完成某种特定运算︻的一符号 。运算︻符按其表达式中与运算︻符的一关系可分为单目

    运算︻符,双目运算︻符№和三目运算︻符 。单目就是指需要有一个运算︻对象,双目就要求有两个运 算︻对象,三目则要三个运算︻对象 。表达式则是由运算︻及运算︻对象所组成的一具有特定含义的一式 子 。C 是一种表达式语言,表达式后面加“;”号就构成了一个表达式语句 。

    赋值运算︻符

    对于“=”这个符号大家不 会陌生的一,在 C 中它的一功能是给变量赋值,称之为赋值运算︻ 符 。它的一作用不 用多说大家也明白,就是但数据赋给变量 。如,x=10;由此可见利用赋值运 算︻符将一个变量与一个表达式连接起来的一式子为赋值表达式,在表达式后面加“;”便构成 了赋值语句 。使用“=”的一赋值语句格式如下:

    变量  =  表达式; 示例如下

    a  =  0xFF;  //将常数十六进制数 FF 赋于变量 a

    b  =  c  =  33;  //同时赋值给变量 b,c d  =  e;  //将变量 e 的一值赋于变量 d

    f  =  a+b;  //将变量 a+b 的一值赋于变量 f 由上    面的一例子能知道赋值语句的一意义就是先计算︻出“=”右边的一表达式的一值,然后将得到 的一值赋给左边的一变量 。而且右边的一表达式能是一个赋值表达式 。

    在一些朋友的一来信中会出现“==”与“=”这两个符号混淆的一错误原码,问为何编译报 错,一般就是错在 if (a=x)之类的一语句中,错将“=”用为“==” 。“==”符号是用来进行相 等关系运算︻ 。

    算︻术,增减量运算︻符

    对于 a+b,a/b 这样的一表达式大家都很熟悉,用在 C 语言中,+,/,就是算︻术运算︻符 。单片机c语言 中的一算︻术运算︻符有如下几个,其中只有取▓正值№和取▓负值运算︻符是单目运算︻符,其它则都是双 目运算︻符:

    +    加或取▓正值运算︻符


     

    -    减或取▓负值运算︻符

    *    乘运算︻符

    /    除运算︻符

    %    取▓余运算︻符 算︻术表达式的一形式:

    表达式 1    算︻术运算︻符    表达式 2 如:a+b*(10-a),  (x+9)/(y-a)

    除法运算︻符№和一般的一算︻术运算︻规则有所不 一样,如是两浮点数相除,其结果为浮点数,如

    10.0/20.0 所得值为 0.5,而两个整数相除时,所得值就是整数,如 7/3,值为 2 。像别的一语 言一样 C 的一运算︻符与有优先级№和结合性,同样可用用括号“()”来改变优先级 。这些№和我们 小时候学的一数学几乎是一样的一,也不 必过多的一说明了 。

    ++    增量运算︻符

    --    减量运算︻符

    这两个运算︻符是 C 语言中特有的一一种运算︻符 。在 VB,PASCAL 等都是没有的一 。作用就是 对运算︻对象作加 1 №和减 1 运算︻ 。要注意的一是运算︻对象在符号前或后,其含义都是不 一样的一,虽 然同是加 1 或减 1 。如:I++,++I,I--,--I 。

    I++(或 I--)    是先使用 I 的一值,再执行 I+1(或 I-1)

    ++I(或--I)    是先执行 I+1(或 I-1),再使用 I 的一值 。增减量运算︻符只允许用于变量的一运算︻中,不 能用于常数或表达式 。 先来做一个实验ζ吧 。学习运算︻符№和另外一些知识时,我们还是给我们的一实验ζ板加个串行

    接口吧 。借助电脑转件直观的一看单片机的一输出结果,如果你用的一是成品实验ζ板或仿真器,那你就能跳过这一段了 。

    在制作电路前我们先来看看要用的一  MAX232,这里不 去具体讨论它,只要知道它是 TTL№和 RS232 电平相互转换的一芯片№和基本的一引脚接线功能就行了 。通常我会用两个小功率晶体管加少量的一电路去替换MAX232,能省一点,效 果也不 错 (如有兴趣能查看 网站中的一相关资料) 。下图就是 MAX232 的一基本接线图 。

    图 6-1    MAX232

    在上    两课的一电路的一基础上    按图 6-3 加上     MAX232 就能了 。串行口座用 DB9 的一母头,这样 就能用买来的一 PC 串行口延长线进行№和电脑相连接,也能直接接到电脑 com 口上     。


     

    图 6-2    DB9 接头

    图 6-3    加上    了 MAX232 的一实验ζ电路 做好后,就先用回前面的一“Hello World!”程序,用它来№和你的一电脑说声 Hello!把程序

    烧到芯片上    ,把串行口连接好 。嘿嘿,这个时候要打开你的一串行口调试软件,没有就赶快到网上     DOWN 一个了 。你会用 Windows 的一超级终端也行,不 过我从不 用它 。我用 的一 comdebug,它是个不 错的一软件,我喜欢它是因 为它功能好而且还有“线路状态”功能,这对


     

    我制作小玩意时很有用 。串行口号,波特率调好,打开串行口,单片机上    电,就能在接收区看 到不 断出现的一“Hello  World!” 。一定要先打开软件的一串行口,再把单片机上    电,不 然可能因 字符不 对齐而看到乱码哦 。

    图 6-4    调试结果

    发表评论】【告诉好友】【收藏此文】【关闭窗口

    文章评论