- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《单片机应用系统》[精选]
《单片机应用系统》 江阴职业技术学院电子工程系 包军卫 邱玉娟 第1章 C51语言基础 本章主要内容 一、C51概述 二、数据类型 三、常量和变量 四、运算符和表达式 五、C程序的基本结构 六、函数 实训1 C程序设计 一、C51概述(一)C语言的特点 C语言简洁、紧凑,使用方便、灵活。一共只有32个关键字 运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。 数据结构类型丰富。 具有结构化的控制语句。 语法限制不太严格,程序设计自由度大。 生成目标代码质量高,程序执行效率高。 与汇编语言相比,用C语言写的程序可移植性好 C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。 (二)C51和汇编比较 下面结合8051介绍单片机C语言的优越性: 不懂得单片机的指令集,也能够编写完美的单片机程序; 无须懂得单片机的具体硬件,也能够编出符合硬件实际 的专业水平的程序; 不同函数的数据实行覆盖,有效利用片上有限的RAM空间; 程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏; C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性; 提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址; 提供small、compact、large等编译模式,以适应片上存储器的大小; 中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由C编译器代办; 提供常用的标准函数库,以供用户直接使用; 头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发; 有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉; 可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。 (三)KEIL C 上机步骤 (1)建立项目。点击Project菜单,选择弹出的下拉式菜单中的New Project,一个C程序项目名称,的名称,,只要符合Windows文件规则的文件名都行。“保存”后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名。 (2)选择单片机类型,这里我们选择常用的Ateml公司的 AT89C51。 (3)建立文件,编辑源文件,注意保存文件时后缀为.c (4)向项目中添加刚编辑的C文件。 (5)编译。如发现错误根据输出窗口的信息进行修改。 (6)全速运行。此时打开串行窗口,进行观察串行调试窗口中不断的打出Hello World!。 学学练练:例1-1: 例1-1 #include REG51.H#include stdio.hvoid main(void){ SCON = 0x50; //串口方式1,允许接收 TMOD = 0x20; //定时器1定时方式2 TCON = 0x40; //设定时器1开始计数 TH1 = 0xE8; //11.0592MHz 1200波特率 TL1 = 0xE8; TI = 1; TR1 = 1; //启动定时器 while(1) { printf (Hello World!\n); //显示Hello World }} 二、数据类型 C语言的标识符和关键字 在C51编译器中,只支持标识符的前32位为有效标识,故用户标识符不宜过长。 关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键字相同。在KEIL uVision2中的关键字除了有ANSI C标准的32个关键字外还根据51单片机的特点扩展了相关的关键字。 表4-1,表中列出了KEIL uVision2 C51编译器所支持的数据类型。 1. char字符类型 char类型的长度是一个字节,通常用于定义处理字符数据的变量或常量,分 无符号字符类型unsigned char表达的数值范围是0~ 255 有符号字符类型signed char,用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。所能表示的数值范围是-128~+127。 默认值为signed char类型。unsigned char常用于处理ASCII字符或用于处理小于或等于255的整型数。 2. int整型 int整
文档评论(0)