- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)