版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片微机原理及应用教学课件,C-51程序设计,本讲重点: C-51的数据类型和存储类型; 指针和中断的使用; 通过实例消化理解C-51的编程方法;,单片微机原理及应用教学课件,C语言作为一种非常方便的语言而得到广泛的支持,国内最通用的是Keil C51. C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。 C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。, C-51简介,单片微机原理及应用教学课件,C-51与ASM-51相比,有如下优点: 1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;
2、 2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理; 3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化; 4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性; 5.提供的库包含许多标准子程序,具有较强的数据处理能力; 6.由于具有方便的模块化编程技术,使已编好程序可容易地移植;,单片微机原理及应用教学课件, C51的程序结构 与一般C语言的结构相同,以main()函数为程序人口,程序体中包含若干语句还可以包含若干函数。,C51函数的一般格式 类型 函数名(参数表) 数据说明部分 语句执行部分 , C51的数据类型,基本数据类型,类型,符号,关键字,数
3、的表示范围,所占位数,整型,字符型,实型,有,无,(signed) int,16,-3276832767,(signed) short,16,-3276832767,(signed) long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,
4、C语言中的基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed) int,16,-3276832767,(signed) short,16,-3276832767,(signed) long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,
5、无,unsigned char,8,0255,(续) C51的数据类型扩充定义,sfr:特殊功能寄存器声明 sfr16:sfr的16位数据声明 sbit:特殊功能位声明 bit:位变量声明 例:sfr SCON = 0X98; sfr16 T2 = 0 xCC; sbit OV = PSW2;,单片微机原理及应用教学课件, C-51数据的存储类型,名 存储空间位置 长度 数据范围 data 直接寻址片内RAM 8位 0255 bdata 可位寻址片内RAM 1位 0/1 idata 间接寻址片内RAM 8位 0255 pdata 片外页RAM 8位 0255 xdata 片外RAM 16位 0
6、65535 code 程序ROM 16位 065535, C-51数据的存储类型(续) 例: 数据类型 存储类型 变量 char data var1; bit bata flags; unsigned char xdata vextor10;, C-51数据的存储类型, C-51的包含的头文件,通常有:reg51.h math.h ctype.h stdio.h stdlib.h absacc.h 常用有:reg51.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算);,单片微机原理及应用教学课件, C-51的运算符 与C语言基本相同: + - * / (加 减 乘 除
7、) = (位右移 位左移) (0000H)送DPTR LOO1: CLR A MOVX DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清 LOOP: SJMP LOOP,清零程序 (将2000H20FFH的内容清零) C51程序 #include main( ) int i; unsigned char xdata *p=0 x2000; /* 指针指向2000H单元 */ for(i=0;i256;i+) *p=0; p+; /*清零2000H-20FFH单元*/ ,单片微机原理及应用教学
8、课件, 汇编语言程序 ORG 0000H L00: MOV R0,#10H ;查找16个字节 MOV R1,#00H MOV DPTR,#2000H L11: MOVX A,DPTR CJNE A,#00H,L16 ;取出内容与00H相等吗? INC R1 ;取出个数加1 L16: INC DPTR DJNZ R0,L11 ;未完继续 MOV DPTR,#2100H MOV A,R1 MOVX DPTR,A ;相同数个数送2100H L1E: SJMP L1E,例:查找零的个数(在2000H-200FH中查出有几个字 节是零,把个数放在2100H单元中),单片微机原理及应用教学课件,查找零的个
9、数C51程序 #include main ( ) unsigned char xdata *p=0 x2000;/*指针p指向2000H单元*/ int n=0,i; for(i=0;i16;i+) if(*p=0) n+; /* 若该单元内容为零,则n+1 */ p+; /* 指针指向下一单元 */ p=0 x2100; /* 指针p指向2100H单元 */ *p=n; /* 把个数放在2100H单元中 */ ,单片微机原理及应用教学课件,例:电脑时钟 (用定时器产生0.1秒定时中断,在P1口输出) C51程序 #include Sbit P1_0 = P10; /* 中断服务子程序(0.1秒中断一次) */ void time( ) interrupt 1 P1_0 = !P1_0; TH0=0 x3c; TL0=0 xb7; /* 给 T0 赋计数初值 */ ,单片微机原理及应用教学课件,例:电脑时钟(续) main( ) TMOD=0X01; /* T/C0工作在定时器方式1 */ T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5年(2021-2025)河北高考政治真题分类汇编专题11 世界多极化与经济全球化(解析版)
- 2025年太原市社区工作者招聘考试真题及答案
- 韶关市辅警招聘考试题及答案
- 2026年中考语文考前冲刺押题试卷及答案(五)
- 2026年事业单位招聘考试计算机理论知识考试试卷及答案(十九)
- 26年基因检测替代方案告知要点
- 26年手足综合征与疗效关联
- 2026年GMAT《定量推理》真题回忆版
- 2026年模具钳工中级工(四级)职业技能鉴定考试题库(地方专用)
- 大体积混凝土施工方案(完整版)
- 2026浙江杭州市西湖区人民政府西溪街道办事处招聘编外合同制工作人员2人笔试模拟试题及答案解析
- 2025年广西壮族自治区崇左市初二学业水平地理生物会考真题试卷(含答案)
- 2026年科目1驾驶技术模拟题库及完整答案详解
- TSG08-2026《特种设备使用管理规则》全面解读课件
- 《2026年化学制药企业安全风险防控专项工作方案》解读
- (二检)莆田市2026届高三第二次质量调研测试政治试卷(含答案)
- 毕业设计(伦文)-皮革三自由度龙门激光切割机设计
- 2025-2030中医院行业市场深度分析及竞争格局与投资价值研究报告
- 水利工程监理实施细则范本(2025版水利部)
- 一项目一档案管理制度
- 2025华润建材科技校园招聘正式启动笔试历年参考题库附带答案详解
评论
0/150
提交评论