版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章单片机c语言编程4.1KeilC简介和环境设置4.2C51简介4.3C51基础知识和表达式4.4C51控制语句4.5数组4.5数组4.6指针4.7函数4.8C51开发工具4.9通用KeilC调试方法,通常使用在单片机上的两种常用编程语言:汇编语言是执行速度、存储空间不足、硬件直接编程c语言:c语言克服了汇编语言的缺陷,同时提高了代码的可读性,使语言大部分代码翻译成目标代码后,其效率和汇编语言相同。特别是c语言的内嵌汇编功能,c语言对硬件操作更为方便。KeilCVision2任务窗格,4.1KeilC简介KeilCVision2开发环境是德国keil software,Inc. andke
2、ilelektronicgmbh开发的微处理器开发平台,用于开发各种8051兼容微控制器程序。KeilSoftware-Cx51编译器与ANSIC语言标准兼容。4.2Cx51简介4.2.1Cx51的扩展Cx51编译器与ANSIC标准兼容,并扩展为支持8051微处理器,从而扩展为:存储类型存储模型存储类型指示符变量数据类型指示符;位变量和位可寻址数据;SFR;指针;指针。函数属性。4.2.2存储区域8051单片机支持根据程序存储(ROM)、快速读写存储(内部RAM)、随机读写存储(外部RAM)等读写方案分离程序和数据存储。1.在程序内存(code) 8051中,程序内存是只读内存,有64K的空间
3、,在C51中使用code关键字声明访问程序存储中的变量。即可从workspace页面中移除物件。2 .内部数据存储位于8051单片机上,内部数据存储属于快速读/写内存,兼容51的扩展微控制器具有最多256字节的内部数据存储。(1)声明为datadata存储类型的变量可以直接在内部RAM中寻址128b (0 x00x7f)。(3)声明为bdatabdata存储类型的变量为内部RAM16B(0 x200 x2F)的128位寻址(2)声明为idatidata存储类型的变量为内部RAM的256b (0 x00xff),3 .外部数据存储外部数据存储也称为随机读写存储,访问存储为64KB。访问速度比内部
4、RAM慢。访问外部RAM的数据使用指针间接访问。使用在C51中声明为xdata和pdata存储类型的变量访问外部存储空间中的数据。(1)声明为xdataxdata存储类型的变量可以访问外部存储64KB的所有单位(0 x00000 xFFFF)。(2)声明为pdatapdata存储类型的变量可以访问外部存储(一页)低256B(不推荐)。在4.2.3存储模式Cx51中,存储模式可以确定某些变量默认使用的存储类型。程序通过使用编译器控制命令SMALL、COMPACT和LARGE,可以指定内存模式。1.SMALL模式SMALL模式下的所有变量基本上都位于单芯片微型计算机的内部数据区域中,这与使用dat
5、a存储类型标识符声明的变量相同。变量访问在此模式下非常有效,但是所有对象和堆栈必须适合内部RAM。2.紧凑模式紧凑模式下的所有变量默认保存在外部数据区域的一页(256B)中,与声明为pdata存储类型标识符的变量相同。3.Large模式LARGE模式下的所有变量默认保存在外部数据存储(64k字节范围)中,该存储与使用数据指针DPTR寻址的xdata存储类型标识符声明的变量相匹配。4.2.4数据类型在Cx51中支持所有c语言标准数据类型,并扩展了该数据类型以添加8051硬件访问专用数据类型,从而使单芯片微型计算机的操作更加灵活。1.bit类型bit用于声明值为1或0的位变量。2.sbit类型sb
6、it类型用于声明值为1或0的位寻址变量之一。3.sfr类型的sfr类型用于声明特殊功能寄存器(8位),位于内部RAM地址0 x80-0 xFF的128字节存储设备中,通常用作计时器、计数器、串行端口、并行端口和外围设备。4.sfr16类型sfr16类型用于声明两个连续地址的特殊功能寄存器(地址范围065535)。5.其他类型的C51程序中常用的数据类型包括:char(字符类型)unsignedchar(无符号字符类型)int(整数)unsignedint(无符号整数)。示例:charbdatac1/*声明文字变量charbdatabobject。/*声明可位寻址变量bobject */s bi
7、tbobj 3=bobject 3;/*声明位变量bobj3是bobject的第三位*/sfrTMOD=0 x89H;/* TMOD声明(计时器/计数器操作模式寄存器)其地址为89H */sfrp 0=0 X80;/* P0声明为特殊功能寄存器、80H*/、4.3C51基础知识和表达式4.3.1C语言的标识符和关键字标识符。此标识符标识源程序中的对象名称,该对象可以是语句、数据类型、函数、变量、常量、数组等。标识符由字符串、数字、下划线等组成,第一个字符必须是字母或下划线。关键字是为编程语言保留的特殊标识符,具有固定的名称和语义。c语言程序不允许使用与关键字相同的标识符4.3.2算术运算符和表
8、达式C51语言运算符,除控制语句、输入和输出外,所有基本操作几乎都被视为运算符。C51算术运算符和表达式如下:加法或减法运算符(例如2 3)。采用-减号或减号运算符(例如5-3)。*乘法运算符(例如2*3)。/除以运算符,例如6/3。如果调用%模式运算符或其馀运算符(例如7%3),则结果为1。4.3.3关系运算符和表达式关系表达式由关系运算符连接表达式组成。1.关系运算符关系运算符全部是双眼运算符,有6种:=、y、(x=5)=y。关系表达式的值为整数0或1。其中0表示逻辑false。1表示逻辑阵。c语言没有特殊的“逻辑值”。4.3.4逻辑运算符和表达式逻辑表达式由逻辑运算符连接表达式组成。1.逻辑运算符c语言中可用的逻辑运算符3:1)单目逻辑运算符:(逻辑“not”)。2)双目逻辑运算符:b=a;运行后,b的值为3,a的值为4。Inta=3,b;b=a;运行后,b的值为4,a的值为4。4.3.7位运算符和表达式1位运算符位运算符都有6个:/*x为00001111*/P0=x。/* P0=00001111 */x=x;/*x反向顺序结果为1110000 */P0=x。/* P0=1110000 */例如,将变量a的内容向左移动2个单位unsignedchara=0 x0f的位。A=a2/*a左移4个字符后,a值为0011100 */,4.3.8条件运算符和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷拉丝工操作能力强化考核试卷含答案
- 2025年教师资格幼儿园保教知识与能力真题及答案
- 2026年秋季开学年级主任课堂教学管理工作培训
- 2018年安徽省中考数学真题及答案解析
- 2026浙江省卫生系统招聘考试(外科)历年参考题库含答案详解2卷
- 2026河南机关事业单位工勤技能岗位等级考试(烹饪工·高级/三级)历年参考题库含答案详解2卷
- 2026河南机关事业单位工人技术等级岗位考试(中式烹调师·初级/五级)历年参考题库含答案详解2卷
- 2026河北省机关事业单位工人技能等级考试(纺织品检验工)历年参考题库含答案详解2卷
- 2026河北省住院医师规范化培训结业理论考核(康复医学科)历年参考题库含答案详解3卷
- 2026河北机关事业单位工人技能等级考试(殡葬服务员)历年参考题库含答案详解2卷
- 关于某某企业级固态硬盘采购与质保合同
- 2026年河北省机关事业单位技术工人图书仓储员考试选择题
- 2025年陶瓷地砖行业技术专利分析报告
- 风行股海课件
- 树立消防员正确的消费观
- 装置艺术设计课件
- 矿山闭坑施工方案
- 地铁车辆排查巡检方法
- 证券投资基金第六版刘大赵课后答案
- 消化早癌课件
- 血透患者运动康复指导
评论
0/150
提交评论