- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机C语言程序设计研讨
C51语言与标准C语言程序区别: (1)C51中定义的库函数和标准C语言定义的库函数不同。后者是按通用微型计算机来定义的,而C51中的库函数是按MCS-51单片机相应情况来定义的; (2)数据类型有一定的区别。在C51中增加了几种针对MCS-51单片机特有的数据类型; (3)C51中变量的存储模式与MCS-51单片机的存储器紧密相关; (4)C51中的输入输出是通过MCS-51串行口来完成的,输入输出指令执行前必须要对串行口进行初始化; (5)C51中有专门的中断函数。 【例10-1】特殊功能寄存器型数据定义。 sfr SCON=0X98; //定义 SCON sbit SM0=0X9F; //定义 SCON 的各位 sbit SM1=0X9E; sbit SM2=0X9D; sbit REN=0x9C; sbit TB8=0X9B; sbit RB8=0X9A; sbit TI=0X99; sbit RI=0X98; 10.2.2 关于指针型数据 指针(*)是一种特殊的数据类型,指向变量的地址,实质上指针就是存储单元的地址。 在C51中它的长度一般为1~3个字节。根据所指的变量类型不同,可以是字符型指针(char *)、整型指针(int *)、长整型指针(long *)、浮点型指针(float *)及结构指针(struct *)与联合指针(union *)。 1. 一般指针 一般指针的声明和使用均与标准C相同,不过同时还能说明指针的存储类型,例如: long * state; //为一个指向long型整数的指针,而state本身则依存储模式存放。 char * xdata ptr; //ptr为一个指向char数据的指针,而ptr本身放于外部RAM区。 一般指针本身用3个字节存放,分别为存储器类型、高位偏移量、低位偏移量。 2. 存储器指针 基于存储器的指针说明时即指定了存储类型,例如: char data * str; //str指向data区中char型数据。 int xdata * pow; //pow指向外部RAM的int型整数。 存放时,只需一个字节或2个字节就够了,因为只需存放偏移量。 10.2.3 C51的运算符 运算符:完成某种特定运算的符号。C51常见的运算符有算术运算符、赋值运算符、关系运算符、逻辑运算符、按位运算符和联合(复合赋值)运算符。除此之外,还有一些用于完成特殊任务的运算符,如逗号运算符、条件运算符、指针与地址运算符。 1. 常见的运算符 1). 算术运算符 在实际编程中,为了程序的简练,经常使用?i++?与?++i?这样的语句。i++??是先进行运算,再执行?i?=?i?+1的操作;而?++i?则是先执行??i?=?i?+1的操作,再进行运算。 例:int ?x=0,?y=0; y?=?x++; //执行后y的值仍为?0 而 int? x=0,?y=0; y?=?++x; //执行后y的值则为?1 2). 赋值运算符“=” 功能:将一个数据的值赋给一个变量,如x=10。 赋值表达式:利用赋值运算符将一个变量与一个表达式连接起来的式子称为赋值表达式。 赋值语句:在赋值表达式的后面加一个分号“;”就构成了赋值语句。一个赋值语句的格式如下: 变量=表达式; 执行时先计算出右边表达式的值,然后赋给左边的变量。例如:x=8+9; //将8+9的值赋绐变量x x=y=5; //将常数5同时赋给变量x和y 在C51中,允许在一个语句中同时给多个变量赋值,赋值顺序自右向左。 关系表达式通常用来作为判别条件构造分支或循环程序。关系表达式的一般形式如下: 表达式1 关系运算符 表达式2 关系运算的结果为逻辑量,成立为真(1),不成立为假(0)。其结果可以作为一个逻辑量参与逻辑运算。例如:53,结果为真(1),而10==100,结果为假(0)。 注意:关系运算符等于“==”是由两个“=”组成。 5). 位运算符 位运算是按位对变量进行运算,但并不改变参与运算的变量的值。如果要求按位改变变量的值,则要利用相应的赋值运算。C51中位运算符只能对整数进行操作,不能对
您可能关注的文档
最近下载
- 对标中央八项规定锲而不舍狠抓落实PPT2025中央八项规定精神学习教育课件.pptx VIP
- 全过程人民民主.pptx VIP
- 2020年教学能力大赛现场提问题目及答题要点.docx
- 上浆、挂糊和勾芡.docx VIP
- (高清版)DB34∕T 4574-2023 建设工程文件收集与归档标准.pdf VIP
- 汽车发动机检测与维修教学课件作者秦胜项目六发动机电控系统各传感器检测任务一:空气流量计(G70)的检测课件.doc VIP
- 新课改下高中英语教学的困惑与对策.doc
- 《刘慈欣中英双语科幻经典 青少版1 流浪地球》读书笔记思维导图PPT模板下载.pptx VIP
- 《刘慈欣中英双语科幻经典(青少版)4:山》读后感1000字.docx VIP
- 高中化学必修二方程式总结-.doc
文档评论(0)