(玩电子) 电子技术学习与研讨
当时方位:单片机教程网 >> 根底教程 >> 阅览文章

第六课 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 口上。


 

casino

图 6-2    DB9 接头

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

烧到芯片上,把串行口连接好。嘿嘿,这个时分要翻开你的串行口调试软件,没有就赶快到网上 DOWN 一个了。你会用 Windows 的超级终端也行,不过我从不用它。我用 http://emouze.com 的 comdebug,它是个不错的软件,我喜爱它是由于它功用好并且还有“线路状况”功用,这对


 

我制造小玩意时很有用。串行标语,波特率调好,翻开串行口,单片机上电,就能在接纳区看 到不断呈现的“Hello  World!”。一定要先翻开软件的串行口,再把单片机上电,否则或许因字符不对齐而看到乱码哦。

图 6-4    调试成果

宣布谈论】【告知老友】【保藏此文】【封闭窗口

文章谈论