导航菜单
首页 >  » 正文

51单片机编程题 单片机P1口接八个发光二极管(共阳极接法),试编写流水灯的程序使发光二极管逐 单片机原理及应用复习题

51单片机编程题 单片机P1口接八个发光二极管(共阳极接法),试编写流水灯的程序使发光二极管逐

//prj1 流水灯实验,LED灯是共阳极,给0亮。J1跳线帽
//用的是移位的方法
//头文件定义
#include<reg52.h>
#include <intrins.h>
//延时函数定义
void delay(void)
{
unsigned int i;
unsigned int j;
for(i=200;i>0;i--)
{
for(j=200;j>0;j--);
}
}
void main()
{
P0 = 0xfe; //1111 1110
delay();
while(1)
{
P0 = _crol_(P0,1) ; // 将P0端口循环左移  
delay();
if(P0 == 0x7f)
{
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
P0 = _cror_(P0,1);
delay();
}
}
}

单片机原理及应用复习题

6.在下列MCS-5l单片机各条指令中,错误的是( A )。 A.MOVC @A+DPTR,A B.MOV A, @R0 C.MOV 20H, A D.MOV B, A 8. 单片机上电复位后,堆栈区的最大允许范围是 B 个单元。 A.64 B.120 C.128 D.256 9. 单片机8031的ALE引脚是( C )。 A.输出高电平 B.输出低电平 C.输出矩形脉冲,频率为fosc的1/6 D.输出矩形脉冲,频率为fosc的1/2 10.单片机8031的XTAL1和XTAL2引脚是( D )引脚。 A、外接定时器 B、外接串行口 C、外接中断 D、外接晶振 11.MCS—51的串行数据缓冲器SBUF用于( D )。 A.存放运算中间结果 B.暂存数据和地址 C.存放待调试的程序 D.存放待发送或已接收到的数据 12. 假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( D )。 A.6H B.37H C.38H D.39H 13. 与定时工作方式1和0比较,定时工作方式2不具备的特点是( B )。 A.计数溢出后能自动重新加载计数初值 B.增加计数器位数 C.提高定时精度 D.适于循环定时和循环计数应用 14. 单片机中的程序计数器PC用来( B)。 A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令地址 D.存放上一条指令地址 15. 在MCS-51指令中,下列指令中( C)是无条件转移指令。 A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11 16.MCS-51系列单片机的中断系统具有( A )。 A、5个中断源 B、6个中断源 C、2个中断源 D、3个中断源 17.指令和程序是以( C )形式存放在程序存储器中。 A、源程序 B、汇编程序 C、二进制编码 D、BCD码 18.当需要从MCS-51单片机程序存储器取数据时,采用的指令为B( ) A、MOV A, @R1 B、MOVC A, @A + DPTR C、MOVX A, @ R0 D、MOVX A, @ DPTR 二、填空题 22.对单片机而言,连接到数据总线上的输出口应具有(锁存) 功能。 23.决定程序执行的顺序是(PC) 寄存器,该寄存器复位时的值为 (0000h)。 24.单片机内包含组成微机的三个主要功能部件是CPU、存储器和(I/O口)。 25.MCS-8051系列单片机字长是(8)位,有(40)根引脚。 26.ALE信号的作用是(锁存允许)。 27.8051复位后,PC=(0000)H。 28.将CY与A的第0位的非求或的指令是(ORL C,ACC.0),若原A=0,执行后A=(0)。 29.8051的堆栈指针是(SP)。 30.8155的定时器是(14)位的。 31..MCS-51单片机的P0口和P2口除了可以作为并行口进行数据的输入/输出外,通常还用来构建系统的(地址)和(数据)。 32.MCS-51单片机外部中断请求信号有电平方式和(边沿触发),在电平方式下,当采集到INT0、INT1的有效信号为(高电平)时,激活外部中断。 33.MCS-51单片机指令ANL A,20H中源操作数的寻址方式是(直接)。 34.将CY与A的第0位的“非”求“或”的指令是ORL C,/ACC.0,若原A=0,执行后A=(0) 35.MCS-51单片机指令ADDC A,#20H中源操作数的寻址方式是(间接)。 36.串行通讯中有 (同步)和异步两种基本方式。 37.单片机内包含组成微机的三个主要功能部件是(cpu)、(存储器)和(IO口)。 38.8051的堆栈指针是(sp)。 39.8155的定时器是(14)位的。 40.C51中存储类型XDATA定义的是(外部)存储空间,其地址范围是(0000h~ffffH)

单片机判断题

1、中断函数的调用是在满足中断的情况下,自动完成函数调用的。(  对    )
2、在C语言中,函数的调用是可以根据需要随便调用,前面的函数可以调用后面的函数,后面的函数也可以调用前面的函数,无需声明。(    错 )
3、函数的形式参数属于局部变量。(  对    )
4、break可用来实现循环体的中止。(   对   )
5、字符常量的定义形式是#define  A   100;(    错  )
6、在51系列的单片机系统中,一个机器周期是固定的。( 错    )
7、C51语言允许在复合语句内再定义局部变量。(对    )
8、若一个函数的返回类型为void,则表示其没有返回值。( 对    )
9、所有定义在主函数之前的函数无需进行声明。(   错   )
10、定时器与计数器的工作原理均是对输入脉冲进行计数。(  错    )
11、STC89C52掉电状态 表示单片机无电流即断电状态。(   错   )
12、在STC89系列的单片机系统中,有2种时钟方式分别是12时钟和6时钟。(对    )
13、看门狗是无需设置自动启动的保护电路。(   错   )
14、当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。(    错   )
15、8051单片机必须使用内部ROM。 (   对   )

单片机编程题:单芯将片外RAM 30H单元内容与片外40H单元的内容交换.

展开全部
MOV DPTR,#0040H
MOVX A,@DPTR
MOV R0,A;【先取片外40H的内容存放再r0】
MOV DPTR,#0030H
MOVX A,@DPTR;【取片外30H的内容存放再A】
MOV DPTR,#0040H
MOVX @DPTR,A;【将A的值存放再片外40H】
MOV A,R0;【取原先片外40H的内容存放再A】
MOV DPTR,#0030H
MOVX @DPTR,A;【将A的值存放再片外30H】

51单片机使用数学函数库中的正弦函数 需要怎样改?

不建议直接用正弦函数,因为执行时间会很久,51单片机运算能力比较弱,一般都是用算法计算高级函数的,为了执行时间以及效率高,通常都是把高级函数用另外的方法去做,例如你这里要计算y=sinx这个函数,显然直接用库函数是容易写程序是容易,但是单片机执行就很慢(可能要算一秒才能出结果),如果你的精度不需要很高(例如精确到1度),你做表,把1度到90度的正弦值全部自己算出来,然后做成表,通过查表方法就可以得到结果,这样虽然写程序是麻烦,但是执行速度和效率都高。你应该是刚刚学习单片机的,不理解CPU底层,C语言虽然是很灵活,但是也要看是什么CPU,是根据CPU选择高效率的数据类型以及算法。

相关推荐: