⑴ 单片机习题解答
39. RC A为循环左移指令(F ) 40.MOV A,30H为立即寻址方式( F ) 41.如果发生除法溢出错误,则PSW标志位P置1。(F ) 42.如JC rel发生跳转时,目标地址为当前地址加上偏移量rel( T ) 43..MOV A,@A+DPTR是一条查询指令( F ) 44.MUL AB的执行结果是高8位在A中,低8 位在B中( F ) 45.离散信号都是数字信号( F ) 46.在A/D变换时,抽样频率越高越好( F ) 47.CPU对内部RAM和外部RAM的读写速度一样快( F ) 48.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序存储器中寻址( F) 49.外加晶振频率越高,系统运算速度也就越快,系统性能也就越好( F ) 50.(-86)原=11010110 (-86)反=10101001 (-86)补=10101010 ( T )
51.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 ( T )
52.MCS-51的相对转移指令最大负跳距是127B。 ( T)
53.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。( F )
54.要MCS-51系统中,一个机器周期等于1.5μs。( F,1us )
55、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。( T )
56、MOV A, R0,这是寄存器寻址方式。 ( T )
57、8051单片机的P0口既可以做数据口线又可以做为地址口线 。 ( T)
58、CPU和外设之间的数据传送方式主要有查询方式和中断方式,两者相比后者的效率更高。 ( T)
59、8051内部有4K的程序存储器 ( F,8kB )
60、MCS-51单片机共有两个时钟XTAL1 和XTAL2 ( T )
61、五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断 ( T如果是8051单片机,8052就不对了 )
62、工作寄存器工作在0区,则R2 所对应的内部数据存储器的地址是03H 。( F)
63、MOVC A @A +DPTR ,这是条相对寻址指令 ( T )
64、8051单片机的P2口只能用作通用I/O 口 ( T )
65、程序存储器和数据存储器的作用不同,程序存储器一般用存放数据表格和程序,而数据存储器一般用来存放数据 ( T )
66、要进行多机通信,MCS-51串行接口的工作方式应为方式1。 ( F )
67、TMOD中的GATE=1时,表示由两个信号控制定时器的启停。 ( T )。
68、MCS-51外扩I/O口与外RAM是统一编址的。 ( F )。
69、使用8751且 =1时,仍可外扩64KB的程序存储器。( T)
70、8155芯片内具有256B的静态RAM,2个8位和1个6位的可编程并行I/O口,1个14位定时期等常用部件及地址锁存器。(T )
71、我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。 ( T )
72、.MCS-51上电复位时,SBUF=00H。 ( F )。 SBUF不定。
73、使用可编程接口必须处始化。 ( T )。
74.8155的复位引脚可与89C51的复位引脚直接相连。( 不知道 )
75.MCS-51是微处理器。( F )不是。
76.MCS-51系统可以没有复位电路。( F)不可以。复位是单片机的初始化操作。
77.要MCS-51系统中,一个机器周期等于1.5μs。( F,12mhZ )若晶振频率屡8MHz,才可能为1.5μs
78.计算机中常作的码制有原码、反码和补码( T )
79.若不使用MCS-51片内存器引脚EA必须接地. ( T )
⑵ 单片机编程知识九大问答知识
单片机编程知识九大问答知识
为帮助大家更加了解单片机编程知识,下面,我为大家分享单片机编程知识问答知识,希望对大家有所帮助!
搞单片机开发,一定要会C吗?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。
当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好?
答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。
C语言和汇编语言在开发单片机时各有哪些优缺点?
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的.一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题,而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
如果对单片机C语言有兴趣,HOLTEK的单片机就有提供C编译器,可以到HOLTEK的网站免费下载使用。
C或汇编语言可以用于单片机,C++能吗?
答:在单片机开发中,主要是汇编和C,没有用C++的。
在教学中要用到8088和196芯片单片机教材,请问哪里可以找到关于这方面的书或资料?
答:有关这方面的教材,大学里常用的一本是《IBM-PC汇编语言程序设计》清华大学出版社出版的,在网上以及书店都是可以找到的,另外网上还可以搜索到很多其他的教材如:《微机原理及汇编语言教程》(杨延双 张晓冬 等编着 )和《16/32 位微机原理、汇编语言及接口技术》(作者: 钟晓捷 陈涛 ,机械工业出版社 出版)等,可以在较大型的科技书店里查找或者直接从网上订购。
初学者到底是应该先学C还是汇编?
答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
我是一名武汉大学电子科技大3的学生,学了电子线路、数字逻辑、汇编和接口、C语言,但是总是感觉很迷茫,觉好象什么都不会,怎么办?
答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2-3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。
请问作为学生,如何学好单片机?
答:学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有帮助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可能的话,可以到电子市场去买一些小零件,自己搭一个小系统让它工作起来。
如何才能成为单片机的高手啊?
答:要成为单片机高手,应该多实践,时常关注单片机的发展趋势;经常上一些相关网站,从那里可以找到许多有用的资料。
;⑶ 单片机问题急需答案!!!
填空
一89C51单片机内部ROM的容量为(4KB)。
二.我们用的单片机一共有(2)个(16)位的定时/计数器
三.单片机的存储器空间一共有四个,分别是(内部数据存储器)(内部程序存储器)(外部数据存储器)(外部程序存储器)
四.我们要让单片机工作,得要向单片机发布指令,单片机只能接受(开关数字)格式的指令,而我们人则不习惯与这种方式,因此我们通常用(助记符)的格式写指令。
五.MOV A ,#21H中,#21H的寻址方式称之为(直接寻址)。MOV类指令称之为(数据传送指令)
六.串行通讯方式分为(同步通讯)(异步通讯)两种方式
判断
一.8031芯片内一共有4K的ROM,256字节的RAM (错)
二.8位构成一个字节,一个字节所表达的数的范围是0-255 (对)
三.8031中的工作寄存器就是内部RAM中的一部分 (对)
四.8031中特殊功能寄存器(SFR)就是内部RAM中的一部分 (对)
五.MOV A,@R0这条指令中@R0的寻址方式称之为寄存器间之寻址(错)
名词解释
一字节: 指一个位(BIT)的数据宽度
二寻址: 指单片机在程序运行过程中对数据的读出和写入的操作
三特殊功能寄存器:
四指令:
五中断:
写出下列指令执行的结果
一
MOV A, #10H……(A=10H)
MOV R0, #20H……(R0=20H)
MOV 17H, R0……(17H(地址)=20H)
MOV @R0, A……(20H(地址)=10H)
MOV 22H, A……(22H(地址)=10H)
MOV R1,#17H……(R1=17H)
MOV A,@R1……(A=17H)
MOV 22H, A……(22H(地址)=17H)
MOV 11H,22H……(11H(地址)=17H)
二
MOV DPTR,#2314
MOV R0,DPH
MOV 14H,#22H
MOV R1,DPL
MOV 23H,#56H
MOV A,@R0
XCH A,DPH执行以上指令后A=(27H)DPTR=(2314)
三
MOV A,R0
MOV DPTR, #TAB
MOVC A,@A+DPTR
.
.
TAB:DB 13H,22H,33H,44H,67H
设执行该段程序之前(R0)=2,则执行完后(A)=(33H)
四
MOV A,#23H
MOV B,#33H
PUSH A
PUSH B
POP A
POP B
执行完本段指令后(A)=(23H) ,(B)=(33H)
简答
一简述PSW个各位的功能
二简述软件发法去键盘抖动的思路
三简述7段LED显示器结构
四简述中断的响应过程
⑷ 单片机常见故障及处理
一些单片机常见问题的解决办法
工作和生活中会遇到许许多多的问题,可能让你一时陷于其中,但是总有解决的办法。随时记下遇到的问题,并做好总结,一方面有助于积累,另一方面也避免同一次错误再犯。
1.PIC12F629仅有一个中断入口,要避免多个中断引发的冲突。
2.引脚电平变化触发中断,和外部INT中断,在总中断GIE清零的时候,不会进入中断程序执行。
3.单片机进入休眠时,要唤醒,常常使用引脚电平变化中断或者外部INT中断。若是前者,按键按下时会唤醒,按键抬起时也会唤醒。如果这个时候还有别的中断,如初始化了定时器,GIE置位了,两种中断就会冲突
4.如果PIC单片机的I/O口作为输入引脚使用,初始化时必须要关比较器,否则,不会响应。
5.看门狗溢出会导致单片机从休眠中醒来。
6.使用PT2262和单片机做发射端时,如果用电池,要做到最省电。正常时,单片机休眠,PTT2262不上电,可以用三极管控制PTT2262的电源端,仅在发射时上电一次。
7.315MHZ的调幅电路中,选频电感可以使用模压电感,也可以自己绕,当然最好使用一端环形PCB铜线。
8.315Mhz的收发天线长度计算公式:L=1/4波长;而波长=3.0*10^8/315Mhz 算出 最佳匹配天线约25cm,可以使用拉杆天线,当然在PCB上用一段长的粗线也可以。
9.接收端使用的是超再生接收电路,网络上普遍流传的那张图纸被人原搬下来后,可以使用,我也剽窃了一次,希望也可以。要想看懂,真不容易。
10.P沟道的MOS管能不用就不用,价格昂贵不说,导通电阻大,功耗大,单片机输出0时很容易打开,但是输出1时,如果MOS管源极接的是高于单片机高电平的电压,是关不断的,需要借助三接管关断。
10.把过孔设成外径0.4mm,孔径0.2mm理论上可以,但是有人告诉我PCB加工厂可能做不出来,但我觉的问题不大
11.调试时一定要有耐心。沉住气,多反思,没有谁一下子就会成功,之前都会失败很多次。想不通时把问题说出来,旁观者清,别人可以给你启示。
⑸ 单片机填空题求答案
1,8031单片机芯片共有 40 个引脚,MCS-51系列单片机为8 位单片机.
2,8031的异步通信口为全双工(单工/半双工/全双工),
3,8031内部数据存储器的地址范围是00H-7FH,位地址空间的字节地址范围是20H-2FH,对应的位地址范围是00H-7FH,外部数据存储器的最大可扩展容量是64K字节.
4.当MCS-51执行MOVC A,@A+PC指令时,伴随着 PSEN*控制信号有效.当单片机复位时PSW= 00 H,这时当前的工作寄存器区是 0区,R4所对应的存储单元地址为 04 H.
5,由8031组成的单片机系统在工作时,EA*引脚应该接 地(或0);
6,8031外部程序存储器的最大可扩展容量是 64K ,其地址范围是0000H~ FFFFH .ROM芯片2764的容量是 8 KB,若其首地址为 0000H,则其末地址 1FFFH .
7,8031的中断源有 外中断0, T0 ,外中断1, T1,串行口,有 2 个中断优先级.
8,8031唯一的一条16位数据传送指令为 MOV DPTR,data16.
9.LJMP的跳转范围是64K,AJMP的跳转范围是 2K B,SJMP的跳转范围是 ±128 B(或256B) .
10,若A中的内容为68H,那么P标志位为 1.
11MCS-51系列单片机有5个中断源,中断分为2个中断优先级
12串行口方式3发送的第9位数据要事先写入( SCON )寄存器的( TB8 )位。
13若A中的内容为88H,那么,P标志位为( 0 )
14若MCS-51外扩8KB 程序存储器的首地址若为1000H,则末地址为(2fff )H
希望帮到你
⑹ 单片机面试问题及答案
单片机面试问题及答案
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的.高速单片机,下面就是单片机面试问题及答案。
你所知道的单片机的品牌
ATmel、Philips(飞利浦)、Windond(华邦)、intel(因特尔)、Siemens(西门子)
STC、凌阳、FREESCALE(飞思卡尔),Micrichip,TOSHIBA,TI,ST,SILICON,SAMSUMG,ELAN,富士通,TOLTEK
用熟悉的单片机写一个软件延时10ms的程序
void delay10ms()
{
uint i,j;
for(i=10;i>0;i--)
for(j=110;j>0;j--);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)//i=xms 即延时约xms毫秒
for(j=110;j>0;j--);
}
你所知道的排序算法
1、直接插入排序
2、希尔(Shell)排序
3、交换排序
4、快速排序
5、选择排序
6、堆排序
7、基数排序
;⑺ 求单片机试题答案
21-25:ADBCC(或上0f,肯定是高4位不变,低4位变F)
26:B(工作在方式2,肯定不会选C)
27:D(JB
为1时转移,记数满后TF0置1)
28:D(T1中断地址)
29:C(开总中断,开外部中断0)
30:C(抄的楼上的,我忘了怎么算)
31:B
32:B(用作地址指针)
33:B
34:D(LCALL调用子程序,要保护现场,子程序完成后再返回,会影响SP)
35:C(SJMP无条件,LCALL,ACALL不是跳转,是调用子程序,DJNZ要有条件)
36:D(或上0b1000000,最高位为1,其它不变)
37:A
38:A(响应外部中断0后PC为外部中断0的入口地址0x0003)
39:A(EA为总中断,置1时开总中断)
40:外部中断0和1
⑻ 求高手解答单片机问题。
3、在 MCS-51中,PC和DPTR都用于提供地址,PC为访问( 程序 )存储器提供地址,而DPTR是为访问( 数据、以及 程序 )存储器提供地址。
6、单片机位寻址区的单元地址是从( 20H )单元到( 2FH )单元,若某位地址是09H,它所在单元的地址应该是( 21H )。
12、当单片机CPU响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。其中
INT1 的入口地址为(0013H),
串行口入口地址为( 0023H ),
T0 的 入口地址为(000BH)。
13、P0、P1、P2、P3四个均是(8)位的(并行)口(填“串行”还是“并行”),其中P0的功能是( 输出外部存储器的低8位地址 和 输入输出数据 )。
20、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,
保护现场用( PUSH )指令,
恢复现场用( POP )指令。
22、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择( 0 )。
25、假定(SP)=40H,(39H)=30H,(40H)=60H。执行下列指令:
--题目有错,39H、40H,不是连续的单元,不能当做本题目的已知条件。
POP DPH ,POP DPL后,DPTR的内容为( ),SP的内容是( )。
26、单片机的堆栈栈顶由( SP )来指示,复位时起位置在( 07H )单元。
27、
单片机内部数据传送指令( MOV ),用于单片机内部RAM单元及寄存器之间,
单片机与外部数据传送指令( MOVX )用于单片机内部与外部RAM或I/O接口之间,
( MOVC )指令用于单片机内部与外部ROM之间的查表。
31、8751有两个16位可编程定时/计数器,T0和T1。它们的功能可由控制寄存器( TMOD ) 、( TCON )的内容决定,
且定时的时间或计数的次数与( THx )、( TLx )两个寄存器的初值有关。
32、串行口的控制寄存器SCON中,REN的作用是( 允许接收控制位 )。
38、MCS-51的指令可分为几种不同的寻址方式。如:
MOV A,20H属于( 直接 )寻址方式,
MOVC A,@A+DPTR 属于( 变址 )寻址方式,
MOV C, bit 属于( 位 ) 寻址方式。
⑼ 单片机考试答案
1. 不同文件中的全局变量在使用时需要声明该变量为extern。( √ ) 2. 当定时器T1产生溢出时,T1中断标志位TF0由硬件自动置1,向CPU请求中断处理。( √ ) 3. 当系统中多个中断源同时请求中断时,CPU按中断源的优先级别,由高至低分别相应。( √ ) 4. 计数寄存器由TH和TL两个寄存器构成16位定时器/计数器。( √ ) 5. 在编写单片机与键盘接口程序时不一定要对键盘有去抖动措施。( ╳ ) 6. 单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。( ╳ ) 7. 振荡周期越小(或振荡频率越高),执行C语言语句的时间就越短。( √ ) 8. AT89S51内部有两个定时器/计数器。( √ ) 9. 定义函数时在函数类型前加上关键字static,那么该函数只能作为内部函数。( ╳ ) 10. 中断寄存器有3个,分别为中断标志寄存器TCON和SCON、中断允许控制寄存器IE。( ╳ )
⑽ 求解一些单片机的问题。。。
1.既然题目都说不能保护断点,答案是对,为什么还要问它是怎么保护断点的。
2.MOVC A,08FEH,因为@A+PC之后不一定会等于08FEH,除非你确保,但这种做法不提倡,MOVC A,@A+PC这种语法是用于查表用的。
3.EA只是决定CPU是仅仅访问片内程序存储器中的指令还是访问内外程序存储器中的指令,也是说当EA接高电平时,当PC的值超过4K就会自动访问片外的程序,当接电平,PC是直接访问片外的程序而不管内部的程序存储器中的指令。