电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

单片机编程实例+led等

  • 资源ID:61624687       资源大小:3.08MB        全文页数:138页
  • 资源格式: PPT        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

单片机编程实例+led等

3.1 单片机系统开发过程,简单的例子:让一个发光二极管闪烁5次。,1、明确系统功能:让一个发光二极管闪烁5次。,系统启动后,一支发光二极管闪烁5次后熄灭, 当按下一个按钮开关后再闪烁5次后熄灭。 以后每次按下按钮开关,发光二极管都会闪烁5次。,第三章 单片机系统开发过程 51单片机指令系统简介,2、硬件设计(单片机+外围器件),外围器件:,一个发光二极管、三个电阻、三个电容,一个按钮开关,3、 搭建硬件平台,在面包板上插入器件,用导线完成电气连接。,4、 软件设计 ORG 00H ; 设置起始地址 START: MOV R0, #5 ; 循环闪烁5次,R0为计数器 LOOP: MOV P1,#00H ; P1口输出全0,点亮二极管 CALL DELAY ; 调用延时子程序 MOV P1,#0FFH ; P1口输出全1,熄灭二极管 CALL DELAY ; 调用延时子程序 DJNZ R0, LOOP ; R0减1,若不为0转LOOP处,JB P2.0, $ ; 测P2.0为高电平(无按键)则执行本行 JMP START ; 否则,有键按下,跳到START处重新开 始执行,DELAY: ; 延时子程序(500ms) RET ; 返回主程序 END ; 汇编程序结束,5 、下载程序到单片机并调试,(1) 在Vision中把目标程序编辑好, (2)编译、连接无错后生成单片机可执行的代码文件, (3) 用下载线下载到单片机系统板中, (4)运行程序,(5)根据运行结果检查功能实现情况,若未达系统要求,则在Vision中修改程序,然后重复步骤 (2)(5),直至达到系统要求.,在程序反复检查无逻辑错误时,应检查硬件电路是否有问题.,3.2 Vision Vision软件的使用 1、新建一个工程(项目),并为该项目选定合适的CPU然后保存该工程。,具体步骤: 选Project New Project保存工程,在弹出窗口中选所需CPU(如选ATMEL),双击该.CPU.,选AT89S51, 并确定。,2、设置工程,使编译、连接后能生成可执行代码文件,右击,Options for Target 1,选择Create HEX,在弹出的窗口选,3、新建源文件,选FileNew输入源程序保存,(汇编程序:文件名.asm; C程序:文件名.c,(存在工程文件夹),4、为工程中添加源程序文件,在右边Project窗口单击 Source Group 1,在下拉菜单中选 Add Files to GroupSource Group 1选项,,在弹出的框中选择你的源文件和文件类型,然后点击ADD,再点击close。,5、编译工程中的源程序,生成 .HEX(可执行)文件,在Project窗口中选 Target 1Build Target F7, (点击 )对源程序编译连接。(或点击 RBuild Target ),程序有语法错误时,会在输出窗口(Output Windows)中显示错误信息和警告信息,修改编译成功后生成 HEX文件,生成.HEX文件后,可利用专门的下载程序,将此可执行程序下载到单片机内的ROM中运行,3、在窗口中点击 , 打开你系统的.hex文件,3.3 STC-ISP V3.91 软件的使用 1、双击 , 打开在线烧录程序,2、在窗口的“MCU TYPE ”下拉菜单中选择(STC89C51RC),4、在COM栏选下载端口(一般是COM1) 5、关电路板上的电源 6、点击Download,打开电路板上的电源,烧录程序,若烧录出现问 题,点击stop。,注意: 5、6 两步骤的顺序不能颠倒!即在点击Download之前要先关掉板上的电源。,7、打开电路板上的电源 ,程序即开始运行。,3.4 单片机应用系统C语言程序设计,单片机应用系统的程序设计有两种方法:一种是基于汇编语言的,另一种是基于C语言的。,汇编语言程序的机器代码生成效率高,但可读性较差,而C语言程序的可读性和可移植性远超过汇编语言。,C51是一种专门为51单片机设计的高级语言C编译器,支持符合ANSI标准的C语言,同时针对51单片机的特点做了一些特殊扩展。,C语言的主要特点:, 语言简洁,使用方便灵活。它是程序设计语言中规模最小的语言之一。,ANSI标准C语言只有32个关键字,9种流程控制语句。,程序可移植性好。,所设计的程序不依赖机器硬件。,表达方式灵活。,利用 C语言的多种运算符可组成各种表达式,还可采用多种方法来获得表达式的值,使程序设计具有更大的灵活性。,表达能力强。,具有丰富的数据结构类型和多种运算符。用户可灵活采用多种数据类型和使用各种运算符,实现复杂运算。,可直接操作计算机硬件。,C语言具有直接访问机器物理地址的能力,C51的编译器都可直接对单片机内部的SFR和I/O端口进行操作,可以直接访问片内、片外存储器,还可以进行各种为操作。,生成的目标代码质量较高。,可进行结构化程序设计。,C语言以函数作为程序设计的基本单位,非常适合结构化程序设计。,用C51语言编写单片机应用程序,不用具体组织、分配存储器资源和处理端口数据,但对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。,与标准C语言相比,C51包含的数据类型、变量存储模式、输入输出处理、函数等方面有一定差异,需根据单片机存储结构及内部资源来定义相应的数据类型和变量,而其它语法规则、程序结构及设计方法等与标准C语言相同。,3.4.1 C51的程序结构,一、 C51语言概述,C语言程序由若干函数组成,其中有且仅有一个主函数,每个函数都是完成某个特殊任务的子程序段。,组成程序的若干函数可保存在一个源程序文件中,也可保存在几个源程序文件中,最后将它们连接在一起。,函数之间可以互相调用,但主函数只能调用其它函数而不能被其它函数调用。,主函数是程序的入口,主函数中的所有语句执行完毕,则程序结束。,二. 、C51语言程序结构,可实现一个LED闪烁控制功能的C51源程序,C51语言程序的基本结构:,式中: func1()funcN()代表用户定义的函数, 程序体指C51提供的任何库函数调用语句、控制流程语句或其它函数调用语句。,3.4.2 C51的数据结构,1. C51的变量,变量的基本属性是变量名和变量值。在程序中定义了变量,C51编译器就会给这个变量分配相应的存储单元。此后变量名就与存储单元地址相对应,变量值就与存储单元的内容相对应。,定义一个变量的格式如下: 存储种类 数据类型 存储类型 变量名,C51的变量概念示意图,图中引用变量a实现了对分配内存20H单元的数据操作,(1)存储种类,存储种类是指变量在程序执行过程中的作用范围。,变量的存储种类有四种: 自动(auto) 用存储种类说明符auto定义的变量 外部(extern) 用外部种类存储符extern定义的变量 静态(static) 用存储种类说明符static定义的变量 寄存器(register)用存储种类说明符register定义的 变量,自动变量:,自动变量作用范围在定义它的函数体或复合语句内部,在定义它的函数体或复合语句被执行时,C51才为该变量分配内存空间,当函数调用结束或复合语句执行结束时,自动变量占用的内存空间被释放。,定义变量时若省略存储种类,则变量默认为自动变量。通常将函数体内和复合语句中使用频繁的变量放在片内RAM中,且定义为自动变量,可有效利用片内RAM资源。,外部变量:,在一个函数内,要使用已在本函数外或别的程序模块文件中定义过的外部变量时,在本函数体内要用extern说明该变量。,通常将多个函数或模块共享的变量定义为外部变量。,外部变量是全局变量,在程序执行期间一直占有固定的内存空间。当片内RAM资源紧张时,不建议将外部变量放在片内RAM。,外部变量被定义后,即分配了固定的内存空间,在程序的整个执行时间内都是有效的。,静态变量:,静态变量又分为内部静态变量和外部静态变量。,在函数体内定义的静态变量为内部静态变量,它在该函数体内有效,但在该函数体外不可见,这使变量在定义它的函数体外被保护,实现了离开函数时值不会被改变。,寄存器变量:,通常将使用频率最高的那些变量定义为寄存器变量,但目前已不推荐使用这种方式。,外部静态变量是在函数外部定义的静态变量。它在程序中一直可见,但在定义的范围之外是不可见的。,在多文件或多模块处理中,外部静态变量只在定义其的文件内部或模块内部有效。,(2)数据类型,数据的不同格式叫做数据类型,有符号数据类型可以忽略signed标识符,如int 等价于signed int , char 等价于signed char等。,为了更有效地利用51单片机的内部结构, C51还增加了一些特殊的数据类型,它们分别对应于bit、sfr、sfr16和sbit四个关键字。,bit 位型,利用bit 位型,可定义一个位变量或位函数,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0 就是1。,C51增加的特殊数据类型,sfr特殊功能寄存器型,51系列单片机内的21个特殊功能寄存器(SFR),分散在片内RAM区的高128字节,地址为80HFFH。为了能直接访问这些SFR,需要通过关键字“sfr”对其进行定义,语法如下: sfr sfr_name = 地址常数;,sfr_name是一个特殊功能寄存器名,“=”后面必须是常数,其数值范围必须在特殊功能寄存器地址范围内,即位于0x80-0xFF之间。 例如, sfr P1 = 0x90; /定义P1口地址90H sfr PSW = 0xD0; /定义PSW地址D0H,对于16位SFR,要使用关键字“sfr16”,定义的地址必须是16位SFR的低端地址。 sfr16 DPTR = 0x82;/定义DPTR,其DPL = 82H DPH=83H,注意:不能用sfr16定义定时器/计数器0和1。,sbit可寻址位,在单片机应用中,经常要访问特殊功能寄存器中的某些位,用关键字sbit定义可位寻址的特殊功能寄存器的位寻址对象。定义方法有如下三种:,sbit 位变量名 = 位地址 将位的绝对地址赋给位变量名,位地址必须位于0x80H0xFF之间。 例:sbit CY=0xD7; /将位的绝对地址赋给变量,sbit 位变量名 = SFR名称 位位置 当可寻址位位于特殊功能寄存器中时,可采用这种方法。其中SFR名称必须是已定义的SFR的名字,位位置是一个07之间的常数。 例: sfr PSW = 0xD0; sbit CY=PSW7; /定义CY位为PSW.7,位地址为 0xD7,sbit 位变量名 = 字节地址 位位置 这种方法是以一个字节地址作为基地址,该地址必须在0x80H0xFF之间。 例如,sbit CY = 0xD07; /将位的相对地址赋给变量,注:C51编译器把51单片机常用特殊功能寄存器和特殊位进行了统一定义,并存放在 “reg51.h”或“reg52.h” 头文件中,只须在使用前用预处理命令#include 把这头文件包含到程序中,就可使用殊功能寄存器名和特殊位名称。,(3)存储类型,51系列单片机有三个逻辑存储空间:片内低128B RAM,片外64KB RAM和片内外统一编址的64KB ROM。,51系列单片机逻辑存储空间示意图,C51的存储类型与存储空间对应关系表,注:一个变量除了与存储单元相对应外,还与它所在的存储空间有关,即还需要指出其存储类型。,如果在定义变量时省略了存储类型标识符,C51编译器会根据当前编译模式自动认定默认的存储类型。编译模式共分为:小编译模式(SMALL)、紧凑编译模式(COMPACT)和大编译模式(LARGE)三种模式,编译模式与存储类型,(4)变量名,C51对变量名的规定与标

注意事项

本文(单片机编程实例+led等)为本站会员(j7****6)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.