MCS---51单片机最小系统设计
第4章MCS-51单片机系统功能扩展
74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。
MCS-51单片机程序设计
+1
,当X>0
Y= 0
,当X=0
开始
-1
,当X<0
X=0
N
程序流程框图如图4.1所示。 Y
Y←0
X>0 Y
Y←1
N Y←-1
结束
程序如下: ORG
MOV CJNE MOV AJMP MP1: JB MOV LJMP MP2: MOV HERE: SJMP
1000H A,R0 A,#00H,MP1 R1,#00H HERE ACC.7 MP2 R1,#01H HERE R1,#0FFH HERE
1000H DPTR,#2000H DPL DPH DPTR,#3000H R2,DPL R3,DPH
;源数据区首地址 ;源首址暂存堆栈
;目的数据区首地址 ;目的首址暂存寄存器
LOOP:
POP POP MOVX INC PUSH PUSH MOV MOV MOVX MOV MOV DJNZ SJMP
;源数据区首地址 ;目的数据区首地址 ;循环次数 ;取数据 ;数据传送 ;源地址加1 ;目的地址加1 ;循环控制 ;结束
例4.8 外部RAM之间的数据传送程序。
把外部RAM 2000H开始单元中的数据传送到外部RAM 3000H开始的单 元中,数据个数在内部RAM的35H单元中。
START:
ORG MOV PUSH PUSH MOV MOV MOV
K=?
K=0
K=1
转向 0 分支 转向 1 分支
K= n-1
K=n
转向 n-1 分支 转向 n 分支
例4.5 设内部RAM的30H单元有一个数,根据该数值的不同 转移到不同的程序段进行处理,设数值的范围为0~10的 无符号数。
MCS-51单片机原理与应用教学设计
MCS-51单片机原理与应用教学设计介绍MCS-51单片机是一种微型计算机芯片,广泛应用于许多嵌入式系统中。
单片机课程是电子信息类专业的重要课程之一,是培养学生嵌入式系统设计能力的基本环节,也是学生熟练掌握C语言编程技能的关键课程。
本文主要介绍MCS-51单片机原理与应用教学设计的相关内容。
教学目标本教学设计旨在通过讲解MCS-51单片机的基本原理及其应用,培养学生以下几个能力:1.理解MCS-51单片机的基本架构和指令系统。
2.掌握MCS-51单片机的编程工具和编程方法,熟练使用Keil软件。
3.能够完成基本的嵌入式系统设计和开发任务,包括输入输出控制、中断处理、定时器计数、串口通信等。
4.能够将所学知识应用于具体的嵌入式系统设计任务中,并在实践中不断提高自己的技能和分析问题的能力。
教学内容第一章:MCS-51单片机体系结构1.1 MCS-51单片机的基本组成介绍MCS-51单片机的基本构成和各部分的功能,包括CPU、存储器、输入输出接口等。
1.2 MCS-51单片机的寄存器介绍MCS-51单片机的寄存器及其作用,包括通用寄存器、特殊功能寄存器、状态寄存器等。
1.3 MCS-51单片机的指令系统介绍MCS-51单片机的指令系统,包括指令格式、指令类型、指令执行时间等。
第二章:Keil软件的使用2.1 Keil软件的介绍介绍Keil软件的基本功能和使用方法。
包括新建、编译、下载和调试程序等。
2.2 Keil软件的项目管理介绍Keil软件的项目管理功能,包括添加、删除、修改源文件,设置编译选项等。
2.3 Keil软件的调试功能介绍Keil软件的调试功能,包括单步执行、断点调试、变量监视等。
第三章:MCS-51单片机的应用3.1 输入输出控制介绍MCS-51单片机的输入输出控制方法,包括端口输入输出、LED和数码管控制等。
3.2 中断处理介绍MCS-51单片机的中断处理机制,包括硬件中断和软件中断,中断优先级等。
MCS-51单片机应用系统设计
6 通信电路的设计 单片机应用系统一般需要其具有数据通信的能力,通常采用RS-
232C、RS-485、I2C、CAN、工业以太网、红外收发等通信标准。
7 印刷电路板的设计与制作 电路原理图和印制电路板常采用专业设计软件进行设计, 如
Protel、Proteus、OrCAD等。设计印制电路板需要有很多的技巧和经 验。设计好印制电路板图后,应送到专业厂家制作生产,在生产出来 的印制电路板上安装好元件,则完成硬件设计和制作。
3. 程序设计 1 建立数学模型:描述出各输入变量和各输出变量之间 的数 学关系。
2 绘制程序流程图:以简明直观的方式对任务进行描述。 3 程序的编制:选择语言、数据结构、控制算法、存储 空间 分配,系统硬件资源的合理分配与使用,子程序的入/出口 参 数的设置与传递。
4. 软件装配 各程序模块编辑之后,需进行汇编或编译、调试,当满足设
单 片 机 应 用 系 统 设 计 的 一 般 过 程
7.1 MCS-51单片机应用系统设计过程
1. 总体设计 2. 硬件设计 3. 软件设计 4. 可靠性设计 5. 单片机应用系统的调试、测试
7.1.1 总体设计
1.明确设计任务 单片机应用系统的设计是从确定目标任务开始的。 认真进行目标分析,根据应用场合、工作环境、具体用途,
2. 程序设计技术
软件结构实现结构化,各功能程序实行模块化、子程序化。 一般有以下两种设计方法:
1 模块程序设计:优点是单个功能明确的程序模块的设 计和 调试比较方便,容易完成,一个模块可以为多个程序所共 享 。其缺点是各个模块的连接有时有一定难度。
2 自顶向下的程序设计:优点是比较符合于人们的日常 思维 ,设计、调试和连接同时按一个线索进行,程序错误可以 较早的发现。缺点是上一级的程序错误将对整个程序产生影响, 一处修改可能引起对整个程序的全面修改。
MCS51单片机指令系统
第一条指令为远查表指令,可以在64K的程序存储器空间寻 址。基地址寄存器为DPTR,其意思为,DPTR里面存放的是 程序存储器中数据表格的首地址,A为数据地址的偏移量。
这条指令执行以后,以 (A)+(DPTR)的数值为地址数 据就送进A里面来了,也就是从表格首地址开始以后的第(A) 个数据被送进A了。(举例子说明)
编写好的程序都放在程序存储器中,由于一个存储地址所 指示的存储单元只能存放一字节的数据。所以,在存放指令时, 必须将指令拆分成一个一个字节进行连续存放。
比如: 实现“累加器加10H”这条指令,其机器语言为 0111010000010000, 占用了两个字节,就必须拆成两个字节 进行连续存储。
但是,用二进制来表示比较麻烦,因此,也常用十六进制来 表示如:74H 10H来表示以上这条机器语言。可见,用十六进 制表示指令比较简单,但是,指令系统有上百条指令,不易记 住。所以,一般采用容易记住的一些缩写符号来表示机器语言,
2. 在指令中直接给出操作数的地址, 这种寻址方式就属
于直接寻址方式。在这种方式中, 指令的操作数部分直接 是操作数的地址。
比如:MOV A,30H;将30H里面的数送到A里面 MOV 21H,30H;将30H里面的数存放到21H里面 在MCS -51 单片机指令系统中, 直接寻址方式中可
以访问 3 种存储器空间: (1) 内部数据存储器的低 128 个字节单元(00H~
7. 位寻址 指按照位进行的寻址操作,(前面讲的都是按字节进
行的寻址操作)。该种寻址方式中, 操作数是内部RAM单元 中20H到2FH的128个位地址以及SFR中的11个可进行 位寻址的寄存器中的位地址寻址。
比如:MOV C,20H;就是将RAM中位寻址区中20H位地 址中的内容送给C。区别与MOV A,20H;这个是将内部 RAM中20H单元的内容送给A。
本章导读本章首先介绍MCS51单片机最小应用系统与总线
2019/2/24
MCS-51单片机原理与应用
16
8.2.2 数据存储器的扩展
4
(3)29C010的数据线I/O0~I/O7与单片机的地址总线一一对应 同名相连, WE 与 WR 相连。单片机 PSEN 和 RD 经过与门后与 29C010的 OE 相连,两个控制信号只要有一个有效,就可以对 29C010进行读出操作。这样的接法是把29C010芯片既看作是程 序存储器,又看作是数据存储器。 把29C010看作程序存储器是在PSEN 信号有效,即执行取指指令: MOVC A,@A+DPTR。 把其看作数据存储器是在 RD 或 WR 信号有效,即执行读写指令: MOVX A,@DPTR ;读片外数据存储器 MOVX A,@Ri MOVX @DPTR,A ;写片外数据存储器 MOVX @Ri,A (4)29C010的地址范围如表8.3,其17条地址线A0~A16取值范 围从全0到全1,就可得到其为寻址空间为00000H~1FFFFH。当
2019/2/24 MCS-51单片机原理与应用 7
8.1 最小应用系统与总线扩展
7
数据就被锁存在锁存器中,输入端数据变化不再影响Q 端输出。当三态门的输出允许端 OE 为低电平时,三态 门处于导通状态,允许Q端输出;当 OE 为高电平时,三态 门处于高阻隔离状态,不允许Q端输出。根据74LS373 的特性,把作为P0口地址锁存器的连接如图8.4(b)。 若采用74LS273, 因其CLK端是上升沿锁存, 所以ALE 端输出锁存控制信号必须加一个反相器,如图8.4(c)。
2019/2/24 MCS-51单片机原理与应用 18
8.2.2 数据存储器的扩展
6
(1)两扩展芯片15条地址线A0~A14都与单片机的15条地址线 一一对应同名相连,用于对存储器芯片片内单元的寻址。 (2)两扩展芯片数据线I/O0~I/O7与单片机数据总线一一对应 同名相连。单片机PSEN 与29C256的OE 相连,用于取指控制;单 片机的 WR 与 RD 信号分别与62256的 OE 和WE 相连,用于数据的 读写控制。
第三章MCS51系列单片机指令系统及汇编语言程序设计
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)
大学课件MCS51单片机指令系统与汇编语言程序设计
ANL C, P ; (C)← (C)∧(P)
其中:P是PSW的第0位,C是PSW的第7位。
(4)字节符号地址(字节名称)加位序号的形式。对于部分特 殊功能寄存器(如状态标志寄存器PSW),还可以用其字节名 称加位序号形式来访问某一位。AC 如:
定义:操作数存放在MCS-51内部的某个工作寄存器Rn (R0~R7)或部分专用寄存器中,这种寻址方式称为 寄存器寻址。
特点:由指令指出某一个寄存器的内容作为操作数。 存放操作数的寄存器在指令代码中不占据单独的一个 字节,而是嵌入(隐含)到操作码字节中。
寻址范围:四组通用寄存器Rn(R0~R7)、部分专用 寄存器( A, B, DPTR, Cy )。
伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制 信息,不产生可执行的目标代码,是CPU不能执行的指令。
(1)定位伪指令ORG
格式:ORG n
其中:n通常为绝对地址,可以是十六进制数、标号或表达式。
功能:规定编译后的机器代码存放的起始位置。在一个汇编 语言源程序中允许存在多条定位伪指令,但每一个n值都应和前
2.2.2 直接寻址
定义:将操作数的地址直接存放在指令中,这种寻址方式称为 直接寻址。 特点:指令中含有操作数的地址。该地址指出了参与操作的数 据所在的字节单元地址或位地址。计算机执行它们时便可根据 直接地址找到所需要的操作数。
寻址范围:ROM、片内RAM区、SFR和位地址空间。P42
2.2.3 寄存器寻址
定义:指令中给出的操作数是一个可单独寻址的位地址,这种寻址 方式称为位寻址方式。
特点:位寻址是直接寻址方式的一种,其特点是对8位二进制数中 的某一位的地址进行操作。
寻址范围:片内RAM低128B中位寻址区、部分SFR(其中有83位 可以位寻址)。
MCS51单片机指令系统与汇编语言程序设计
MCS51单片机指令系统与汇编语言程序设计MCS-51是一种非常常见的8位单片机系列,该系列包括了多种型号的单片机,如Intel 8051、8031、8052等。
MCS-51单片机指令系统是一组用于驱动该系列单片机的指令集,汇编语言程序设计是利用这些指令来编写程序。
MCS-51单片机指令系统包含了多种指令,可以执行诸如数据传输、算术逻辑运算、控制和数据访问等功能。
这些指令通过各种不同的寻址模式来操作数据,包括立即寻址、寄存器寻址、直接寻址、间接寻址和寄存器间接寻址等。
不同的寻址模式和指令组合可以实现不同的功能。
汇编语言程序设计通过将人类可读的汇编指令翻译成机器可执行的二进制指令来编写程序。
在MCS-51单片机中,汇编指令由操作码和操作数组成。
操作码指定了所执行的操作,如数据传输、算术运算或控制指令。
操作数则指定了指令要操作的数据。
下面以一个简单的例子来说明MCS-51单片机指令系统和汇编语言程序设计的基本原理。
假设我们要编写一个程序,将两个寄存器中的数据相加,并将结果存储到第三个寄存器中。
首先,我们需要将第一个寄存器的值加载到累加器A中,这可以通过MOV指令实现。
MOV指令的操作码为01,操作数为两个寄存器的地址。
例如,MOVA,R0将R0的值加载到A中。
接下来,我们需要将第二个寄存器的值加载到B寄存器中,同样可以使用MOV指令。
MOVB,R1将R1的值加载到B中。
然后,我们可以使用ADD指令将A和B中的值相加,并将结果存储到A中。
ADD指令的操作码为04,操作数为A的地址。
例如,ADDA将累加器中的值与A寄存器中的值相加,并将结果存储到A中。
最后,我们可以使用MOV指令将A中的结果移动到第三个寄存器中,例如,MOVR2,A将A的值移动到R2中。
通过组合使用这些指令,我们可以实现将两个寄存器中的值相加并存储到第三个寄存器中的功能。
总结来说,MCS-51单片机指令系统和汇编语言程序设计是一种用于编程控制该系列单片机的方式。
MCS-51单片机应用实验教程课程设计
MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。
本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。
2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。
实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。
3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。
该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。
实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。
3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。
该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。
实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。
3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。
该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。
实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。
3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。
该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。
MCS-51单片机指令系统教程(1)
三字节指令在存储器中存放的方式示意图
指令的字节数与指令的运行时间
指令的字节多是否意味着指令周期就长?
指令
字节数 周期数
MOV A,R0
1
1
MOV A,#0FFH 2
1
MOV 20H,#30H 3
2
MUL AB
1
4
INC DPTR
1
1
指令说明 R0内容送累加器A
立即数FFH送A 立即数30H送内存20h单元
5,位操作指令:位传送、位置位、位运算和位控制转移等 操作。 【 特点】:按位操作而不是按字节的操作。位控转移的判 断不是检测某一个字节而是对某一个位进行检测并决定是 否进行程序转移。 这类指令基本不影响PSW的内容。
返回
2.2 寻址方式
在指令的操作数位置上,用于表征、寻找操作数的方式定义 为“寻址方式”。
MOV A,R0 ;将工作寄存器R0的内容送累加器A
这里使用了不同的寻址方式,其指令的结构也不相同。
前者是:11100101(0E5H)、00000000(00H) 双字节。
后者的机器码是:11101000(0E8H)
单字节;
在物理结构上,R0与RAM的00H单元恰好是同一单元, 所以不同的指令而执行结果是一样的。
类似的还有累加器A:
INC A
寄存器寻址方式(单字节);
INC ACC 直接寻址方式(双字节);
INC 0E0H 直接寻址方式(双字节)。
3,在指令系统中:字节地址与位地址是完全不同的概念。 前者用direct表示,而后者用bit 表示,但在指令中都是用 16进制表示的数。 如:
MOV A,20H ;将RAM的20H单元内容送A MOV C,20H ;将位寻址区中的位地址为20H位内容送
51单片机最小系统原理图
51单片机最小系统原理图51单片机是一种常用的微控制器,它具有体积小、功耗低、性能稳定等特点,因此在嵌入式系统中得到了广泛的应用。
而要搭建一个完整的嵌入式系统,首先需要设计并搭建一个最小系统,本文将介绍51单片机最小系统的原理图设计。
首先,我们需要明确51单片机最小系统的组成部分。
一个完整的最小系统包括51单片机、晶振、复位电路、电源电路、下载电路等几个基本部分。
其中,晶振是单片机工作的时钟信号源,复位电路用于单片机的复位控制,电源电路提供单片机所需的电源,下载电路用于单片机的程序下载。
其次,我们需要根据这几个基本部分设计出相应的原理图。
首先是晶振电路,一般使用的是12MHz的晶振,其原理图是将晶振的两端分别连接到单片机的晶振输入引脚和晶振输出引脚。
接下来是复位电路,复位电路一般由一个电阻和一个电容组成,其原理是通过电容的充放电来实现单片机的复位控制。
然后是电源电路,电源电路一般包括稳压电路和滤波电路,其原理是通过稳压电路将输入的电压稳定在单片机所需的工作电压范围内,并通过滤波电路去除电源中的杂波。
最后是下载电路,下载电路一般由一个串口电平转换芯片和一个串口接口组成,其原理是通过串口电平转换芯片将电脑串口的TTL电平转换成单片机所需的电平,并通过串口接口与单片机相连接。
最后,我们需要将这几个部分的原理图进行整合,设计出完整的51单片机最小系统原理图。
在设计原理图时,需要注意各个部分之间的连接关系,以及引脚的连接方式。
同时,还需要考虑到原理图的布局和美观性,尽量使得原理图清晰易懂,方便后续的调试和维护工作。
总的来说,设计51单片机最小系统原理图是搭建一个完整嵌入式系统的第一步,它直接关系到后续系统的稳定性和可靠性。
因此,在设计原理图时需要认真对待,确保各个部分的连接正确,电路设计合理,从而为后续的系统开发奠定良好的基础。
希望本文的介绍能够对大家有所帮助,谢谢阅读。
MCS51单片机最小系统
(3)用户指令集汇总: )用户指令集汇总:
复位指令:ZLG7289_Reset(); 复位指令:ZLG7289_Reset(); 测试指令:ZLG7289_Test(); 测试指令:ZLG7289_Test(); 左移指令:ZLG7289_SHL(); 左移指令:ZLG7289_SHL(); 右移指令:ZLG7289_SHR(); 右移指令:ZLG7289_SHR(); 循环左移:ZLG7289_ROL(); 循环左移:ZLG7289_ROL(); 循环右移:ZLG7289_ROR(); 循环右移:ZLG7289_ROR(); 下载数据: dat); 下载数据:ZLG7289_Download(mod, x, dp, dat); 闪烁控制:ZLG7289_Flash(x); 闪烁控制:ZLG7289_Flash(x); 消隐控制:ZLG7289_Hide(x); 消隐控制:ZLG7289_Hide(x); 段点亮控制:ZLG7289_SegOn(seg); 段点亮控制:ZLG7289_SegOn(seg); 段关闭控制:ZLG7289_SegOff(seg); 段关闭控制:ZLG7289_SegOff(seg); 读键盘数据指令: ZLG7289_Key()。 读键盘数据指令:char ZLG7289_Key()。
SPI串行接口 4、SPI串行接口
根线实现数据双向传输。 串行外围接口 Serial peripheral interface,3根线实现数据双向传输。 , 根线实现数据双向传输
(1)ZLG7289B 的SPI 串行接口信号 )
(2) SPI 总线时序图 )
纯指令时序图(单字节命令) 纯指令时序图(单字节命令)
四、电路板制作中的几点说明
(MCS-51单片机实验系统
1 系统框图
4*LED
Байду номын сангаас
主实验板线路图
LED数码显示器原理图 数码显示器原理图
6、LED数码显示器 、 数码显示器
• 单片机系统中,通常用LED数码显示器来显示各种数 字或符号。由于它具有显示清晰、亮度高、使用电压 低、寿命长的特点,因此使用非常广泛。
(1)共阳极接法。把发光二 极管的阳极连在一起构成公共 阳极,使用时公共阳极接+5V, 每个发光二极管的阴极通过电 阻与输入端相连。当阴极端输 入低电平时,段发光二极管就 导通点亮,而输入高电平时则 不点亮。
3、89S51 、
• 该系列单片机是采用高性能的静态80C51 设计 该系列单片机是采用高性能的静态80C 由先进CMOS 工艺制造并带有非易失性Flash 由先进 CMOS 工艺制造并带有非易失性 Flash 程序存储器全部支持12 时钟和6 程序存储器全部支持12 时钟和6 时钟操作 • P89S51和 P89S52分别包含 128字节和 256字节 89S51 和 89S52 分别包含128 字节和256 字节 RAM、32条I/O口线、 RAM、32条I/O口线、3个16位定时/计数器、 6 16位定时/计数器、 输入4优先级嵌套中断结构、 个串行I/O口 输入4优先级嵌套中断结构、1个串行I/O口(可 用于多机通信、I/O扩展或全双工UART) 用于多机通信、I/O扩展或全双工UART)以及 片内振荡器和时钟电路。 片内振荡器和时钟电路。 • 该系列单片机是80C51微控制器的派生器件, 该系列单片机是80C51微控制器的派生器件, 采用先进CMOS工艺制造,指令系统与80C51 采用先进CMOS工艺制造,指令系统与80C51 完全相同。
单片机最小系统的原理
单片机最小系统的原理
单片机最小系统是指由单片机、晶振、复位电路和稳压电源组成的基本硬件系统。
其原理是通过晶振提供时钟信号,使单片机按照一定的频率工作,通过复位电路对单片机进行初始化,保证系统的正确启动。
稳压电源则为单片机提供稳定的工作电压,保证系统正常运行。
具体原理如下:
1. 晶振:晶振作为系统的时钟源,通过产生规律的振荡信号来控制单片机的工作节奏。
晶振一般由晶体振荡器和电容、电阻等元件组成。
当电压施加在晶体上时,晶体会因为压电效应而发生振荡,产生稳定的频率信号,供给给单片机使用。
2. 复位电路:复位电路用于保证系统正常启动和单片机在出现异常情况下的复位。
当电源接通时,复位电路会向单片机的复位引脚提供一个低电平信号,使单片机处于复位状态,进行初始化操作。
当复位信号解除后,单片机开始正常工作。
3. 稳压电源:稳压电源为单片机提供稳定的工作电压。
单片机在工作过程中需要一定的电压供应,而供电电压的稳定性对于单片机的正常工作至关重要。
稳压电源通常由变压器、整流电路、滤波电路和稳压电路等组成,通过将输入的交流电转化为稳定的直流电供给单片机使用。
通过以上几个基本硬件组成,单片机最小系统可以实现对于输入输出的控制、数据处理和存储等功能。
它是单片机应用开发
的基础,提供了一个可靠的硬件平台,方便对单片机进行编程和开发各种应用。
单片机原理及应用习题4-6章
《单片机原理及应用》课后习题库第四章(P122)画出MCS-51系列单片机最小应用系统的原理结构图。
参考答案:片内带程序存储器的8051、8751本身即可构成一片最小系统, 只要将单片机接上时钟电路和复位电路即可, 同时接高电平, ALE、EA PSEN 信号不用, 系统就可以工作。
如图所示该系统的特点如下:(1) 系统有大量的I/O线可供用户使用: P0、P1、P2、P3四个口都可以作为I/O口使用。
(2) 内部存储器的容量有限, 只有128 B的RAM和4 KB的程序存储器。
MCS—51系列最小化系统试说明存储器的译码选择方法积及特点。
参考答案:存储器芯片的选择有两种方法: 线选法和译码法。
1. 所谓线选法, 就是直接以系统的地址线作为存储器芯片的片选信号, 为此只需把用到的地址线与存储器芯片的片选端直接相连即可。
其优点是简单明了,不需要另外增加译码电路,成本低。
缺点是浪费了大量的存储空间。
2. 所谓译码法就是使用地址译码器对系统的片外地址进行译码, 以其译码输出作为存储器芯片的片选信号。
该方法能有效地利用存储空间,适用于大容量多芯片存储器的扩展。
什么是完全译码?什么是部分译码?各有什么特点?参考答案:完全译码是指地址译码器使用了全部地址线,地址与存储单元一一对应,即一个存储单元只占用1个唯一地址。
部分译码是指地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。
1根地址线不接,一个单元占用2(21)个地址;2根地址线不接,一个单元占用4(22)个地址;3根地址线不接,则占用8(23)个地址,依此类推。
参考答案:其所占有的地址范是:8000H~9FFFH 。
其中片内译码有13根地址线和片外译码有3根地址线。
参考答案:该题为部分译码法。
其所有占用的全部地址范围是:0000H~1FFFH 、2000H~3FFFH 、4000H~5FFFH 6000H~7FFFH 。
MCS-51单片机的引脚定义及最小应用系统(精)
XTAL2
+5V
805 1 875 1
+5V EA
图 6-2 8051/8751最小应用系统
6. 2
MCS-51单片机外部存储器的扩展
一、 外部程序存储器的扩展及取指过程
CE A15
P2.7 P2.0
~ ~
~
A8 A7
803 1
地址 锁存器 P0.7 P0.0 PSEN
外部 程序 存储器
0K~64K
8155
PC3 PC4 RD WR PC5
图 6-12 8155方式4的逻辑结构图
6.作定时/计数器用
表 6-4 8155定时器输出方式
M2 M1 方 式 定时器输出方波
0 0
单个方波
0 1
连续方波
1 0
在终止计数时输出单个脉冲
1 1
连续脉冲
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 ¿ Ø Ö Æ Ü × Ï ß (CB) +5V PSEN EA ALE RESET VCC VSS P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE G D7 D6 D5 D4 D3 D2 D1 D0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
EF02H 通用I/O口B 0 1 I/O口 EF03H 口C
8155 RESET
EF04H 计数值低8位
图 6-10 扩展一片8155的基本方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51单片机最小系统设计目录第一部分课程设计任务书 (1)一、课程设计题目 (1)二、课程设计时间 (1)三、课程设计提交方式 (1)四、设计要求 (1)第二部分课程设计报告 (2)一、单片机发展简史 (2)二、MCS-51单片机系统简介 (2)三、设计思路 (2)四、硬件设计电路 (3)五、软件设计流程 (3)六、程序源代码 (3)七、结束语 (12)八、参考文献 (12)第一部分课程设计任务书一、课程设计题目MCS-51单片机最小系统设计二、课程设计时间一周三、课程设计提交方式提交打印课程设计报告四、设计要求①通过单片机内定时器控制走时,准确持续走时,调时不影响走时。
②在八个数码管上显示时、分、秒及两个小数点。
③含有闹钟功能,可以选择闹钟开关,可以设定闹铃时间。
④到达闹钟时刻蜂鸣器警报,可以关掉警报。
第二部分课程设计报告一、单片机发展概况单片机的发展概况1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。
单片机的发展可分为4个阶段:第一阶段(1974 -1976年):单片机初级阶段。
因为受工艺限制,单片机采用单片的形式而且功能比较简单。
例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU(中央处理单元,Central Processing Unit的简称)、64个字节的RAM(随机存储器,Random Access Memory的简称)和2个并行接口。
第二阶段(1976—1978年):低性能单片机阶段。
以Intel公司制造的MCS-48系列单片机为代表,该系列单片机片内集成有8位CPU、8位定时器/计数器、并行I/O接口、RAM和ROM(只读存储器,Read-Only Memory的简称)等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小且寻址范围不大于4KB。
二、MCS-51单片机系统简介MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国A TMEL公司开发生产的。
以后我们将用89C51、89S51来完成一系列的实验。
三、设计思想(1)通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)提高综合及灵活运用所学知识解决工业控制的能力,培养动手能力和实际应用能力。
四、硬件电路设计1. 将整个硬件系统划分为若干功能单元电路,绘出整个系统逻辑电路图,注明各交单元电路间接口信号;2. 完成各单元电路设计,包括选择合适的各类元器件和电路板设计(元件布局和走线)五、软件设计框图六、程序源代码#include<reg52.h>Unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; unsigned char temp,t0,t1,counter,counter1,hou,min,sec,hou1,min1,sec1,sbit d1=P2^0;void delay() //延时{unsigned char x,y;for(x=15;x>0;x--)for(y=100;y>0;y--);}void init() //初始化{t0=0;d1=0;counter=0;hou=0;min=0;sec=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void display(hou,min,sec) //显示{P1=0xfe;P0=table[hou/10];delay();P1=0xfd;P0=table[hou%10];delay();P1=0xfb;P0=table[10];delay();P1=0xf7;P0=table[min/10];delay();P1=0xef;P0=table[min%10];delay();P1=0xdf;P0=table[10];delay();P1=0xbf;P0=table[sec/10];delay();P1=0x7f;P0=table[sec%10];delay();P0=table[11];}void main(){init();while(1) //按键{P3=0xff;temp=P3;while(temp==0xfb){delay();temp=P3;while(temp==0xfb){counter++;if(counter==3)counter=0;while(temp==0xfb){ EA=0;temp=P3;display(hou,min,sec);}}}if(counter==0){EA=1;display(hou,min,sec);}else{P3=0xff;temp=P3;while(temp==0xf7||temp==0xef){delay();temp=P3;while(temp==0xf7||temp==0xef){temp=P3;if(counter==1){switch(temp){case 0xf7:{hou++;if(hou==24)hou=0;}break;case 0xef:{hou--;if(hou==-1)hou=23;}break;}}if(counter==2){switch(temp){case 0xf7:{min++;if(min==60)min=0;}break;case 0xef:{min--;if(min==-1)min=59;}}}while(temp==0xf7||temp==0xef){temp=P3;display(hou,min,sec);}}}P1=0xfb;P0=table[10];delay();P1=0xdf;P0=table[10];delay();P1=0xbf;P0=table[sec/10];delay();P1=0x7f;P0=table[sec%10];delay();switch (counter){case 1:{P1=0xf7;P0=table[min/10];delay();P1=0xef;P0=table[min%10];delay();if(t0<=10){P1=0xfe;P0=table[hou/10];delay();P1=0xfd;P0=table[hou%10];delay();}else{P1=0xfe;P0=table[11];delay();P1=0xfd;P0=table[11];delay();}}break;case 2:{P1=0xfe;P0=table[hou/10];delay();P1=0xfd;P0=table[hou%10];delay();if(t0<10){P1=0xf7;P0=table[min/10];delay();P1=0xef;P0=table[min%10];delay();}else{P1=0xf7;P0=table[11];delay();P1=0xef;P0=table[11];delay();}}break;}}}}void timer0() interrupt 1 //定时{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;t1++;if(t0==20){t0=0;sec++;if(sec==60){sec=0;min++;if(min==60){min=0;hou++;d1=1;t1=0;if(hou==24){hou=0;}}}}if((hou==hou1)&&(min=min1)) d1=1;if(t1==20){d1=0;t1=0;}}七、结束语通过这个周的学习和调试过程,终于完成了单片机模块数字钟的工作。
并且使电子钟够顺利运行,完成了预期的目标。
从单片机模块数字钟的设计过程中也找到了一些单片机开发的规律:先了解所有元件的具体内容,从而画出其电路图,使数字钟从简易变成多功能的方式,虽没有做多功能数字钟,却知晓了其方法。
从而让我踏入了单片机应用领域的第一步。
然而在调试过程中有也有许多的不足之处:例如编写调试程序有点不足。
希望能够在以后的不断深入学习中能够弥补自己的不足之处。
同时更是朝着单片机应用领域迈进。
这次课程设计整体来说是成功的,但我也发现了自己许多错漏和不足之处。
譬如,最简单的程序没写好就想着写更复杂的程序,做事还是缺乏耐性和细心,当有时遇到问题时,总觉得无从下手,对于课本上的知识不能很好的组织起来。
在编写各功能程序时,特别是后来增添的比较复杂的程序,更是找不着思路,在以后的学习中,确实应加强这一模块的练习。
总的来说,这次课程设计的探索与完成,给我最深的体会就是书本上的知识和实际的应用真的存在着较大的差别,甚至脱节。
平时自己感觉什么都掌握的差不多了,也似乎是明白了,但真到具体应用时,确如纸上谈兵,无从下手。
所以,我们不仅要熟练掌握课本知识,更要学以致用,能让自己真正成为一个有实际操作能力的单片机应用型人才。
八、参考文献[1]张毅刚、彭喜元《单片机原理与应用设计》电子工业出版社[2]李玉梅《基于MCS-51系列单片机原理的应用设计》国防工业出版社[3]顾栤、赵伟军、王泰《单片机计算机原理开发应用》高等教育出版社[4]张洪润、蓝清华《单片机应用技术教程》清华大学出版社。