《单片机开发系统使用精选PPT.ppt》由会员分享,可在线阅读,更多相关《单片机开发系统使用精选PPT.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机开发系统使用第1页,此课件共76页哦n电子技术锡焊技艺电子技术锡焊技艺n常用元器件及仪器常用元器件及仪器n单片机系统设计概述单片机系统设计概述n单片机开发系统的使用单片机开发系统的使用n单片机系统设计实例单片机系统设计实例第2页,此课件共76页哦单片机开发系统的使用单片机开发系统的使用n n一、一、Keil软件使用软件使用n n二、二、ProteusProteus使用使用n n三、三、C51基础知识基础知识n n四、基于四、基于C51的一个设计实例的一个设计实例第3页,此课件共76页哦一、一、Keil软件使用软件使用n n使用使用C C语言肯定要使用到语言肯定要使用到C C编译器,以便把
2、写编译器,以便把写好的好的C C程序编译为机器码,这样单片机才能执程序编译为机器码,这样单片机才能执行编写好的程序。行编写好的程序。KEIL KEIL 是众多单片机应用开是众多单片机应用开发软件中优秀的软件之一,它支持众多不同发软件中优秀的软件之一,它支持众多不同公司的公司的MCS51MCS51架构的芯片,它集编辑,编译,架构的芯片,它集编辑,编译,仿真等于一体,它的界面和常用的微软仿真等于一体,它的界面和常用的微软VC+VC+的界面相似,界面友好,易学易用,在调的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。试程序,软件仿真方面也有很强大的功能。第4页,此课件共76
3、页哦(1)新建工程)新建工程n n点击点击点击点击ProjectProjectProjectProject菜单,选择菜单,选择菜单,选择菜单,选择New ProjectNew ProjectNew ProjectNew Project,输入项目名称,输入项目名称,输入项目名称,输入项目名称,扩展名为扩展名为扩展名为扩展名为uv2uv2uv2uv2,以后我们可以直接点击此文件以打开,以后我们可以直接点击此文件以打开,以后我们可以直接点击此文件以打开,以后我们可以直接点击此文件以打开先前做的项目。先前做的项目。先前做的项目。先前做的项目。第5页,此课件共76页哦(2)选择所要的单片机)选择所要的单
4、片机n n这里我们选择常用的这里我们选择常用的AtemlAtemlAtemlAteml公司的公司的公司的公司的AT89C51 AT89C51 AT89C51 AT89C51。第6页,此课件共76页哦(3)创建新的程序文件或加入旧程序)创建新的程序文件或加入旧程序文件文件n n点击图中的新建文件的快捷按钮,出现一个新的文字点击图中的新建文件的快捷按钮,出现一个新的文字点击图中的新建文件的快捷按钮,出现一个新的文字点击图中的新建文件的快捷按钮,出现一个新的文字编辑窗口,这个操作也可通过菜单编辑窗口,这个操作也可通过菜单编辑窗口,这个操作也可通过菜单编辑窗口,这个操作也可通过菜单FileFileFi
5、leFileNewNew或快捷或快捷或快捷或快捷键键键键Ctrl+NCtrl+N来实现。来实现。来实现。来实现。n n输入程序代码输入程序代码输入程序代码输入程序代码n n保存文件。保存文件。这时你会发现程序有了不同这时你会发现程序有了不同这时你会发现程序有了不同这时你会发现程序有了不同的颜色,说明的颜色,说明的颜色,说明的颜色,说明KEILKEILKEILKEIL的的的的C C C C语法语法语法语法检查生效了。检查生效了。检查生效了。检查生效了。第7页,此课件共76页哦(4)将程序文件加入项目中)将程序文件加入项目中n n右击右击右击右击Source Group1Source Group1
6、Source Group1Source Group1文件夹图标,可以在项目中增加减少文文件夹图标,可以在项目中增加减少文文件夹图标,可以在项目中增加减少文文件夹图标,可以在项目中增加减少文件等操作。件等操作。件等操作。件等操作。n n选择选择选择选择Add File to Group Add File to Group Add File to Group Add File to Group Source Group 1Source Group 1Source Group 1Source Group 1,在弹出文件窗口,在弹出文件窗口,在弹出文件窗口,在弹出文件窗口选择需添加的文件。选择需添加的
7、文件。选择需添加的文件。选择需添加的文件。第8页,此课件共76页哦(5)编译运行程序)编译运行程序n n图中图中图中图中1 1 1 1、2 2 2 2、3 3 3 3都是编译按钮都是编译按钮都是编译按钮都是编译按钮n n1 1 1 1是用于编译单个文件是用于编译单个文件是用于编译单个文件是用于编译单个文件n n2 2 2 2是编译当前项目是编译当前项目是编译当前项目是编译当前项目n n3 3 3 3是重新编译是重新编译是重新编译是重新编译n n在在3 3右边的是停止编译按钮右边的是停止编译按钮右边的是停止编译按钮右边的是停止编译按钮n n5 5 5 5是菜单中的相应项是菜单中的相应项n n在在
8、在在4 4中可以看到编译的信息等,以后中可以看到编译的信息等,以后我们要查错就靠它了。我们要查错就靠它了。n n6 6 6 6是是”开启开启开启开启 关闭调试模式关闭调试模式”的按钮,的按钮,的按钮,的按钮,快捷键为快捷键为快捷键为快捷键为Ctrl+F5Ctrl+F5。第9页,此课件共76页哦(6)进入调试模式)进入调试模式 n n1 1为运行,为运行,为运行,为运行,2 2为停止,为停止,3 3 3 3是复位,模拟芯片的复位是复位,模拟芯片的复位n n按按按按4 4 4 4可以打开的串行调试窗口(如可以打开的串行调试窗口(如5 5 5 5)。)。第10页,此课件共76页哦(7)生成)生成HE
9、X文件文件n nKEIL KEIL KEIL KEIL 编译生成用于烧写芯片的编译生成用于烧写芯片的编译生成用于烧写芯片的编译生成用于烧写芯片的HEXHEXHEXHEX文件。文件。文件。文件。n n右击项目文件夹右击项目文件夹 ,弹出项目功,弹出项目功能菜单,选能菜单,选Options for Options for Options for Options for TargetTarget1 TargetTarget1 TargetTarget1 TargetTarget1 第11页,此课件共76页哦(7)生成)生成HEX文件文件n n转到转到OutputOutput选项页,选项页,1 1是选
10、择编译输出的路径,是选择编译输出的路径,是选择编译输出的路径,是选择编译输出的路径,2 2 2 2是设置是设置是设置是设置生成的文件名,生成的文件名,生成的文件名,生成的文件名,3 3 3 3是决定是否要创建是决定是否要创建HEXHEX文件。文件。文件。文件。第12页,此课件共76页哦二、二、Proteus 的使用的使用n nProteus是是来来自自英英国国Labcenter公公司司的的嵌嵌入入式式系系统统仿仿真真开开发发软软件件,它它包包括括原原理理图图布布图图、混混合合模模式式仿仿真真、VSM嵌入式仿真以及嵌入式仿真以及PCB制板功能。制板功能。第13页,此课件共76页哦n(一)(一)P
11、roteus Proteus 概览概览n(二)(二)原理图设计原理图设计n(三)(三)PROTEUSPROTEUS微处理器仿真微处理器仿真n(四)(四)ProteusProteus和和KeilKeil联合调试联合调试第14页,此课件共76页哦n在传统的在传统的CADCAD功能中添加了嵌入式系统的仿真功能中添加了嵌入式系统的仿真n可以完整地仿真微控制器以及相连的模拟和数字电可以完整地仿真微控制器以及相连的模拟和数字电路路(一)(一)Proteus Proteus 概览概览ProSPICE混合模式仿真器混合模式仿真器ISIS设计仿真平台设计仿真平台VSM嵌入式仿真嵌入式仿真ARESPCB制版制版P
12、roteusDesign Suite第15页,此课件共76页哦Proteus Proteus 概览概览 在在Proteus中中,从原理图设从原理图设计、单片机编程、系统仿真到计、单片机编程、系统仿真到PCB布线一气呵成。完成了从布线一气呵成。完成了从概念到产品的整个过程。概念到产品的整个过程。第16页,此课件共76页哦nProteusProteus是一个虚拟实验室,提是一个虚拟实验室,提供了大量的虚拟仪器、仪表、激供了大量的虚拟仪器、仪表、激励源和分析工具:励源和分析工具:n1313类激励源类激励源n直流、正弦、脉冲直流、正弦、脉冲n1313类曲线图表类曲线图表n模拟、数字、频率模拟、数字、频
13、率n1212类虚拟仪器类虚拟仪器n示波器、逻辑分析仪、示波器、逻辑分析仪、SPI/ISPI/I2 2C C调试器调试器n电压电压/电流探针电流探针第17页,此课件共76页哦PROTEUS虚拟实验室探针虚拟实验室探针(Probe)n电压探针电压探针(Voltage probes)既可在模拟仿真中使既可在模拟仿真中使用,也可在数字仿真中使用。在模用,也可在数字仿真中使用。在模拟电路中记录真实的电压值,而在拟电路中记录真实的电压值,而在数字电路中,记录逻辑电平及其强数字电路中,记录逻辑电平及其强度。度。探针即可用于基于图表的仿真,探针即可用于基于图表的仿真,也可用于交互式仿真中也可用于交互式仿真中。
14、第18页,此课件共76页哦预览窗口预览窗口挑选元件按钮挑选元件按钮库管理按钮库管理按钮模型选择工具栏模型选择工具栏元件列表元件列表元件列表元件列表仿真按钮仿真按钮原理图编辑窗口原理图编辑窗口方位控制按钮方位控制按钮(二)原理图设计(二)原理图设计第19页,此课件共76页哦1、原理图编辑窗口、原理图编辑窗口(The Editing Window)n n用来绘制原理图,蓝色方框内为可用来绘制原理图,蓝色方框内为可编辑区,元件要放到它里面。编辑区,元件要放到它里面。n n注意:注意:这个窗口是没有滚动条的,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可你可用预览窗口来改变原理图的可视范围。视
15、范围。第20页,此课件共76页哦2、预览窗口、预览窗口(The Overview Window)n n可显示两个内容可显示两个内容.n n(1)当你在元件列表中选择一个元件时,它会当你在元件列表中选择一个元件时,它会显示该元件的预览图;显示该元件的预览图;n n(2)当你的鼠标焦点落在原理图编辑窗口时,当你的鼠标焦点落在原理图编辑窗口时,会显示整张原理图的缩略图,可用鼠标在它上会显示整张原理图的缩略图,可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原面点击来改变绿色的方框的位置,从而改变原理图的可视范围。理图的可视范围。第21页,此课件共76页哦3、模型选择工具栏、模型选择工具栏(Mod
16、e Selector Toolbar)n n主要模型(主要模型(Main Modes)n1)选择元件()选择元件(components)(默认选择的)(默认选择的)n2)放置连接点)放置连接点 n3)放置标签(用总线时会用到)放置标签(用总线时会用到)n4)放置文本)放置文本 n5)用于绘制总线)用于绘制总线 n6)用于放置子电路)用于放置子电路 n7)用于即时编辑元件参数)用于即时编辑元件参数(先单击该图标再单(先单击该图标再单击要修改的元件)击要修改的元件)第22页,此课件共76页哦n方便快捷的元件查找、放置功能:方便快捷的元件查找、放置功能:模糊查找模糊查找分类查找分类查找结果列表结果列
17、表元件预览元件预览封装预览封装预览第23页,此课件共76页哦配件(配件(Gadgets)n1)终端接口:有)终端接口:有VCC、地、输出、输入等接口、地、输出、输入等接口 n2)器件引脚:用于绘制各种引脚)器件引脚:用于绘制各种引脚 n3)仿真图表:用于各种分析,如)仿真图表:用于各种分析,如Noise Analysis n4)录音机)录音机 n5)信号发生器()信号发生器(generators)n6)电压探针:使用仿真图表时要用到)电压探针:使用仿真图表时要用到 n7)电流探针:使用仿真图表时要用到)电流探针:使用仿真图表时要用到 n8)虚拟仪表:有示波器等)虚拟仪表:有示波器等 第24页,
18、此课件共76页哦2D图形图形(2D Graphics)n1*画各种直线 n2*画各种方框 n3*画各种圆 n4*画各种圆弧 n5*画各种多边形 n6*画各种文本 n7*画符号 n8*画原点等 第25页,此课件共76页哦4、元件列表、元件列表(The Object Selector)n用于挑选元件(components)、终端接口(terminals)、仿真图表(graph)、信号发生器(generators)等。n n举例:举例:当你选择“元件 ”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后,单击“OK”(或双击元件),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选
19、择即可。第26页,此课件共76页哦5、方向工具栏、方向工具栏(Orientation Toolbar)n旋转 :旋转角度只能是90的整数倍。n翻转 :完成水平翻转和垂直翻转。n使用方法:先右键单击元件,再点击(左击)相应的旋转图标。第27页,此课件共76页哦6、仿真工具栏、仿真工具栏 n仿真控制按钮 n1*运行 n2*单步运行 n3*暂停 n4*停止 第28页,此课件共76页哦原理图绘制操作简介原理图绘制操作简介 n绘制原理图要在原理图编辑窗口中的绘制原理图要在原理图编辑窗口中的蓝色方框蓝色方框内内完成。完成。其操作不同于其操作不同于WINDOWS应用程序。应用程序。n正确的操作是:正确的操作
20、是:用左键放置元件;右键选择元用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接线:动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖动;中键放缩原理图。先右击连线,再左键拖动;中键放缩原理图。第29页,此课件共76页哦(三)(三)PROTEUSPROTEUS微处理器仿真微处理器仿真Proteus VSMProteus VSM是一个基于是一个基于ProSPICEProSPICE混合模型仿真器混合模型仿真器的,完
21、整的嵌入式系统软、硬件设计仿真平台的,完整的嵌入式系统软、硬件设计仿真平台 。n单片机系统的仿真单片机系统的仿真是是PROTEUS VSMPROTEUS VSM的主要特色。的主要特色。用户可在用户可在ProteusProteus中直接编辑、编译、调试代码,中直接编辑、编译、调试代码,并直观地看到仿真结果。并直观地看到仿真结果。nCPUCPU模型有模型有ARM7ARM7(LPC21xxLPC21xx)、)、PICPIC、Atmel AVRAtmel AVR、Motorola HCXXMotorola HCXX以及以及8051/80528051/8052系列。系列。n同时模型库中包含同时模型库中包
22、含了了LED/LCDLED/LCD显示、键盘、按钮、开显示、键盘、按钮、开关、常用电机等通用外围设备。关、常用电机等通用外围设备。第30页,此课件共76页哦PROTEUS VSMPROTEUS VSM仿真与分析仿真与分析示例示例1:PWM电机控制电机控制动态效果动态效果动态器件使仿真直观生动动态器件使仿真直观生动CPU可加载程序运行可加载程序运行第31页,此课件共76页哦51单片机仿真过程单片机仿真过程n1 1绘制原理图绘制原理图n2 2选择软件设计语言(汇编、选择软件设计语言(汇编、C C)编编写源代码写源代码n3 3编译代码,生成目标文件。编译代码,生成目标文件。n4 4装载装载HEXHE
23、X或或OMFOMF文件,仿真调试。文件,仿真调试。第32页,此课件共76页哦第三方工具的应用第三方工具的应用 直接使用第三方直接使用第三方IDE(Integrated Development Environment)如:如:Keils uVision 2、WAVE6)开)开发源代码,并进行编辑,生成发源代码,并进行编辑,生成HEX文件后文件后,切换到切换到Proteus VSM ,再进行仿真。,再进行仿真。n1 1、使用第三方、使用第三方IDEIDE建立工程,编写建立工程,编写C C程序程序n2 2、编译生成、编译生成HEXHEX代码,加载到代码,加载到CPUCPU当中。(无源码调当中。(无源
24、码调试信息)试信息)n3 3、编译生成、编译生成OMFOMF格式代码,加载到格式代码,加载到CPUCPU当中。当中。第33页,此课件共76页哦装载装载HEXHEX或或OMFOMF文件,仿真调试。文件,仿真调试。程序加载到程序加载到CPU第34页,此课件共76页哦仿真调试仿真调试实时显示系统输出结果实时显示系统输出结果 实时显示元器件实时显示元器件 引脚电平引脚电平说明:说明:红色代表高电平,兰色代表低电平,灰色红色代表高电平,兰色代表低电平,灰色代表不确定电平(代表不确定电平(floating)。)。第35页,此课件共76页哦(四)(四)Proteus和和Keil联合调试联合调试n联调过程:联
25、调过程:n 1.1.运行驱动程序运行驱动程序vdmagdi.exe vdmagdi.exe n 2.2.在在ProteusProteus中设计电路原理图,中设计电路原理图,并选中并选中DebugDebuguse remote debug use remote debug monitor monitor n 3.3.在在KeilKeil环境下创建项目,编辑源环境下创建项目,编辑源程序(程序(C C或或ASMASM)并编译为)并编译为hexhex文件;文件;第36页,此课件共76页哦(四)(四)Proteus和和Keil联合调试联合调试n4.4.在在KeilKeil中,设置中,设置TargetTa
26、rgettarget target option-debug,option-debug,选用选用Proteus VSM Proteus VSM SimulatorSimulator;n5.5.在在ProteusProteus中将中将KeilKeil生成的生成的hexhex文文件加载给件加载给CPUCPU;n6.6.在在KeilKeil中运行、调试程序,同时中运行、调试程序,同时在在ProteusProteus中观察运行结果。中观察运行结果。第37页,此课件共76页哦PROTEUS与与Keil联调联调Keil处于运行状态处于运行状态PROTEUS同时同时进入运行状态进入运行状态第38页,此课件共
27、76页哦三、三、C51基础知识基础知识n n1 1、标识符、标识符n n标识符是用来标识源程序中某个对象的名字,这些对标识符是用来标识源程序中某个对象的名字,这些对标识符是用来标识源程序中某个对象的名字,这些对标识符是用来标识源程序中某个对象的名字,这些对象可以是函数、变量、数组等。象可以是函数、变量、数组等。象可以是函数、变量、数组等。象可以是函数、变量、数组等。n nC C C C语言对大小些敏感,语言对大小些敏感,语言对大小些敏感,语言对大小些敏感,如如如如“Timer1Timer1”、“TIMER1TIMER1”是完全不同定义的标识符。是完全不同定义的标识符。n n标识符由字符串、数字
28、和下划线等组成,注意的标识符由字符串、数字和下划线等组成,注意的是第一个字符必须是字母或下划线。是第一个字符必须是字母或下划线。n n标识符在命名时应当简单,含义清晰,这样有助于阅标识符在命名时应当简单,含义清晰,这样有助于阅标识符在命名时应当简单,含义清晰,这样有助于阅标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。读理解程序。读理解程序。读理解程序。第39页,此课件共76页哦三、三、C51基础知识基础知识n n2 2、关键字、关键字n n关键字则是编程语言保留的特殊标识符,它们具关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符有固定名称和含义,
29、在程序编写中不允许标识符与关键字亦同。在与关键字亦同。在KEIL uVision2KEIL uVision2中的关键字除了中的关键字除了有有ANSI CANSI C标准的标准的标准的标准的32323232个关键字外还根据个关键字外还根据5151单片机的单片机的单片机的单片机的特点扩展了相关的关键字。特点扩展了相关的关键字。特点扩展了相关的关键字。特点扩展了相关的关键字。第40页,此课件共76页哦数据类型数据类型数据类型数据类型长度长度长度长度值域值域值域值域unsigned char单字节0255signed char单字节-128+127unsigned int双字节065535signed
30、 int双字节-32768+32767unsigned long四字节04294967295signed long四字节-2147483648+2147483647float四字节1.175494E-383.402823E+38*13字节对象的地址bit位0或1sfr单字节0255sfr16双字节065535sbit位0或13 3、KEIL C51KEIL C51编译器所支持的数据类型编译器所支持的数据类型第41页,此课件共76页哦1 1)charchar字符类型字符类型n ncharchar类型的长度是一个字节,通常用于定类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。义处理字符
31、数据的变量或常量。n nunsigned charunsigned char:0 0255255。n nsigned charsigned char:字节中最高位字节表示数据字节中最高位字节表示数据的符号,的符号,“0 0”表示正数,表示正数,“1 1”表示负数,负表示负数,负数用补码表示。所能表示的数值范围是数用补码表示。所能表示的数值范围是-128-128+127+127。n nunsigned charunsigned char常用于处理常用于处理ASCIIASCII字符或用字符或用于处理小于或等于于处理小于或等于255255的整型数。的整型数。第42页,此课件共76页哦2 2)inti
32、nt整型整型n nintint整型长度为两个字节,用于存放整型长度为两个字节,用于存放一个双字节数据。一个双字节数据。n nsigned intsigned int:-32768-32768+32767+32767 n nunsigned intunsigned int:0 06553565535第43页,此课件共76页哦n n3 3)longlong长整型长整型n nlonglong长整型长度为四个字节,用于存放一个四字节数据。长整型长度为四个字节,用于存放一个四字节数据。长整型长度为四个字节,用于存放一个四字节数据。长整型长度为四个字节,用于存放一个四字节数据。分有分有分有分有signed
33、 longsigned longsigned longsigned long和和和和unsigned longunsigned longn n4 4)floatfloat浮点型浮点型n nfloatfloat浮点型在十进制中具有浮点型在十进制中具有浮点型在十进制中具有浮点型在十进制中具有7 7位有效数字,是符合位有效数字,是符合IEEEIEEE754754754754标准的单精度浮点型数据,占用四个字节。标准的单精度浮点型数据,占用四个字节。n n5 5)*指针型指针型n n指针型本身就是一个变量,在这个变量中存放的指向指针型本身就是一个变量,在这个变量中存放的指向指针型本身就是一个变量,在这
34、个变量中存放的指向指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。另一个数据的地址。另一个数据的地址。另一个数据的地址。第44页,此课件共76页哦6 6)bitbit位标量位标量n nbitbit位标量是位标量是C51C51编译器的一种扩充数据类型,编译器的一种扩充数据类型,利用它可定义一个位标量,利用它可定义一个位标量,但不能定义位但不能定义位指针,也不能定义位数组。指针,也不能定义位数组。n n它的值是一个二进制位,不是它的值是一个二进制位,不是0 0就是就是1 1,类,类似高级语言中的似高级语言中的BooleanBoolean类型中的类型中的TrueTrue和和False
35、False。第45页,此课件共76页哦7 7)sfrsfr特殊功能寄存器特殊功能寄存器n nsfrsfrsfrsfr也是一种扩充数据类型,点用一个内存单元,值也是一种扩充数据类型,点用一个内存单元,值也是一种扩充数据类型,点用一个内存单元,值也是一种扩充数据类型,点用一个内存单元,值域为域为域为域为0 0255255255255。利用它可以访问。利用它可以访问5151单片机内部的所有单片机内部的所有单片机内部的所有单片机内部的所有特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。n n如用如用如用如用sfr P1=0 x90sfr P1=0 x90这一句定这一句定这一句定这一句定
36、P1P1P1P1为为P1P1P1P1端口在片内的端口在片内的寄存器,在后面的语句中我们用以用寄存器,在后面的语句中我们用以用 P1=255P1=255(对(对P1P1P1P1端口的所有引脚置高电平)之类端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。的语句来操作特殊功能寄存器。第46页,此课件共76页哦8 8)Sfr16Sfr16n n1616位特殊功能寄存器位特殊功能寄存器n nsfr16sfr16占用两个内存单元,值域为占用两个内存单元,值域为0 06553565535。sfr16sfr16和和sfrsfr一样用于操作一样用于操作特殊功能寄存器,所不同的是它用特殊功能寄存器,所不同
37、的是它用于操作占两个字节的寄存器,如定于操作占两个字节的寄存器,如定时器时器T0T0和和T1T1。第47页,此课件共76页哦9 9)sbitsbit可寻址位可寻址位n nsbitsbit是是C51C51中的一种扩充数据类型,利用它中的一种扩充数据类型,利用它可以访问芯片内部可以访问芯片内部RAMRAM中的可寻址位或特殊中的可寻址位或特殊功能寄存器中的可寻址位。功能寄存器中的可寻址位。n n如先前我们定义了如先前我们定义了sfr P1=0 x90;sfr P1=0 x90;n nsbit P1_1=P1sbit P1_1=P11;1;/P1_1/P1_1为为P1P1中的中的P1.1P1.1引脚引
38、脚第48页,此课件共76页哦4 4、常量、常量 n n常量是在程序运行过程中不能改变值的量,常量是在程序运行过程中不能改变值的量,而变量是可以在程序运行过程中不断变化而变量是可以在程序运行过程中不断变化的量。的量。n n变量的定义可以使用所有变量的定义可以使用所有C51C51编译器支持的编译器支持的数据类型数据类型n n常量的数据类型只有整型、浮点型、字符型、常量的数据类型只有整型、浮点型、字符型、字符串型和位标量。字符串型和位标量。第49页,此课件共76页哦常量的数据类型说明:常量的数据类型说明:n n1 1)整型常量)整型常量n n整型常量可以表示为:整型常量可以表示为:n n十进制,如十
39、进制,如十进制,如十进制,如123123、0 0、8989等。等。等。等。n n十六进制十六进制则以则以0 x0 x开头开头如如如如0 x34,-0 x3B0 x34,-0 x3B0 x34,-0 x3B0 x34,-0 x3B等。等。n n长整型就在数字后面加字母长整型就在数字后面加字母长整型就在数字后面加字母长整型就在数字后面加字母L L L L,如,如,如,如104L104L等。等。等。等。第50页,此课件共76页哦常量的数据类型说明常量的数据类型说明n n2 2)浮点型常量:)浮点型常量:n n可分为十进制和指数表示形式。可分为十进制和指数表示形式。n n十进制由数字和小数点组成,如十
40、进制由数字和小数点组成,如0.888,3345.345,0.00.888,3345.345,0.0等,整数或小等,整数或小数部分为数部分为0 0,可以省略但,可以省略但必须有小数必须有小数点点。第51页,此课件共76页哦常量的数据类型说明常量的数据类型说明n n3 3)字符型常量)字符型常量是单是单引号内的字符,如引号内的字符,如a,da,da,da,d等,不可以等,不可以等,不可以等,不可以显示的控制字符,可显示的控制字符,可显示的控制字符,可显示的控制字符,可以在该字符前面加一以在该字符前面加一以在该字符前面加一以在该字符前面加一个反斜杠个反斜杠个反斜杠个反斜杠组成专组成专用转义字符。用转
41、义字符。转义字符转义字符转义字符转义字符含义含义含义含义ASCIIASCIIASCIIASCII码码码码(16/1016/1016/1016/10进制)进制)进制)进制)oooo空字符空字符空字符空字符(NULL)(NULL)(NULL)(NULL)00H/000H/000H/000H/0nnnn换行符换行符换行符换行符(LF)(LF)(LF)(LF)0AH/100AH/100AH/100AH/10rrrr回车符回车符回车符回车符(CR)(CR)(CR)(CR)0DH/130DH/130DH/130DH/13tttt水平制表符水平制表符水平制表符水平制表符(HT)(HT)(HT)(HT)09H
42、/909H/909H/909H/9bbbb退格符退格符退格符退格符(BS)(BS)(BS)(BS)08H/808H/808H/808H/8ffff换页符换页符换页符换页符(FF)(FF)(FF)(FF)0CH/120CH/120CH/120CH/12单引号单引号单引号单引号27H/3927H/3927H/3927H/39双引号双引号双引号双引号22H/3422H/3422H/3422H/34反斜杠反斜杠反斜杠反斜杠5CH/925CH/925CH/925CH/92第52页,此课件共76页哦常量的数据类型说明常量的数据类型说明n n4 4 4 4)字符串型常量由双引号内的字符组成,如)字符串型常量
43、由双引号内的字符组成,如)字符串型常量由双引号内的字符组成,如)字符串型常量由双引号内的字符组成,如test,OKtest,OKtest,OKtest,OK等。当引号内的没有字符时,为空字等。当引号内的没有字符时,为空字符串。在使用特殊字符时同样要使用转义字符如符串。在使用特殊字符时同样要使用转义字符如双引号。双引号。n n在在C C中字符串常量是做为字符类型数组来处理的,在中字符串常量是做为字符类型数组来处理的,在中字符串常量是做为字符类型数组来处理的,在中字符串常量是做为字符类型数组来处理的,在存储字符串时系统会在字符串尾部加上存储字符串时系统会在字符串尾部加上存储字符串时系统会在字符串尾
44、部加上存储字符串时系统会在字符串尾部加上oooo转义字符转义字符以作为该字符串的结束符。以作为该字符串的结束符。第53页,此课件共76页哦n n常量可用在不必改变值的场合,如固定的数据表,字库常量可用在不必改变值的场合,如固定的数据表,字库常量可用在不必改变值的场合,如固定的数据表,字库常量可用在不必改变值的场合,如固定的数据表,字库等。常量的定义方式有几种:等。常量的定义方式有几种:等。常量的定义方式有几种:等。常量的定义方式有几种:#difine False 0 x0;/#difine False 0 x0;/#difine False 0 x0;/#difine False 0 x0;/
45、用预定义语句可以定义常量用预定义语句可以定义常量用预定义语句可以定义常量用预定义语句可以定义常量#difine True 0 x1;/#difine True 0 x1;/#difine True 0 x1;/#difine True 0 x1;/这里定义这里定义这里定义这里定义FalseFalseFalseFalse为为为为0,True0,True0,True0,True为为为为1 1 1 1 /在程序中用到在程序中用到在程序中用到在程序中用到FalseFalseFalseFalse编译时自动用编译时自动用编译时自动用编译时自动用0 0 0 0替换,替换,替换,替换,同理同理同理同理True
46、TrueTrueTrue替换为替换为替换为替换为1 1 1 1第54页,此课件共76页哦n nunsigned int code a=100;unsigned int code a=100;unsigned int code a=100;unsigned int code a=100;/这一句用这一句用这一句用这一句用codecodecodecode把把把把a a a a定义在程定义在程定义在程定义在程序存储器中并赋值序存储器中并赋值序存储器中并赋值序存储器中并赋值n nconst unsigned int c=100;const unsigned int c=100;const unsign
47、ed int c=100;const unsigned int c=100;/用用用用constconstconstconst定义定义定义定义c c c c为无符号为无符号为无符号为无符号intintintint常量并赋值常量并赋值常量并赋值常量并赋值n n以上两句它们的值都保存在程序存储器中,以上两句它们的值都保存在程序存储器中,以上两句它们的值都保存在程序存储器中,以上两句它们的值都保存在程序存储器中,而程序存储器在而程序存储器在而程序存储器在而程序存储器在运行中是不允许被修改的运行中是不允许被修改的运行中是不允许被修改的运行中是不允许被修改的,所以如果在这两句后面用了类似,所以如果在这两
48、句后面用了类似,所以如果在这两句后面用了类似,所以如果在这两句后面用了类似a=110a=110a=110a=110,a+a+a+a+这样的赋值语句,编译时将会出错。这样的赋值语句,编译时将会出错。这样的赋值语句,编译时将会出错。这样的赋值语句,编译时将会出错。第55页,此课件共76页哦5 5、变量、变量n n变量就是一种在程序执行过程中其值能不断变化的变量就是一种在程序执行过程中其值能不断变化的变量就是一种在程序执行过程中其值能不断变化的变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量量。要在程序中使用变量必须先用标识符作为变量量。要在程序中使用变量必须
49、先用标识符作为变量量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译名,并指出所用的数据类型和存储模式,这样编译名,并指出所用的数据类型和存储模式,这样编译名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。系统才能为变量分配相应的存储空间。系统才能为变量分配相应的存储空间。系统才能为变量分配相应的存储空间。第56页,此课件共76页哦5 5、变量、变量n n定义一个变量的格式如下:定义一个变量的格式如下:定义一个变量的格式如下:定义一个变量的格式如下:n n 存储种类存储种类存储种类存储种类 数据类型数据类型 存储器类型存储器类型
50、存储器类型存储器类型 变量名表变量名表n n在定义格式中除了数据类型和变量名表是必要的,在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。其它都是可选项。n n存储种类是指变量在程序执行过程中的作用范围。存储种类是指变量在程序执行过程中的作用范围。存储种类有四种:存储种类有四种:n n自动(自动(autoauto),外部(外部(externexternexternextern),静态(静态(静态(静态(staticstatic)和寄)和寄)和寄)和寄存器(存器(存器(存器(registerregister),),),),缺省类型为自动缺省类型为自动缺省类型为自动缺省类型为自动(aut