单片机学习入门作业:设计一8位输入口与输出口,根据其设计,说出其端口地址并编程实现——

21ic官方微信 -->
详解arm7单片机编程实例,ARM7之输入/输出端口GPIO编程教程
一、输入/输出端口GPIO编程本文引用地址:
一&(01)、一位数码管静态显示(通过74HC595实现)
1、管脚连接模块
首先介绍一下LPC2106的相关的管脚~~
特性:可以实现独立的管脚配置
应用:管脚连接模块的用途是将管脚配置为需要的功能(这一章节主要就是介绍GPIO功能~~别的会在接下来的章节中分别予以介绍~~)
描述:管脚连接模块可以使所选管脚具有一个以上的功能。配置寄存器控制多路开关来连接管脚与片内外设。外设在激活和任何相关只读使能之前必须连接到适当的管脚。任何使能的外设功能如果没有映射到相应的管脚,则被认为是无效的。
寄存器的描述:
管脚连接模块包括两个寄存器:
管脚功能寄存器0:(PINSEL0)
PINSEL0寄存器按照下表当中的设定来控制管脚的功能。
IODIR寄存器中的方向控制位只有在管脚选择为GPIO的功能时才有效(也就是本章要讲述的)。对于其它功能,方向是自动控制的。
管脚功能寄存器1:(PINSEL1)
PINSEL1寄存器按照下表来设定控制管脚的功能。
IODIR寄存器中的方向控制位只有在管脚选择GPIO功能时才有效。对于其它功能,方向是自动控制的。
在复位时拉低DBGSEL时,只要管脚P0.17-P0.31的功能控制有效。
管脚功能寄存器值:
PINSEL寄存器控制器件管脚的功能。如下图。
每一对寄存器位对应一个特定的器件管脚。
只有当管脚选择为GPIO功能时,IODIR寄存器的方向控制位才有效。
其它功能的方向是自动控制的。
每个派生期间通常具有不同的管脚分布,因此每个管脚可能有不同的功能。
1)单个位的方向控制
2)单独控制输出的置位和清零
3)所有I/0口在复位后默认为输入
1)通用I/0口
2)驱动LED或者其他指示器
3)驱动片外器件
4)检测数字输入
管脚描述:
寄存器描述:
GPIO包含4个寄存器,如下表:
GPIO引脚值寄存器IOPIN:
GPIO输出置位寄存器IOSET:
GPIO输出清零寄存器:
GPIO方向寄存器:
然后就是今天要做的实验:
一位数码管的静态显示
用IAR for ARM就是调不好~~
换用了Keil
浪费我大把时间了
早知道就早用Keil了
回头还得再调试一下IAR
然后就是程序了~~
MDK1_1.c(先是主程序吗~~你懂得)
//------------------------------------------------------------------------------
//LED数码管显示
//通过I/O模拟同步串行接口与74HC595进行连接,控制74HC595驱动LED数码管显示
//------------------------------------------------------------------------------
#include&lpc210x.h&
typedef unsigned long uint32;
#define SPI_IO 0x //SPI接口的I/O设置字
uchar const seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0.82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//------------------------------------------------------------------------------
//延时函数
void delay(uint32 z)
for(;z》0;z--)
for(i=0;i《50000;i++);
//------------------------------------------------------------------------------
int main()
PINSEL0=0X;
PINSEL1=0X; //设置左右引脚连接GPIO
IODIR=SPI_IO; //设置SPI控制口为输出~~由于这是模拟的,所以需要自己设置方向位
for(i=0;i《16;i++)
HC595_send_data(seg[i]);
//------------------------------------------------------------------------------
//74HC595模拟SPI通信,便于调用
#include&lpc210x.h&
typedef unsigned long uint32;
#define SPI_CS 0x //P0.8模拟片选
#define SPI_DA 0x //P0.6模拟数据传输口
#define SPI_CLK 0x //P0.4模拟CLK
//------------------------------------------------------------------------------
//向74HC595发送一个字节函数(发送数据时,高位在前)
//还是大概介绍一下74HC595吧:
//74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
//移位寄存器和存储器是分别的时钟。
//数据在SH_CP的上升沿输入到移位寄存器中,在ST_CP的上升沿输入到存储寄存器中去。
//如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲(一般不会这么用吧~~)。
//移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7&),和一个异步的低电平复位。
//存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
现在想起来,当时的情形还历历在目。当时工作非常艰辛,累得我是满地找牙。记得进厂的第一天,就加班通霄,以后天天晚上加班至12点,早上7点起床。......关键字:
在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。......关键字:
对于搞单片机的特别用8051系列工程师来说,谈到单片机的RTOS,很多时候会问一句:“为什么要用RTOS?单片机就这一点资源,使用RTOS能保证效率吗?”......关键字:
我 要 评 论
大家都爱看
我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…
自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…
先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…
随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…
白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。
业界早知道
06-2906-2906-2906-2906-2906-29
精读涨姿势
03-2309-0810-1602-1706-0806-30一、填空题
1.单片机与普通计算机的不同之处在于其将_CPU__、 存储器 和__I/O_3部分集成于一块芯片之上。
2.CPU主要由& 运算 器和 控制 器组成。CPU中的& 布尔处理器 用来处理位操作。
3.MSC-51系列单片机中,片内无ROM的机型是 8031 ,有4KB ROM的机型是_8051_,而有4KB EPROM 的机型是 8751 。
4.&&&& -32的补码为
B,补码B代表的真值为_-38__D。
5.原码数BFH=_-63_D,原码数6EH=_110_D。
6.100的补码=_64_H,-100的补码= 9C H
7.在8031单片机内部,其RAM高端128个字节的地址空间称为 特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。
8.通常单片机上电复位时PC=_0000_H,SP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00 H~_07_H。
9.若PSW为18H,则选取的是第_3__组通用寄存器。
10.&&&&&&&&&&&&& 8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。
11.&&&&&&&&&&&&& 若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。
12.&&&&&&&&&&&&& 在微机系统中,CPU是按照 程序计数器PC 来确定程序的执行顺序的。
13.&&&&&&&&&&&&& 在8031单片机中,使用P2、P0口传送 地址 信号,且使用了P0口来传送 数据 信号,这里采用的是 总线复用 技术。&&
14.&&&&&&&&&&&&& 堆栈遵循 先进后出(或后进先出) 的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。
15.&&&&&&&&&&&&& 当8051地RST端上保持 两 个机器周期以上低电平时,8051即发生复位。
16.&&&&&&&&&&&&& 使用8031单片机时需将 引脚接_低__电平,因为其片内无 程序 存储器。
17.&&&&&&&&&&&&& 8位机中的补码数80H和7EH的真值分别为_-128__和_127 。
18.&&&&&&&&&&&&& 配合实现&程序存储自动执行&的寄存器是_PC_,对其操作的一个特别之处是 每取完一字节指令后PC内容会自动加1 。
19.&&&&&&&&&&&&& MCS-51单片机PC的长度为_16_位;SP的长度为_8_位,数据指针DPTR的长度为_16_位。
20.&&&&&&&&&&&&& 8051单片机的RST引脚的作用是 对单片机实行复位操作 ,其操作方式有 上电自动复位 和 按键手动复位 两种方式。
21.&&&&&&&&&&&&& I/O端口与外部设备之间传送的信息可分为_三__类。
22.&&&&&&&&&&&&& 8051片内有256B的RAM,可分为四个区,00H~1FH为 工作寄存器 区;20H~2FH为 位寻址 区;30H~7FH为 堆栈、数据缓冲 区;80H~FFH为 特殊功能寄存器 区。
23.&&&&&&&&&&&&& MCS-51单片机系列有_5__中断源。上电复位时,同级中断源的优先级别从高至低为 外部中断源0 、 定时器0 、 外部中断1 &、 定时器1 和& 串行口 ,若IP=B,则优先级别最高者为 外部中断1 、最低者为 定时器1 。
24.&&&&&&&&&&&&& 储存器的主要功能是存储 指令 和 数据 。
25.&&&&&&&&&&&&& 若你正在编辑某个文件,突然断电,则计算机中 RAM 类型存储器中的信息全部丢失,且通电后也不能自动恢复。
26.&&&&&&&&&&&&& 8051在物理结构上只有四存储空间,它们分别是 片内程序存储器 、 片外程序存储器 、 片内数据存储器 、 片外数据存储器& ;但在逻辑结构上只有三个存储空间,它们分别是 片内外统一编址的64KB程序存储器 、 片内256B的数据存储器 和 片外64KB的数据存储器& 。
27.&&&&&&&&&&&&& I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行 写&1&&& 操作。
28.&&&&&&&&&&&&& 8051单片机其内部有 21 个特殊功能寄存器,其中 11 个可以位寻址。
29.&&&&&&&&&&&&& 在一般情况下实现片选的方法有两种,分别是 线选法 和 译码法 。
30.&&&&&&&&&&&&& 起止范围是0000H~3FFFH的存储器的容量是 16 KB。
31.&&&&&&&&&&&&& 11根地址线可选 2048(或2KB或211)个存储单元,16KB存储单元需要 14 根地址线。
32.&&&&&&&&&&&&& MCS-51机中扩展I/O口占用片外__数据__存储器地址空间。
33.&&&&&&&&&&&&& MCS-51 单片机访问片外存储器时利用通信 ALE_信号锁存来自_P0__口的低八位地址信号。
34.&&&&&&&&&&&&& 半导体存储器的最重要的两个指标是 存储容量 和 存取速度 。
35.&&&&&&&&&&&&& 32KB ROM的首地址若为2000H,则末地址是 9FFFH 。
36.&&&&&&&&&&&&& MOV& A,#30H是&& 立即& 寻址方式。MOVX& A,@DPTR是 寄存器间接 寻址方式。(注:指原操作数的寻址方式)
37.&&&&&&&&&&&&& 通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
38.&&&&&&&&&&&&& 在基址加变址寻址方式中,以& A 作变址寄存器,以& PC 或 DPTR 作基址寄存器。
39.&&&&&&&&&&&&& 假定累加器A中的内容为30H,执行指令:
&&&&&&&&& 1000H:MOVC& A,@A+PC
后,把程序存储器 1031H 单元的内容送入累加器A中。
40.&&&&&&&&&&&&& 访问8031片外数据存储器采用的是& 寄存器间址的 寻址方式。
41.&&&&&&&&&&&&& 指令格式由& 操作码 和& 操作数& 两部分组成。
42.&&&&&&&&&&&&& 寻址方式分为对& 指令 的寻址和对 数据 的寻址两大类。
43.&&&&&&&&&&&&& 一个完整的中断过程可分为 中断请求 、 中断响应 、 &中断处理& 和 中断返回& 四部分。
44.&&&&&&&&&&&&& 中断请求信号有 电平 触发和__边沿__触发两种触发方式。
45.&&&&&&&&&&&&& MCS-51单片机8031中有_2_个_16_位的定时器/计数器,可以被设定的工作方式有_4_种。
46.&&&&&&&&&&&&& 若系统晶振频率为12MHZ,则T0工作于方式0时的最大定时时间是 8.192 ms,工作于方式2时的最大计数脉冲个数是& 256 个。
47.&&&&&&&&&&&&& 欲对300个外部事件计数,可以选用定时/计数器T1的模式_0& 或模式__1_。
48.&&&&&&&&&&&&& 若系统晶震频率为6MHZ,则时钟周期为__0.167_us,机器周期为_2_us,最短和最长指令周期分别为__2_us和__8_us。
49.&&&&&&&&&&&&& 若单片机的晶振频率fosc=8MHZ,则执行一条MUL& AB指令所需时间为__6_us。
50.&&&&&&&&&&&&& RS-232C采用单端驱动,易受 干扰 影响,一般传输距离在 几十米& 以内。
51.&&&&&&&&&&&&& 三态缓冲寄存器的&三态&是指 低电平 态、 高电平 态和 高阻 态。
52.&&&&&&&&&&&&& 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中_8_块芯片。
53.&&&&&&&&&&&&& 74LS273通常用来作为简单 输出 接口扩展;而74LS244则常用来作简单 输入 接口扩展。
54.&&&&&&&&&&&&& 计算机对输入/输出设备的控制方式主要有三种。其中, A& 方式硬件设计最简单,但要占用不少CPU的运行时间; B方式的硬件线路最复杂,但可大大提高数据传送效率;而 C &则介于上述两者之间。
①先进先出&&&& ②后进先出&&&&& ③直接存储器访问&& ④程序查询
⑤高速缓存&&&& ⑥系统总线&&&&& ⑦程序中断&&&&&&&& ⑧逐行扫描
请选择并填写答案:A=__④__,B=& ③& ,C=_ ⑦_
55.&&&&&&&&&&&&& 若LED为共阳极接法(即负逻辑控制),则提示符P的七段代码值应当为_0C或 8C_H。
56.&&&&&&&&&&&&& 欲增加8KB*8位的RAM区,请问选用Intel2114(1KB*4位)需购_16_片;若改用Intel6116(2KB*8位)需购_4_片;若改用Intel6264(8KB*8位)需购_1_片。
57.&&&&&&&&&&&&& 已知RAM芯片6116(2KB*8位)有24条外引脚,请问应分配 11 个引脚给地址线,分配_8__个引脚给数据线,再分配两个引脚给电源和地线外,剩余的_3_个引脚应该分配给 读写控制和片选信号线& 。
58.&&&&&&&&&&&&& 在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对应波特率为_2750bps_。
59.&&&&&&&&&&&&& 在串行通信中采用偶校验,若传送的数据为0A5H,则基本奇偶校验位应为_0_(用&0&&1&表示)。
60.&&&&&&&&&&&&& 80C51的串行口控制寄存器中有2个中断标志位,它们是 RI 和 TI 。&
61.&&&&&&&&&&&&& 串行通信可以分成& 异步 通信和 同步 通信两大类。
62.&&&&&&&&&&&&& LED显示器的显示控制方式有 静态 显示和 动态 显示两大类。
63.&&&&&&&&&&&&& LED显示器根据二极管的连接方式可以分为( 共阴极 )和(共阳极)两大类。
64.&&&&&&&&&&&&& CPU与内存或I/O接口相连的系统总线通常由 数据总线(DB) 、 地址总线(AB) 、 控制总线(CB) 等三种信号线组成。
二、单选题
1.电子计算机技术在半个世纪中虽有很大的进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:(D)
(A) 牛顿&&&&&&&&&& (B) 因斯坦&&&&&& (C) 爱迪生&&&&&&& (D)& 冯&诺伊曼
2.用晶体管作为电子器件制成的计算机属于:(B)
(A) 第一代&&&&&& (B) 第二代&&&& (C) 第三代&&&&& (D)& 第四代
3.通常所说的主机是指:(C)
(A)&&& 运算器和控制器&&&&&&&&&&&&&&&&& (B)CPU和磁盘存储器
(C) CPU和主存&&&&&&&&&&&&&&&&&&&&&& (D)硬件和软件
4.(计算机能直接识别的语言是:(C)
(A) 汇编语言&&&&&& (B) 自然语言&&&&& (C) 机器语言&&&& (D) 高级语言
5.在CPU中,控制器的功能是:(C)
(A) 进行逻辑运算&&&&&&&&&&&&&&&&&&& (B)进行算术运算
(C) 分析指令并发出相应的控制信号&&& (D) 只控制CPU的工作
6.PC是:(C)
(A)& 一根硬件信号线
(B)& 一个可由用户直接读写的8位PAM寄存器
(C)& 一个能自动加1的16位的计数器
(D)一个能自动加1计数的ROM存储单元
7.CPU主要的组成部部分为(&A&)& (A)运算器、控制器&&&(B)加法器、寄存器&&&(C)运算器、寄存器&&&&(D)运算器、指令译码器
8.在单片机中,通常将一些中间计算结果放在(&&&A&&)中&&
&&&(A)累加器&&&&&&&&(B)控制器&&&&&&&(C)程序存储器&&&&&&&&(D)数据存储器
9.PC的值是(C)
(A)当前正在执行指令的前一条指令的地址 (B)当前正在执行指令的地址
(C)当前正在执行指令的下一条指令的地址 (D)控制器中指令寄存器的地址
10.&&&&&&&&&&&&& CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C)。
(A)& 混合编址&&&& (B)& 动态编址&& (C)& 独立编址 (D) 变址编址
11.&&&&&&&&&&&&& 在CPU内部,反映程序运行状态或反映运算结果的一些特征的寄存器是:(B)
(A) PC&&&&&&&&&& (B)& PSW&&&&&&&& (C)& A&&&&&&&& (D)& SP
12.&&&&&&&&&&&&& MCS-51的并行I/O信息有两种读取方法,一种是读引脚,还有一种是(& A )
(A)读锁存&&&&& (B)读数据&&&&&&&& (C)读累加器A&& (D)读CPU
13.&&&&&&&&&&&&& 区分片外程序存储器和数据存储器的最可靠方法是(D)。
(A)看其芯片型号是RAM还是ROM
(B)看其位于地址范围的低端还是商端
(C)看其离MCS-51芯片的远近
(D)看其是被RD信号连接还是被PSEN信号连接
14.&&&&&&&&&&&&& 已知PSW=10H,通用寄存器R0~R7的地址分别为(& C& )。
(A)00H~07H;&& (B)& 08H~0FH;& (C)& 10H~17H;&& (D)& 18H~1FH A& R7;&&&&&&&&&
15.关于MCS-51单片机堆栈操作,下列描述错误的是(& B&&& )。
(A)遵循先进后出,后进先出的原则&&&&& (B)出栈时栈顶地址自动加1&&&
(C)调用子程序及子程序返回与堆栈有关 (D) 堆栈指针是一个特殊功能寄存器
16. MCS-51的并行I/O口读-改-写操作,是针对该口的( D )
(A)引脚&&&&&&& (B)片选信号&&&&&& (C)地址线&&&&& (D)内部锁存器
17. MCS-51单片机复位操作的主要功能是把PC初始化为(&&& C& )。
&(A)0100H&&&&&&&&&&&& (B)2080H&&&&&&&&&& (C)0000H&&&&&&&&&&& (D)8000H
18.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持(& B& )。
&&(A)1个机器周期&&&&&& (B)2个机器周期
&& (C)4个机器周期&&&&&&& (D)10个晶振周期
19.的区别是(C)
(A)内部数据存储单元数目不同&&&&&&&&& (B)内部数据存储器的类型不同
(C)内部程序存储器的类型不同&&&&&&&&& (C)内部的寄存器的数目不同
20.访问片外数据存储器时,不起作用的信号是(C)
(A)& RD& (B) WR& (C) PSEN&& (D) ALE
21.下列四条叙述中,有错误的一条是(A)
(A)16根地址线的寻址空间可达1MB
(B)内存器的存储单元是按字节编址的
&(C) CPU中用于存放地址的寄存器称为地址寄存器
(D)地址总线上传送到只能是地址信息
22.14根地址线的寻址范围可达(B)
(A) 8KB& (B)16KB& (C) 32KB (D)64KB
23.CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C )。
(A)& 混合编址&&&& (B)& 动态编址&& (C)& 独立编址 (D) 变址编址
24.MSC-51系列单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B)。
(A)P0口和P2口& (B)P0口& (C)P2口和P3口& (D)P2口
25.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B )
(A)MOV&& (B)MOVX&& (C)MOVC&& (D)以上都是&
26.指令ALMP的跳转范围是( C )
(A)256B&& (B)1KB& (C)2KB& (D)64KB
27.下列可用作片内RAM间接寻址的寄存器是(D&&& )。
(A)RAM& (B)ROM& (C)磁盘& (D)磁带
28.以下指令中,属于单纯读引脚的指令是( C& )
(A)MOV P1,A&& (B)ORL P1,#0FH&& (C)MOV C,P1.5& (D)DJNZ P1,short-lable
29.指出以下指令中的错误指令( A&& )。
(A)MOVC @R1,A&&&& (B)MOV 20H,#01H&&&& (C)ORL A,R5&&&& (D)POP 30H&
30.下列程序段中使用了位操作指令的有( B&&& )。
(A)MOV DPTR,#1000H&&&&& (B)MOV C,45H&&
MOVX A,@DPTR&&& &&&&&&&&CPL& ACC.7&&&&&&&&&&&&
(C) MOV A, 45H&&&&&&&&&& (D)MOV R0,23H
&&&&&& XCH A,27H&&&&&&&&&&&&&&& MOV& A,@R0
31.MCS-51汇编语言源程序设计中,下列符号中不能用作标号的有(&& B&& )。
(A)LOOP&&&&&& (B) MOV&&&& (C)LD1&&&& (D)ADDR&&
32.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(&& A& )。
&(A)外部中断0&&&&&&& (B)外部中断1
&(C)定时器0中断&&&&&& (D)定时器1中断
33.要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A )
(A)98H&& (B)84H&& (C)42H&&& (D)22H
34.定时器T1固定对应的中断入口地址为( D )
(A)0003H&&&&&&& (B)000BH&&&&&& (C)0013H&&&&& (D)001BH
35.各中断源发出的中断请求信号,都会标记在MCS-51系统中的(& B )
(A)TMOD&&&&&& (B)TCON/SCON& (C)IE&&&&&&&&&& (D)IP
36.MCS-51单片机可分为两个优先级别。各中断源的优先级别设定是利用寄存器(& B )
(A)IE&&&&&&&&&& (B)IP&&&&&&&&&&& (C)TCON&&&&&& (D)SCON
37.( D )不属于微型机引入中断技术后的好处
&(A)分时操作&&& (B)实时操作&&&&&& (C)故障处理&&& (D)高速传送数据
38.( C)并非单片机系统响应中断的必要条件。
(A) TCON或SCON寄存器内的有关中断标志位为1
(B) IE中断允许寄存器内的有关允许位置为1
(C) IP中断优先级寄存器内的有关位置为1
(D) 当前一条指令执行完
39.在单片机应用系统中,两线双向长距离(几百米)通信应采用( D)。
(A)TTL电平& (B)RS232C电平& (C)RS422电平 (D)RS485电平
40.在80C51单片机中,可变波特率的多机通信应采用(& D& )。
(A)方式0&& (B)方式1&& (C)方式2&& (D)方式3
41.在80C51单片机中,不使用T1的多机通信应采用(& C& )。
(A)方式0&& (B)方式1&& (C)方式2&& (D)方式3
42.在80C51单片机中,8位数据位可变波特率的双机通信应采用(& B& ) 。
(A)方式0& (B)方式1& (C)方式2& (D)方式3
43.在80C51单片机中,利用串行口进行并口扩展时应采用(& B& )。
(A)方式0&& (B)方式1&& (C)方式2&& (D)方式3
44.在80C51单片机芯片的串行口电平采用的电平为(& A& )&&&&& 。
(A)TTL电平&& (B)RS232C电平&& (C)RS422电平&& (D)RS485电平
45.利用8155产生连续方波,其计数输出方式为(& B& )。
(A)方式0&& (B)方式1&& (C)方式2&& (D)方式3
46.在80C51应用系统中,要求既扩展并口又扩展RAM时,应优先采用 (& A& ) 。
(A)8155&& (B)8255&& (C)8279&& (D)8253
47.DAC0832可以实现两路模拟信号的同步输出,这是利用了该芯片的(& D& ) 特性。
(A)单极性&& (B)双极性&& (C)单缓冲&& (D)双缓冲
三、判断说明题(注意其逆命题)
1.在微机性能指标中,CPU的主频越高,其运算速度越快。&
2.微型计算机与一般计算机的主要区别是体积小、重量轻、耗电少、价格便宜。╳
3.在MCS-51系统中,一个机器周期等于1&S。╳
4.PC可以看做是指令存储区的地址指针。&
5.SP内装的是栈顶首址的内容。╳
6.指令周期是执行一条指令的时间。╳
7.所有计算机系统的堆栈都是向地址高端逐渐生长的,即均为&向上生成&堆栈。╳
8.输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交换。&
9.MCS-51中的P0口可以分时复用为数据口和地址输出口。 &
10.&&&&&&&&&&&&& 当P2口的某些位用作地址线后,其它位不可以用作I/O口线使用。&
11.&&&&&&&&&&&&& 为使准双向的I/O口工作在输入方式,必须保证它被预置为&1&。&
12.&&&&&&&&&&&&& 若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。&
13.&&&&&&&&&&&&& 通常每个外设设备都有一个端口寄存器与主机交换信息,因此,主机只能用一个唯一地址来访问一个外部设备。╳
14.&&&&&&&&&&&&& 8031单片机的有效复位电平是低电平。╳
15.&&&&&&&&&&&&& 锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。&
16.&&&&&&&&&&&&& EPROM中存放的信息在计算机执行程序时只读,且断电后仍能保持原有的信息。&
17.&&&&&&&&&&&&& 8031的CPU是由RAM和EPROM所组成。╳
18.&&&&&&&&&&&&& 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。╳
19.&&&&&&&&&&&&& MCS-51系列单片机的内部特殊功能寄存器的数量是相同的。╳
20.&&&&&&&&&&&&& 在8155芯片中,决定端口和RAM的单元编址的信号线是AD7~AD0和 信号。╳
21.&&&&&&&&&&&&& 掩膜ROM的特点是既能写入又能读出。╳
22.&&&&&&&&&&&&& 如果指令系统中不给用户提供PUSH、POP指令的话,则设立堆栈毫无意义。╳
23.&&&&&&&&&&&&& 在MCS-51系统中,PUSH、POP动作每次仅处理一个字节。&
24.&&&&&&&&&&&&& 已知8051单片机的振荡频率为12MHz,则执行MUL& AB指令所用的时间为2us。╳
25.&&&&&&&&&&&&& RLC& R0是非法指令。 &
26.&&&&&&&&&&&&& 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。&
27.&&&&&&&&&&&&& MOVC是用来访问外部数据存储器的指令助记符 。╳
28.&&&&&&&&&&&&& 在一个完整的程序中伪指令END是可有可无的。& ╳
29.&&&&&&&&&&&&& 调用子程序及返回与堆栈有关。╳
30.&&&&&&&&&&&&& RET和RETI两条指令不可以互换使用。&
31.&&&&&&&&&&&&& 低优先级的中断请求不能中断高优先级的中断请求,但是高优先级中断请求能中断低优先级中断请求。&
32.&&&&&&&&&&&&& 各中断源发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。╳
33.&&&&&&&&&&&&& 当ITX=1时表示允许外部中断。 ╳
34.&&&&&&&&&&&&& 8155中的定时/计数器是14位的加1计数器。╳
35.&&&&&&&&&&&&& 定时/计数器可由TM0D设定四种工作方式。&
36.&&&&&&&&&&&&& 由于8155不具有地址锁存功能,因此在与8031的接口电路中必须加地址锁存器。╳
四、简答题
1.& 带符号的数在计算机中有哪些表示方法?特点如何?
答:带符号的数在计算机中可以用原码、反码和补码表示。采用原码和反码表示时,符号位不能同数值一道参加运算。补码表示可以将减法运算转换为加法运算,同时数值连同符号位可以一起参加运算,这非常有利于计算机的实现。
2.& 单片机与其它常见微机(如PC机)有什么不同?它有什么独特优点?
答:(1)主要有三点不同:一是CPU、存储器和I/O接口这几部分集成在一片芯片上;二是存储器设计采用了哈佛结构,将程序存储器和数据存储器在物理上分开;三是供位处理和位控制的资源丰富、I/O接口完善。
&&& (2)优点:1)集成度高、价格低廉、性能/价格比高;2) 程序存储器和数据存储器在物理上分开,可使程序不受干扰,抗干扰能力强;3)布尔处理能力强,适于工业控制。
3.& 堆栈区与一般的数据存储区有何异同?其重要作用是什么?
答:堆栈区与一般存储区相同之处是:它们都属于存储器的一部分,都能存放数据。
其主要不同之处是对数据的存取规则有异:一般存储区使用随机读/写规则,而堆栈 使用先进后出(或后进先出)规则。堆栈采用这种特殊规则后,可以圆满完成子程序调用或中断调用,多级子程序嵌套等功能。
当然,堆栈区内的存储单元也可以使用随机读/写指令,但在这种情况下已经不把该单元当做堆栈看待了。
4.& 简述80C51单片机四个端口的带负载能力。
答:P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。
5.& MCS-51引线中有多少I/O引线?它们和单片机对外的地址总线和数据总线有什么关系?简述8031单片机中P0、P1、P2、P3口的主要作用。
答:共有32根I/O引线,其中部分引线在单片机有外扩对象时,将代替地址总线和数据总线的功能。这32根I/O引线均匀分布于P0.P1.P2.和P3口若没有单片机外扩要求,则4个并行口都时纯粹的I/O口;但是,当单片机有外扩任务时,则P0口将作为8位数据总线,P2和P0口将作为16位地址总线,P3口的一部分将作为读/写等控制总线信号,此时只有P1口保留作为单纯的I/O口。
6.& 简叙80C51程序储存器的配置。
答:80C51内部有4KB的掩膜ROM;87C51内部有4KB的EPROM;而80C31内部没有程序存储器,80C51的 引脚为访问内部或外部程序存储器的选择端。接高电平时,CPU将首先访问内部存储器,当指令地址超过0FFFH时,自动转向片外ROM去取指令;接低电平时(接地),CPU只能访问外部程序存储器(对于80C31单片机,由于其内部无程序存储器,只能采用这种接法)。外部程序存储器的地址从0000H开始编址。程序存储器低端的一些地址被固定地用作特定的入口地址。
7.& 什么是计算机的指令?什么是指令系统?什么是寻址方式?
答:(1)计算机的指令是规定计算机进行某种操作的命令。
(2)一台计算机所有指令的集合称为该机器的指令系统。
(3)寻址方式就是寻找指令中操作数或操作数所在地址。
8.& MCS-51系列单片机有哪7种寻址方式?各有什么特点?
答:(1)MCS-51的7种寻址方式分别是:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、相对寻址和位寻址。
(2)直接寻址方式中,指令的操作数部分是操作数所在的地址,其寻址空间是内部RAM的低128B及特殊功能寄存器;寄存器寻址方式中,被寻址的寄存器的内容即是操作数,其寻址空间为R0~R7、A、B、Cy、DPTR;寄存器间接寻址方式是把指定寄存器的内容作为地址,由该地址所指定的存储单元内容作为操作数,其前用&@&标示,其寻址空间为内容RAM的低128B和外部RAM;立即寻址是在该指令操作码后紧跟一字节或两字节操作数,操作数前用&#&标示,其寻址空间是ROM;变址寻址的操作数所在地址由基地址加上地址偏移量形成,其寻址空间是ROM;相对寻址级出现在相对转移指令中,其寻址空间是ROM的256B范围;位寻址是将8位二进制的某一位作为操作数,指令中给出的是位地址,寻址空间是内部RAM的20H~2FH单元位地址及可以进行位寻址的SFR。
9.& MCS-51系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、名称及其入口地址。
答:MCS-51系列中断系统包括5个中断源2个中断优先级:
中断源符号&&&&&&& 中断源名称&&&&&&& 入口地址
&&&&&& &&&&&&& 外部中断0&&&&&&&&& 0003H
T0&&&&&&&&&&& T0溢出中断&&&&&&&& 000BH
&&&&&&&&& 外部中断1&&&&&&&& 0013H
T1&&&&&&&&&&&& T1溢出中断&&&&& &&&001BH
TX/RX&&&&&&&& 串行口(接收/发送) 0023H
10.&&&&&&&&&&&&& MCS-51系列单片机中用于中断允许和中断优先级控制的寄存器分别是什么?写出中断允许控制寄存器的各控制位的符号及含义。
答:MCS-51系列单片机用于中断允许和中断优先级控制的寄存器分别是IE和IP;
&&&&&&&&&&&&&&&&& AFH&& AEH&& ADH&& ACH&& ABH&& AAH&& A9H&& A8H
EA&&&&&&&&&&&&&&& ES&&& ET1& EX1&& ET0& EX0
EA&&中断允许控制位;ES&&串行口中断允许控制位;ET1定时器/计数器T1的溢出中断允许位;EX1&&外部中断1中断允许位;ET0&&定时器/计数器T0溢出中断允许位;
EX0&&外部中断0中断允许位;当相应的位为&1&时允许中断,为&0&时禁示中断。
11.&&&&&&&&&&&&& 简述并行通信和串行通信的特点。
答:并行通信的特点是:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。串行通信的特点是:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。
12.&&&&&&&&&&&&& I/O寻址方式有哪几种,各有什么优缺点?MCS-51系列单片机采用哪种寻址方式?Intel&&&&&& 采用哪种寻址方式?
答:(1)I/O寻址方式有两种,分别是标准的I/O寻址方式(独立编址)、存储器映射I/O寻址方式(统一编址);
(2)前者的优点是:处理速度较快,I/O端口地址不占用存储空间,各自都有完整的地址空间,而且访问存储器与访问I/O设备指令有别,程序清晰,其缺点是制造CPU时必须单独集成专门I/O指令所需要的那部分逻辑电路;
后者的优点是:程序设计灵活性好,I/O端口地址安排灵活,并且I/O端口数目不受限制,CPU无需专用的I/O指令和接口信号,处理能力强,其缺点是减少了存储空间,执行指令时间较长,在程序中较难区分是存储器操作还是I/O操作,硬件设计中所用的译码电路复杂。
(3)MCS-51系列单片机采用存储器映射I/O寻址方式;Intel采用标准的I/O寻址方式。
五、程序分析题(请根据各题具体要求填写答案)。
1.设A=83H,R0=17H,(17H)=34H;写出下列程序中每条指令执行后的结果:
ANL&&& A,#17H;(A)=03H
ORL&&& 17H,A ;(17H)=37H
XRL&&& A,@R0;(A)=34H
CPL&&&& A ;&&&& (A)=0CBH
2.以下程序执行后,(40H)= 5EH ,(41H)=& 69H 。
MOV& A,#56H
SUBB& A,#0F8H
MOV& 40H,A
MOV& A,#78H
SUBB& A,#0EH
MOV& 41H,A
3.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A= 25H ,R0=& 50H& ,
50H= 00H ,51H=& 25H 。
MOV& A,59H;(A)=50H
MOV& R0,A ;(R0)=50H
MOV& A,#00H;(A)=00H
MOV& @R0,A;(50H)=00H
MOV& A,#25H;(A)=25H
MOV& 51H,A;(51H)=25H
MOV& 52H,#70H;(52H)=70H
4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H= 24H ,62H= 10H ,30H=& 00H,31H= 0FFH,DPTR=& 2410H 及SP= 60H& 。
PUSH& 30H;(SP)=61H,(61H)=24H
PUSH &31H;(SP)=62H,(62H)=10H
POP&&& DPL;(DPL)=10H,(SP)=61H
POP&&& DPH;(DPH)=24H,(SP)=60H
MOV& 30H,#00H;(30H)=00H
MOV& 31H,#0FFH;(31H)=FFH
5.设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?
XCH& A,R1;(A)=23H,(R1)=40H
XCHD A,@R1;(A)=25H,(40H)=03H
6.程序执行前有(40H)=88H,问:
①程序执行后(40H)= F8H
②归纳出该程序完成的是何种功能。答:对片内RAM的 40H单元中的内容求补码。
MOV& A,& 40H
JNB& ACC.7,& GO
MOV& 40H,& A
7.阅读程序并回答问题。设:R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6FH,(27H)=75H,程序如下:
&&&&& CLR& C
&&&&& MOV& R2,& #3
LOOP:MOV& A,& @R0;第一次循环完成20H单元中的内容80H与25H单元中的内容A0H相加,结果送入20H
&&&&& ADDC& A,& @R1;单元中,即(20H)=20H,(Cy)=1
&&&&& MOV& @R0,& A
&&&&& INC& R0
&&&&& INC& R1
&&&&& DJNZ& R2,& LOOP
&&&&& JNC& NEXT
&&&&& MOV& @R0,& A
&&&&& SJMP& $
NEXT:DEC& R0
&&&&& SJMP& $
程序执行后:
(20H)= 20H ,(21H)= 00H,(22H)= &16H ,(23H)= 16H ,
Cy= 1 ,A= 15H ,R0=& 23H& ,R1= 28H
8.请填写程序执行结果。已知执行前有A=02H,SP=40H,(41H)=FFH,(42H)=FFH,程序如下:
MOV& DPTR,& #3000H
MOV& B,& A
MOVC& A,& @A+DPTR
MOV& A,& B
MOVC& A,& @A+DPTR
ORG& 3000H
DB& 10H, 80H, 30H, 80H, 50H, 80H
程序执行后:A=____H,SP=_____H,(41H)=_____H,(42H)=_____H,PC=_____H
9.假定,SP=60H,A=30H,B=70H,执行下列指令:
后,(SP)&&& ,(61H)=&&& ,(62H)=&&&& 。
11.(第三章)如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
则:DPH=&&&& ,DPL=&&&& ,SP==&&&& 。
12.执行下列指令后,(A)=?(R0)=?(C)=?
MOV& R0,#03H
LOOP:ADD& A,R0
&&&&&& DJNZ& R0,LOOP
&&&&&& SJMP $
13.分析下列程序执行的结果和A与C的内容,如果取消DA&& A指令,A和C为何值?
MOV&&& 20H,#99H
MOV&& &A,20H
ADD&&& A,#01H
MOV&&& 20H,A
14.试述下列程序执行结果,并逐条加以注释
(1) MOV&&&& A,#10H&&&&&&&&&&&&
MOV&&&& P2,#30H
MOV&&&& R0,#50H
JB&&&&&&& P1.0,LP1
MOVX&&& @R0,A
SJMP&&&& LP2
LP1:MOV&& @R0,A
LP2::SJMP&&& $
(2)& MOV&&&& R0,#14H&&&&&&&&&&&&&
MOV &&&&DPTR,#1000H
CL: CLR&&&&& A
MOVX&& @DPTR,A
INC&&&&& DPTR
DJNZ&&&& R0,CL
SJMP&&&& $
15.阅读下列程序并回答问题
ORG& 0000H
&&&& MOV& R0,#32H
&&&& MOV& R2,#00H
&LOOP: MOV& A,@R0
&&&& CJNE& A,#00H,DON
&&&& INC& R2
& DON: INC& R0
&&&& DJNZ& 31H,LOOP
&&&& MOV& 30H,R2
&& &&SJMP& $
(1)说明该程序的功能。
(2)31H中存放的是&&&&&&&&&&&& &,R2是用来存放&&&&&&&&& 的计数器。
(3)执行程序后31H中的值为&&&&&&&&&&&&&& &。
六、程序设计题(按下面要求编写相应的程序)
1.& 数据块传送:试编程将片内40H~60H单元中的内容传送到以2100H为起始地址的存储区。
2.& 工作单元清零:将内部50H开始的连续30个单元的内容清零。
3.& 设一字符串存放在内部RAM以20H为首址的连续单元中,字符串以回车符CR(&CR&=0DH)作为结束标志。标示统计该字符串字符B(&B&=42H)的个数,并将其存入外部RAM的40H单元中。
4.& 有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存入片内RAM的21H单元。
5.& 设a存放在30H单元中,b存放在31H单元中,要求按下式计算Y值并将结果Y存入32H单元中。
6.& 用定时器T1产生一个1000Hz的方波,由P1.1引脚输出,fosc=6MHz。
7.& 设时钟频率为6MHz,试编写利用T0产生500&s定时的程序。
8.& 根据下图的电路,把8155的PB口设置成输入方式,PA口设置成输出方式,并把PB口输入的数据与8031 P1口输入的数据相&异或&,结果从PA口输出。试写出满足此要求的程序。
(命令字格式:TM2& TM1& IEB& IEA& PC2& PC1& PB& PA)
解:根据题意要求,可得8155的命令字为:01H;根据硬件电路8155的I/O端口地址可选为: 7F00H~7F05H。
程序如下:
MOV DPTR,#7F00H&&&&&&&&
MOV A,#01H&&&&&&&&&&&&&&
MOVX @DPTR,A&&&&&&&&&&&&
MOV DPTR,#7F02H&&&&&&&&
MOVX& A,@ DPTR&&&&&&&&&&
XRL& A,P1&&&&&&&&&&&&&&&
MOV DPTR,#7F01H&&&&&&&&
MOVX& @DPTR,A&&&&&&&&&&&
七、综合题&
1.& 采用线选法在8031单片机上扩展2片2764EPROM芯片,试连接三总线及根据连线确定两芯片的地址空间。
2.& 采用线选法在8031单片机上扩展2片6264RAM芯片,试连接三总线及根据连线确定两芯片的地址空间。
3. ADC单片机的硬件接口电路如下图所示。试编写程序查询法A/D转换程序,要求:
(1)与ADC0809无关的地址线状态全部取&1&。
(2)轮流巡检IN0~IN7一遍,A/D转换结果依次存入8031片内RAM30H开始的单元中。
解:根据题意,ADC0809的IN0口地址为
1000B=0FEF8H
本程序用R0作为片内RAM的地址指针,R7为通道号计数器,按题中要求,程序查询法的A/D转换程序如下:
ORG& 0000H
AJMP& AD_START
ORG& 0030H
AD_START: MOV& R0,#30H;&&&&&&&&&&&&& 结果地址指针R0赋初值,指向片内RAM 30H单元
MOV& R7,#08H;&&&&&&&&&&&&& 通道计数器赋初值
MOV& DPTR,#0FEF8H;&&&&&&& 通道号初值赋DPTR,指向IN0
AD: MOVX& @DPTR,A;&&&&&&&&&& 启动A/D转换
JNB& P1.0,$;&&&&&&&&&&&&&&&& 转换未结束则继续查询
MOVX& A,@DPTR;&&&&&&&&&& 转换结束取结果
MOV& @R0,A;&&&&&&&&&&&&&& 转存至片内RAM对应结果单元
INC& R0;&&&&&&&&&&&&&&&&&&& 片内RAM结果单元指针增1
INC& DPTR;&&&&&&&&&&&&&&&& DPTR中的地址值增1,指向下一通道
DJNZ& R7,AD;&&&&&&&&&&&&&& 8个通道未巡检完则继续
4. DAC单片机的硬件接口电路如下图所示。已知8031的晶振频率为 6MHz,请按下述要求编写波形发生器程序(与DAC0832无关的地址线全部取&1&):
(1)&&&&&& 周期为1ms的锯齿波;
(2)&&&&&& 周期为1ms的三角波;
& &&&&&&&&&&&& Uo
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&t
&&&&&&&&&& T=1ms
(1)齿波参考程序。
DACR:MOV& DPTR,#7FFFH&&& ;DPTR赋初值,指向DAC0832的口地址
CON:MOV& R0,#0&&&&&&&&&& ;置波形起点
UP:MOV& A,R0
MOVX& @DPTR,A&&&&& ;启动D/A转换
INC& R0&&&&&&&&&&&&&&& ;调整波形幅值
NOP&&&& &&&&&&&&&&&&&&&;微调4个机器周期
CJNE& R0,#50,UP&&&& ;每循环一次,共需10个机器周期,合20 ,循环50次,为1ms。
(2)&&&&&& 三角波参考程序。
DACR:MOV& DPTR,#7FFFH&&&&&&&& ;DPTR赋初值,指向DAC0832的口地址
&&&&& MOV&&&&& A,& #0FFH
UP: INC &&&&&A&&&&&&&&&&&&&&&&& ;波形上升段
MOVX& @DPTR,A&&&&&&&&& ;启动D/A转换并参与延时
&&&& CJNE&&&&& A,& #50,& UP&&&& ;上升段未完则继续。每上升一次延时5个机器周期、合10 ,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;故半个波形周期需要循环50次,合500 =0.5ms
DOWN: DEC& &&&&&A&&&&&&&&&&&&&& ;上升段完成,立即转入波形下降段
MOVX& @DPTR,A&&&&&&&&& ;启动D/A转换并参与延时
&&&&& CJNE&&&&& A,& #0, DOWN&&& ;下降段未完继续&&
&&&&& SJMP&&&&& UP&&&&&&&&&&&&&& ;否则再次上升,不间断地输出三角波
5. 下图给出了某4相步进电动机的驱动电路。已知8031的晶振频率为 6MHz,请按下述要求编写步进电动机驱动程序:
(1)1P法励磁,步间软件延时10ms,连续正转;
(2)2P法励磁,步间软件延时10ms,连续反转;
(3)1P法励磁,步间软件延时10ms,正转48步后停止;
(4)2P法励磁,步间软件延时10ms,反转96步后停止。
解:(1)1P法步间软延时10ms,连续正转。
ORG& 0000H
AJMP& START
ORG& 0030H
START:&&& MOV& A,#0EEH&&&&& ;对应P1=B,A相开始
LOOP:&&&& MOV& P1, A&&&&&&& ;送P1口
&&&&&&&&&& ACALL& DELAY&&&&& ;调用延时10ms子程序
&&&&&&&&&& RL& A&&&&&&&&&&&&&& ;连续正转
&&&&&&&&&& AJMP& LOOP
DELAY:& MOV& R6,#45
&&& DL2:& MOV& R5,#54
&&& DL1:& DJNZ& R5,& DL1
&&&&&&&&& DJNZ& R6,& DL2
&&&&&&&&& RET
&&&&&&&&& END
(2)2P法步间软延时10ms,连续反转。
ORG& 0000H
AJMP& START
ORG& 0030H
START:&&& MOV& A,#0CCH&&&&&&&&& ;对应P1=B,A相开始
LOOP:&&&& MOV& P1, A
&&&&&&&&&& ACALL& DELAY
&&&&&&&&&& RR& A&&&&&&&&&&&&&&&&&& ;连续反转
&&&&&&&&&& AJMP& LOOP
DELAY:& MOV& R6,#45
&&& DL2:& MOV& R5,#54
&&& DL1:& DJNZ& R5,& DL1
&& &&&&&&&DJNZ& R6,& DL2
&&&&&&&&& RET
&&&&&&&&& END
(3)1P法步间软延时10ms,正转48步后停止。
ORG& 0000H
AJMP& START
ORG& 0030H
START: MOV& R4,#48&&&&&&&& & ;步进次数为48
&&&&&&&& MOV& A,#0EEH&&&& ;1P法励磁
&LOOP: MOV& P1,A
&&&&&&&& ACALL& DELAY1&&&&&& & ;调用10ms延时子程序,若要求延时1s则调用DELAY2
&&&&&&&& RL& A&&&&&&&&&&&&&& ;正转
&&&&&&&& DJNZ& R4,LOOP&&& ;不足48步继续
&&&&&&&& SJMP& $
DELAY1: MOV& R6,#45&&&&&&&&&&&&&&&&&
& DL2:&& MOV& R5,#54
& DL1:&& DJNZ& R5,DL1
&&&&&&&&&& DJNZ& R6,DL1
&&&&&&&&&& RET
&&&&&&&&&& END
若要求步间延时1s,则延时子程序改为DELAY2:
&& DELAY2:MOV& R7,#28
&&&&& DL23:MOV& R6,#19
&&&&& DL22:MOV& R5,#215
DL21:DJNZ& R5,DL21
DJNZ&& R6,DL22
DJNZ&& R7,DL23
(4) 2P法,步间软件延时10ms,反转96步后停止。
ORG& 0000H
AJMP& START
ORG& 0030H
START: MOV& R4,#96&&&&&&&& &&& ;步进次数为96步
&&&&&&&& MOV& A,#0CCH&&&&&& ;2P法励磁
&LOOP: MOV& P1,A
&&&&&&&& ACALL& DELAY1&&&&&&&&&&&&& ;调用10ms延时子程序,若延时1s则为DELAY2
&&&&&&&& RR& A&&&&&&&&&&&&&& ;反转
&&&&&&&& DJNZ& R4,LOOP&&& ;不足96步继续
&&&&&&&& SJMP& $
DELAY1: MOV& R6,#45&&&&&&&&&&&&&&&&&
& DL2:&& MOV& R5,#54
& DL1:&& DJNZ& R5,DL1
&&&&&&&&&& DJNZ& R6,DL1
&&&&&&&&&& RET
&&&&&&&&&& END
6. 设无关地址线全部取为&1&,请问下图所示电路中,8155A的命令口、PA口、PB口、PC口和片内RAM首、末字节地址各为多少?(分析结果用16进制数表示)
按题意,8155A的命令口地址应当是
PA口地址应当是
PB口地址应当是
PC口地址应当是
片内RAM首字节地址应当是
片内RAM末字节地址应当是
阅读(...) 评论()

我要回帖

更多关于 单片机编程用什么语言 的文章

 

随机推荐