PART1点亮最小单片机系统三C51编程

上传人:t****d 文档编号:243149678 上传时间:2024-09-16 格式:PPT 页数:16 大小:325.50KB
返回 下载 相关 举报
PART1点亮最小单片机系统三C51编程_第1页
第1页 / 共16页
PART1点亮最小单片机系统三C51编程_第2页
第2页 / 共16页
PART1点亮最小单片机系统三C51编程_第3页
第3页 / 共16页
点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,单片机及其应用,1,C51,与,ANSI-C,区别,C51,编程示例,3,2,PART1,点亮最小的单片机系统,(,二,) C51,编程,C,与汇编比较,1,C,与汇编比较,汇编编程,C,编程,优点:,执行,效率,高,对,底层,硬件的,控制,性好,缺点:,可读性、可移植性差,不易维护,开发效率低,屏蔽硬件特征,模块化开发,可读性、可移植性好,易于开发、维护,单片机系统要求操作底层硬件,C51,2,全局变量定义,C,与汇编,头文件,#include ,主程序,sbit LED = P11;,main,(),LED = 0;,向量表定义,ORG 0000H,LJMP START,ORG 0003H,LJMP INT0,ORG 000BH,LJMP TIMER0,程序体,START:,CLR P1.1,SJMP $,END,?,?,?,?,程序入口在哪里?,主程序循环体在哪儿?,这是什么头文件?,这是什么关键字?,main,(),LED = 0;,while(1),3,C51,与,ANSI-C,C51,与,ANSI-C,比较,基本语法、程序结构、编程特征相同,不同之处:,扩展关键字,常用库文件,编译生成,基本数据类型,存储类型关键字,其它扩展关键字,4,C51,常用库文件介绍,C51,常用的库文件有三个:,reg51.h,absacc.h,intrins.h,MCS-51,兼容单片机,,SFR,定义头文件,绝对地址访问头文件,汇编编写的常用宏,KEILC51INC,路径下,5,C51,程序编译介绍,KEIL C51,环境下,编译源,C51,文件,:,需要建立工程,在工程中加入待编译源文件,编译工程,编译后生成的可执行文件*,.HEX,该文件与工程同名,而不是与源文件同名,编译后生成的其它文件,*,.lst,列表文件,可查看程序空间占用,数据区占用情况,*.M51,存储映射文件,6,C51,的基本数据类型,与,ANSI-C,相同的基本数据类型,char (unsigned char),int (unsigned int),long (unsigned long),float,double,数据类型,空间分配,1 Byte,2 Byte,4 Byte,4 Byte,8 Byte,没有,ANSI-C,中的,bool,类型,51,单片机是,8,位,单片机,C51,编程中最常用的数据类型是,1Byte,的,unsigned char,型,unsigned char,7,C51,的基本数据类型,C51,特有的基本数据类型,bit / sbit,位类型,bit,定义内部,RAM20H2FH,之间的位寻址区中某位,sbit,定义可位寻址的,SFR,中的某位,bit flag;,sbit LED = P11;,sfr,定义特殊功能寄存器,用于,SFR,名称与其物理地址之间建立联系,sfr P1 = 0x90 ;,regxx.h,SFR,表,8,C51,变量定义与存储类型关键字,C51,变量定义格式,mem space type variable name _at_ constant;,mem space,mem space,指定变量所在存储寻址区域(可缺省),可使用的关键字,片内,RAM,data,idata,直接寻址方式,Ri,间接寻址方式,位寻址空间,bdata,片外,RAM,xdata,pdata,Ri,间接寻址方式,DPTR,间接寻址方式,程序存储器,code,9,C51,变量定义与存储类型关键字,C51,存储类型关键字,mem space, type variable name, _at_ constant,;,data,idata,bdata,xdata,pdata,code,bit flag;,data unsigned char var1;,code unsigned char led_tbl10=;,bit/sbit/sfr,三种类型对应存储区域不需指定,内部,RAM,速度快,这是最常用的变量定义语句,code,类型只读,定义时需要进行初始化,10,C51,变量定义与存储类型关键字,C51,存储类型关键字,mem space, type variable name, _at_ constant,;,当,mem space,关键字,缺省,时,变量开辟空间位于何处?,此时,根据编译选项中采用的存储模式,决定变量存储区。,small,compact,large,将所有变量都放入内部,RAM,,相当于全部,data,类型,所有变量优先放入外部,RAM,的低,256B,,相当于,pdata,所有变量都分配在外部,RAM64KB,空间,相当于,xdata,11,C51,中其它扩展关键字,中断函数定义,中断产生后,怎样转到中断服务函数执行?,MCS-51,采用中断向量表,ORG 0003H,LJMP INTP0,ORG 000BH,LJMP TIMERP0,ORG 0013H,LJMP INTP1,ORG 001BH,LJMP TIMERP1,ORG 0023H,LJMP UARTP,C51,解决方法,关键字:,interrupt,using,void timer1_service(),interrupt,1,using,1,12,C51,中其它扩展关键字,void timer1_service(),interrupt,1,using,1,interrupt,n,using,n,标明该函数是,n,号中断的服务程序,n,取值,04,,分别对应外部中断,0,,定时器,0,,外部中断,1,,定时器,1,和串口,标明函数使用的通用寄存器组,n,取值,03,,分别对应内部,RAM,区域的,4,组,R0R8,通用寄存器,13,外部数据存储区(前,256B,),C51,对绝对地址存储单元的控制,单片机系统需要直接通过地址控制底层存储单元,C51,中对绝对地址的访问方法,绝对宏,头文件,absacc.h,定义下列访问绝对地址的宏,CBYTE,XBYTE,DBYTE,PBYTE,CWORD,XWORD,DWORD,PWORD,程序存储区,外部数据存储区(,64KB,),内部数据存储区,预定义:,# define VAR1 = XBYTE,地址,程序中:,直接对,VAR1,操作,即操作外部数,据存储区对应地址单元,用法,_,at_,关键字,14,C51,对绝对地址存储单元的控制,C51,中对绝对地址的访问方法,_,at_,关键字,mem space type variable name _at_ constant;, _at_ constant,直接指定定义变量的绝对地址,Example:,变量定义:,xdata unsigned char var1 _at_,地址,;,在程序中,对变量,var1,进行操作,即操作对应地址单元,注意: 与第一种方法进行比较,15,C51,编程举例,闪烁的,LED,流水灯,16,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!