单片机编程习题.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单片机编程习题

单片机编程习题 张建荣 江西应用技术职业学院 1、某温度控制系统,采集的温度值(Ta)放在累加器A中。此外,在内部RAM54H单元存放控制温度下限制(T54),在55H单元存放控制温度上限制(T55)。若Ta >T55,程序转向JW(降温处理程序);若Ta<T54,则程序转向SW(升温处理程序);T55≥Ta≥T54,则程序转向FH(返回主程序)。 2、已知有10个单字节数,依次存放在内部RAM 40H单元开始的数据存储区中,求和并将结果存人寄存器R2、R3中(高位存R2,低位存R3)。 3、假设从内存RAM的50H单元,连续存放一串字符,以回车符(其ASCII码为0DH)作为结束标志,要求测出该字符串的长度。测试方法可采用将该字符串的每一个字符与回车符依次相比,若不相等,则将统计字符串长度的计数器加l,继续比较;若比较相等,则表示该字符串结束,这时计数器中的值就是字节符串的长度。 4、编制用软件方法延时1S的程序 5、假设在片内RAM中,起始地址为40H的10个单元中存放有10个无符号数。试进行升序排序。 6、求两个无符号数据块中的最大值。数据块的首地址分别为60H和70H,每个数据块的第一个字节都存放数据块的长度,结果存人5FH单元。 7、设变量 x 以补码的形式存放在片内RAM的30H单元,变量 y 与 x 的关系是:当 x 大于0时,y =x;当 x =0时,y =20H;当 x 小于0时,y =x+5。编制程序,根据 x 的大小求y并送回原单元。 8、根据R7的内容转向相应的处理程序。 设R7的内容为0~N,对应的处理程序的入口地址分别为PP0~PPN。 9、50ms延时程序。 若晶振频率为12MHz,则一个机器周期为1μs。执行一条DJNZ指令需要2个机器周期,即 2μs。采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的循环结构。 10、将内部RAM中起始地址为data的数据串传送到外部RAM中起始地址为buffer的存储区域内,直到发现‘$ ’字符停止传送。 11、编写程序,实现c=a2+b2 。设a,b,c分别存于内部RAM的30H,31H,32H三个单元中。 12、设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位数相加的程序。 13、编写一段程序,把外部RAM中1000H~1030H的内容传送到内部RAM的30H~60H中。 14、编写程序,实现双字节无符号数加法运算,要求 (R1R0)+(R7R6)→(61H60H)。 15、若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。 DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$ DJNZ R7,LP RET 16、在内部RAM 的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出最大数存入BIG单元。 17、编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。 18、编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。 19、编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。 20、试编写一段程序,其功能为将30~32H单元的内容拆成6个半字节依次存放到33~38H单元,既 21、试用逻辑操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。 22、试用位操作指令编一个程序,对P1口操作,置位P1.2,清“0”P1.4,不影响P1口的其它位。 23、试编写一段程序,其功能为将内部30~32H和33~35H中两个3字节压缩BCD码十进制数相加,将结果以单字节BCD码形式写到外部RAM的1000H~1005H单元。 24、试编制一段程序,其功能为当P1.2上跳时对P1.1的输入脉冲进行计数,当P1.2下跳时停止计数,并将计数值写入R6R7。(假设计数值小于) 25、阅读教材P145页例45~50的程序,分别写出它们的功能。 26、某机床动力头,其行程如图(a)所示, SQ1、SQ2为左、右行程开关,要求: 1)每次按SB1启动,工作3个来回后停止,等待下 次启动 2)每次按SB2按钮,在完成当前进给后,停在初始

文档评论(0)

dd545454 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体肖**

1亿VIP精品文档免费下

相关文档

相关课程推荐