20xx单片机考试题库及答案(编辑修改稿)内容摘要:

II码 . 解 MAIN: MOV A,R3 ;待转换的数送 A MOV DPTR,TAR ;表首地址送 DPTR MOVC A,@A+DPTR ;查 ASCII码表 MOV R3,A ;查表结果送 R3 RET TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 5 片内 RAM40H开始的单元内有 10B二进制数,编程找出其中最大值并存于 50H单元中. 解 START: MOV R0,40H。 数据块首地址送 R0 MOV R7,09H。 比较次数送R7 MOV A,@R0。 取数送A LOOP: INC R0 MOV 30H,@R0。 取数送30 H CJNE A,30H,NEHT。 ( A)与( 30H)相比 NEXT: JNC BIE1 (A)≥ (30H)转 BIR1 MOV A,30H。 (A)< (30H),大数送 A BIE1: DJNZ R7,LOOP。 比较次数减 1,不为 0,继续比较 MOV 50H,A。 比较结束,大数送 50H RET 第 四章 41填空 8031系统时 , P0、 P2 口不能用作一般 I/O口 . 串行接口有 4 种工作方式 ,这可在初始化程序中用软件填写特殊功能寄存器 __SCON _加以选择 . ,最佳的传输方式是 中 断 . T0工作在方式 3时 ,要占定时器 T1 的 TR1和 TF1_两个控制位 . 有 5 个中断源 ,有 2 个中断优先级 ,优先级由软件填写特殊功能寄存器 IP 加以选择 . ,串行接口工作方式应选为方式 0 . ,有数据传送方向单工、半双工、全双工三种方式 . 0入口地址为 _ 0003H 42判断 5个中断源优先级相同。 ( ) , MCS51串行接口的工作方式应为方式 1。 ( ) , SBUF=00H。 ( )。 3个中断源 ,优先级由软件填写特殊功能寄存器 IP加以选择 .. ( ) ,串行接口工作方式应选为方式 1. ( ) INTO 入口地址为 _0013H( ) 0的入口地址是 0003H。 (√ ) . GATE=1时,表示由两个信号控制定时器的启停。 ( √ )。 8751且 =1时,仍可外扩 64KB的程序存储器。 ( ) 10. PC存放的是当前执行的指令。 ( ) 11. MCS51的特殊功能寄存器分布在 60H~80H地址范围内。 ( ) 有 4 个并行 I\O 口 ,其中 P0~P3 是准双向口 ,所以由输出转输入时必 须先写入 0( ) 43选择 ,至少应有一条 ( D ) (A)传送指令(B)转移指令(C)加法指法(D)中断返回指令 MCS51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( A ) (A) 98H (B) 84H (C) 42 (D) 22H ,下列哪种操作不会发生 ( A ). (A)保护现场 (B)保存 PC (C)找到中断入口 (D)保存 PC转入中断入口 MCS51串行接口扩展并行 I\O口时 ,串行接口工作方式应选择 ( A ) (A)方式 0 (B)方式 1 (C)方式 2 (D)方式 3 - 51有中断源( A ) ( A) 5个 ( B) 2个 ( C) 3个 ( D) 6个 ,下面哪一个条件不是必须的( D ) ( A)当前指令执行完毕 ( B)中断是开放的 ( C)没有同级或高级中断服务 ( D)必须有 RETI指令 7.使用定时器 T0时,有几种工作模式( D ) (A)1种 (B)2种 (C)3种 (D)4种 ,保护现场的工作方式应该是 ( C ) (A)由 CPU自动完成 (B)在中断响应中完成 (C)应由中断服务程序完成 (D)在主程序中完成 ( C ) (A)DMA (B)无条件传递进 (C)中断 (D)条件传递 编程题: 利用单片机的 P1 口接 8 个 发光二极管, P0 口接 8个开关,编程实现,当开关动作时,对应的发光二极管亮或灭。 只须把 P0口的内容读出后,通过 P1口输出即可。 汇编程序: ORG 0100H MOV P0, 0FFH LOOP: MOV A, P0 MOV P1, A SJMP LOOP C51语言程序: include void main(void) { unsigned char i。 P0=0xff。 for(。 ) { i=P0。 P1=i。 } } 2 设系统时钟频率为 12MHZ,用定时 /计数 器 T0编程实现从 500μ s的方波。 分析:从 500μ s的方波,只须 250μ s取反一次则可。 当系统时钟为 12MHZ,定时 /计数器 T0工作于方式 2时,最大的定时时间为 256μ s,满足 250μ s的定时要求,方式控制字应设定为 00000010B( 02H)。 系统时钟为 12MHZ,定时 250μ s,计数值 N为 250,初值 X=256250=6,则 TH0=TL0=06H 采用中断处理方式的程序: C语言程序: include //包含特殊功能寄存器库 sbit P1_0=P1^0。 void main() { TMOD=0x02。 TH0=0x06。 TL0=0x06。 EA=1。 ET0=1。 TR0=1。 while(1)。 } void time0_int(void) interrupt 1 //中断服务程序 { P1_0=!P1_0。 } 设系统时钟频率为 12MHZ,编程实现从 1s的方波。 这时应产生 500ms的周期性的定时,定时到则对。 由于定时时间较长,一个定时 /计数器不能直接 实现,可用定时 /计数器 T0产生周期性为 10ms的定时,然后用一个寄存器 R2对 10ms计数 50次或用定时 /计数器 T1对 10ms计数 50次实现。 系统时钟为 12MHZ,定时 /计数器 T0定时 10ms,计数值 N为 10000,只能选方式 1,方式控制字为 00000001B( 01H),初值 X: X=6553610000=55536=1101100011110000B 则 TH0=11011000B=D8H, TL0=11110000B=F0H。 ( 1)用寄存器 R2作计数器软件计数,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。