单片机编程题库及答案(急求几套51单片机经典考试题好的追加20分哦!)

:暂无数据 2026-03-30 01:40:01 0
当大家谈论单片机编程题库及答案时,总免不了提及急求几套51单片机经典考试题好的追加20分哦!。它们之间究竟有何玄机?读完本文你便了然于胸。

本文目录

急求几套51单片机经典考试题好的追加20分哦!

一.填空题(每空2分,共30分)
1、真值1001001B的反码为01001001 ;其补码为 01001001 。
2、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是 128 B
工作寄存器区的地址范围是 00—1FH 。
3、程序状态标志字寄存器PSW中的PSW.7的含义是 奇偶标志 ;PSW.0的含义是 进位/借位标志 。
6、单片机汇编语言程序有三种基本结构,分别是: 顺序 、 分支 和 循环 。
7、MCS—51单片机内部有 2 个 16 位加1定时 / 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时 / 计数的是方式是 0 。
8、存储器EPROM 27128的地址线有 根,容量为 KB。
9、可编程并行I / O接口芯片8255A有 4 个8位并行I / O端口,可通过编程决定它们的功能。
二、单项选择题(每小题3分,共15分)
1、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是 (A )
(A)ALE (B) (C) (D)RST
2、下列指令写**确的是。 (B )
(A)MOV #20H,A (B)ADD R2,#30H (C)PUSH R0 (D)RRC A
3、ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H 当CPU响应外部中断0后,PC的值是(B)
(A) 0003H (B)2000H (C)000BH (D)3000H
4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)
(A) 方式0 (B)方式1 (C)方式2 (D)方式3
5、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)
(A)读锁存器具 (B)读数据库 (C)读A累加器具 (D)读CPU
三、简答题(每小题10分,共20分)
1 简述可编程并行接口8255 A的内部结构?
答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。
(1)总线接口部分 其中有数据总线驱动器,读/写控制逻辑
(2)内部逻辑部分 由A组和B组控制电路。
(3)外部接口部分 该部分有3个8位并行I/O端口,即A口、B口和C口。
2 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?
答:8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:
(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);
(2)中断系统:IP、IE;
(3)定时器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1;
(4)并行I/O口:P0、P1、P2、P3;
(5)串行口:SCON、SBUF、PCON。
四、编程题(共35分)
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。(15分)
  解:STRAT:MOV R0,#30H
MOV R7,#0FH
MOV DPTR,#3000H
LOOP: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOP
RET
2. 编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。(20分)

本程序的硬件连接如图所示。当P1.0输出高电平时,LED灯亮,否则不亮。
其程序如下:
MOV A,#01H ;灯亮初值
SHIFT: LCAIL FLASH ;调闪亮10次子程序
RR A ;右移一位
SJMP SHIFT ;循环
FLASH: MOV R2,#0AH 闪烁10次计数
FLASH1; MOV P1,A ;点亮
LCALL DELAY ;延时
MOV P1,#00H ;熄灭
LCALL DELAY ;延时
DJNZ R2,FLASH1 ;循环
RET

msc51单片机:利用定时器T0编出使p1.0引脚输出2ms的矩形波程序,要求占空比系数为1:3

2ms大概是周期。
那么按照要求,是输出高电平500微秒、输出低电平1500微秒。
令T0定时500微秒,在中断程序里面,控制输出。
;下列程序,经过编译、仿真,符合要求。
;-------------------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
;-------------------------------------
START:
MOV TMOD, #01H
MOV TH0, #(65536-500)/256
MOV TL0, #(65536-500) MOD 256 ;500us@12MHz
SETB TR0
SETB ET0
SETB EA
CLR P1.0
MOV R2, #3 ;输出3个500us的低电平
SJMP $
;-------------------------------------
T0_INT:
MOV TH0, #(65536-500)/256
MOV TL0, #(65536-500) MOD 256 ;500us@12MHz
CLR P1.0
DJNZ R2, T0_END
SETB P1.0
MOV R2, #4
T0_END:
RETI
;-------------------------------------
END

求一道最简单的关于8051单片机的编程题及答案解析

题目:
8个发光管来回流动,
每个管亮100ms,流动时让蜂鸣器发出"滴滴"声。
taobao店:广州华电
#include《reg52.h》 //52单片机头文件
#include 《intrins.h》 //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
**it beep=P2^3;
void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{ //delay(500);大约延时500ms.
uint x,y;
for(x=z;x》0;x--)
for(y=110;y》0;y--);
}
void main() //主函数
{
uchar a,i;
while(1) //大循环
{
a=0xfe; //赋初值
for(i=0;i《8;i++) //左移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_crol_(a,1); //将a变量循环左移一位
}
a=0x7f;
for(i=0;i《8;i++) //右移
{
P1=a; //点亮小灯
beep=0; //开启蜂鸣器
delay(50); //延时50毫秒
beep=1; //关闭蜂鸣器
delay(50); //再延时50毫秒
a=_cror_(a,1); //将a变量循环右移一位
}
}
}

5V 1A 的VCC在单片机P1口接LED发光二极管时,上拉电阻灌电流方式提供足够的电流,那么请问电阻用多大的

这个参数的计算有些罗嗦,如下:
1)首先,一般标准51单片机的端口输入电流有如下要求:
对于P1,P2,P3口,该端口总的吸入电流不能高于15mA ;每位的吸入电流不能高于10mA。否则,单片机可能无**常工作。(注意:一些改进型的单片机的吸入电流值有所提高,但是没有大幅度提高)
2)因此,如果你只是驱动一个LED,电阻最小可以取5V/10mA=500欧姆,为了留有余量,可以取1K欧姆。(如果考虑到饱和压降和LED压降,可以取得更低一点)
如果你驱动八个LED,考虑到最坏情况(8个数码管都亮),每个引脚的电流值不能高于1..2mA,可以把最小电阻取为5V/1mA=5k欧姆。为了留有余量,可以取6.8-10 k欧姆。

最后,还有只一个指标需要注意:标准51的4个端口引脚的总的同时吸入电流必须小于70mA。
因此,如果驱动多个大功率LED的话,用引脚直接驱动不合适的。

(MSC-51单片机问题 汇编)JZ e的操作码地址为1000H,e=20H,它的转移目的地址为__________.

如果 A为00H
目的地址为1022H
如果A不为00H
目的地址为1002H
JZ rel 操作码自己为2字节的,在程序存储器rom中占2字节,执行完这一个语句rom就加2,如果要跳转再加上rel的值

1、 基于AT89C51单片机,利用定时器设计一个两位数码管显示电路 设计要求:每隔2S显示数字加1,显示初值

这个我仿真过了   是有用的,,,是从00开始显示 到了99会从新开始从00开始加

#include《reg51.h》

#define uchar unsigned char 

#define uint unsigned int

uchar code disp={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar code bit_tab={0xfe,0xfd};

uchar disp_buf;

uchar shu;

uchar count;

void delay(uchar x)

{

              uchar i,j;

              for(i=0;i《x;i++)

              for(j=0;j《120;j++);

}

void conv(uchar flag)

{

              disp_buf=flag/10;

              disp_buf=flag%10;

}

void display()

{

               uchar tem,wei;

               P2=bit_tab;

               tem=disp_buf;

               P0=disp;

               wei++;

               if(wei==2)

                  wei=0;

}

void time0(void) interrupt 1

{

              TH0=(65536-50000)/256;

              TL0=(65536-50000)%256;

              if(++count==40)

              {

                  count=0;

                  shu++;

                  if(shu==99)

                     shu=0;

               }

}

void time1(void) interrupt 3

{

              TH1=(65536-5000)/256;

              TL1=(65536-5000)%256;

              display();

}

void init()

{

              TMOD=0x11;

              EA=1;

              ET0=1;

              ET1=1;

              TR1=1;

              TR0=1;

}

main()

{

              init();

              while(1)

              {

                             conv(shu);

              }

}

希望这篇关于单片机编程题库及答案的解读,特别是对急求几套51单片机经典考试题好的追加20分哦!的聚焦,能让你有所顿悟,而不仅仅是信息堆积。
本文编辑:admin

更多文章:


网页上部分汉字乱码怎么办?我的电脑有时候显示中文字体会出现乱码,是怎么回事

网页上部分汉字乱码怎么办?我的电脑有时候显示中文字体会出现乱码,是怎么回事

是不是总觉得乱码汉字的知识体系太庞大,网页上部分汉字乱码怎么办更是无从下手?本文将帮你化繁为简,抓住核心。

2026年3月30日 04:20

eclipse配置tomcat环境变量(在Eclipse lomboz中运行JSP时,如何配置Tomcat服务器)

eclipse配置tomcat环境变量(在Eclipse lomboz中运行JSP时,如何配置Tomcat服务器)

您是否正在为搞不清eclipse配置tomcat环境变量和在Eclipse lomboz中运行JSP时,如何配置Tomcat服务器的关系而烦恼?恭喜,这篇干货就是您的“及时雨”。

2026年3月30日 04:00

ps keygen注册机下载(跪求MAC 版的PS 注册机下载地址 百度盘等连接 谢谢了大婶们)

ps keygen注册机下载(跪求MAC 版的PS 注册机下载地址 百度盘等连接 谢谢了大婶们)

您是否正在为搞不清ps keygen注册机下载和跪求MAC 版的PS 注册机下载地址 百度盘等连接 谢谢了大婶们的关系而烦恼?恭喜,这篇干货就是您的“及时雨”。

2026年3月30日 03:40

冒泡排序最坏情况下比较次数(对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为多少)

冒泡排序最坏情况下比较次数(对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为多少)

结合最近的趋势来看,冒泡排序最坏情况下比较次数的热度持续攀升,而对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为多少作为其核心组成部分,讨论度更是居高不下。

2026年3月30日 03:20

有限空间发生事故救援程序是什么(受限空间事故专项应急预案)

有限空间发生事故救援程序是什么(受限空间事故专项应急预案)

我们注意到,那些在有限空间发生事故救援程序是什么上表现突出的人,往往都对受限空间事故专项应急预案有独到的见解。这并非巧合。

2026年3月30日 03:00

java webserver教程(急!java调用webservice并解析返回值,重谢!!)

java webserver教程(急!java调用webservice并解析返回值,重谢!!)

我们整理了关于java webserver教程最高频的提问,发现急!java调用webservice并解析返回值,重谢!!位列榜首。于是,就有了这篇集中解答的精华帖。

2026年3月30日 02:40

建站成功是怎么回事(打开一个网页显示恭喜站点创建成功怎么回事)

建站成功是怎么回事(打开一个网页显示恭喜站点创建成功怎么回事)

想快速搞懂建站成功是怎么回事吗?本文将围绕打开一个网页显示恭喜站点创建成功怎么回事等核心问题,用最直白的语言为您提供一份实用指南,帮您节省大量摸索的时间。

2026年3月30日 02:20

c***tantly和continuously的区别(continually continuously的区别是什么)

c***tantly和continuously的区别(continually continuously的区别是什么)

c***tantly和continuously的区别的背后,隐藏着怎样的秘密?continually continuously的区别是什么又在其中扮演了何种角色?带着疑问,我们一起探秘。

2026年3月30日 02:00

单片机编程题库及答案(急求几套51单片机经典考试题好的追加20分哦!)

单片机编程题库及答案(急求几套51单片机经典考试题好的追加20分哦!)

当大家谈论单片机编程题库及答案时,总免不了提及急求几套51单片机经典考试题好的追加20分哦!。它们之间究竟有何玄机?读完本文你便了然于胸。

2026年3月30日 01:40

minidump是什么文件夹可以删除吗(C盘中有几个特别大的dmp文件,不知道能不能删)

minidump是什么文件夹可以删除吗(C盘中有几个特别大的dmp文件,不知道能不能删)

是不是总觉得minidump是什么文件夹可以删除吗的知识体系太庞大,C盘中有几个特别大的dmp文件,不知道能不能删更是无从下手?本文将帮你化繁为简,抓住核心。

2026年3月30日 01:20

最近更新

eclipse配置tomcat环境变量(在Eclipse lomboz中运行JSP时,如何配置Tomcat服务器)
2026-03-30 04:00:01 浏览:0
java webserver教程(急!java调用webservice并解析返回值,重谢!!)
2026-03-30 02:40:01 浏览:0
c***tantly和continuously的区别(continually continuously的区别是什么)
2026-03-30 02:00:01 浏览:0
热门文章

dedication可以加s吗(dedication可数吗)
2026-03-29 04:20:01 浏览:0
健身基础知识(健身知识大全)
2026-03-29 23:00:01 浏览:0
100个必会的shell命令(linux shell sed命令用法)
2026-03-29 09:40:01 浏览:0
writeas浴室(writeas官网登录入口)
2026-03-29 01:40:01 浏览:0
标签列表