MCS单片机复习要点

MCS单片机复习要点
MCS单片机复习要点

M C S单片机复习要点 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

MCS-51单片机

8051单片机是8位单片机,有40个管脚,8根数据线,16根地址线。

单片机的八大组成部分:CPU 、ROM 、RAM 、I/O 、定时/计数器、串口、SFR 、中断服务系统

一、MCS-51机的内存结构 (如图1所示)

7F

程序存储器 内部数据存储器 外部数据存储器

图1 MCS-51机的内存结构

物理上分为:4个空间, 片内ROM 、片外ROM

片内RAM 、片外RAM

逻辑上分为;3个空间, 程序内存(片内、外)统一编址 MOVC

数据存储器(片内) MOV

数据存储器(片外) MOVX

1、程序内存

寻址范围:0000H ~ FFFFH 容量64KB

EA = 1,寻址从内部ROM ;EA = 0,寻址从外部ROM

地址长度:16位 存储器地址空间为64KB

作用: 存放程序及程序运行时所需的常数。

8051 单片机6个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;

0003H ——外部中断0入口

000BH —— T0溢出中断入口

0013H ——外中断1入口

001BH ——T1溢出中断入口

0023H ——串口中断入口

2、内部数据存储器

物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。如图2所示。

7FH

资料缓冲区

堆栈区 80字节数据缓冲器用

工作单元

30H

2FH

位地址: 16字节

00H~7FH 128 可位寻址位

20H

1FH 3区

2区

1区 32字节 4组R0~R7工作寄存器

0区

00H

图2 内部数据存储器

二、殊功能寄存器SFR

寻址空间离散分配在:80H ~ FFH ,

注意PC不在此范围内。地址末尾为0或8的SFR具有位寻址功能

1、C PU是运算器加控制器

2、算术运算寄存器

(1)累加器A(E0H)

(2)B寄存器:乘、除法运算用

(3)程序状态字PSW寄存器:包含程序运行状态信息。

PSW CY AC FO RS1 RS0 OV — P

CY()——进位/借位标志;位累加器。

AC ()——辅助进/借位标志;用于十进制调整。

F0 ()——用户定义标志位;软件置位/清零。

OV ()——溢出标志;硬件置位/清零。

P ()——奇偶标志;A中1的个数为奇数 P = 1;否则 P = 0。

RS1、RS0 ——寄存器区选择控制位。

0 0 : 0区 R0 ~ R7

0 1 : 1区 R0 ~ R7

1 0 : 2区 R0 ~ R7

1 1 : 3区 R0 ~ R7

2、指针寄存器

(1)程序计数器PC

PC的内容是指明即将执行的下一条指令的地址,16位,寻址64KB范围,

复位时PC = 0000H具有自动加1功能不可寻址即不能通过指令访问。

(2)堆栈指针SP

指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H (3)数据指针DPTR

@R0、@R1、@DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。 DPTR = DPH + DPL,也可单独使用。没有自动加1功能通过软件 INC DPTR 内容加1

时序

单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有

先后顺序的,这种顺序就称为时序。

执令周期:即从取指到执行完,所需时间。

不同机器指令周期不一样;即使相同机器,不同的指令其指令周期也不一

样。

机器周期:机器的基本操作周期。

一个指令周期含若干机器周期(单、双、四周期)

状态周期:一个机器周期分6个状态周期Si

每个状态周期含两个振荡周期,即相位P1、P2。

振荡周期:由振荡时钟产生。

振荡周期Tosc = 1/fosc

一个机器周期 = 12个振荡周期 = 12×1/fosc 。

例如,若fosc = 12MHz,则一个机器周期 = 1μs。

时钟的产生:

通过XTAL1(19)、XTAL(18)。这两个管脚外部加石英晶体和电容组成振荡器

系统复位

通过给RST管脚加高电平理论上大于两个机器周期,实际大于10ms,系统复后

除了SP=07H ,P0、P1、P2、P3为FFH外,所有的寄存器均为00H,PC=0000H,PSW=00H 工作寄存器组R0~R7工作在0组。

并行I/O端口

并行I / O端口

四个8位I/O口P0、P1、P2、P3

作为通用I / O使用,是一个准双向口:

“读管脚在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,

可作高阻抗输入” MOV P1.#0FFH

MOV A,P1

读端口数据方式是一种对端口锁存器中数据进行读入的操作方式,CPU读入的这

个数据并非端口引脚的数据。(对端口进行读-修改-写类指令列如 CPL 是读端口锁

存器而不是管脚)

一、P0口地址80H系统复位后P0=FFH

(1)P0口可作通用I / O口使用,又可作地址/数据总线口;

(2)P0既可按字节寻址,又可按位寻址;

(3)P0作为输入口使用时:是准双向口;

(4)作通用I / O 口输出时:是开漏输出;(外部管脚必须接上拉电阻)

(5)作地址/数据总线口时,P0是一真正双向口,分时使用,提供地址线

A0~A7由ALE控制信号锁存,数据线D0~D7

二、P1口地址90H地址90H系统复位后P1=FFH

2、特点

(1)无地址/数据口功能

(2)可按字节寻址,也可按位寻址

(3)作I / O输入口时:是一准双向口,不是开漏输出(无需外接上拉电阻)。

三、P2口地址A0H系统复位后P2=FFH

2、特点

(1)当P2口作为通用I / O时,是一准双向口。

(2)从P2口输入数据时,先向锁存器写“1”。

(3)可位寻址,也可按字节寻址

(4)可输出地址高8位A8~A15。

四、P3口地址B0H系统复位后P3=FFH

2、特点

(1)作通用I / O时,是一准双向口,不是开漏输出(无需外接上拉电阻)。(2)P3口具有第二功能

1、P0口:地址低8位与数据线分时使用端口,

2、P1口:按位可编址的输入输出端口,

3、P2口:地址高8位输出口

4、P3口:双功能口。若不用第二功能,也可作通用I / O 口。

5、按三总线划分:

地址线:P0低八位地址,P2高八地址;

数据线:P0输入输出8位数据;

控制线:P3口的8位(RXD、TXD、INT0、INT1、T0、T1、WR*、RD*加上PSEN*、ALE、EA组成制总线。)

中断系统

五个中断源,两个优先级

一、中断请求源(“五源中断”)

五个中断源:入口地址

外部中断0(/INT0) 0003H

T0溢出中断 000BH

外部中断1(/INT1) 0013H

T1溢出中断 001BH

串口中断 0023H

有了中断请求,如何通知CPU

通过中断请求标志位来通知CPU。

外部中断源、定时/计数器的中断请求标志位分布在 TCON中;

串口中断标志位分布在 SCON中。

TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

SCON TI RI

中断请求标志位

IE0(INT0) IE1(INT1) TF0(T0) TF1(T1) TI/RI(串口)

TF1—— T1的溢出中断标志。

硬件置1,硬件清0(也可软件清0)。

TF0—— T0的溢出中断标志。(同TF1,只是针对T0的)

IE1 ——外部中断1(/INT1)请求标志。

外部有中断请求时,硬件使IE1置1,硬件清0。

IE0 ——外部中断0(/INT0)请求标志。

IT1 ——外部中断1(/INT1)触发类型控制位。

IT1 = 0 ,低电平触发。

IT1 = 1 ,下降沿触发。

IT0 ——外中断0(/INT0)触发类型控制位,用法同IT1。

外部中断INT0、INT1 触发方式有电平触发和跳变触发

TI ——串口发送中断标志位。

发送完数据,硬件使TI置1,软件清0(CLR TI)

RI ——串行口接收中断标志位。

硬件置1,软件清0。

二、中断控制(两级管理)

1、中断屏蔽

在中断源与CPU之间有一级控制,类似开关,其中第一级为一个总开关,

第二级为五个分开关,由IE控制。

IE EA ES ET1 EX1 ET0 EX0

EA ——总控制位

ES ——串口控制位若为“1”,允许(开关接通)

ET1—— T1中断控制位若为“0”,不允许(开关断开)

EX1—— /INT1控制位例如,SETB EA

ET0—— T0中断控制位 CLR

EX0—— /INT0控制位

2、中断优先级

为什么要有中断优先级

CPU按中断申请时间先后顺序响应中断,同一时间只能响应一个中断请求。

若同时来了两个或两个以上中断请求CPU响应高级别中断。为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。同时同级的中断源申请中断CPU按优先顺序响应中断。

IP PS PT1 PX1 PT0 PX0

以上各位与IE的低五位相对应,为“1”时为高级。初始化编程时,由软件确定。例如,SETB PT0 或SETB

CLR PX0等。

同一级中的5个中断源的优先顺序是:(注意是同级)

/INT0中断高

T0中断厂家出厂时已固化好顺序

/INT1中断——事先约定

T1中断

串口中断 低

中断嵌套 同级或低级中断不能打断正在响应的中断的服务程序,高级中断能够打断低级中断服务程序而形成中断嵌套

定时/计数器

定时 / 计数器 两个定时器/计数器T0 、T1 四种工作方式

中断方式定时器程序初始化主要部分如下

MOV TMOD,#DATA ;设置定时器工作方式

MOV TH0(TH1),# DATA ;给定时器计数器装入初值

MOV TL0(TL1),# DATA

SETB EA ;开中断

SETB ET0(ET1) ;开中断

SETB TR0(TR1) ;启动定时器计数器

一、定时 / 计数器的结构

T0、T1均为16位加1计数器。

1、工作方式控制寄存器 TMOD

T1 T0

TMOD GATE C1 M1 MNT0 管脚或 /INT1管脚高电平启动定时器/计数

P2口、P0口均被占用只剩下P1口作I / O 口用,其它功能不变。

二、存储器的扩展

1、三总线的连接 ABUS、 DBUS、CBUS

ABUS (A15~A8A7~A0) DBUS(D7~D0)

CBUS PSEN*是程序存储器读选通信号

RD* WR* 是片外数据存储器读、写选通信号

EA 是片内和片外程序存储器的选择信号 EA=1, CPU 开始从片内程序存储器取指令,PC大于0FFF后转向片外程序存储器取指令。EA=0, CPU 开始从片外程序存储器取指令。

ALE 锁定P0口提供的地址低8位(A7~A0)的锁存信号

1、数据线的连接(D7~D0)

P0口的八位线承担此任,此时不用外接上拉电阻。

2、地址线的连接

P0口承担地址低八位线,A0 ~ A7;

P2口承担地址高八位线。A8 ~ A15。

注意:P0口线地址 / 数据分时复用,需用控制信号ALE通过地址锁存器74LS373锁存地址低8位(A7~A0)。

3、控制线的连接

对存储器来讲控制线无非是:芯片的选通控制、读写控制。

单片机与外部器件数据交换要遵循两个重要原则:

一是,地址唯一性,一个单元一个地址。

二是,同一时刻,CPU只能访问一个地址,即只能与一个单元交换数据。

不交换时,外部器件处于锁闭状态,对总线呈浮空状态。

选通:CPU与器件交换数据或信息,需先发出选通信号/CE或/CS,以便选中芯片。读 / 写:CPU向外部设备发出的读/写控制命令。

ROM:/OE /PSEN

RAM: /WE /WR

/OE /RD

2)存储器地址编码

RAM 6116:“16”—— 2K×8b = 2KB 21×210 = 211

即6116有11根地址线。

地址空间: A10 A9 A8 A7 A6 A5 A4 A3 A2 A 1 A0

最低地址: 0 0 0 0 0 0 0 0 0 0 0 0000H 6116本身

最高地址:1 1 1 1 1 1 1 1 1 1 1 1111H 的地址空间

MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线

地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机

××××× A10A9A8A7······A0 6116

25 = 32 2KB

上式中:“×”表示0或1。

即单片机地址空间中包含有32个2KB。某片6116占据的是哪2KB不能确定——地址浮动。

只有限定A15······A11的取值才能确定6116在系统中的地址范围。

如, = 0 ,选中6116的/CS线。设假定全为1

则: 6116地址范围是B800H ~ BFFFH。

同理, P25 P24 P23假定全为0

则: 6116地址范围是 0000H ~ 07FFH;

再设选中6116 (设P26 P25 P24 P23全为1)

则:地址范围是7800H ~ 7FFFH

可见:存储器芯片在系统中地址分布由两个因素决定:

一是,芯片本身的地址线(与容量有关)

二是,芯片选通信号的获得方式。

扩展存储器时,总是让单片机低位地址与存储器芯片地址线相接;而让单片机剩余的高位地址线(在P2口)常作为片选信号线(CE*)。片选信号通过高位地址线译码取得。译码方式有。

(1)部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线

顺次相接后,剩余的高位地址线仅用一部分参加译码,这样的地址有重叠

浪费一定的空间适用于扩张空间有限的存储器

(2)全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次

相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地

址空间是唯一确定的,但译码电路相对复杂。

(3)片选信号按线路有线选法和地址译码器。前者电路简单,不需另外增加硬

件电路,体积小,成本低。缺点可寻址的器件数目受限,地址空间不连

续。只适于外扩芯片不多,规模不大的单片机系统,后者线路复杂,可

以全局扩展64K空间。

总结扩展的存储器地址不是唯一有地址重叠的就是部分译码。地址是唯一的就是全译码。

这种方法对RAM、ROM、扩展I / O芯片、外设同样适用。

P25 = 0时,选中2764;“64” 8K×8b = 23×210 = 213

A15 A14 A13 A12 A11 ············A0

23 = 8 8KB

若取P27 P26均为1;

则2764在本系统内地址范围:C000H ~ DFFFH

若6116与2764都用A13(P25)选中可否

可以。此时6116:D800H ~ DFFFH

2764:C000H ~ DB00H

可见,6116与2764在0800H ~ DFFFH范围内地址重叠,这是不是违反交换原则呢不!

因为,6116是RAM,2764是ROM。除地址和选通信号外,还有读/写控制信号起作用。

RAM —— /WE /WR 可用来区分二

/OE /RD 二器件

ROM —— /OE /PSEN

键盘和LED显示

一、按键操作存在的问题——键抖动

由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,键的抖动时间一般为5~10ms。这种现象会引起单片机对于一次键操作进行多次处理,因此须设法消除键接通或断时的抖动现象。去抖动的方法有硬件和软件两种。硬件去抖动和软件去抖动。

1、硬件消除抖动

2、软件去抖动

采用软件去抖动的方法是在单片机检测到有键按下时执行一个10~20ms的延时程序后再次检查该键电平是否仍保持闭合状态.如保持闭合状态,则确认为有键按下,否则从头检测。这样就能消除键的抖动影响。

二、按键分类

1、独立式键盘的结构

独立式键盘的结构如图l所示,这是最简单的键盘结构形式,每个按键的电路是独立的,都有单独一根数据线输出键的通断状态。

单片机一条I / O口线对应一个按键。

图1独立式键盘的结构

2、矩阵式键盘

若干I / O口线作行线;若干I / O口线作列线,在每个行列交点设置按键组成。

如图2所示。

图2 矩阵式键盘结构

a)LED显示器件

1、单个发光二极管

2、七段数码管

b)LED显示方式

有共阴极和共阳极两种。

1)字形码(段码)表的产生,(必须会)

2)显示方式:

静态显示

在静态显示方式下,每一位显示器的字段控制线是独立的。当显示某一字时,该位的各字段线和字位线的电平不变,也就是各字段的亮灭状态不变。静态显示方式下LED显示器的电路连接方法是:每位LED的字位控制线门共阴极点或共阳极点连在一起,接地或接+ SV;其字段控制线(a~dP)分别接到一个8位口。

动态显示

利用人眼的视觉暂留效应。分时显示不同的数码管。

MCS-51系列单片机实验设备存在的缺陷及设计方案

MCS-51系列单片机实验设备存在的缺陷及设计方案 摘要:本文讨论了国内几款MCS-51 系列单片机实验设备存在的缺陷,同时也提出了自己的设计方案,为新一代设备的问世提供参考,单片机实验设备中以MCS-51 为核心的产品最多。 关键词:单片机实验设备缺陷设计 引言 目前,虽然单片机家族的成员种类繁多,但MCS-51 系列单片机依旧占领着工业测控和自动化工程应用的主要市场,是国内单片机应用领域中的主流,这一客观事实决定了全国各大高校的单片机类教材仍以MCS-51系列单片机为主, 同时MCS-51 单片机教学和实验设备也得到了相当迅速的发展。 一、现有实验设备状况和特点 1、上海杭虹公司生产的ADEK单片机实验系统价格十分 昂贵,约为五千元左右,且需外接一个稳压电源,体积也相当庞大。开发环境仅支持汇编语言编程,不支持C语言。 2、浙江启东计算机有限公司生产的DAIS80958B+实验系统,技术相对比较成熟,功能也较多,但价格仍要在三千元以上,体积也比较庞大。开发环境也存在局限性。使用时灵活性差。

但它们只有仿真功能,是真正意义上的仿真设备,没有任何外围电路,而且每台价格在一千八百元左右,相对比较昂贵。 二、各种实验设备的共同问题 1、功能接口陈旧且价格昂贵实验系统上只是由一些传统的与教材同步的实验项目,一些综合性的、设计性的实验项目过于古老而失去的实际价值。在功能接口的数量上也相对较少,不利于系统结构的简化和扩展。在此种情况下,系统设备的整体价格仍旧保持在几千元以上,可以说其性价比很差。对于高校一般设备单位价值在500 元以上,专用设备单位价值在800 元以上,使用期限在一年以上,并在使用过程中基本保持原有物质形态的资产被称为固定资产。据统计,多数高校的单片机实验设备作为固定资产,使用期限一般为5-10 年之间,其中期限为8 年的占50%以上。对于当今电子行业的飞速发展可想而知,实验设备的经济价值与实用价值已经产生了矛盾,而且随着时间的推移正在逐步加深。 2、体积庞大 设备体积庞大意味着实验台面积要跟着增加,保存和管理均需占用很大空间,且在外观上也会失去美观。几大厂商的产品占用实验台面积基本上远超过一张A3 纸,每台设备的保存空间大约也要在 0.05 立方米左右(按长*宽*高=0.6米*0.4 米*0.2 米=0.048 立方米计算),如果一间实验室按配置40 套实验设备计算,保存空间

完整word版,C语言期末大作业

伊犁师范学院计算机科学系 实验训项目报告 一、小组成员及分工: 姓名:张雁 学号:0908******* 二、指导老师:王慧玲 三、说明程序编制要点,以及自己在项目制作中的难 点及解决办法: 编写的要点:编写N个函数分别用来求平均分;总分按降许序排列;按姓名查找学生的成绩;找出各科 最高分的学生姓名,学号等。编写主函数提供不 同的选择途径。 难点:函数之间的调用,姓名的比较和交换。 解决办法:通过参数的传递;用字符串处理函数。 四、说明项目中所涉及的知识点及难点: 知识点:基础知识,结构体,选择结构程序设计,循环结构程序设计,数组,字符数组,常用的字符串处理函数,函数的调用。 难点:函数的调用,循环程序设计。

五、附录源程序: 注:必须有一定的注释,说明函数功能以及主要语句所起的作用 #include "stdio.h" #include "string.h" #define m 5 void search(); /*声明按姓名查找学生的信息*/ void ave(); /*声明turn out average*/ void paixu(); /* 声明score pai mingci*/ void maxandmin(); /*声明maxandmin score student's number,name and every course score*/ struct student /*声明define a struct*/ { int num; /*student’s number */ char name[10]; int math,english,chinese; /*three course score*/ int no; /* student mingci*/ float sum; float ave; }stu[m]; main() { int i; int q=0,p;

大工18秋《单片机原理及应用》大作业题目及要求【标准答案】

网络教育学院 《单片机原理及应用》大作业 题目:交通灯控制系统设计 学习中心: XXX 层次: XXX 专业: XXX 年级: XXX 学号: XXX 学生姓名: XXX

交通灯控制系统设计 一、课题背景 由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 二、交通灯的发展 1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。 1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 中国最早的马路红绿灯,是于1928年出现在上海的英租界。 三、交通灯控制系统工作原理 本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生

51单片机汇编指令速查表

51单片机汇编指令速查表 指令格式功能简述字节数周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2 MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2 MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2 MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2 XCH A ,Rn 累加器与寄存器交换 1 1 XCH A ,@Ri 累加器与内部RAM单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1 SWAP A 累加器高4位与低4位交换 1 1 POP direct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 二、算术运算类指令 ADD A, Rn 累加器加寄存器 1 1

单片机实验二、MCS-51单片机并行端口实验

大连理工大学实验报告 实验时间:2014年6月30日星期1时间:10:00~ 11 :40 实验室(房间号):420实验台号码:班级:姓名: 指导教师签字:成绩: 实验二 MCS-51单片机并行端口实验 一、实验目的和要求 1.目的:进一步熟悉、掌握KEIL软件和DP-51PROC综合试验系统的使用。掌握单片机并行端口的编程和使用方法。 2.要求:编制简单的程序,利用P1口的8位端口使用排线与LED1~LED8按顺序连接,使用一条单独连线将P 3.2与SW1连接,编制一个P1口的输出程序,实现8个LED灯依次点亮的流水灯效果。 二、实验算法 本程序属于无限循环结构,循环中通过判断P3.2的电平来决定彩灯的右移还是左移。主程序中主要变量是A,P3.2,P1,其中A作为数据移动寄存器,P3.2作为按键输入口,为高电平右移A,低电平则左移A,P1由A传送数据,外接LED1~8,实现彩灯移动现象。由于不加延时的循环在时钟频率作用下是很快的,现象是所有的灯一直是亮的状态。,解决这个问题就是在程序里面加延时函数。 三、实验流程图

四、程序清单 ORG 8000H LJMP START ORG 8100H START: MOV SP,#60H SETB P3.2 MOV A,#0FEH LED: JB P3.2,RIGHT RL A AJMP RUN RIGHT: RR A RUN: MOV P1,A CALL DELAY AJMP LED DELAY: PUSH 01H PUSH 02H MOV R1,#00H DELAY1: MOV R2,#00H DJNZ R2,$ DJNZ R1,DELAY1 POP 02H POP 01H RET END 五、实验结果与分析 实验现象:拨动开关闭合,彩灯左移;拨动开关断开,彩灯右移。无问题。 实验中,我们通过控制开关SW1能够控制彩灯移位的方向,SW1=1,即将P3.2口置一,理论上使小灯循环右移;SW1=0,即将P3.2口置零,理论上小灯应循环左移,但是由于实验仿真系统中的LED灯的高位和低位位置刚好相反,导致我们操作时看到的结果正好相反,但实际上实验是成功的。 六、实验体会和建议 通过本次单片机的并行输入输出端口实验,我对Keil仿真调试软件的操作更为熟练;也对单片机的P1等端口的应用有了更清楚的认识,同时学会了分支程序的设计,JB指令的方便和实用性。 七、主要仪器设备

单片机大作业

大连理工大学本科设计报告(单片机原理综合设计) 题目: 课程名称:单片机实验 学院(系):信通学院 专业:通信工程 班级:电通1202 学号:201201203 学生姓名:牛玉博 成绩: 20 15 年 5 月8 日

目录 1.题目及内容 (2) 2.设计思路 (2) 2.1数码管显示 (2) 2.2显示内容转换 (2) 2.3闪烁报警 (2) 2.4温度上下限的设置 (2) 2.5中断程序 (2) 3.相关资料 (3) 4.电路图 (3) 5.程序框图 (4) 5.1中断程序流程图 (4) 5.2主程序流程图 (6) 6.源程序 (6) 7.调试中所遇到的问题 (14) 8.调试解决了的问题. (14) 9.个人体会(总结) (14)

一、题目及内容 用汇编语言模拟电梯运动系统设计程序,要求有完成如下要求:利用zlg7290和pcf8563t以及A/D转换实现下述功能。 1.利用键盘改变显示内容(能读A/D转换值、读取时间), 并且闪烁显示3秒,变成稳定显示。 2.键盘设定温度上限值和下限制,当温度达到上限值后, 显示闪烁;同样,当温度达到下限值后,同样发出报警, 并闪烁。 3.当时间设定值达到设定值后,同样发出报警,并闪烁。 4.时间闪烁与温度闪烁时间长短有区别。 二、设计思路 1.数码管显示 通过ZLG7290B的数码管显示,将数据转换成BCD码,然后通过字形码的对应关系显示,通过中断程序每秒读取一次数据。 2.显示内容转换 通过开关控制显示的内容, SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限 3.闪烁报警 当条件满足报警时,通过调用显示程序,通过控制闪烁控制字,控制数码管相应的位置闪烁。时间报警闪烁一分钟,温度报警一直闪烁。 4.温度上下限的设置 通过键值设置上下限,通过不同按键对应于上限和下限的设置,然后的键值通过一定计算赋给上下限的存储空间。 5.中断程序 两个中断,其中中断0用于每秒显示,中断1用于键值的读取。

大工19《单片机原理及应用》大作业题目及要求答案

网络教育学院《单片机原理及应用》大作业 题目: 学习中心: 层次: 专业: 年级:年春/秋季 学号: 学生姓名:

单片机电子时钟设计 一、引言 单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 三、时钟设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

MCS-51指令表

MCS-51单片机指令汇总表 助记符指令说明字节数周期数 (数据传递类指令) MOV A,Rn 寄存器传送到累加器 1 1 MOV A,direct 直接地址传送到累加器 2 1 MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1 MOV A,#data 立即数传送到累加器 2 1 MOV Rn,A 累加器传送到寄存器 1 1 MOV Rn,direct 直接地址传送到寄存器 2 2 MOV Rn,#data 累加器传送到直接地址 2 1 MOV direct,Rn 寄存器传送到直接地址 2 1 MOV direct,direct 直接地址传送到直接地址 3 2 MOV direct,A 累加器传送到直接地址 2 1 MOV direct,@Ri 间接RAM 传送到直接地址 2 2 MOV direct,#data 立即数传送到直接地址 3 2 MOV @Ri,A 直接地址传送到直接地址 1 2 MOV @Ri,direct 直接地址传送到间接RAM 2 1 MOV @Ri,#data 立即数传送到间接RAM 2 2 MOV DPTR,#data16 16 位常数加载到数据指针 3 1 MOVC A,@A+DPTR 代码字节传送到累加器 1 2 MOVC A,@A+PC 代码字节传送到累加器 1 2 MOVX A,@Ri 外部RAM(8 地址)传送到累加器 1 2 MOVX A,@DPTR 外部RAM(16 地址)传送到累加器 1 2 MOVX @Ri,A 累加器传送到外部RAM(8 地址) 1 2 MOVX @DPTR,A 累加器传送到外部RAM(16 地址) 1 2 PUSH direct 直接地址压入堆栈 2 2 POP direct 直接地址弹出堆栈 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1 XCH A, @Ri 间接RAM 和累加器交换 1 1 XCHD A, @Ri 间接RAM 和累加器交换低4 位字节 1 1 (算术运算类指令) INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1 INC direct 直接地址加1 2 1 INC @Ri 间接RAM 加1 1 1 INC DPTR 数据指针加1 1 2 DEC A 累加器减1 1 1 DEC Rn 寄存器减1 1 1

MCS-51单片机实验

当前位置:网络教学综合平台 > 电子科学与信息技术学院 > <<微机原理与接口技术>> 《微机原理与接口技术》 《微机原理与接口技术》课程教学大纲 (通信工程05级) 课程中文名称:微机原理与接口技术 课程英文名称:Principles of Microcomputer and Interfacing Technology 课程类别:专业课,必修 课程编号: 071210T202 课程归属单位:贵州大学电子科学与信息技术学院 修定时间:2005 年8月 一、课程的性质、任务 1、课程的性质 本课是电子、通信工程类专业的专业基础课限选课程。 本课程以单片机系统为主线,使学生获得单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统接口设计、软件编码、调试方法,了解单片机在通信、测控等电子技术应用领域的应用,培养学生的动手能力,初步具备应用单片机系统开发产品的能力。 2、课程要求 通过本课程的学习使学生: 1)熟悉MCS-51单片机的硬件基本原理 2)掌握MCS-51系列单片机的指令系统和汇编语言的程序的编写调试方法。3)掌握MCS-51系列单片机扩展RAM、ROM和I/O的方法,掌握MCS-51单片机常用接口的设计和应用。 3、课程适用专业与学时、学分 授课对象:通信工程05级。 授课学时:总学时72,其中理论教学54,实验18学时。 学分:4 4、先修课程 计算机概论,电路分析,电子技术,数字逻辑,高级语言程序设计等。

5、推荐教材及主要教学参考用书 推荐教材: 胡汉才.单片机原理及其接口技术(第2版),清华大学出版社,2004年。书号:978730207737-4 教学参考书: 1、何立民. 单片机初级教程—原理与应用,北京航空航天大学出版 社,2000年。 2、何立民. 单片机中级教程—原理与应用,北京航空航天大学出版 社,2000年。 3、李朝青. 单片机原理及接口技术,北京航空航天大学出版社,1994 年。 4、薛均义. MCS51/96系列单片微型计算机及其应用,西安交通大学 出版社,2001年。 5、刘乐善. 微型计算机接口技术及应用,华中科技大出版社,书号:7560922104 6、周佩玲等. 16位微型计算机原理.接口及其应用(修订版),中国科学技术大学出版社,2005 7、姚凯学、孟传良.单片机原理与应用,重庆大学出版社,2000年 6、教学方法 ●教学方式:以课堂讲授为主,实验为辅;以多媒体课件为主, 板书为辅。 ●考核方式:期末总成绩=期末考试成绩(70%)+学习表现和平 时成绩(20%)+实验考查成绩(10%)。 二、各章教学内容和要求 第1章、单片机概述 1. 基本要求 了解:单片机的结构特点、发展历史、应用领域以及系列产品。 熟悉:MCS-51单片机的内部组成及信号引脚,8051的存储器结构,并行输入、输出口电路结构,时钟电路、时序及指令序列以及MCS-51单片机的工作方式。 2.重点和难点: 难点:(1)MCS-51单片机的内部结构原理; (2)MCS-51单片机的引脚功能; (3)内部存储器的组成和特殊功能寄存器的功能。 第2章 MCS-51指令系统与汇编语言程序设计 1. 基本要求: 了解:MCS-51指令格式、寻址方式以及指令的执行过程。 熟悉:MCS-51的指令系统――数据传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令和布尔变量操作类指令。 掌握:MCS-51汇编语言程序设计步骤;要求具备独立设计简单程序、分支程序、循环程序和子程序能力。 2.重点和难点: 重点:MCS-51的指令系统、常用指令的用法;汇编语言程序设计和调试。

单片机大作业

单片机大作业 物流卓 1.LED闪烁实例 LED闪烁实例中使用51单片机控制8个LED间隔亮灭,形成闪烁效果,在实例中51单片机通过一个延时程序控制P1端口轮流输出高电平和低电平,驱动发光二极管的发光和熄灭。 程序代码使用两个嵌套的for循环语句来控制延时,当到达延时之后使P1输出电平翻转。 下图为电路设计图 以下为控制代码

2.流水数字 流水数字是一个51单片机使用I/O引脚驱动8段数码管,数码管轮流显示“0”~”F”数字或者字符。单位8段共阳数码管的公共端连接到VCC上,数码管的8位数据引脚则连接到P1的八个引脚上,使用1K欧姆的电阻限流,51单片机通过P1引脚将对应字符的字形编码送出供数码管显示。 下图为电路设计图 以下为程序代码

3.多位数字显示 本实例使用51单片机驱动6位数码管显示”123456”6位数字,51单片机用P1给6个8段数码管提供字形编码,而用P2.0~P2.5共6个引脚通过PNP三极管来选通对应的数码管显示。在控制程序中,为了精确的控制延时时间的时间以便造成“扫描”效果,使用Delayms 和Delayus两个函数来控制精确延时。 下图为电路设计图 以下为程序代码

4.轮流加热显示系统 轮流加热显示系统是一个用51单片机控制3个继电器轮流接通,给3个设备加热5s并且使用一位数码管来显示当前加热设备的编号。 51单片机用P2端口通过ULU2803驱动3个工作电压为5V的继电器,用P1口驱动一个数码管用于显示当前接通的继电器的编号。 下图为电路设计图

以下为程序代码

5.定时报警实例 本实例是让51单片机没隔10min控制蜂鸣器报警,51单片机使用P2.7引脚通过一个NPN三极管驱动蜂鸣器,当P2. 7输出高电平时三极管导通,蜂鸣器发声。 51单片机使用P2. 7通过三极管控制蜂鸣器,当输出高电平时三极管导通蜂鸣器发声,使用Delayms函数来进行毫秒级延时,使用Delayus函数来进行微秒级延时,当10min延时到达,蜂鸣器打开100ms 下图为电路设计图 以下为程序代码

51单片机汇编指令集(附记忆方法)

51单片机汇编指令集 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; 三、逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; 四、控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移;

MCS-51单片机实验基础知识介绍

MCS-51单片机实验基础知识介绍 一、MCS-51单片机(51子系列) (2) 1.基本结构 (2) DIP封装管脚描述 (2) 存储器 (3) 输入/输出口 (4) 中断系统 (4) 定时器/计数器(T/C) (5) 2.寻址方式 (5) 3.指令系统(3大类共111条) (6) 指令系统介绍要点 (7) 助记符、操作数形式,对标志位的影响 (7) 数据传送(两个操作数、源操作数不变) (8) 数据传送(堆栈操作) (8) 数据传送(交换) (9) 算术运算 (9) 逻辑运算 (10) 控制程序转移 (10) 4.汇编语言程序编程 (11) 简单例程 (11) 伪指令 (12) 指令格式 (13) 程序基本格式 (13) 中断服务子程序格式 (14) 5.源程序编译→机器语言目标程序 (14) 二.EXP-51实验板 (15) 三. 接口方法 (16) 实验2 ADC/DAC (17) 实验3 键盘与数码显示接口 (17) 实验4 串行口通信 (18) 四. 单片机开发系统 (19) 1.单片机的开发 (19) 2.单片机开发工具、AEDK (19) 3.单片机开发系统组成 (20) 4.AEDK使用方法简介 (21) 5.程序编辑/调试主要步骤 (21)

一、MCS-51单片机(51子系列) 1.基本结构 DIP封装管脚描述

存储器 包括程序存储器(内/外64K)、内RAM和专用寄存器(SFR) 内部RAM128字节 工作寄存器区1-3,由程序状态字(PSW)的RS1/RS0两位定义。 专用寄存器(不包括PC) 专用寄存器复位状态:除Pn(n=0,3)寄存器和SP寄存器外,其它皆为00H

单片机期末总结材料 最完整版

单片机期末复习总结 1.MCS-51单片机芯片包含哪些主要功能? 8051单片机是个完整的单片微型计算机。芯片部包括下列主要功能部件: 1)8位CPU; 2)4KB的片程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器; 3)128B部RAM; 4)21个SFR; 5)4个8位并行I/O口(共32位I/O线); 6)一个全双工的异步串行口; 7)两个16位定时器/计数器;0 8)5个中断源,两个中断优先级; 9)部时钟发生器。 2.MCS-51单片机的4个I/O口在使用上各有什么功能? 1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。 2)P1口:8位准双向I/O端口,作为通用I/O口。 3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。 4)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能。实际应用中常使用P3口的第二功能。 P3的第二功能:

【注】:P0口必须接上拉电阻; I/O口准双向:MCS-51单片机I/O口做输入之前要先输出1.这种输入之前要先输出1的I/O口线叫做准双向I/O口,以区别真正的输入,输出的双向I/O口。 3. MCS-51单片机的存储器分为哪几个空间?是描述各空间作用? 8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间: 1)64KB片片外统一编址的程序存储器地址空间,地址围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH围为4KB的片ROM地址空间,1000H ~ FFFFH为片外ROM 地址空间; 2)256B的部数据存储器地址空间,地址围为00H~FFH,对于8051单片机,部RAM分为两部分,其中地址围00H ~ 7FH(共128B单元)为部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址围为80H~FFH的高128B的静态RAM。 3)64KB的外部数据存储器地址空间:地址围为0000H~FFFFH,包括扩展I/O端口地址空间。

MCS51单片机软件实验题

MCS51单片机软件实验 一、数据传送 1.实验目的 (1)熟悉51单片机的开发环境Keil C51 (2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用(3)掌握MOV, MOVX和MOVC类指令的用法及区别 2.实验内容 (1)将内部数据存储器20H为首地址的十六个字节传送到30H为首地址的数据区,即:20H~2FH送30H~3FH。 (2)将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器的30H~3FH。 (3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区首址为1000H 的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B 中,注意R0中的内容不在0~9范围时的处理。 二、加减法运算 1.实验目的 (1)正确使用单片机的加减运算指令 (2)掌握不同指令对于程序状态字的影响及程序状态字的意义、用处 (3)掌握ADD,ADDC,SUBB和DA A等指令的用法 (4)学习模块化程序设计方案 2.实验内容 (1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。需考虑有进位和无进位情况。 程序入口为:加数:22H,21H,20H三字节,22H为最高位 被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位 (2)编写3字节二进制减法子程序,用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。 入口:被减数:52H,51H,50H,50H为最低位 减数:42H,41H,40H,40H为最低位 出口:差:外部数据存贮器2003H~2000H(2003H为最高位)

单片机大作业

单片机原理与应用 学号: 学生所在学院: 学生姓名: 任课教师: 教师所在学院:航空制造工程学院 2014年6月 13y8

基于单片机控制的可调电子数字钟 陈成龙 南昌航空大学航制学院 摘要:单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最普遍的应用手段。设计单片机应用系统时,在完成硬件系统设计之 后,必须配备相应的应用软件。Proteus软件的应用使单片机可以直接在基于原理图进 行虚拟模拟上,并和μVision共同编程,编译,仿真调试,使单片机学习的学习过程 变得直观形象。 关键词:单片机ProteusμVision仿真调试 1.功能要求 利用89C51单片机内的定时器,设计一台可调数字钟,能通过按键进行时、分、秒的调整,采用8位LED数码管以24小时方式进行显示。 2.硬件电路设计 可调数字钟的硬件电路如图1所示。89C51单片机的P0口通过三态总线收发器74LS245接到8位共阴极LED数码管的数字输入端,单片机的P3作为数码管的数位控制,从P0口输出显示字符段码,从P3口输出循环扫描控制位,利用人眼的视觉暂留功能,达到8位数码管同时显示的效果。单片机的P1.0-P1.2引脚通过三个按钮开关接地,通过判断P1.0-P1.2引脚电平的高低,决定是否进行数字钟的时、分、秒调整。 3.软件程序设计 本设计利用89C51单片机内定时器T0中断来实现数字钟功能,T0定时时间设为50ms,每隔50ms产生一次中断,如果中断20次即到达1秒。程序设计时预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元到达60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时单元清零,又从头开始计时。可调数字钟的程序流程图如下图2、图3.

51单片机指令表汇总

51单片机指令表 助记符指令说明字节数周期数 (数据传递类指令) MOV A,Rn 寄存器内容传送到累加器 1 1 MOV A,direct 直接地址内容传送到累加器 2 1 MOV A,@Ri 间接RAM内容传送到累加器 1 1 MOV A,#data 立即数传送到累加器 2 1 MOV Rn,A 累加器内容传送到寄存器 1 1 MOV Rn,direct 直接地址内容传送到寄存器 2 2 MOV Rn,#data 立即数传送到寄存器 2 1 MOV direct,Rn 寄存器内容传送到直接地址 2 2 MOV direct,direct 直接地址传内容传送到直接地址 3 2 MOV direct,A 累加器内容传送到直接地址 2 1 MOV direct,@Ri 间接RAM内容传送到直接地址 2 2 MOV direct,#data 立即数传送到直接地址 3 2 MOV @Ri,A 累加器内容传送到间接RAM 1 1 MOV @Ri,direct 直接地址内容传送到间接RAM 2 2 MOV @Ri,#data 立即数传送到间接RAM 2 1 MOV DPTR,#data16 16 位地址传送到数据指针 3 2 MOVC A,@A+DPTR 代码字节传送到累加器 1 2 MOVC A,@A+PC 代码字节传送到累加器 1 2 MOVX A,@Ri 外部RAM(8位地址)内容传送到累加器 1 2 MOVX A,@DPTR 外部RAM(16位地址)内容传送到累加器 1 2 MOVX @Ri,A 累加器内容传送到外部RAM(8位地址) 1 2 MOVX @DPTR,A 累加器内容传送到外部RAM(16 地址) 1 2 PUSH direct 直接地址内容压入堆栈 2 2 POP direct 堆栈内容弹出到直接地址 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1

基于MCS-51单片机的流水灯实验

实验一基于MCS-51单片机的流水灯实验 一、支撑课程目标 目标1:掌握微机和单片机的基本原理、编程技术、中断技术、系统扩展、定时器、串行接口和其他输入/输出接口技术,并且了解典型的单片机应用系统的设计思想和实现方法。 目标2:初步具备自行拟定实验步骤、检查和故障排除、分析和综合实验结果以及撰写实验报告的能力。 目标4:掌握MCS-51单片机/STM32F103单片机系统仿真工具和仿真流程,了解常用实验仪器、设备的基本工作原理,了解其正确使用方法,具备利用电子仪器设备和专业仿真软件对复杂工程问题进行分析和设计的能力。 二、实验类型:验证型( )、设计型(√)、研究创新型() 三、预期学生学习的成果 1、对本课程的作用、地位和学习方法有明确认知。 2、理解keil、Proteus软件安装及基本应用。 3、对实验用启东计算机厂51单片机实验箱资源及提供的实验案例有较好认知。 4、掌握MCS-51单片机的工程开发流程及Proteus软件虚拟仿真流程。 5、具有MCS-51单片机最小系统及对应I/O口控制的应用能力。 6、具有基于Keil的C51编程综合能力。 四、实验原理 LED发光二极管核心为PN结,单向导电,有阴极和阳极,两极均可以控制,需要亮起来,电流不能过大和过小,过大,烧坏二极管,过小,电光效应弱,发光不明显,引入“限流电路”。为减少I/O引脚的消耗,一般控制一极,有阳极控制法和阴极控制法。阳极控制法:阴极接地(GND),阳极I/O口高电平亮,阳极低电平不亮;阴极控制法:阳极接高电平(+5V),阴极I/O口低电平亮,高电平不亮。8个同样LED灯阳极接一起,连接+5V,就是共阳极接法。8个同样LED灯阴极接一起,连接GND,就是共阴极接法。 闪烁如何实现?一会亮,一会灭。怎么样眼睛能分辨出来?亮灭间隔超过20ms以上,人眼视觉残留现象。编程实现方案:端口电平维持想要的时间。延时不切换,CPU空操作耗时不改变端口来实现。 如何依次亮灭:从左到右,8个LED灯亮,8种状态,如何实现,数组形式?移位形式? 参考共阳极接法: Char s[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

MCS-51单片机实验指导书

MCS-51单片机实验指导书 目录 1. 实验板使用说明 (2) 1.1 单片机实验板简介 (2) 1.2 实验板电路原理图 (2) 1.3 USB转串口驱动的安装 (4) 1.4 下载软件的使用 (5) 2. 单片机实验 (6) 实验1 红黄绿灯控制 (6) 实验2 键盘LED数码管显示 (7) 实验3 定时器中断实验 (10) 实验4 计数器实验 (12) 实验5 AD转换实验 (18) 实验6 PC机与单片机串口通信实验 (20) 实验7 温度测量实验 (22) 实验8 数模转换实验 (25) 实验9 IIC和EEPROM存储实验 (27) 实验10 频率测量实验 (34)

1.实验板使用说明 1.1 单片机实验板简介 单片机实验板是西华大学机械工程与自动化学院在长期教学实践中设计的,非常适合单片机教学的一种实验装置。它有以下特点: 不需要其他附件,即可以在任何一台有USB接口的PC机或笔记本电脑上使用;价格便宜,解决了许多院校经费不足的问题;可以开设LED,LCD,键盘,蜂鸣器,AD转换,DA 转换,温度测量,光电计数,压频转换,IIC总线,PC与下位机串口通信,RS485通信等各种实验,满足教学需要。 图1.1 实验板各部分名称及功能 实验板与PC机通过公对公USB线连接,实验板上USB接口给实验板提供电源的同时,且可以通过USB转串口芯片给实验板下载程序和与PC机进行串口通信。本实验板采用的是宏晶公司的STC89C52RC单片机,可以通过串口烧录程序,无需仿真器。 1.2 实验板电路原理图 实验板电路图如图1.2所示。为了满足多种实验的需求和入门编程的便捷,单片机的引脚许多复用,但没有使用锁存器来扩展IO口。实验板上引出了DA输出,P0口,P1口,P2口,P3口,电源扩展口,485通信口,方便外接实验。为了满足单片机的冷启动(下载程序时先断电再通电)要求,电源按钮采用自锁开关。无论在PC机还是笔记本电脑上都有USB 接口,所以实验板直接由USB接口供电,实验板上CH340G将USB转换为串口为单片机下载程序。

MCS51单片机课后作业解答

MCS51单片机作业解答 第二章 MCS-51单片机的结构和原理 (1) MCS-51单片机芯片包含哪些主要功能部件? 答:CPU、4KBROM、128B RAM、4个8位I/O口、2个定时计数器、串行I/O口、中断系统、时钟电路、位处理器、总线结构。 (2)MCS-51单片机的 /EA端有何用途? 答:当/EA =0 只访问片外程序区;当/EA=1时,先访问片程序区,当PC超过片程序容量时,自动转向外部程序区。 (3)MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供? 答:RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD (4)MCS-51单片机的4个I/O口在使用上各有什么功能和特点? 答:P1口通用输入输出;P0口数据总线、地址总线低8位、通用输入输出 P2口地址总线高8位、通用输入输出 P3第2功能信号、通用输入输出。 (5)单片机的存储器分哪几个空间? 试述各空间的作用。 答:程序存储器:部ROM、外部ROM 数据存储器:部基本RAM、专用寄存器区、外部RAM (6)简述片RAM中包含哪些可位寻址单元? 答:20H~2FH共16个可寻址单元 (7)什么叫堆栈? 堆栈指针SP的作用是什么? 在程序设计中为何要对SP重新赋值? 答:只允许数据单端输入输出的一段存储空间。 SP的作用是用来存放堆栈栈顶的地址。 因为SP的初值是07H,后继的是寄存器区和位寻址区,为了便于编程工作,要修改SP. (8)程序状态字寄存器PSW 的作用是什么?简述各位的作用。 答:PSW用来存放程序执行状态的信息, CY—加减运算的进位、借位 AC—辅助进位标志,加减运算的低4位进位、借位 (9)位地址65H 与字节地址65H 如何区别? 位地址65H具体在片RAM中什么位置? 答:位地址65H中是一位0/1的数据,字节地址65H是8位0/1的数据。 位地址65H在片RAM中2CH单元第5位。 (10)什么是振荡周期、时钟周期、机器周期和指令周期? 如何计算机器周期的确切时间? 答:振荡周期——为单片机提供信号的振荡源的周期 时钟周期——振荡脉冲2分频的信号 机器周期——完成一个基本操作需要的时间,是振荡周期/12=1T 指令周期——执行1条指令需要的时间 1~4T (11)单片机工作时在运行出错或进入死循环时,如何处理? 答:复位处理,在单片机的RESET加持续1段时间的高电平 (12)使单片机复位的方法有几种?复位后单片机的初始状态如何?

51单片机指令集

51单片机指令集.txt我这辈子只有两件事不会:这也不会,那也不会。人家有的是背景,而我有的是背影。肉的理想,白菜的命。肉的理想,白菜的命。白马啊你死去哪了!是不是你把王子弄丢了不敢来见我了。MCS-51单片机的指令集 1、数据传送类指令 助记符功能说明字节数振荡周期 MOV A,Rn 寄存器内容送入累加器 1 12 MOV A,direct 直接地址单元中的数据送入累加器 2 12 MOV A,@Ri 间接RAM中的数据送入累加器 1 12 MOV A,#data8 8位立即数送入累加器 2 12 MOV Rn,A 累加器内容送入寄存器 1 12 MOV Rn,direct 直接地址单元中的数据送入寄存器 2 24 MOV Rn,#data8 8位立即数送入寄存器 2 12 MOV direct,A 累加器内容送入直接地址单元 2 12 MOV direct,Rn 寄存器内容送入直接地址单元 2 24 MOV direct,direct 直接地址单元中的数据送入直接地址单元 3 24 MOV direct,@Ri 间接RAM中的数据送入直接地址单元 2 24 MOV direct,#data8 8位立即数送入直接地址单元 3 24 MOV @Ri,A 累加器内容送入间接RAM单元 1 12 MOV @Ri,direct 直接地址单元中的数据送入间接RAM单元 2 24 MOV @Ri,#data8 8位立即数送入间接RAM单元 2 12 MOV DPTR,#data16 16位立即数地址送入地址寄存器 3 24 MOV A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@Ri 外部RAM(8位地址)送入累加器 1 24 MOV A,@DPTR 外部RAM(16位地址)送入累加器 1 24 MOV @Ri,A 累加器送入外部RAM(8位地址) 1 24 MOV @DPTR,A 累加器送入外部RAM(16位地址) 1 24 PUSH direct 直接地址单元中的数据压入堆栈 2 24 POP DIRECT 堆栈中的数据弹出到直接地址单元 2 24 XCH A,Rn 寄存器与累加器交换 1 12 XCH A,direct 直接地址单元与累加器交换 2 12 XCH A,@Ri 间接RAM与累加器交换 1 12 XCHD A,@Ri 间接RAM与累加器进行低半字节交换 1 12 2、算术操作类指令 助记符功能说明字节数振荡周期 ADD A,Rn 寄存器内容加到累加器 1 12 ADD A,direct 直接地址单元加到累加器 2 12 ADD A,@Ri 间接RAM内容加到累加器 1 12 ADD A,#data8 8位立即数加到累加器 2 12 ADDC A,Rn 寄存器内容带进位加到累加器 1 12

相关文档
最新文档