您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 嵌入式考试复习资料_final
嵌入式软件考试复习资料一、填空题1、MCS-51系列单片机为8位单片机2、8051的异步通信口为全双工(单工/单双工/全双工)3、8051有2级中断,5个中断源4、8051内部数据存储地址范围是64KB5、MCS-51单片机中,在IP=0X00时,优先级最高的中断是外部中断0,最低的是串行口中断6、要使MCS-51单片机从片内的地址0000H开始执行程序,那么EA应接高电平从片外的地址开始执行,那么EA应接低电平8、设fosc=12Mhz,则8051的定时器/计数器0接方式0时,其最大的定时时间是8.192ms(2^13-0)*1us=8192us=8.192ms(1us=12/(12MHZ))ms,若按方式2计数,要求计数达到10个输入脉冲就引发中断,则写入TH0和TLO的初值是0xF6H(十进制为246)(2^8-10=246)9、单片机89C51具有并行通信和串行通信两种通信方式10、单片机89C51的时钟频率为6Mhz,若要求定时1ms,定时计数器工作于模式1,其定时/计数器初值为初值为FE0CH(2^16-6*10^6*1*10^(-3)/12)=6503611、在异步通信中,数据的帧格式定义一个字符由4部分组成,即起始位、数据位、校验位、停止位12、在系统处于正常工作状态,且振荡稳定后,在RST引脚加一个高电平且维持两个机器周期,可将系统复位计数器/定时器的有关计算计数器初值的计算1)计数器方式时的计数初值TC=2M-N(M为计数器位数,N为要求的计数值)方式0:M=13,计数器的最大计数值213=8192。方式1:M=16,计数器的最大计数值216=65536;方式2:M=8,计数器的最大计数值28=256;方式3:同方式2。例如,设T0工作在计数器方式2,求计数10个脉冲的计数初值,TC=28-10=2462)定时器方式时的计数初值在定时器方式下,定时器T0(或T1)是对机器周期进行计数的。机器周期=12/fosc;定时时间为:t=(2M-计数初值)×机器周期(12MHZ对应的机器周期是1us)则计数初值=2M-t*f/12二、选择题1、计算机能直接识别的语言是(C)A、汇编语言B、自然语言C、机器语言D、硬件和软件2、开机复位后,CPU使用的是寄存器第一组,地址范围(B)A、00H—10HB、00H---07HC、10H---1FHD、08H----0FH注:若是第二组则应该是10H—1FH则选C(每组8字节)3单片机中,(C)是数据存储器,(ABD)是程序存储器A、ROMB、EPROMC、RAMD、EEPROM4、单片机在与外部I/O口进行数据传送时,将使用(C)线A、ALEINTOB、PSENALEC、WRRDALED、ALEINT15、区分片外程序存储器和数据存储器的最可靠方法是(D)A、看其芯片型号是RAM还是ROMB、看其位于地址范围的低端还是高端C、看其离MCS-51芯片的远近D、看其是被RD还是被PSEN信号连接6、当MCS-51复位时,下列说法正确的是(D)A、PC=000HB、SF=00HC、SBUF=00HD、(30H)=00H7、若某寄存器芯片的地址是12根,那么它的存储容量是(C)A、1KBB、2KBC、4KBD、5KB8、MCS-51有中断源(A)A、5个B、2个C、3个D、6个注具体为:T0中断、T1中断、串口中断、定时器0中断、定时器1中断9、MCS-51单片机片内集成了定时器计数器,用作定时器时,对(B)计数,用作计数时,是对(D)计数A、振荡周期B、机器周期C、指令周期D、外部输入脉冲10、单片机8051的XTAL1或者XTAL2引脚(D)引脚A、外接定时器B、外接串行口C、外接中断D、外接晶振11、8051单片机的VSS(20)引脚是(B)引脚A、主电源+5VB、接地C、备用电源D、访问片外存贮器三、判断题1、当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器√2、当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。X3、当CPU访问片外的存储器时,其低八位地址由PO口提供,高八位地址由P2口提供,8位的数据由P0口提供√4、在89C51中,片内RAM分为地址为00H----07H的直正RAM区和地址为08H---FFH的特殊功能寄存器(SFR)区两个部分√5、在89C51中,通用寄存器区分为4组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前的工作寄存器√6、特殊功能寄存器可以当作普通RAM单元来使用×7、访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。×8、在89C51中,一个机器周期包括12个振荡周期,而每条指令都由一个或者几个机器周期组成,分别是单周期、双周期和4周期指令√9、单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行√10、单片机系统上电后,其内部RAM的值是不确定的√11、单片机是将微处理器、一定容量的RAM和ROM以及I/o口,定时器等电路集成在一块芯片上面构成的微型计算机√12、在89C51中,当CPU访问片内、外ROM区,片外RAM区和片内RAM区是靠使用不同的指令来区分的√13、定时/计数器在工作时,需要消耗CUP的时间×14、定时/计数器工作于计数方式时,是通过89C51的T0和T1对外部脉冲进行计数,当遇到脉冲下降沿时计数一次√15、串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低√17、同步通信方式中,发送端的发送速率和接收端的接收速率必须完全一致√18、异步通信方式中,发送端的发送速率和接收端的接收速率必须完全一致√19、在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的√20、单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换√四、简答题1、请说明MCS-51的外部引脚EA的作用答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器。2、请简述89C51单片机中断的概念当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。3、请简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别中断源(控制位)自然优先级外部中断0(PX0)最高定时器/计数器0溢出中断(PT0)外部中断1(PX1)定时器/计数器1溢出中断(PT1)串行口中断(PS)最低若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。4、请简述51系列单片机中断响应的条件●有中断源发出中断请求;●中断总允许位EA=1,即CPU开中断;●申请中断的中断源的中断允许位为1,即中断没有屏蔽;●无同级或更高级中断正在被服务;●当前的指令周期已经结束;●若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。5、请简述定时/计数器4种工作模式特点模式1:是16位的定时器/计数器;模式2:把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器;模式3:对T0和T1大不相同。若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。定时器T1无工作模式3状态。模式0:与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。6、请简述看门狗的基本原理看门狗是通过软件和硬件的方式在一定的周期内监控弹片机的运行状况,如果在规定时间内没有收到来自单片机的清除信号,也就是我们通常说的没有及时喂狗,则系统会强制复位,以保证系统在受干扰时仍然能够维持正常的工作状态7、能否把继电器直接接在89C51的某一接线上来用,为什么?不能。因为89C51的I/O所提供的电压不足于驱动继电器,必须加一个三极管。8、请简述IED数据管动态扫描的原理及其实现方式动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。逐位轮流点亮各个LED,每一位保持1ms,在10~20ms之内再一次点亮,重复不止,就可以实现动态扫描。9、请简述89C51串口通信的四种方式及其特点方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。方式1:用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率由定时器T1的溢出率与SMOD值同时决定。方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为的1/64;当SMOD=1时,波特率为的1/32。方式3:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。帧格式与方式2相同,波特率与方式1相同。10、请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大的限值电阻(该LED的正常工作电流为10mA,导通压降为0.6V),为什么?解:因为LED导通时,电压降是固定的(0.6V)。为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。R=4.4v/10×10^-3A=440Ω五、综合题1、如下图所示,P1口所接的是一个八段LED数码管(1)这个LED数码管是共阴极还是共阳极的?答:共阳极(2)读给定程序,写出每个语句的作用注释,并说明该程序的功能(3)当开关K3K2K1K0状态分别为“断通通通”时,执行程序后LED数码管的显示结果如何?断通通通:输出8通断通断:输出5断通断通:“全黑”,不显示#includereg51.h#defineucharusignedcharvoidmain(){ucharkbstatus;//定义字符型变量kbstatusucharzxb[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x88,0xff}//前十个数组元素显示0-9十个数字,最后一个代表“全黑”,即不显示while(1)//不断循环{P0=0xff;//将0xff作为p0的初始值kbstatus=P0&0x0f;//进行与运算,将p0高四位清零,低四位不变,获得kbstatus的值if(kbstatus0x0a)//如果kbstatus的值小于是10则显示数字,否则不显示P1=zxb[kbstatus];//显示对应的数字elseP1=zxb[10];//“全黑”,即什么都不显示}}P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0+5Vhgfedcbacom2、已知focs=12Mhz,如何利用定时器T1使图中发光二极管进行秒闪烁,即1S亮-暗,亮500ms,暗500ms,用C51写出程序2.解:T0方式1最大定时只能65ms余,取50ms,计数10次,即可实现500ms定时。//解释使用方式1使用16位,最大能计数2^16Fosc=12MHZ所以机器周期=1us所以最大计时=2^16*1us=2^16us所以500ms过大,所以定时取50ms中断10次T0初值=2^16-12×50×10^3/12=15536=3CB0HTH0=3CHTL0=B0HTMOD=00000001B=01H//代码如下:#includereg51.hcharcount=0;voidmain(void){TM
本文标题:嵌入式考试复习资料_final
链接地址:https://www.777doc.com/doc-2517888 .html