单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51 系列单片机的爱好者来说是十分必要的,如果你使用C 语言编程,那么Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。我们将通过一些实例来学习Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于MCS-51 系列,其内部有4K 的FLASH ROM,可以反复擦写,非常适于做实验。89C51 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的第一个任务是让接在P1 引脚上的发光二极管依次循环点亮。 一、Keil 工程的建立首先启动Keil 软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision 的图标以启动该软件。UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3 个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU 的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。
上传时间: 2013-12-26
上传用户:liulinshan2010
PCF8563 是低功耗的CMOS 实时时钟日历芯片.它提供一个可编程时钟输出一个中断输出和掉电检测器.所有的地址和数据通过I2C 总线接口串行传递最大总线速度为400Kbits/s 每次读写数据后内嵌的字地址寄存器会自动产生增量.2 特性 低工作电流典型值为0.25 A VDD=3.0V Tamb=25 时; 世纪标志; 大工作电压范围1.0 5.5V; 低休眠电流典型值为0.25 A(VDD=3.0V,Tamb=25 ); 400KHz 的I2C 总线接口VDD=1.8 5.5V 时; 可编程时钟输出频率为32.768KHz 1024Hz 32Hz 1Hz; 报警和定时器; 内部集成的振荡器电容片内电源复位功能掉电检测器; I2C 总线从地址读0A3H 写0A2H; 开漏中断引脚
上传时间: 2013-12-16
上传用户:liuchee
1. 使用单片机内部复位电路的可靠性设计LPC932 单片机只能工作在3V 供电电压下其外围器件既可以选用3V 接口器件也可以选用5V 接口器件当用户决定使用内部复位时为了保证单片机上电复位100 可靠必须在复位引脚接一上拉电阻如5 10K 如果单片机使用3V 电源电压外围器件使用5V 电源电压准确的复位电路设计方法如图1 所示如果单片机使用3V 电源电压外围器件使用3V 电源电压准确的复位电路设计方法如图2 所示 2. 使用单片机外部复位电路的可靠性设计LPC932 单片机只能工作在3V 供电电压下其外围器件既可以选用3V 接口器件也可以选用5V 接口器件当用户决定使用外部复位电源监控器件时为了保证单片机上电复位100 可靠一定要注意根据外围器件的供电电源方式选择复位电源监控器件如果单片机使用3V 电源电压外围器件使用5V 电源电压准确的复位电路设计方法如图3 所示请选择PHILIPS 半导体公司生产的MAX809L 等合适的电源监控器件如果单片机使用3V 电源电压外围器件使用3V 电源电压准确的复位电路设计方法如图4 所示请选择PHILIPS 半导体公司生产的MAX809R 等合适的电源监控器件.
上传时间: 2014-03-24
上传用户:aix008
1.1 微机系统的组成 1.1.1 微机系统的硬件组成1.1.2 单片机系统的硬件组成1.1.3 微机系统的软件组成1.2 MCS-51系列单片机1.2.1 MCS-51系列单片机的分类常用的MCS51系列单片机有2种类型的产品:8051/8751/89C51和8031。它们的结构基本相同,其主要差别反映在存储器的配置上的不同: ① 8051内设有4KB的掩膜ROM。 ② 8751内设有4KB的EPROM。 ③ 89C51内设有4KB的E2PROM 。 ④ 8031内没有ROM。 1.2.2 MCS- 51系列单片机的结构1.2.3 MCS- 51系列单片机的引脚
标签: 接口技术
上传时间: 2013-11-24
上传用户:wmwai1314
2.1 MCS-51系列单片机概述 2.1.1 MCS - 51系列单片机的基本结构单片机是一个大规模集成电路芯片,其上集成有CPU、存储器、I/O口(串行口、并行口)、其它辅助电路(如中断系统,定时/计数器,振荡电路及时钟电路等)。 其基本结构框图如下: 2.1.2 MCS - 51系列单片机的分类2.2 89C51单片机内部结构 2.3 89C51单片机的引脚 2.4 MCS-51系列单片机的工作方式
上传时间: 2013-10-09
上传用户:18165383642
红外遥控接收;=================================================;; zsMCU51实验板配套学习例程;; 中山单片机学习网 智佳科技;; 作者:逸风 QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;转入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下为进入P3.2脚外部中断子程序,也就是解码程序IR:MOV R6,#9SB:ACALL DELAY882 ;调用882微秒延时子程序JB P2.2,EXIT ;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZ R6, SB ;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序;以上完成对遥控信号的9000微秒的初始低电平信号的识别。JNB P2.2, $ ;等待高电平避开9毫秒低电平引导脉冲ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延时4.74毫秒避开4.5毫秒的结果码MOV R1,#1AH ;设定1AH为起始RAM区MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址码第一位的高电平信号LCALL DELAY882 ;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P2.2 ;将P3.2引脚此时的电平状态0或1存入C中 JNC UUU ;如果为0就跳转到UUULCALL DELAY1000UUU:MOV A,@R1 ;将R1中地址的给ARRC A ;将C中的值0或1移入A中的最低位MOV @R1,A ;将A中的数暂时存放在R1中DJNZ R3,JJJJ ;接收地址码的高8位INC R1 ;对R1中的值加1,换下一个RAMDJNZ R2,PP ;接收完16位地址码和8位数据码和8位数据,存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;将按键的键值通过P1口的8个LED显示出来!CLR P2.3 ;蜂鸣器鸣响-嘀嘀嘀-的声音,表示解码成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鸣器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解码子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400
上传时间: 2013-11-01
上传用户:2525775
影响单片机系统运行稳定性的因素可大体分为外因和内因两部分1. 外因 射频干扰它是以空间电磁场的形式传递在机器内部的导体引线或零件引脚感生出相应的干扰可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰 电源线或电源内部产生的干扰它是通过电源线或电源内的部件耦合或直接传导可通过电源滤波隔离等措施来衰减该类干扰2. 内因 振荡源的稳定性主要由起振时间频率稳定度和占空比稳定度决定起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响 复位电路的可靠性
上传时间: 2013-10-24
上传用户:AbuGe
一概述影响单片机系统运行稳定性的因素可大体分为外因和内因两部分1. 外因 射频干扰它是以空间电磁场的形式传递在机器内部的导体引线或零件引脚感生出相应的干扰可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰 电源线或电源内部产生的干扰它是通过电源线或电源内的部件耦合或直接传导可通过电源滤波隔离等措施来衰减该类干扰2. 内因 振荡源的稳定性主要由起振时间频率稳定度和占空比稳定度决定起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响 复位电路的可靠性二 复位电路的可靠性设计1. 基本复位电路复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位图1 所示的RC 复位电路可以实现上述基本功能图3 为其输入-输出特性但解决不了电源毛刺A 点和电源缓慢下降电池电压不足等问题而且调整RC 常数改变延时会令驱动能力变差左边的电路为高电平复位有效 右边为低电平Sm 为手动复位开关 Ch 可避免高频谐波对电的干扰
上传时间: 2014-01-18
上传用户:shanxiliuxu
C语言编程基础:1. 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3. ++var表示对变量var先增一;var—表示对变量后减一。 4. x |= 0x0f;表示为 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6. While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCC 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。在某引脚输出低电平的编程方法:(比如P2.7引脚)代码1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2.7 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P2_7 = 0; //给P2_7赋值0,引脚P2.7就能输出低电平GND 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 在某引脚输出方波编程方法:(比如P3.1引脚)代码1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P3.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 5. { 6. P3_1 = 1; //给P3_1赋值1,引脚P3.1就能输出高电平VCC 7. P3_1 = 0; //给P3_1赋值0,引脚P3.1就能输出低电平GND 8. } //由于一直为真,所以不断输出高、低、高、低……,从而形成方波 9. } 将某引脚的输入电平取反后,从另一个引脚输出:( 比如 P0.4 = NOT( P1.1) )
上传时间: 2013-11-02
上传用户:zengduo
单片机的C 语言轻松入门随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C 语言为主,市场上几种常见的单片机均有其C 语言开发环境。这里以最为流行的80C51 单片机为例来学习单片机的C 语言编程技术。本书共分六章,每章一个专题,以一些待完成的任务为中心,围绕该任务介绍C 语言的一些知识,每一个任务都是可以独立完成的,每完成一个任务,都能掌握一定的识,等到所有的任务都完成后,即可以完成C 语言的入门工作。C 语言概述及其开发环境的建立学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目前最流行开发80C51 系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。在学会使用汇编语言后,学习C 语言编程是一件比较容易的事,我们将通过一系列的实例介绍C 语言编程的方法。图1-1 所示电路图使用89S52 单片机作为主芯片,这种单片机性属于80C51 系列,其内部有8K 的FLASH ROM,可以反复擦写,并有ISP 功能,支持在线下载,非常适于做实验。89S52 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的任务是让接在P1 引脚上的发光二极管按要求发光。
上传时间: 2013-11-04
上传用户:467368609