什么是单片机?单片机有哪些特点?
单片机是指将CPU、RAM、ROM、中断系统、定时器以及I/O口等集成在一块芯片上构成的单片微型计算机。它有体积小、成本低、运用灵活、扩展能力强、抗干扰能力强等特点。
何谓断点?
程序正常运行时被中断请求信号打断的地方称为断点。
单片机的应用系统可以分为哪几个通道? 前向通道,后向通道,人机通道
什么是汇编语言?
用助记符、符号、数字等来表示指令的程序语言。
ADC0809的EOC引脚有何作用?
EOC转换结束信号,是芯片的输出信号。转换开始后,EOC信号变低;转换结束时,EOC返回高电平。这个信号可以作为A/D转换器的状态信号来查询,也可以直接用作中断请求信号。
简述按键扫描的过程?
①判断键盘中是否有键按下;②进行行扫描,判断是哪一个键按下,若有键按下,则调用延时子程序去抖动; ③读取按键的位置码;
④将按键的位置码转换为键值
把长度为20的浮点型数组array,定义在片内RAM数据区域(不限制在低128字节区域)。其定义为: float xdata array [20]
把长度为20的无符号整型数组array,定义在片内RAM数据区域(不限制在低128字节区域)。其定义为: unsigned int idata array[20]
把长度为50的有符号整型数组array,定义在片外RAM数据区域。其定义为: int xdata array[50]
某8位模数转换器与单片机并行连接,使用总线方式进行访问,已知转换器的地址为0x7ff0,欲通过指针变量pdac访问转换器,则指针变量pdac的定义方法为: unsigned char xdata *pdac=0x7ff0
某单片机有一个8位串口2数据缓冲特殊功能寄存器S2BUF,它的地址是0x9b,定义该特殊功能寄存器S2BUF的方法是: sfr s2buf=0x9b;
89C52单片机有一个与定时器2相配套的16位捕获特殊功能寄存器RCAP2,它的地址是0xca,定义该特殊功能寄存器RCAP2的方法是: sfr16 RCAP2=0xca'
某单片机有一个8位串口2控制特殊功能寄存器S2CON,它的地址是0x9a,定义该特殊功能寄存器S2CON的方法是: sfr S2CON=0x9a
欲在函数founct()中使用第3组工作寄存器,则定义函数时的说明部分应该是(假设不传递参数,没有返回值): void founct() using 3
欲在函数founct()中使用第2组工作寄存器,则定义函数时的说明部分应该是(假设不传递参数,返回无符号字符型数据): unsigned char founct() using 2
定义一个位变量flag,用于某种事件出现的标志,flag定义方法为: bit flag ;
中断服务程序与普通子程序有什么根本的区别?
中断服务程序是随机发生的,结束后要返回断点。普通子程序是安排好的,没有断点。
为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?若已知系统时钟频率和通信用波特率,如何计算其初值?
定时器的模式2是8位自动重装初值的方式,可以产生非常精确的定时时间,所以被用作串行口波特率发生器。 定时器初值计算公式:
X=256-fosc*(SMOD+1)/(384*波特率)
编写定时器2中断服务函数int_t2(),则函数的说明部分应该是: void int_t2() interrupt 5
数字4的共阳极段码是(99),共阴极段码是(66)。
串行口中断请求标志RI和(T1 )不会自动清除,必须用软件方式清0。
哪些中断源的中断请求标志位是由硬件自动复位的?哪些中断的中断请求标志必须通过软件编程进行复位?
外部中断和定时中断是自动复位。 串行口中断。
中断响应的时间是否使确定不变的?为什么?在实际以用中应如何考虑这一因素? 中断响应的时间不是确定不变的。因为中断位置不确定。在实际应用中要考虑实时性要求高的场合合理安排程序。
89C52单片机的串行口由哪些功能部件组成?各有什么作用?
89C52通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信,单片机内部的全双工串行接口部分,包含有串行发送器和接收器,有两个物理上独立的缓冲器,即发送缓冲器和接收缓冲器SBUF。发送缓冲器只能写入发送的数据,但不能读出;接收缓冲器只能读出接收的数据,但不能写入。控制状态寄存器SCON ,用于定义串行通信口的工作方式和反映串行口状态。
简述单片机多机通信的原理。
主机首先发送的一帧数据为地址,即某从机机号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,被寻址的目标从机清除SM2,以接收主机发来的一帧数据。其他从机仍然保持SM2=1。
常见的开关器件有哪些?
继电器,光电耦合器,光电耦合驱动晶闸管等。
为什么要消除键盘的机械抖动?有哪些方法?
键抖动会引起按键被误读多次。可用硬件、软件两种方式消除。
单片机复位后,CPU使用哪组工作寄存器?它们的地址是什么?用户如何改变当前工作寄存器组?
0组。地址是00H~07H。通过程序状态字psw中的RS1、RS0标志改变。
阅读下面C语言函数,对各句做注释,并指出函数的功能。 unsigned char xdata array[50]; void move_xdata() { unsigned char i; unsigned char code *pp; pp=0x200; for(i=0;i<50;i++) array[i]=*(pp+i);
答:把程序存储器地址从0X200开始的50个字节数据传送到RAW数组array中
已知无符号字符型变量operate定义在bdata区域中,将其第4位定义为位变量flag_calculate的方法为: sbit falg_calculate=oprate~6
已知无符号字符型变量operate定义在bdata区域中,将其第2位定义为位变量flag_music的方法为: sbit flag_music=operate~2