版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章Keil-c51C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。
㈠C-51简介1.
对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解;2.
寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.
程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.
具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5.
提供的库包含许多标准子程序,具有较强的数据处理能力;6.
由于具有方便的模块化编程技术,使已编好程序可容量地植入新程序;C-51与ASM-51相比,有如下优点:
与一般C语言的结构相同,以main()函数为程序人口,程序体中包含若干语句还可以包含若干函数。㈡C-51的程序结构sfrP1=0x90;voidmain(void){P1=0x55;while(1);}㈢C-51的数据类型
常用的数据类型有:位型字符型整型长整型浮点型bitcharintlongintfloat1位1字节2字节4字节4字节数组型指针型srfsrf16名称存储空间位置长度数据范围
data直接寻址片内RAM8位0~255bdata
可位寻址片内RAM1位0/1idata
间接寻址片内RAM8位0~255xdata
片外RAM16位0~65535㈣C-51数据的存储类型㈤C-51的包含的头文件通常有:reg51.hmath.hctype.h
stdio.h
stdlib.h
常用有:reg51.h(定义特殊功能寄存器和位寄存器);math.h
(定义常用数学运算);
与C语言基本相同:+-*/(加减乘除)>>=<<=(大于大于等于小于小于等于)==!=(测试等于测试不等于)&&||!(逻辑与逻辑或逻辑非)>><<(位右移位左移)&|(按位与按位或)^~(按位异或按位取反)㈥C-51的运算符与标准C语言基本相同:
if选择语言
switch/case
多分支选择语言
while
循环语言
do-while循环语言
for
循环语言㈦C-51的基本语句关键字at
far sbitalien idata
sfrbdata
interrupt
sfr16bit large smallcode
pdata
taskcompact priority usingdata reentrant xdata存储区程序存储区程序CODE存储区是只读的他不能写程序存储区可能在8051CPU内或者在外部或者都有根据8051派生的硬件决定。最多可以有64K字节的程序存储区程序代码包括所有的函数和库保存在程。序存储区常数变量也是8051可执行程序只保存在程序存储区。可用code存储区类型标识符来访问程序存储区内部数据存储区RAM特殊功能寄存器SFR存储区外部数据存储区内部数据存储区data:存储类型标识符通常指低128字节的内部数据区存储的变量直接寻址idata:存储类型标识符指内部的256个字节的存储区但是只能间接寻址速度比直接寻址慢bdata:存储类型标识符指内部可位寻址的16字节存储区20H到2FH可以在本区域定义可位寻址的数据类型特殊功能寄存器SFR存储区8051系列微处理器提供一个特别的存储区作为特殊功能寄存器SFR这些寄存器可控制中断、计时器、计数器、串口并口和外围设备SFR的地址从0x80到0xFF,可以以位、字节和字访问。外部数据区外部数据区可读写访问外部数据区比内部数据区慢因为外部数据区是通过一个数据指针加载一个地址来间接访问的。xdata存储类型标识符指外部数据区64K字节内的任何地址。pdata
存储类型标识符仅指256字节的外部数据区。存储类型code程序存储区64K字节,用MOVC@A+DPTR访问data直接寻址内部数据区,访问变量速度最快,128字节idata
间接寻址内部数据区可访问全部内部地址空间256字节bdata
位寻址内部数据区支持位和字节混合访问16字节xdata
外部数据区64K字节由MOVX@DPTR访问far扩展的RAM和ROM存储空间最多16MB由用户定义程序或特定的芯片扩展PHILIPS80C51MXDALLAS390访问pdata
256字节外部数据区由MOVX@Rn访问chardata var1;charcode text[]="ENTERPARAMETER:";unsignedlongxdata array[100];floatidata
x,y,z;unsignedint
pdata dimension;unsignedcharxdata vector[10][4][4];charbdata flags;数据类型bit 1 0到1signedchar 8 1 -128到+127usnignedchar 8 1 0到125enum
8/16 1或2 -128到+127或-32768到+32767signedshort 16 2 -32768到+32767usnignedshort 16 2 0到65535signedint
16 2 -32768到+32767unsignedint
16 2 0到65535signedlong 32 4 -2147483648到+2147483647unsignedlong 32 4 0到4294967295float 32 4 ±1.175494E-38到±3.402823E+38sbit
1 0到1sfr
8 1 0到255sfr16
16
2
0到65535bit供一个bit数据类型,定义一个位变量。一个位不能被定义为一个指针例如bit*ptr;/*invalid*/不能用一个bit类型的数组例如bitware[5];/*invalid*/staticbitdone_flag=0;/*bitvariable*/bittestfunc(bitflag1,bitflag2){...return(0);}可位寻址目标位可寻址目标是可可以是字或位,只能在8051内部存储区可位寻址区用bdata
存储类型定义变量。而且用bdata
存储类型定义的变量必须是全局的int
bdata
ibase;charbdatabary[4];sbitbdata变量是位可寻址的,因此这些变量的每个位是可直接访问和修改的。用sbit
关键词声明新的变量可访问用bdata
声明的变量的位。sbit
定义的变量后的=不能省略。sbit可用于位可寻址的sfr变量sbitmybit0=ibase^0;/*bitoofibase*/sbitmybit15=ibase^15;/*bit15ofibase*/sbitAry07=bary[0]^7;/*bit7ofbary[0]*/sbitAry37=bary[3]^7;/*bit7ofbary[3]*/SFRsfr用于定义一个变量,该变量将代表一个特殊功能寄存器。sfr定义的变量后面的=不能省略reg51.hsfrP0=0x80;/*port-0,address80h*/sfrP1=0x90;/*port-1,address90h*/sfrP2=0xA0;/*port-2,address0A0h*/sfrP3=0xB0;/*port-3,address0B0h*/绝对变量定位在C程序中用_at_关键词变量可以定位在绝对存储地址用法如下type[memory_space]variable_name_at_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车配件供应商质量评估绩效考核表
- 企业间信息共享协议的签订通知(6篇)
- 建筑工程师施工安全质量绩效考评表
- 能源研发项目经理节能技术突破绩效考核表
- 2026苏州科技大学公开招聘辅导员(博士)考试参考题库及答案解析
- 2026年大连瓦房店市公开招聘专业森林消防机动队队员20人考试模拟试题及答案解析
- 2026年塔城地区塔城市公务员人员招聘笔试参考题库与答案详解
- 2026年广东省公需课《人工智能赋能高质量发展》试题及答案
- 2026年公司新员工入职三级安全教育测试题(附答案)
- 2026年二级建造师《市政实务》考试真题及答案解析
- 2026年新教材人教版九年级上册英语期中复习:Unit 1-4+期中5套测试卷汇编(含答案)
- 河北省邯郸市2025-2026学年高一上学期期中联考语文试题及答案
- ESC 2026新版心力衰竭管理指南精读
- 2024+ESO指南:卵圆孔未闭患者卒中后诊断与治疗
- 2026智联招聘笔试题库及答案
- 2026版《药物临床试验质量管理规范》GCP考试题库(含标准答案+解析)
- EDA技术及应用项目教程 教学大纲
- 中医护理评估
- 2025年度中国展览数据统计报告
- 2026年中考作文押题指导
- 全新版大学英语视听说教程1答案
评论
0/150
提交评论