mcs-51单片机应用教程以MCS-51系列单片机为主线,从实用的角度出发,通过介绍大量单片机技能训练实例和应用实例,指导读者学习和使用单片机。《MCS-51单片机应用教程》分为基础篇和应用篇两大部分。基础篇讲述单片机的基础知识,包括单片机原理与结构、指令系统、定时与中断、串行通信等。应用篇包括单片机的基础训练和应用实例两部分。《MCS-51单片机应用教程》各章节由浅入深,前后呼应,使读者能够在理解掌握单片机原理的基础上,很快学会单片机的使用。 MCS-51单片机应用教程 目录 第1篇 基础篇 第1章 MCS-51单片机系统结构 1.1 概述 1.2 单片机的内部结构 1.3 单片机的存储器结构 1.4 单片机并行I/O口 1.5 单片机的复位电路 1.6 单片机的时钟与时序 第2章 单片机的指令系统 2.1 指令系统概述 2.2 寻址方式 2.3 指令功能介绍 第3章 单片机的中断系统与定时器/计数器 3.1 中断系统 3.2 单片机的定时器/计数器 3.3 外部中断源的扩展 第4章 单片机的串行通信 4.1 串行通信的概念 4.2 MCS-51串行口的结构及工作方式 4.3 串行通信的应用 第2篇 应用篇 第5章 单片机实用开发步骤 5.1 单片机应用系统设计的一般流程 5.2 单片机汇编程序的编辑方法 5.3 源程序的编译
上传时间: 2013-11-12
上传用户:qingdou
51单片机驱动步进电机(含电路图和源程序代码) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
上传时间: 2013-11-09
上传用户:钓鳌牧马
使用注意:注意烧写的时候不要勾选SC0,SC1这两项加密项也不要选 初学51单片机或是业余玩玩单片机开发,每次总要不断的调试程序,如没有仿真器又不喜欢用软件仿真,那只有每次把编译好的程序烧录到芯片上,然后在应用电路或实验板上观察程序运行的结果,对于一些小程序这样的做好也可以很快找到程序上的错误,但是程序大了,变量也会变的很多,而直接烧片就很难看到这些变量的值了,在修改程序时还要不断的烧片实验,确实很麻烦,这时如果有一台仿真器就会变得很好方便了。但一台好的仿真器对于业余爱好者来说确实有一些贵,在这里介绍这种易于自制的51芯片仿真器虽然有一些地方不够完善,但还是非常适于初学51单片机的朋友和经济能力不是很好的业余爱好者。 这个仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,这里主要讲述SST89C58),对于没有可以烧写SST89C58芯片的朋友应该选用CA版本的SST89C58芯片,这个CA型号的芯片出厂时已内置了BSL1.1E的固件程序。那什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引导装载,形象来说就像电脑用DOS起动盘起动后可以装载应用程序并运行。只不过SST89C58是用串口来输入程序资料的。为了能把编译好的单片机程序HEX或BIN文件下载到SST89C58芯片上,SST公司还提供了一种叫EasyIAP的软件,IAP为In-Application Programming,有了这个软件就可以把SST89C54变为在线下载的实验器。
上传时间: 2013-11-18
上传用户:gonuiln
附件有51单片机加上sl811读写U盘的源程序和原理图 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc. All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0 = 0x80;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr P1 = 0x90;sfr SCON = 0x98;sfr SBUF = 0x99;sfr P2 = 0xA0;sfr IE = 0xA8;sfr P3 = 0xB0;sfr IP = 0xB8;sfr T2CON = 0xC8;sfr T2MOD = 0xC9;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;
上传时间: 2014-01-05
上传用户:lnnn30
这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C 和8051 汇编因为本书不是一本C 和汇编的指导书你可以买到不少关于ANSI C 的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051 的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计 8051 系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上仅次于Motorola 68HC11 在 8 位微控制器市场上的销量很多制造商都可提供8051 系列单片机像Intel Philips Siemens 等这些制造商给51 系列单片机加入了大量的性能和外部功能像I2C 总线接口模拟量到数字量的转换看门狗PWM 输出等不少芯片的工作频率达到40M 工作电压下降到1.5V 基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051 系列的基本结构如下1 一个8 位算术逻辑单元2 32 个I/O 口4 组8 位端口可单独寻址3 两个16 位定时计数器4 全双工串行通信5 6 个中断源两个中断优先级6 128 字节内置RAM7 独立的64K 字节可寻址数据和代码区每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms
上传时间: 2013-11-09
上传用户:chenlong
一共有9个51单片机实验程序,实际上还有相关的汇编程序N例,单片机嵌入式程序和I2C源程序等等。
上传时间: 2014-03-18
上传用户:13517191407
MCS-51单片机实用子程序库 ;片内RAM初始化子程序IBCLR: MOV A,R0MOV R1,ACLR AIBC1 : MOV @R1,AINC R1DJNZ R7,IBC1RET;片外RAM初始化子程序EBCLR1: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,ACLR CEBC11: MOVX @DPTR,AINC DPTRDJNZ R7,EBC11RET;片外RAM初始化子程序(双字节个单元)EBCLR2: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AMOV A,R7JZ EBC21INC R6EBC21: CLR AMOVX @DPTR,AINC DPTRDJNZ R7,EBC21DJNZ R6,EBC21RET;内部RAM数据复制程序;入口: R0,R7;占用资源: A;堆栈需求: 2字节
上传时间: 2013-10-10
上传用户:18602424091
51汇编程序实例:举一例说明:流水灯加数码管 LOOP: ; 标号CLR P2.6 ;选中p2.6 数码管左边的8字使能SETB P2.7 ;p2.7不使能。 右边的数码管消隐MOV P0,#28H ;把28h送p0口;数码管显示 0LCALL DELAY ;延时MOV P0,#0FFH ;0ffh 送p0口,数码管清除CLR P1.0 ;点亮p1.0发光管MOV P0,#7EH ;把7eh送p0口;数码管显示 1LCALL DELAYMOV P0,#0FFHCLR P1.1 ;点亮p1.0发光管CLR P1.0 ;点亮p1.0发光管MOV P0,#0A2H ;数码管显示 2LCALL DELAYMOV P0,#0FFHCLR P1.2CLR P1.1CLR P1.0MOV P0,#62H ;数码管显示 3LCALL DELAYMOV P0,#0FFHCLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#74H ;数码管显示 4LCALL DELAYMOV P0,#0FFHCLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#61H ;数码管显示 5;LCALL DELAYMOV P0,#0FFHCLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#21H ; 数码管显示 6LCALL DELAYMOV P0,#0FFHCLR P1.6CLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#7AH ; 数码管显示 7LCALL DELAYMOV P0,#0FFHCLR P1.7CLR P1.6CLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#20H ; 数码管显示 8LCALL DELAYMOV P0,#0FFHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH;程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8;p1.0------------p1.7指示灯依次点亮SETB P2.6 ; 左边的8消隐CLR P2.7 ;选中p2.7 数码管右边的8字使能 ,;MOV P0,#28HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.0MOV P0,#7EHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.1MOV P0,#0A2HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.2MOV P0,#62HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.3MOV P0,#74HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.4MOV P0,#61HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.5MOV P0,#21HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.6MOV P0,#7AHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.7MOV P0,#20HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHMOV P0,#0FFHMOV P1,#0FFH;这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;;同时p1口的灯流动显示:AJMP LOOP; 注意: 程序运行到此跳转到开始标号,重复执行:DELAY: ;延时子程序;参考前面的教程:CLR P3.3 ;注意小喇叭在3.3口, 这里可以使小喇叭发出嗒,嗒声MOV R7,#255NOPNOPD1:MOV R6,#255setb p3.3D2: DJNZ R6,D2clr p3.3DJNZ R7,D1SETB P3.3RETENDLOOP: ; 标号CLR P2.6 ;选中p2.6 数码管左边的8字使能SETB P2.7 ;p2.7不使能。 右边的数码管消隐MOV P0,#28H ;把28h送p0口;数码管显示 0 ;28为1010000LCALL DELAY ; 延时程序MOV P0,#0FFH ;0ffh 送p0口,数码管清除;P0口为11111111CLR P1.0 ;点亮p1.0发光管; P1。0为电平,P0口为11111110MOV P0,#7EH ;把7eh送p0口;数码管显示 1; P1。0为低电平,P0口为11111110LCALL DELAY ; 延时程序MOV P0,#0FFHMOV P0,#0FFH ;0ffh 送p0口,数码管清除;P0口为11111111 清一次显示这条是清显示的
上传时间: 2013-10-31
上传用户:gundamwzc
这两个RAR文件是我学习51单片机时,第一次写的"外部中断实验程序", 包含内容有: 1. EXT_C.rar, 给初学者(带中文注释的C51语言例程), 利用外部中断实现LED灯的简单控制。2. EXT_A.rar, 给初学者(带中文注释的51汇编语言例程), 利用外部中断实现LED灯的简单控制。 两个同样功能的中断例程, 一个用C51实现, 另一个用ASM51实现(ASM51是由C51反汇编生成的),都在MCU51-63K仿真器下通过实验的哦, 小虾们可以试试看。
上传时间: 2013-11-25
上传用户:hahayou
这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C 和8051 汇编因为本书不是一本C 和汇编的指导书你可以买到不少关于ANSI C 的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051 的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计 这本书向你展示了用8051进行工程设计时的许多问题希望你读完本书后对8051的认识能有较大的提高如果你现在还没有够买C编译器你应该马上去买一个采用C语言可是你的系统设计更简单维护更方便这本书覆盖面较大从C和汇编的代码优化到8051的网络设计再到模糊控制希望你从本书中学到的知识对你今后的系统设计有所帮助
上传时间: 2013-10-12
上传用户:ommshaggar