单片机原理及其应用试题(含答案)

目    录

选择题

填空题

简答题

编程题


 选择题

        1. Arduino UNO 到底是什么类型控制器,单片机,单板机,PLC,或其他?它的具体主控芯片型号是什么?

        单板机(本质上是一个单片机的开发板)、ATmega328P、有电解电容

        2. 到底 IDE 上传到 Arduino UNO 上的内容是什么?机器码,伪码,或其他?

        机器码、二进制

        3. Arduino IDE 的全称是什么?

        全称为 Integrated Development Environment

        4. Arduino Uno 的外部电压输入范围是多少?

        Arduino Uno R3 的工作电压为 5V,官方推荐的输入电压为 7-12V,输入电压极限为 6-20V;输出电压范围 0~5V、外置电源供电压是弱电压,若电机电流不够用,使用功率放大器。

        5. 开发套件中的面包板到底有什么作用?

        (长方体型)扩展作用(800400170 孔)

        6. Arduino 的 loop 函数和 setup 函数通常存放什么内容的代码?

        setup 函数中放初始化代码(①用来初始化变量、②管脚模式、调用库函数)、loop 函数中放执行(完成程序的主要功能)代码——主控逻辑

        7. LED、喇叭、数码管等都需要串联一个电阻,为什么?它们的阻值通常为多大

数值?        

        原因:长期在 5V 环境下,容易烧坏;电阻阻值为 220Ω

        8. 碰撞检测通常用什么传感器?距离检测呢?

        碰撞检测使用加速度传感器、距离检测可以使用超声波测距

        9.电机驱动电路通常什么类型的电路?常见的电机驱动芯片有哪些?

        H 桥式(全桥)电路、LM298 驱动 ICULN2003 步进电机驱动板、半桥驱动芯片  BTS7960  搭成全桥驱动(43AMC33886最大驱动电流 5A、内阻大)

填空题


         1. Arduino Uno 中主控芯片的外观是什么形状的? 长方形

        2. Arduino 是哪个国家进行原始开发的?                        意大利

        3. Arduino 的开发语言是什么?       C/C++语言

        4. Arduino IDE 中的 Upload 上传代码是通过什么类型通信口与 Arduino 传递数据?                            类型通信口:USB 接口

        5. Arduino 编程中的注释有哪些形式?                                                                          

        注释形式// 针对 C、C++、C#、JAVA。行注释://;块注释:/*注释*/

        6. 哪种类型蜂鸣器更适合制作警车、消防车、急救车等发出的声音?

        无源蜂鸣器 tone(Pin, frequency, duration; noTone(Pin).

        7. Arduino 编程时,初始化语句通常放在哪个函数中?主控逻辑应该放在哪里呢?

        初始化语句放在 setup 函数中、主控逻辑放在 loop 函数中

        8.单片机到底能够识别的内容格式是什么?二进制、八进制、十进制、十六进制,或其他?                                                                            二进制编码内容

        9. Arduino 中的 IDE 到底具备哪些功能?

        主要用于 Arduino 程序的编写、开发和烧录;拥有开放源代码的电路图设计、支持 ISP 在线烧录,同时支持 FlashMax/MspVVVVPDCProcessing 等多种程序兼容的特点;代码自动提示,有函数查询功能

        10.双轮小车的转向操作通常是采用什么方式?        伺服电机(舵机)、差速转弯

        11.小车在地面循迹运行时,应该使用什么类型的传感器?

        红外传感器、磁带传感器、摄像头传感器

        12.电机驱动芯片到底给电机带来了什么?

        步进驱动器是驱动步进电机运行的功率放大器,它能接收控制器(plc/单片机等)发送来的控制信号并控制步进电机转过相应的角度/步数。 

        13. 脉宽调制比的作用和英语全称、缩写、以及在 Arduino Uno 的引脚编号?

        Pulse-Width ModulationPWM35691011

        14. Arduino 中实现舵机与引脚连接的函数应该是什么?实现转动的函数是什么? 实现转动的代码是什么?

        myservo.attach(9); myservo.write(30)——旋转到 30°

        15. 杜邦线的类型有哪些?杜邦线的作用是什么?

        杜邦线有公线和母线之分;类型:公公线、公母线、母母线; 作用:电路实验中作为导线进行连接。

        16. Arduino 中串口输入、输出的引脚是什么?如果两个 Arduino 板子进行串口互联通信,该怎么接线?如果 Arduino 与外部执行设备进行串口通信,该怎么接线?

        I/O 接口 P0(RX)P1(TX);两块板接线串口通信;②电源给单片机供电, 将两块板子的 P0(RX)P1(TX)交叉联接;ⒸArduino 与外部执行设备进行串口通信:

        17. 何对无源蜂鸣器编程,如何对有源蜂鸣器编程?核心代码是什么?

/*有源蜂鸣器*/
int beep=5; 
void setup(){
  pinMode(beep,OUTPUT); 
  pinMode(13,OUTPUT);
}

void loop(){ 
  digitalWrite(beep,HIGH);
  igitalWrite(13,HIGH); 
  delay(500); 
  digitalWrite(beep,LOW); 
  digitalWrite(13,LOW); 
  delay(500);
}


/*无源蜂鸣器*/
int beep=3;
void setup(){ 
  pinMode(beep,OUTPUT); 

void loop(){ 
  tone(beep,300);    //频率:300 
  delay(2000); 
  noTone(beep); 
  delay(1000);
}

        18. 串口通信的速度单位是什么?                单位是 bps(/)

        19. 常见的舵机、温湿度传感器等设备,导入这些设备的头文件是什么?

        头文件名为#include ;#include <Servo.h>; #include <DHT.h>(温湿度)

        20. 普通直流电机有几根线,作用是什么?舵机通常有几根线,作用是什么?常规步进电机有几根线,作用是什么?

        普通直流电机两根线,接入电源;舵机三根线,一条是信号线;常规步进电机四根线为 A+,A-,B+,B-

        21.编码实现对某个引脚输出高电平信号?        代码:digitalWrite(3,HIGH)

        22. Arduino 的内置 LED 与哪个接口相连?要点亮这个 LED,应该如何编程? 内置 LED 与 13 引脚相连接

void setup(){
    pinMode(13,OUTPUT);
}
void loop(){
    digitalWrite(13,HIGH);
}

        23. 上拉电阻和下拉电阻作用?上拉电阻和下拉电阻的电路结构?电阻值  10kΩ

        将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同。上拉是对器件注入电流,使其处于高电平;下拉是输出电流,使其处于低电平

        24. 如何编程实现将引脚 2 设置为输入引脚?程序为:pinMode(2,INPUT)

        25. 如果外部设备比较复杂,我们通常会使用设备自带的什么文件?如何在代码中加入这些文件中的代码?

库文件、使用#include <****.h>加载;<.h>表示优先从系统目录中查找该头文件,#include <stdio.h>是系统中的".h"表示优先当前目录中查找该头文件,#include “head.h” 是自己写的.

简答题

        1. LED 的正负极判断?电解电容的正负极判断?

        LED 未修剪时,LED 的正极比负极长(内部正极比负极小),电解电容的正负极:未使用前引脚长正短负,外面标记一排的“-”符号来识别出负极端

        2. 读取按键状态,应该使用哪个接口?模拟的,还是数字的?               数字接口

        3. #include 的作用是什么?通常导入的文件是*.h 文件,还是*.c 文件?为什么?

        作用是导入库文件,导入的文件是*.h 文件

        4. Arduino 发送串行信号,应该使用 Arduino 的哪个引脚?如果外部设备通过串口发送信号给 Arduino,那么信号是传送到 Arduino 的哪个引脚?

        发送串行信号使用数字 D1,外部设备传送到 Arduino 的引脚 D0

        5. 程序指令应该放在 ROM,还是 RAM?为什么?计算过程中的中间数据呢,存放在哪里? TF 卡到底是 ROM,还是 RAM、ROM、PROM、EPROME、EPROM 有什么区别?TF 卡是那种?

        程序指令存放于 ROM,中间数据存放于 EPROME,TF 卡是—RAM

        RAM:Random Access Memroy,随机访问存储器,典型代表:内存条。特点:要是做运行时数据存储器,在掉电之后丢失数

        ROM: Read-Only Memory, 只读存储器特点:ROM 数据不能随意更新,但是在任何时候都可以读取,断电之后仍保存数据。往 ROM 中注入数据需要另外的编译器,PC 上面没有这个功能,一般在 ROM 出厂前注入信息,依次写入,永久保存,不能进行修改。

        PROM: Programmable Read-Only Memory 可编程只读存储器。PROM 只允许写入一次,所以也被称为:“一次可编程只读存储器”,出厂时存储器的内容全为 1,用户可以自己往里写数据,但只能写入一次,写错了也就废了。

        EPROM: Erasable Programmable Read-Only Memroy 可擦写可编程只读存储器用户可以自己往里写数据,写错了可以可擦除然后重新写入。但是写入比较费劲,需要使用紫外线照射一段时间。

        EEPROM: Electricall Erasable Programmable Read-Only Memory 带电可擦除可编程只读存储器最大的优点是直接用电信号擦除,写入方便,写入时以 byte 为最小修改单位, 也不必全部擦除重写。

        6. 如何编码设定串口通信的通信速度?   Serial.begin(9600)

        7. 撰写最常见的 Arduino 调试程序模板?        Serial.print(***);delay(1000)

        8. 旋转编码器的工作原理?如何根据得到的脉冲数 N,轮子的几何尺寸 D,转动一圈产生的脉冲数为 M,计算出轮子已经移动的线性距离?

        旋转编码器的基本原理:通过光电转换,将输出至轴上的机械、几何位移量转换成脉冲或

        9. 如何判别有源蜂鸣器和无源蜂鸣器?外观方面?音质方面?编程方面?

        有源蜂鸣器:上面带贴(+号)的装置,其有振荡电路,只需要有高、低电平即可发音, 通电就响;没有电路板而用黑胶封闭的一种是有源蜂鸣器。

        无源蜂鸣器:上面无(+号)的装置,其没有振荡电路(日常用的耳机),需要用方波控制发音;有绿色电路板的一种是无源蜂鸣器。万用表电阻档测试:黑表笔解“+”,红表笔在另一引脚来回触碰,发出咔咔声电阻在 8Ω或 16Ω 为无源、持续发声电阻在几百欧的是有源

        10. 如果读取模拟传感器的数据,应该接到哪一类引脚?模拟引脚(A0~A5

        11. 如果使用 PWM 对电机速度、对 LED 亮度进行调整,设备应与哪些引脚相连? 

        12. 按键程序是否需要设置防抖功能?如何设置?具体代码是怎样的?需要设置

void setup(){ 
  pinMode(button,INPUT_PULLUP);
}

void loop(){ 
  if(digitalRead(button)==0){
    delay(20);                    //如何通过代码实现延迟 3ms,3s,300s?
  }

  if (digitalRead(button)==){ 
    numToShow++;
    while(digitalRead(button)==0);
  }
}

        13.如何通过代码实现延迟 3ms,3s,300s?

                delay(3000)—延迟 3s; delayMicrosecond(15)—延时 15 微秒

        14.Arduino Uno 内部是否有 ROM 和 RAM?如果有,ROM 和 RAM 分别有多大?

                Arduino Uno 有ROM RAMRAM2KB;  ROM32KB1KB   EEPROM

        15. 串口通信速度中的 bps 与 Bps 有什么区别?为什么 Bps 是 bps 的 10 倍?

                bps(位/)1byte= 8bite;1 字节(byte)等于 8bite(比特)


编程题

1. 给出 Uno 和一个 RGB 灯,电路图连线并完成各种复杂的亮灯功能?(3 个电阻 220Ω)

        具体可以看我之前发的文章

Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真_项目申报小狂人的博客-CSDN博客RGB色彩模式包含红绿蓝三种,通过控制红(R)、绿(B)、蓝(G)三种颜色的变化使其相互叠加产生花式颜色。而其颜色值的输出是通过PWM来控制的。RGB三基色按照不同的比例相加合成混色称为相加混色,除相加混色法之外还有相减混色法。控制RGB代码如下测试结果.........https://blog.csdn.net/m0_58857684/article/details/125702555?spm=1001.2014.3001.5501

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很好很详细的资料,看了考试应该没问题的,大家快来下吧!单片机原理复习资料(一)  填空题: 1.MCS—51单片机引脚信号中,信号名称带上划线的表示该信号 或 有效。 2.通过堆栈操作实现子程序调用,首先要把 的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点送回 。 3.某程序初始化时使(SP)=40H,则此堆栈地址范围为 ,若使(SP)=50H,则此堆栈深度为 。 4.在相对寻址方式中,“相对”两字是指相对于 ,寻址得到的结果是 。在寄存器寻址方式中,指令中指定寄存器的内容就是 。在变址寻址方式中,以 作变址寄存器,以 或 作基址寄存器。 5.假定累加器(A)=49H,执行指令: 201AH: MOVC A,@A+PC 后,送入A的是程序存储器 单元的内容。 6.若(DPTR)=5306H,(A)=49H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器 单元的内容。 7.假定(SP)=45H,(ACC)=46H,(B)=47H,执行下列指令: PUSH ACC PUSH B 后,(SP)= ,(46H)= ,(47H)= 。 8.假定(SP)=47H,(46H)=46H,(47H)=47H。执行下列指令: POP DPH POP DPL 后,(DPTR)= ,(SP)= 。 9.若(A)=56H,(R0)=56H,(56H)=56H。执行指令: ADD A,@R0 后,(A)= ,(CY)= ,(AC)= ,(OV)= 。 10.若(A)=0FFH,(R0)=46H,(46H)=0FFH,(CY)=1。 执行指令: ADDC A,@R0 后,(A)= ,(CY)= ,(AC)= ,(OV)= 。 11.假定(A)=45H,(B)=67H。执行指令: MUL AB 后,寄存器(B)= ,累加器(A)= ,(CY)= ,(OV)= 。 12.假定(A)=0FCH,(B)=35H。执行指令: DIV AB 后,累加器(A)= ,寄存器(B)= ,(CY)= ,(OV)= 。 13.执行如下指令序列: MOV C,P1.0 ANL C,P1.1 OR C,/P1.2 MOV P1.3,C 后,所实现的逻辑运算式为 。 14.假定addr11=00100011001B,标号MN的地址为2099H。执行指令: MN:AJMP addr11 后,程序转移到地址 去执行。 15.假定标号MN的地址为2000H,标号XY值为2022H。应执行指令: MN:SJMP XY 该指令的相对偏移量为 。 16.累加器A中存放着一个其值小于63的8位无符号数,CY清“0”后执行指令: RLC A RLC A 则A中数变为原来的 倍。 17.在MCS—51单片机系统中,采用的编址方式是 。MCS—51可提供 和 两种存储器,其编址方式为 ,扩展后其最大存储空间分别为 和 。对80C51而言,片内ROM和片外ROM的编址方式为 ,片外ROM的地址从 开始;片内RAM和片外RAM的编址方式为 ,片外RAM的地址从 开始。 18.为实现内外程序存储器的衔接,应使用 信号进行控制,对8031, EA= ,CPU对 进行寻址;对80C51, EA=1,CPU对 寻址。 19.访问内部RAM使用 指令,访问外部RAM使用 指令,访问内部ROM使用 指令,访问外部ROM使用 指令。 20.当计数器产生记数溢出时,定时器/记数器的TF0(TF1)位= 。对记数溢出的处理,在中断方式时,该位作为 位使用;在查询方式时,该位作为 位使用。 21.在定时器工作方式0下,计数器的宽度为 位,其记数范围为 ,如果系统晶振频率为6MHZ,则最大定时时间为 。 22.利用定时器/计数器产生中断时,应把定时器/计数器设置成 工作状态,当计数器设置成方式0时,记数初值应为 ;设置成方式1时,记数初值应为 ;设置成方式2或方式3时,记数初值应为 。 23.对单片机而言,连接到数据总线上的输出口应具有 功能,连接到数据总线上的输入口应具有 功能。 24.在多位LED显示器接口电路的控制信号中,必不可少的是 控信号和 控信号。 25.与8255比较,8155的功能有所增强,主要表现在8155具有 单元的 和一个 位的 。 26.单片机实现数据通讯时,其数据传送方式有 和 两种。串行数据传送方式分为 和 两种。 27.专用寄存器“串行发送数据缓冲寄存器”,实际上是 寄存器和 寄存器的总称。 28.在串行通讯中,若发送方的波特率为1200bps,则接收方的波特率为 。 29.D/A转换电路之前必须设置数据锁存器,这是因为 。 30.对于由8031构成的单片机应用系统,EA脚应接 ,中断响应并自动生成长调用指令LCALL后,应转向 去执行中断服务程序。 单选题: 1.80C51与8031的区别在于 内部ROM的容量不同 内部RAM的容量不同 内部ROM的类型不同 80C51使用EEPROM,而8031使用EPROM 2.PC的值是 A.当前指令前一条指令的地址 B.当前正在执行指令的地址 C.下一条指令的地址 D.控制器中指令寄存器的地址 3.假定(SP)=37H,在进行子程序调用时把累加器A和断点地址进栈保护后,SP的值为 A.3AH B.38H C.39H D.40H 4.在80C51中,可使用的堆栈最大深度为 A.80个单元 B.32个单元 C.128个单元 D.8个单元 5.在相对寻址方式中,寻址的结果体现在 A.PC中 B.累加器A中 C.DPTR中 D.某个存储单元中 6.在寄存器间接寻址方式中,指定寄存器中存放的是 A.操作数 B.操作数地址 C.转移地址 D.地址偏移量 7.执行返回指令时,返回的断点是 A.调用指令的首地址 B.调用指令的末地址 C.返回指令的末地址 D.调用指令下一条指令的首地址 8.可以为访问程序存储器提供或构成地址的有 A.只有程序计数器PC B.只有PC和累加器A C.只有PC、A和数据指针DPTR D.PC、A、DPTR和堆栈指针SP 9.若原来工作寄存器0组为当前寄存器组,现要改2组为当前寄存器组,不能使用指令 A.SETB PSW.3 B.SETB D0H.4 C.MOV D0H,#10H D.CPL PSW.4 10.执行以下程序段 MOV SP,#40H MOV B,#30H MOV A,#20H PUSH B PUSH ACC POP B POP ACC 后,B和A的内容分别为 A.20H,30H B.30H,20H C.40H,30H D.40H,20H 11.执行以下程序段 MOV R0,#70H MOV A,R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A 后,实现的功能是 A.把立即数70H循环左移3次 B.把立即数70H×10 C.把70H单元的内容循环左移3次 D.把70H单元的内容×10 12.下列叙述中,不属于单片机存储器系统特点的是 A.扩展程序存储器与片内程序存储器存储空间重叠 B.扩展数据存储器与片内数据存储器存储空间重叠 C.程序和数据两种类型的存储器同时存在 D.芯片内外存储器同时存在 13.如在系统中只扩展两片Intel2764,其地址范围分别为0000H~1FFFH、8000H~9FFFH,除应使用P0口的8条口线外,至少还应使用P2口的口线 A.6条 B.7条 C.5条 D.8条 14.下列有关MCS—51中断优先级控制的叙述中,错误的是 A.低优先级不能中断高优先级,但高优先级能中断低优先级 B.同级中断不能嵌套 C.同级中断请求按时间的先后顺序响应 D.同级中断按CPU查询次序响应中断请求 15.执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。从堆栈弹出的断点地址送给 A.A B.CY C.PC D.DPTR 16.中断查询确认后,在下列各种单片机运行情况中,能立即进行响应的是 A.当前指令是ORL A,Rn指令 B.当前正在执行RETI指令 C.当前指令是MUL指令,且正处于取指令机器周期 D.当前正在进行1优先级中断处理 下列功能中不是由I/O接口实现的是 A.数据缓冲和锁存 B.数据暂存 C.速度协调 D.数据转换 18.为给扫描法工作的键盘提供接口电路,在接口电路中需要 A.一个输入口 B.一个输出口 C.一个输入口和一个输出口 D.两个输入口 19.下列理由中,能说明MCS—51的I/O编址是统一编址方式而非独立编址方式的理由是 用存储器指令进行I/O操作 有专用的I/O指令 有区分存储器和I/O的控制信号 I/O和存储器的地址可以重叠 20.把8155的A2、A1、A0分别与80C51的P0.2、P0.1、P0.0连接,则8155的PA、PB、PC口的地址可能是 A.××00H~××03H B.00××H~03××H C.××01H~××03H D.××00H~××02H 21.调制解调器(MODEM)的功能是 A.串行数据与并行数据的转换 B.数字信号与模拟信号的转换 C.电平信号与频率信号的转换 D.基带传送方式与频带传送方式的转换 22.通过串行口发送数据时,在程序中应使用 A.MOVX SBUF,A B.MOVC SUBF,A C.MOV SUBF,A D.MOV A,SUBF 23.通过串行口接收数据时,在程序中应使用 A.MOVX A,SBUF B.MOVC A,SUBF C.MOV SUBF,A D.MOV A,SUBF 24.在多机通讯中,有关第9数据位的说明中,正确的是 A.接收到的第9数据位送SCON寄存器的TB8中保存 B.帧发送时使用指令把TB8位的状态送入移位寄存器的第9位 C.发送的第9数据位内容在SCON寄存器的RB8中预先准备好 D.帧发送时使用指令把TB8位的状态送入发送SBUF中 25.在使用多片DAC0832进行D/A转换,并分时输入数据的应用中,它的两级数据锁存结构可以 A.提高D/A转换速度 B.保证各模拟电压能同时输出 C.提高D/A转换精度 D.增加可靠性 26.8279芯片与80C51接口电路时,其内部时钟信号是由外部输入的时钟信号经过分频产生的。如80C51的fosc=6MHz,8279为取得100KHz的内部时钟信号,则其定时值为 A.20D B.10D C.20H D.10H 分析程序后,回答问题。 若(A)=80H,R0=17H,(17H)=34H,执行下段程序后,(A)=? ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 写出程序执行后有关寄存器和RAM中有关单元的内容: MOV 30H,#A4H MOV A,#0D6H MOV R0,#30H MOV R2,#47H ANL A,R2 ORL A,R0 SWAP A CPL A XRL A,#0FFH ORL 30H,A 下列程序执行后,(SP)=? (A)=? (B)=? ORG 2000H MOV SP,#40H MOV A,#30H LCALL 2500H ADD A,#10H MOV B,A SJMP $ ORG 2500H MOV DPTR,#200AH PUSH DPL PUSH DPH RET 在程序存储器中,数据表格为: 1010H:02H 1011H:04H 1012H:06H 1013H:08H 执行程序 1000H:MOV A,#0DH 1002H:MOVC A,@A+PC 1003H:MOV R0,A 问结果:(A)=? (R0)=? (PC)=? 在程序存储器中,数据表格为: 7010H:02H 7011H:04H 7012H:06H 7013H:08H 执行程序 1004H:MOV A,#10H 1006H:MOV DPTR,#7000H 1009H:MOVC A,@A+DPTR 问结果:(A)=? (PC)=? 程序如下: CLR RS1 CLR RS0 MOV A,#38H MOV R0,A MOV 29H,R0 SETB RS0 MOV C,RS0 MOV R1,A MOV 26H,A MOV 28H,C ADDC A,26H 试问:(1)区分哪些是位操作指令?哪些是字节操作指令? (2)写出程序执行后有关寄存器和RAM中有关单元的内容。 设单片机采用6MHz晶振,计算如下一段程序的执行时间,并说明这段程序的作用。 MOV R0,#20H MOV R3,#05H MOV A,@ R0 CPL A ADD A,#01H MOV @ R0,A NEXT: INC R0, MOV A,@ R0 CPL A ADDC A,#00H MOV @ R0,A DJNZ R3,NEXT SJMP $ 用80C51单片机的P1端口作输出,经驱动电路接8只发光二极管,如图,输出位是“1”时,发光二极管点亮,输出“0”时为暗。试分析下述程序执行过程及发光二极管点亮的工作规律。 LP:MOV P1,#81H LCALL DELAY MOV P1,#42H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#18H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#42H LCALL DELAY SJMP LP 子程序: DELAY:MOV R2,#0FAH L1:MOV R3,#0FAH L2:DJNZ R3,L2 DJNZ R2,L1 RET 改错题: 把在R4和R5中的两字节数取补(高位在R4中): CLR C MOV A,R5 CPL A INC A MOV R5,A MOV A,R4 CPL A ADDC A,#00H MOV R4,A SJMP $ 问答题 单片机MCS—51系列产品80C51/87C51/80C31三种单片机的区别是什么?如何选用? 试说明MCS—51单片机内部程序存储器中6个特殊功能单元(5个中断源和1个复位)的作用及在程序编制中如何使用? 内部RAM低128单元划分为哪3个主要部分?说明各部分的使用特点。 堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大? 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组? MCS—51单片机运行出错或程序进入死循环,如何摆脱困境? 在MCS—51单片机系统中,外接程序存储器和数据存储器共用16位地址线和8位数据线,为什么不会发生冲突? 一个定时器的定时时间有限,如何实现两个定时器的串行定时,以满足较长定时时间的要求? 使用一个定时器,如何通过软硬件结合的方法,实现较长时间的定时? 10.MCS—51单片机属哪一种I/O编址方式?有哪些特点可以证明。 11.多片D/A转换器为什么必须采用双缓冲接口方式? 12.说明利用MCS-51单片机的串行口进行多机通信的原理,应特别指出第9数据位在串行通信中的作用及在多机通信时必须采用主从式的原因。 单片机的fosc=12MHZ,要求用T0定时150μs,分别计算采用定时方式0、定时方式1和定时方式2时的定时初值。 单片机的fosc=6MHZ,问定时器处于不同工作方式时,最大定时范围分别是多少? 编程题: 程序实现c=a2+b2。设a、b均小于10,a存在31H单元,b存在32H单元,把c存入33H单元。 软件延时方法实现变调振荡报警:用P1.0端口输出1KHz和2KHz的变调音频,每隔1s交替变换一次。 使用定时器中断方法设计一个秒闪电路,让LED显示器每秒钟有400ms点亮。假定晶振频率为6MHz,画接口图并编写程序。 以80C51串行口按工作方式1进行串行数据通信。假定波特率为1200bps,以中断方式传送数据,请编写全双工通信程序。 以80C51串行口按工作方式3进行串行数据通信。假定波特率为1200bps,以中断方式传送数据,请编写全双工通信程序。 甲乙两台单片机利用串行口方式1通讯,并用RS—232C电平传送,时钟为6MHz,波特率为1.2K,编制两机各自的程序,实现把甲机内部RAM50H~5FH的内容传送到乙机的相应片内RAM单元。 设计一个80C51单片机的双机通信系统,并编写程序将甲机片外RAM3400H~3500H的数据块通过串行口传送到乙机的片外RAM4400H~4500H单元中去。 求8个数的平均值,这8个数以表格形式存放在从table开始的单元中。 在外部RAM首地址为table的数据表中,有10个字节的数据。编程将每个字节的最高位无条件地置“1”。 单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请编写程序。 假定单片机晶振频率为6MHz,要求每隔100ms,从外部RAM以data开始的数据区传送一个数据到P1口输出,共传送100个数据。要求以两个定时器串行定时方法实现。 用定时器T1定时,使P1.2端电平每隔1min变反一次,晶振为12MHz。 设定时器/计数器T0为定时工作方式,并工作在方式1,通过P1.0引脚输出一周期为2ms的方波,已知晶振频率为6MHZ,试编制程序。 若80C51单片机的fosc=6MHZ,请利用定时器T0定时中断的方法,使P1.0输出如图所示的矩形脉冲。 80C51单片机P1端口上,经驱动器接有8只发光二极管,若晶振频率为6MHZ,试编写程序,使这8只发光管每隔2s由P1.0~P1.7输出高电平循环发光。 从片外RAM2000H地址单元开始,连续存有200D个补码数。编写程序,将各数取出处理,若为负数则求补,若为正数则不予处理,结果存入原数据单元。 80C51单片机接口DAC0832D/A变换器,试设计电路并编制程序,使输出如图所示的波形。 PC/XT的D/A接口使用DAC0832。其有关信号接线如图所示,其输出电压V0和输入数字量DI7-DI0之间呈线性且如表所示。现要求V0从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。 七、画接口电路图: 1.以两片Intel2716给80C51单片机扩展一个4KB的外部程序存储器,要求地址空间与80C51的内部ROM相衔接,请画出接口图。 2.微型机PC的RS-232接口与MCS-51单片机程序通信接口的电路原理图。 3.MCS-51单片机系统中外部扩展程序存储器和数据存储器共用16位地址线和8位数据线,如何处理不会发生冲突?试画出MCS-51单片机外扩展ROM(2732EPROM)和RAM(6116)的系统接线原理图,并说明其工作过程。 一片6116芯片(2K×8)和一片27128芯片(16K×8)构成存储器系统,要求存储器的起始地址为0000H,且两存储器芯片的地址号连续,试画出连线原理图,并说明每一芯片的地址范围。 用74LS138设计一个译码电路,利用80C51单片机的P0口和P2口译出地址为2000H ~ 3FFFH的片选信号CS 。 用一片74LS138译出两片存储器的片选信号,地址空间分别为1000H~1FFFH,3000H~3FFFH。试画出译码器的接线图。 80C31单片机要扩展4K字节外部RAM,要求地址范围为1000H~1FFFH,请画出完整的电路图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

群智能算法小狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值