单片机原理习题集(全)(5)

2019-08-03 14:33

第七、八、九章 综合

一、 简单小程序编制:

注:所有多字节数的低字节都在低地址;R0或R1均指向内部RAM的最低字节。 1、 将30H、31H单元内容与T0计数器的TL0、TH0交换。保持其它R和M不变。 2、将30H、31H单元内容与5C30H、5C31H交换。保持其它R和M不变。

3、将30H、31H单元内容与R0指向的两字节单元交换。保持其它R和M不变。 4、将30H、31H单元内容与DPTR指向的两字节单元交换。保持其它R和M不变。 5、将30H、31H单元内容存入5C30H、5C31H单元。保持其它R和M不变。 6、将30H、31H单元内容加上数03C4H后存入5C30H、5C31H单元。 7、将30H、31H单元内容减去数03C4H后存入5C30H、5C31H单元。 8、将30H、31H单元内容除以2后存入5C30H、5C31H单元。 9、将30H、31H单元内容乘以2后存入5C30H、5C31H单元。 10、将30H、31H单元内容减1。保持其它R和M不变。 11、将30H、31H单元内容加1。保持其它R和M不变。

12、将外部RAM中的5C30H、5C31H单元内容乘以2。保持其它R和M不变。 13、将外部RAM中的5C30H、5C31H单元内容除以2。保持其它R和M不变。 14、将30H的低半字节和31H单元的高半字节交换。 15、将30H的高半字节和31H单元的高半字节交换。

16、将30H、31H单元的4位16进制数的中间两位数交换。

17、如果INT0为低,则,位30H改为它的值与P0口最低位的“反”相“与”后的值;否则,清30H位。

18、如果INT0为低,则,位30H改为它的值与P0口最高位的“反”相“或”后的值;否则,清30H位。

19、如果INT0为高,则,位30H改为它的值与P0口最低位相“或”后的值;否则,取反30H位。

20、如果INT0为低,则,A的最低位与A的最高位对调;否则,清除A。

21、如果INT1为高,则,A的最低位改为它的值与A的最高位的“反”相“与”后的值;否则,取反A。

22、改变30H单元为加上数0F7H后的值,如果产生进位,则,设置F0标志;否则,清除F0标志。

23、改变30H单元为减去数0F7H后的值,如果产生进位,则,设置F0标志;否则,清除F0标志。

24、如果30H内容等于数80H,则,P1.0置位;否则,P1.0清零。保持其它R和M不变。 25、改变30H、31H单元内容为乘以2后的值,如果产生进位,则,工作寄存器换用寄存器组1。

26、改变30H、31H单元内容为除以2后的值,如果余数为1,则,工作寄存器换用寄存器组3。

27、已知晶振频率为8MHZ,编一个子程序,延时150微秒。保持其它R和M不变。

20

28、已知晶振频率为6MHZ,编一个子程序,延时30微秒。保持其它R和M不变。 29、将从10H开始的64单元内容异或数5AH。保持其它R和M不变。 30、将由R0寻址的32个单元内容清为零。保持其它R和M不变。

31、将由R0寻址的32个单元内容移到R1寻址的单元中。保持其它R和M不变。

32、将由R0寻址的16个单元内容改为与R1寻址的单元相“异或”后的值。保持其它R和M不变。

33、将由R0寻址的32个单元内容改为与R1寻址的单元相“或”后的值。保持其它R和M不变。

33、将由DPTR寻址的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。 35、将从5C00H开始的100个单元内容移到5E00H开始的单元中。

36、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“或”后的值。 37、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“异或”后的值。 38、将从5C00H开始的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。 39、将从5C00H开始的100个单元中找出第一个内容不为00H的单元,其地址存入30H、31H。

40、将从5C00H开始的100个单元中找出最大的数和存该数的单元,数存入40H,地址存入30H,31H。

41、将从5C00H开始的100个单元中找出最小的数和存该数的单元,数存入40H,地址存入30H,31H。

42、将从5C00H开始的100个单元中找出第一个偶数和存该数的单元,数存入40H,地址存入30H,31H。

43、将从5C00H开始的100个单元中找出第一个奇数和存该数的单元,数存入40H,地址存入30H,31H。

44、编查表子程序,按40H中的索引数查出存在5C00H中的100个三字节数,存入30H,31H,32H。

45、编多分支转移程序段,按40H中的索引数,取转移地址表中的两字节地址,进行跳转。 46、将R0指向的三字节带符号数取负后存回。 47、将R0指向的三字节数取R2R3乘以R4的积。

48、将R0指向的二字节带符号数乘以2,校验是否溢出。 49、将R0指向的二字节带符号数除以2。 50、一字节带符号数R2R3=R4乘以R5。 51、将R0指向的二字节数乘以10。 52、将R0指向的2n字节的单字节BCD码转换成压缩BCD码,放于(R1)指向的n字节中。 53、将R0指向的n字节的压缩BCD码转换成单字节BCD码,放于(R1)指向的2n字节中。

二、优化编制小程序

A、用最少的机器周期编制以下各程序。

1、将R0所指的二字节数除以16,保持R0不变。

2、将R0所指的n字节(n存于A中)乘以16,保持R0不变。

21

3、不用乘法指令实现将R0所指的1字节数乘以10。 4、将二字节单元正整数(存于W1W0)整除以3。 B、用最短的程序长度编制以下各程序:

5、对由R0寻址的n字节数(n<127,R0指在最低字节上)乘以2k(k?8)的子程序,出口时R0不变。

6、全程范围(64k)的查常数表程序,入口常数指针存于W0(低),W1(高)中。 7、(R2)2=(R0)2+(R1)2,保持R0、R1、R2不变。

8、在从1000H开始的外部RAM中找出周期大于等于10H小于20H的第一组数据长度,找不到时长度取为0。

*三、综合程序编制:

1、编制一个能进行加、减运算的计算器,包括监控部分。 2、编制能让数码管以各种花样表演显示的监控及显示程序。 3、编制一个时钟程序,包含监控系统工程。 4、编制一个系统能做到:

按下MOV键时能将此之前的数字以输入时的速度再自动重现出来。

5、编一个监控,能输入数字及小数点,并将有小数点的数码管以约每秒3~4次闪烁,其余数码管保持不变的方式显示。

6、编制一个复位后能继续原有工作的监控程序。例如保持原有花样显示表演或计算器工作的系统。

22


单片机原理习题集(全)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小升初数学综合模拟试卷(一)及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: