MCS-51单片机大作业

MCS-51单片机大作业
MCS-51单片机大作业

MCS-51单片机大作业

通过学习51单片机资料完成以下作业题:

1、简述电子计算机的冯诺依曼结构与哈弗结构,指出两种结构的本质区别。

(1)冯诺依曼结构:

冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

如图1所示:

图1冯诺依曼结构

冯诺依曼结构特点:

●采用存储程序方式,指令和数据混合存储在同一个存储器中。即数据和

程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪CPU就加载哪段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中断. 指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。

●存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定

的。

●指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明

操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。

●通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按

其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。

●以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。

●数据以二进制表示。

(2)哈弗结构简述:

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结

构是一种并行体系结构。

如图2所示:

图2,哈弗结构

哈弗结构处理器的主要特点是:

●使用两个独立的存储器模块,如图程序存储器和数据存储器,分别存储

指令和数据,每个存储模块都不允许指令和数据并存,每个存储器独立编址、独立访问;

●使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,

而这两条总线之间毫无关联。

程序指令存储和数据存储分开,可以在硬件上读取指令代码和传输数据时使用不同的传输线宽度。

哈佛结构的计算机由CPU、程序存储器和数据存储器组成,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽,使数据的移动和交换更加方便,尤其提供了较高的数字信号处理性能。哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。

(3)两种结构的本质区别:

●冯诺依曼结构:采用存储程序方式,指令和数据混合存储在同一个存储

器中,共享同一总线的结构。存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。通过执行指令直接发出控制信号控制计算机的操作,按照程序顺序执行指令。从而影响了数据处理速度的提高。

●哈弗结构:使用两个独立的存储器模块,分别存储指令和数据,每个存

储模块都不允许指令和数据并存,其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令;使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

从而提供了较大的存储器带宽,使数据的移动和交换更加方便,尤其提供了较高的数字信号处理性能。

2、用具体的技术事实阐述为什么MCS-51单片机的体系结构为哈弗结构。

图3,MCS-51单片机结构

MCS-51单片机结构如图2所示。51单片机的主要功能部件组成为:微处理器(CPU),数据存储器(RAM),程序存储器(ROM/EPROM),4个8位并行I/O 口(P0、P1、P2、P3),一个串行口,2个16位定时器/计数器,中断系统,特殊功能寄存器(SFR).

(a)程序存储器 (b)数据存储器

图4,MCS-51单片机的存储器

如图4所示,MCS-51单片机的程序存储器空间和数据存储器空间是各自独立的,两种存储器各自有自己的寻址方式和寻址空间。

(1)程序存储器(ROM/EPROM):用于存放经调试正确的应用程序和表格之类的固定常数。采用16位的程序计数器PC和16位地址总线片内4KB 可扩展到片外64kb。程序存储器可分为片内和片外两部分,CPU访问片内和片外程序存储器由错误!未找到引用源。引脚所接电平确定。当错误!未找到引用源。=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时

会自动转向外部ROM空间。当错误!未找到引用源。=0时,单片机只能程执行外部存储器中的程序。

MCS-51系列单片机程序存储器的某些单元被固定用于各中断源的终端服务程序的入口。如图5所示。

图5,程序存储器中有特殊用途地址:(PC值)

51系列单片机复位后PC=0000H,系统从0000H开始执行程序。 0000H 单元是系统的起始地址, 一般在该单元存放一条无条件转移指令, 用户设计的程序是从转移后的地址开始存放并执行的。0003H-002AH单元被保留专用于5个中断服务程序入口地址。每个中断服务程序只有8个字节单元存放,显然不够,故此8个单元通常放一条跳转指令。指向被实际分配的中断服务程序段。

(2)数据存储器:如图4(b)所示数据存储器分为片内数据存储器和片外数据存储器。片内、片外数据存储器的访问是由指令区分的。片内数据存储器共有128个单元,字节地址为00H~7FH.地址为00H~1FH为4组通用工作寄存器区,20H~2FH为位寻址,30H~7FH为用户RAM区,用以数据缓冲区以及堆栈区。

由此可见,MCS-51单片机中程序存储器(ROM)和数据存储器(RAM)在使用上是严格区分的,不同的操作指令不能混用。程序存储器只能放置程序指令及表格。除了程序的运行控制外,其操作指令不分内片和外片。而数据存储器只存放数据,片内和片外操作指令不同。这恰恰符合哈弗结构的要求,所以MCS-51单片机结构是哈弗结构。

3、说明MCS-51单片机寻址方式、指令系统的特点,并与8086CPU的寻址方式、指令系统进行对比。

寻址方式比较:

MCS-51单片机指令系统共使用7中寻址方式,包括寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址等。

8086CPU系统7种寻址方式,包括直接寻址、寄存器寻址、立即数寻址、寄

存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等。下面通过图表比较二者异同:

寻址方式MCS-51单片机8086CPU

使用变量寻址空间举例对比举例

立即寻址#data MOV A,#14H Mov AX,14H

寄存器寻址R0~R7、A、B、

C、DPTR、AB 4组通用工作寄

存区、部分特殊

功能寄存器

MOV A,R1

MOV P1,R4

CLR A

Mov ax,bx

Add ax,cx

直接寻址(1)内部RAM中的低

128地址单元,地址

范围为00H~FFH;

(2)专用寄存器。专

用寄存器除以单元地

址形式给出外,还可

以以寄存器符号形式

给出。MOV A,40H

MOV A,P0(直接

把p0口内容传

送给A)其中原

操作数为直接

寻址。

数据存放在存

储单元里,存储

单元的有效地

址在指令中直

接给出。

Mov dx,

[2000h] ;

EA=2000

寄存器间接寻址@R1,@R0,SP, 内部RAM低128

单元,形式为

@Ri;堆栈区

MOA A,@Ri;

其中i=0或1

POP SP

数据存放在存

储单元里,存储

单元的有效地

址(段内偏移地

址)存在寄存器

BX、SI、DI或

BP中。表述形

式:[BX]、[SI]、

[DI]及[BP]。

MOV CX,[SI]

ADD AX,[DI]

除寄存器间接

寻址外,还有寄

存器相对寻址,

例MOV AL ,

[SI+10]

@R0,@R1,

@DPTR

片外数据存储

器64KB;

片外数据存储

器低256B

MOVX A,@DPTR

Movx a,@ri

基址寄存器加变址寄存器间接寻址@A+DPTR,

@A+PC

变址寻址是专

门针对程序存

储器的寻址方

式,所以只能对

程序存储器进

行寻址,寻址

范围为64K字

节;

本寻址方式只

有3条指令

MOVC A,

@A+PC

MOVC A,

@A+DPRT

JMP A,

@A+DPRT

与之相对的为

基址变址寻址、

MOV DX,[BX+SI]

相对基址变址

寻址MOV AX ,

[BX+DI+6]

位寻址(1)内部RAM

的位寻址区,地

址范围是20H~ 位寻址中可以

直接使用位地

址MOV C,40H

无位寻址

2FH,共16个RAM单元,每个单元包括8个位,共计128个位,位地址为00H~7FH;(2)特殊功能寄存器SFR中的11个寄存器可以位寻址,包括83个位把40H直接送到进位位C

相对寻址PC+偏移量程序存储器将程序计数器

PC的当前内容

与指令中的操

作数相加,其结

果作为跳转指

令的转移地址

SJMP 23H 包括相对基址变址寻址和寄存器相对寻址,但与单片机中含义完全不同

指令系统比较:

●MCS-51单片机指令系统基本指令111条—

1)按指令功能分:数据传送类指令(28条)、算术运算类指令(24条)、逻辑运算类指令(25条)、控制转移类指令(17条)、布尔操作类指令(17条);

2)按指令代码长度分:单字节指令49条、双字节指令45条、三字节指令17条;

3)按指令执行时间长短分:1个机器周期指令64条、2个机器周期指令45条、4个机器周期指令2条;

●80x86 CPU指令系统由以下六组指令构成:数据传送指令组,算术运算指令

组,逻辑运算指令组,串处理指令组,控制转移指令组,处理机控制指令组●单片机指令格式:操作码操作数

单字节指令——操作码、操作数在一个字节里;

双字节指令——操作码一个字节,操作数一个字节;

三字节指令——操作码一个字节,操作数二个字节;

●8086指令格式:操作码操作数

●51单片机指令系统符号约定(在8086CPU中无特定符号约定)

Rn——n=0~7。当前寄存器组的8个通用寄存器。

Ri——i=0,1。(R0、R1只能用做间接寻址寄存器)

Direct——表示8位存储器地址

#data 表示8位立即数; #data16 表示16位立即数

Bit——片内ram直接寻址位

@——间接寻址前缀

●MCS-51单片机指令特点:

运算类指令,位处理指令以及MOV型指令只能用以处理片内数据存贮器中的数据.片外数据存贮器中待处理的数据或存放在程序存贮器中的常数,均需使用MOVX指令或MOVC指令进行传送.

片内数据存储器内不同区域所能采用的寻址方式是有差异的.应特别注意,特殊功能寄存器的映象只能用直接寻址方式进行字节访问.某些特殊功能寄存器还可用位寻址进行位处理。

51系列单片机在片的I/O接口均映象为特殊功能寄存器,故可用MOV指令访问在片的I/O 口进行I/O 操作。片外的I/O 口按片外数据存贮器进行扩展,可用MOVX指令完成I/O操作。在51系列单片机的指令系统中,没有专门的I/O指令。

服务于在片的I/O 接口,定时/计数器和中断控制等编程的控制寄存器,也同特殊功能寄存器。因此,也没有单独设置服务于上述编程的专用指令。

作为特殊功能寄存器的“程序状态字寄存器(PSW)可以位寻址,如用JB、JNB和JBC 指令寻址 PSW的有关状态位,即分别是多种条件转移指令,如以溢出标志为条件等。另外,PSW无零标志位。JZ和JNZ指令系直接测试累加器,根据它的内容是否为零作为条件的转移指令。

4、举例说明MCS-51单片机与8086CPU在汇编语言上的异同,以及产生差异的

原因。

首先,MCS-51单片机与8086CPU的汇编语言都有两种:指令语言和伪指令语言,由上题可知二者指令语言的关系,在此比较二者伪指令语言。

MCS-51单片机与8086CPU在汇编语言上伪操作不同:

●51单片机汇编语言的伪指令:

ORG 地址 (汇编起始地址命令)

END (汇编终止命令。用于结束对汇编语言源程序的汇编工作)

DB(定义字节型数据命令。)

DW(定义字型数据命令)

EQU( 给符号赋值命令。)

●8086CPU汇编语言伪指令:

伪操作包括:数据定义、符号定义、段定义、过程定义、段对准(定位)、汇编结束等。

完整的汇编语言源程序的基本框架结构。

data segment

data ends

code segment

assume ds:data,cs:code

main proc far

main endp

subp proc

subp endp

code ends

end main

下面以具体例子进行比较:

MCS-51单片机汇编源程序8086CPU汇编源程序

查表法程序设计:

在片内RAM的30H起始的单元中存放2位十六进制数,将其转换为ASCⅡ码,并将其存入40H为首的片内RAM中。用查表法编写程序。

ORG 0000H ;伪指令汇编起始地址为0

LJMP SUBRTE ;长转移指令到SUBRTE

ORG 1000H ;伪指令汇编起始地址为1000H (注:在8086汇编中不是用伪指令定义汇编起始地址,而是用指令语言在程序段中定义指针指向汇编起始地址)

SUBRTE:MOV R0 ,#30H ;置地址指针R0初值

MOV R1 ,#40H ;置地址指针R1初值MOV R2 ,#4 ;置字节数

LOOP:

MOV A ,@R0 ;取16进制数

ANL A,#0FH ;屏蔽高4位

MOVC A, @A+DPTR ;查表低4位转换为ASCⅡ码

MOV @R1,A ;送结果

INC R1 ;修改指针

MOV A,@R0 ;重新取16进制数SWAP A ;高4位与低4位互换ANL A,#0FH ;取高4位

MOVC A,@A+DPTR ;查表高4位转换为ASC Ⅱ码

MOV @R1,A

INC R0

INC R1

DJNZ R2,LOOP ;寄存器减一,不为零则转移DEC R1

RET

TABLE:DB ’012345678’ (单片机定查表法程序设计:

一位16进制数转换为ASCII显示。

DATAS SEGMENT ;伪指令定义数据段一般放在前面

ASCII db

30h,31h,32h,33h,34h,35h,36h,37h,38h,39h

db 41h,42h,43h,44h,45h,46h hex db 04h,0bh

DATAS ENDS

CODES SEGMENT ;代码段

ASSUME CS:CODES,DS:DATAS

START:

MOV AX,DATAS

MOV DS,AX

mov bx,offset ASCII ;BX指向ASCII码表MOV al,hex ;al 取得一个16进制数and al,0fh ;第四位有效,高四位清零

xlat; 查表换码

mov dl,al ;入口参数

MOV ah,2 ;02号功能调用

int 21h ;显示一个ASCII码值

mov al,hex+1 ;转换并显示下一个数据

and al,0fh

xlat

mov dl,al

mov ah,2

int 21h

MOV AH,4CH

义数据段一般在后,而8086中数据段定义一般放在代码段前)

DB ’9ABCDEF’

END(注:只需要注明END结束即可) INT 21H

CODES ENDS (结束指令)END START

通过以上源程序分析,可知在编写汇编语言源程序过程中MCS-51单片机与8086CPU存在一定的差异,但二者可实现相同的功能。除了编写不同外,二者的编译和运行、调试过程也不同。

MCS-51单片机在WAVE软件下进行编译、调试、和运行。在其过程中分别生成.ASM .DSK .PRJ文件,并且在WAVE中可直接进行调试,观察生成结果。而在8086CPU汇编过程中生成源文件(.ASM)、目标文件(.OBJ)、列表文件(.LST)及可执行文件(.EXE),并且要在DEBUG下进行调试得到最终的运行结果。

MCS-51单片机与8086CPU汇编语言相同点是:都包括主程序和子程序,并在主程序中对子程序进行调用;都同时使用了指令语言和伪指令语言;都是按照4分段书写格式(标号字段,操作码字段,操作数字段,注释字段);二者具有相同的分析问题的思路和方法,都可经过流程图确定相应框架,然后再对程序进行编写、调试和运行等过程。

●二者汇编语言存在差异的原因:MCS-51单片机与8086CPU在硬件结构上有所不

同,MCS-51单片机的存储器采用的是哈弗结构,而8086CPU采用的是冯诺依曼结构,由题1可知冯诺依曼结构和哈弗结构特点存在不同(这里不再重复其不同点)所以不同的硬件设施需要不同的软件语言作支持,所以要想实现理想的功能MCS-51单片机与8086CPU的汇编语言有所不同。

单片机原理及应用(大作业)

网络教育学院《单片机原理及应用》大作业 题目:单片机电子时钟设计 学习中心:奥鹏福州直属 层次:专科起点本科 专业:电气工程及其自动化 年级: 14年03 学号: 141024309020 学生姓名:郑建

一、课题背景 1、数字电子钟的发展 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 2、数字电子钟的原理 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟

完整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数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生

郭天祥_十天学通单片机_所有课后作业+答案

lesson1 对照TX-1C单片机学习板原理图写程序 用位操作和总线操作两种方法完成以下题目 1.熟练建立KEIL工程 2.点亮第一个发光管. 3.点亮最后一个发光管 4.点亮1、3、5、7 5.点亮二、四、五、六 6.尝试让第一个发光管闪烁 7.尝试设计出流水灯程序 ====================================== ====================================== ====================================== ==== lesson2 第一个发光管以间隔200ms闪烁 8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。 8个发光管来回流动,第个管亮100ms,流动时让蜂鸣器发出“滴滴”声。

用8个发光管演示出8位二进制数累加过程。 8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。 间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。 间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。 ====================================== ====================================== ====================================== ==== lesson3 1、利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz。。 2、利用定时/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。 3、同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波。

单片机大作业

大连理工大学本科设计报告(单片机原理综合设计) 题目: 课程名称:单片机实验 学院(系):信通学院 专业:通信工程 班级:电通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用于键值的读取。

单片机习题答案

单片机原理及应用作业参考答案 1.2 单片机的结构特点表现在哪些主要方面? . 单片机的结构特点表现在哪些主要方面? 答: (1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针; (2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器. 1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则. 通用单片机的供应状态主要取决于什么?供应状态有哪几种? 是什么? 是什么? 答:通用单片机的供应状态主要取决于片内ROM 的配置状态. (1)片内ROM 的配置状态掩膜ROM,适合于低成本.大批量产品的场合(2)片内EPROM 配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产. (3)片内无ROM 配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合. 2.3 单片机的EA 端有何功用?8031 的EA 端应如何处理,为什么? . 端有何功用? 端应如何处理,为什么? 答: EA 端是访问外部程序存储器的控制信号:当EA 无效时,访问内部ROM,当EA 为有效时,访问外部ROM.由于8031 没有内部ROM,所以EA 端必须接低电平. 2. MCS-51 引脚中有多少I/O 线?它们与单片机对外的地址总线, . 4 它们与单片机对外的地址总线, 数据总线和控制总线有什么关系? - 数据总线和控制总线有什么关系? 地址总线和数据总线各是几位? 地址总线和数据总线各是几位? 答:MCS-51 引脚中有32 根I/O 线,一般由P0 口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8 位, P2 口作为地址总线的高8 位, 由控制总线由第二功能的状态下的P3 口以及RST, , EA ALE 和PSEN 提供. 2.5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? . 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? 答:数据存储器主要分为两个区域:00H~7FH 是真正的RAM 区,80H~FFH 专门用作特殊功能寄存器的区域. 其中00H~7FH 可分为三个区域: 00H~1FH 为四组工作寄存器; 20H~2FH 为128 位位寻址区, 30H~7FH 为一般RAM 区. 2.6 单片机对外有几条专用控制线?其功能是怎样的? . 单片机对外有几条专用控制线?其功能是怎样的? 答:单片机对外的专用控制线有 4 条,分别是: (1) PSEN : 外部取指操作,在访问外部ROM 时, PSEN 信号自动产生; (2)ALE/ PROG :ALE 为地址锁存允许信号,在访问外部ROM 或RAM 时,用来锁存P0 口的低8 位地址.第二功能PROG 是对8751 的EPROM 编程时,编程脉冲输入. 1 (3) EA /VPP: EA 是访问外部程序存储器的控制信号, EA 无效时,访问内部ROM, EA 有效时,访问外部ROM,第二功能VPP 为对8751EPROM 的21V 编程电源输入. (4)RST/VPD:RST 是复位信号输入端,第二功能VPD 是备用电源输入端. 2.8 有哪几种方法使单片机复位?复位后各寄存器,RAM 中的状态如何? 中的状态如何? . 有哪几种方法使单片机复位?复位后各寄存器, 答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为: PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B 2.9 在8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址, . 上出现争总线的现象?为什么? 上出现争总线的现象?为什么? 答:不会发生争总线的现象,因为从外部ROM 取指令需要用ALE 和PSEN 信号控制读取操作,由P2 和P0 提供地址;而片外数据存储器的读写除了地址之外还要RD , WR 控制,所以不会争总线. 2.10 如果8051 端口P0~P3 作为通用I/O 口使用,则在输入引脚数据时应注意什么? . 口使用,则在输入引脚数据时应注意什么? ~答:8051 的P1,P2 和作为一般输入I/O 口的P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入.以使其场效应管T2 截止,才不会影响输入电平. 3.2 若要完成以下的数据传送,应如何用MCS-51 的指令实现? . 若要完成以下的数据传送, 的指令实现? (1)R1 的内容传送到R0 (5)ROM2000H 单元的内容传送到R0 MOV

单片机大作业

单片机大作业 物流卓 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 下图为电路设计图 以下为程序代码

单片机大作业

单片机大作业 课题名称简易楼道灯电费计价系统 院、系、 自动化与电气工程学院部 专业电气工程及其自动化 班级 姓名 学号 指导教师

1.作业背景 城市居民楼内一般安装有楼道灯,方便夜间居民上下楼,其工作特点是人来灯亮,人走灯灭。以热释电型楼道灯为例,其基本工作原理是:热释电传感器能检测人体是否进入感应范围,当人体未进入感应范围,即离楼道灯还有一定距离时,传感器输出低电平;当人体进入感应范围,即靠近楼道灯时,传感器输出高电平。根据传感器的输出,单片机可决定是否点亮楼道灯。由于楼道灯属本单元全体居民共用,为便于电费结算,现要求设计一套简易楼道灯电费计价系统,系统能自动计算楼道灯在一个月内的总点亮时间,并据此计算出应缴电费额度。 2.作业要求 系统由电源电路、热释电传感器、单片机、按键以及显示器组成,楼道灯供电为220市电,功率2kW(实际灯泡功率一般不会这么大。考虑到实验演示时间有限,故假设此灯泡功率为该值)。其中电源采用5V,热释电传感器的输出采用按键按下与否进行模拟,单片机采用51,显示器采用4位数码管,电价按5.86元/千瓦时(实际电价一般为0.58。考虑到实验演示时间有限,故假设电价为该值),要求电费计算精度精确到0.01元。用户可用按键查询本月楼道灯总点亮时间(精度0.01小时),以及本月总电费。 3.硬件部分 (1)仿真电路图 (2)实物电路图:

(3) 元器件列表 STC89C52RC 一个 按钮开关3个四位共阳数码管1个12M晶振1个CS9012三极管1个 二极管1个ZS230-25G灯泡1个HK4 100F-DC5V-SHG继电器1个接线端子1个3906PNP三极管4个 电容、电阻若干

单片机重点作业题答案整理-图文

单片机重点作业题答案整理-图文 以下是为大家整理的单片机重点作业题答案整理-图文的相关范文,本文关键词为单片机,重点,作业,答案,整理,图文,第一章,给出,列有,号,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。 第一章 1.给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。

+45-89-6+112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+45】反=01110000,【+45】补=011100002.指明下列字符在计算机内部的表示形式。 AsendfJFmdsv120 答:41h73h45h4eh64h66h4Ah46h6Dh64h73h76h31h32h30h3.什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/o接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 4.单片机的主要特点是什么?答:主要特点如下: 1)在存储器结构上,单片机的存储器采用哈佛(harvard)结构2)在芯片引脚上,大部分采用分时复用技术 3)在内部资源访问上,采用特殊功能寄存器(sFR)的形式4)在指令系统上,采用面向控制的指令系统5)内部一般都集成一个全双工的串行接口6)单片机有很强的外部扩展能力 5.指明单片机的主要应用领域。 答:单机应用:1)工业自动化控制;2)智能仪器仪表;3)计算机外部设备和智能接口;4)家用电器 多机应用:功能弥散系统、并行多机处理系统和局部网络系统。

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

单片机期末复习总结 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端口地址空间。

单片机作业及参考答案

习题1、BCD 码加法编程。 X 、Y 为4位压缩BCD 码,求 Z=X+Y 。 设X 存在片内RAM 40H 、41H 单元,Y 存在42H 、43H 单元,编程求 Z=X+Y ,并存入片内RAM 单元44H 、45H 、46H 。 ADB :MOV A ,40H ADD A ,42H DA A MOV 44H ,A MOV A ,41H ADDC A ,43H DA A MOV 45H ,A MOV A ,#0 ADDC A ,#0 MOV 46H ,A RET 习题2:编程求双字节减法。设X 、Y 存在片内 RAM 40H 起始单元,计算Z=X-Y 。 SUBD :CLR C MOV A ,40H SUBB A ,42H MOV 44H ,A MOV A ,41H SUBB A ,43H MOV 45H ,A MOV A ,#0 SUBB A ,#0 MOV 46H ,A RET 习题3:编程完成对DPTR 的减1操作. MOV A ,DPL CLR C SUBB A ,#1 MOV DPL ,A MOV A ,DPH SUBB A ,#0 MOV DPH ,A 习题4:如何将累加器A 中的数据高4位清0,低位不变? ANL A ,#0FH 习题5:如何将寄存器R2中的数据奇数位取反,偶数位不变? MOV A ,R2 XRL A ,#10101010B MOV R2,A ;取被加数低字节 ;加上加数低字节 ;BCD 十进制调整 ;保存和的低字节 ;取被加数高字节 ;加上加数高字节 ;BCD 十进制调整 ;保存和的高字节 ;求高字节进位 ;子程序结束 ;清借位标志 ;取被减数低字节 ;减去减数低字节 ;保存差的低字节 ;取被减数高字节 ;减去减数高字节 ;保存差的高字节 ;保存差的借位标志 ; ;子程序结束

单片机大作业 - 马强

《单片机原理与应用》 大作业 班级:1411电科 姓名:马强 学号:2016511010

《单片机原理与应用》大作业(一)作业内容: 基于STC89C51单片机设计一个流水灯项目。实现功能:(1)实现LED灯的点亮和熄灭。 (2)实现LED灯的依次点亮。 (3)实现LED灯的循环点亮。 基于以上要实现的目标我进行了设计和分析,代码如下:#include #include #define uchar unsigned char #define uint unsigned int void delay(uint); uchar tmp,i; void main() { tmp=0x7f; P0=tmp; for(i=0;i<7;i++) { tmp=_cror_(tmp,1); delay(500); P0=tmp; } P0=0xfe; for(i=0;i<7;i++) { tmp=_crol_(tmp,1); delay(500); P0=tmp; }

} void delay(z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 仿真结果: 点亮一个LED 依次点亮

循环点亮结论:

《单片机原理与应用》大作业(二) 作业内容: 基于STC89C51单片机设计一个按键控制数码管项目。实现功能: (1)数码管的点亮。 (2)按键按下检测。 (3)按键“K1”按下数码管以2Hz的频率循环显示0 ~ F,按键“K2”按下则数码管停止自动循环显示并以当前值为基础按下加一。 基于以上要实现的目标我进行了设计和分析,代码如下:、 /***************************************************************** *****/ #include #define uchar unsigned char uchar code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46 ,0x21,0x06,0x0e}; void k1(); void k2(); sbit key1=P3^0; sbit key2=P3^1; unsigned int i; void delay(unsigned int xms) { unsigned int x, y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } void delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--);

单片机作业习题答案

作业习题答案 《单片机应用技术》部分习题与参考答案 第1章单片机概述 1-1什么是嵌入式系统?嵌入式系统的硬件和软件各包括哪些容? 答: 以应用为中心,以计算机技术为基础,软/硬件可剪裁,针对具体应用系统,对功能、可靠性,成本、体积、功耗严格要求的专用计算机系统称为嵌入式计算机系统。简称为嵌入式系统。 嵌入式系统的硬件包括:嵌入式处理器、存储器和外部设备器件、输入输出接口、图形控制器等。软件包括操作系统和应用程序。 嵌入式系统是专用的计算机系统,嵌入式系统的核心是嵌入式处理器,单片机是嵌入式处理器的典型代表。 1-2 什么叫单片机?一个完整的单片机芯片至少有哪些部件? 答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一块集成电路上,称为单片微型计算机,简称单片机。一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。 1-3嵌入式处理器有何特点?嵌入式处理器分为哪几类? 答:嵌入式处理器对实时和多任务系统有和强的支持能力、对存储区保护功能强、具有可扩展的处理器结构及低功耗等特点。 嵌入式处理器分为:嵌入式微处理器、微控制器、嵌入式DSP处理器和片上系统等。 1-4 单片机系统的开发过程分为那几步进行? 答:1.硬件的设计与调试。2 应用程序的设计和调试。3系统联调。4程序的固化。5.脱机运行。 1-5 Intel 公司的主要单片机产品分为哪几大系列?各系列的区别何在? 答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品; 48系列的单片机在片集成4位CPU,片含有多种I/O接口,有的根据不同用途还配有许多专用接口,价格便宜,控制功能强。 51系列的单片机在片集成8位CPU、片RAM为128字节,ROM为4K字节,4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。 96系列单片机CPU为16位,片RAM为232字节,ROM为8K字节,片带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。 1-6 叙述51子系列与52子系列的区别? 答:51子系列包含8031/8051/8751三种型号,它们的基本组成、基本性能都相同,都具有一个8位CPU、片数据存储器RAM128B、2个16位定时/计数器、有5个中断源,一个全双工串行接口,它们之间的区别在于片程序存储器配置:8031片没有ROM,使用时需在片外接EPROM。8051片含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。8751片含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。 52子系列包含8032/8052/8752三种型号,52子系列与51子系列的区别

单片机期末考试试题(答案)

单片机期末考试试题(答案) 01、单片机就是将微处理器、一定容量得 RAM与ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成得微型计算机. 2、单片机89C51片内集成了 4 KB得FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51就是以下哪个公司得产品?(C) A、INTEL B、AMD C、ATMEL D、PHILIPS 5、在89C51中,只有当EA引脚接高电平时,CPU才访问片内得Flash ROM. 6、就是非题:当89C51得EA引脚接低电平时,CPU只能访问片外ROM,而不管片内就是否有程序存储器。T 7、就是非题:当89C51得EA引脚接高电平时,CPU只能访问片内得4KB空间。F 8、当CPU访问片外得存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由 P0 口提供。 9、在I/O口中,P0口在接LED时,必须提供上拉电阻, P3 口具有第二功能。 10、就是非题:MCS-51系列单片机直接读端口与读端口锁存器得结果永远就是相同得。F 11、就是非题:就是读端口还就是读锁存器就是用指令来区别得。T 12、就是非题:在89C51得片内RAM区中,位地址与部分字节地址就是冲突得。F 13、就是非题:中断得矢量地址位于RAM区中。F 14、MCS-51系列单片机就是属于( B )体系结构. A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 15、89C51具有64 KB得字节寻址能力。 16、就是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令.T 17、在89C51中,片内RAM分为地址为 00H~7FH得真正RAM区,与地址为80H~FFH 得特殊功能寄存器(SFR)区两个部分。 18、在89C51中,通用寄存器区共分为 4 组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前得工作寄存器. 19、就是非题:工作寄存器区不允许做普通得RAM单元来使用。F

单片机大作业

单片机原理与应用 学号: 学生所在学院: 学生姓名: 任课教师: 教师所在学院:航空制造工程学院 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.

单片机原理与应用作业答案

作业答案0-1 绪论 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU ))、(存储器(ROM 和RAM ))、(总线)、(定时器/计数器)、(输入/输出接口(I/O 口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 解: 将微处理器(CPU)、存储器(存放程序或数据的ROM 和RAM )、总线、定时器/计数器、输入/输出接口(I/O 口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机, 称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 第1 章MCS-51 单片机的结构与原理 15. MCS-51 系列单片机的引脚中有多少根I/O 线?它们与单片机对外的地址总线和数据总 线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大? 解: MCS-51 系列单片机有 4 个I/O 端口,每个端口都是8 位双向口,共占32 根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。通常把 4 个端口称为P0~P3。在无片外扩展的存储器的系统中,这 4 个端口的每一位都可以作为双 向通用I/O 端口使用。在具有片外扩展存储器的系统中,P2 口作为高8 位地址线,P0 口分时作为低8 位地址线和双向数据总线。 MCS-51 系列单片机数据总线为8 位,地址总线为18 位,对外可寻址空间为64KB 。 25. 开机复位后,CPU 使用的是哪组工作寄存器(R0-R n)?它们的地址是什么?CPU 如何 26.确定和改变当前工作寄存器组(R0-R n)? 解: 开机复位后,CPU 使用的是第0组工作寄存器。它们的地址是00H-07H。CPU 通过对程 序状态字PSW 中RS1 和RS0 的设置来确定和改变当前工作寄存器组。 27. MCS-51 单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz 的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间? 解: 时钟周期又称为振荡周期,由单片机内部振荡电路OSC 产生,定义为OSC 时钟频率的 倒数。时钟周期又称为节拍(用P 表示)。时钟周期是时序中的最小单位。一个状态有两个 节拍, 机器周期定义为实现特定功能所需的时间。MCS-51 的机器周期由12 个时钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51 的指令可能包括1~4 个不等的机器周期。 当MCS-51 的主频为12MHz 时,一个机器周期为 1 s。执行一条指令需要的最长时间为 4 s。 第2 章MCS-51 单片机指令系统与汇编语言程序设计 4. 假定累加器 A 中的内容为30H,执行指令1000H :MOVC A,@A+PC 后,把程序存储 器(1031H )单元的内容送入累加器 A 中。 7. 指出下列各指令在程序存储器中所占的字节数 (1)MOV DPTR ,#1234H 3 字节 (2)MOVX A ,@DPTR 1 字节 (3)LJMP LOOP 3 字节 (4)MOV R0,A 1 字节 (5)AJMP LOOP 2 字节 1

16位单片机大作业

上海电力学院 《16位单片机应用》大作业 课程名称16位单片机应用 课程编号260717001 院(系)电子与信息工程学院 专业电子科学与技术 任课教师杨芳 班级2013142 姓名DANGDANG 学号 2013000

题目:十六位单片机----密码锁 一、设计目的及要求 运用C语言,MC9S12XS128的知识,对实现密码锁进行软件和硬件的设计和调试,掌握如何使用CodeWarrior来整合各种驱动模块,例如本实验运用到的键盘中断、LCD、PWM以及小灯模块,将这些模块整合在一起再通过算法实现硬件上的运行,达到密码锁的功能。 密码锁主要功能: 利用键盘中断、LCD、小灯、PWM模块,按下按键,在LCD可以显示对应值,并将其与预设密码进行比对。若正确,则LCD显示right,小灯由暗变亮;否则,LCD显示wrong,小灯一直保持流水灯状态,直至输入的密码正确。二、设计内容与实现过程 本次用到了相对还是比较多的模块,主要有SCI串口通信模块,LED显示模块,LCD显示模块,Timer定时器模块和中断模块,主要采用了定时器和中断的方式去控制整个系统的工作,能在超级终端以及LCD上实时显示时分秒的数据,主要是在Timer的样例程序中对当中的一些驱动以及主函数中数据的定义进行一定量的修改,来保证控制功能的实现。 具体功能和实现过程如下: 1、Main 函数 (1)全局变量定义

2、实验采用的模块 ①LCD 显示模块 运行程序后,LCD上会显示“password: r/w: ”,在对应位置还会显示按下的键位对应的定义值。 ②键盘中断模块 按下键位后,键值存入valve,调用KBDef函数,将valve键值转为定义值,存入num数组中。

单片机原理及其接口技术王敏课后作业答案.doc

2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少? 答:放在程序计数器PC中,16位,64KB。 2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义? 答:0000H 复位后,PC=0000H,开始执行程序的地址 0003H 外部中断0 (INT0)入口地址 000BH 定时器0中断(TF0)入口地址 0013H 外部中断1(INT1)入口地址 001BH 定时器1中断(TF1)入口地址 0023H 串行口中断TI/RI入口地址 2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器? 答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。

3-7 指出指令中的50H或66H个代表什么? 解: ①MOV A, #50H 立即数 MOV A, 50H 直接地址 MOV 50H, #20H 直接地址 MOV C, 50H 位地址 MOV 50H, 20H 直接地址 ②MOV @R0, #66H 立即数 MOV R6, #66H 立即数 MOV 66H, #45H 直接地址 MOV 66H, C 位地址 MOV 66H, R1 直接地址 3-9 写出能完成下列数据传送的指令: 解: ①R1中内容传送到R0; MOV A, R1 MOV R0,A ②内部RAM 20H单元中的内容送到30H单元; MOV 30H, 20H ③外部RAM 20H单元中的内容送到内部RAM 20H单元; MOV R0,#20H MOVX A, @R0 MOV 20H, A ④外部RAM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000H MOVX A, @DPTR MOV 20H, A ⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000H MOV A, #00H MOVC A, @A+DPTR MOV 20H, A ⑥外部2000H单元中的内容送到外部RAM 3000H单元; MOV DPTR, #2000H MOVX A, @DPTR MOV DPTR, #3000H MOVX @DPTR, A 3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少? ①MOV SP, #70H ②MOV SP, #60H

相关文档
最新文档