内容提示:单片机的编程题怎么莋编程题参考程序
文档格式:DOC| 浏览次数:14| 上传日期: 02:32:41| 文档星级:?????
全文阅读已结束如果下载本文需要使用
BCD码(高位在前)并存入外部RAM 1000H开始嘚单元中
《单片机的编程题怎么做原理及应用》编程题题库 17、 设有两个长度为16字节的数组,分别存放在外部RAM 0200H和0300H为首址的存储区域中
试編写程序求其对应项之和(不考虑溢出的情况),结果存放在以0400H为首址的外部RAM中 六、编程(每题10分)
18、 编程求内部RAM中40H~4FH共16个单元中的内嫆的和(结果为2字节),并将和放入50H和
1、 内部RAM 30H和31H单元中存放着2个0-9的ASCII码(高位字节在前)请将其转换为压缩BCD
51H单元中(高8位在50H)。
码(高位茬前)并存入外部RAM 2300H单元中
19、 有一个长度为16字节的ASCII码字符串存放在外部RAM 1000H为首址的存储区域中,字符串
2、 将存放在内部RAM 30H-35H单元的压缩型BCD码转换荿相应的ASCII码依次存放到外部RAM
中的每一个字符均不相同,试编写程序查找字符串中是否存在ASCII码“9”如果在字符串中存在ASCII
2100H开始的单元区中。
码“9”则将其存储单元的地址存放到内部RAM 30H和31H单元中(高8位地址在30H单元中),同时将
3、 内部RAM 20H和30H开始的单元分别存放着16个16进制数请将对應单元的内容相加(不考
OV标志位清零。否则将30H和31H单元的内容清零,并将OV标志位置“1”
虑溢出),并将和存入外部RAM 2000H开始的单元中
20、 有兩个8字节的16进制数a和b,它们分别存放在内部RAM中30H~37H和40H~47H的单元中
4、 请编写多字节无符号数减法程序被减数存放在内部RAM 20H开始的8个单元中,减數存放在内
(高位字节在前)请编程求a-b,并将差存入30H开始的内部RAM单元中(高位字节在前)若差小于零
部RAM 30H开始的8个单元,请将差存放到外部RAM 2000H开始的8个单元中借位存放到OV标志中。
则将F0标志位置“1”否则清零。
注意:所有数据均按照从低字节到高字节的顺序存放
5、 内部RAM 40H囷41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD
单元(设Z<256
码(高位在前)并存入外部RAM 2000H单元中。
22、 设外部RAM 2000H单元为数据块的起始地址数据块长度为10,试编程求数据块中的最小值
6、 将存放在内部RAM 20H-2FH单元的压缩型BCD码(高位在前)转换成相应的ASCII码,依次存放
到外部RAM 1000H开始嘚单元区中
7、 内部RAM 30H和38H开始的单元分别存放着8个压缩BCD码,请将对应单元的内容相加(不考
存到片内RAM的30H和31H单元(31H单元存放结果的高8位30H单元存放结果的低8位)。
虑溢出)并将和存入外部RAM 1000H开始的单元中。
24、 设外部RAM 1000H单元为数据块的起始地址数据块长度为60字节,试编程求数据块Φ所有
8、 请编写多字节无符号数加法程序被加数存放在内部RAM 20H开始的8个单元中,加数存放在内
数据的和并将其存入内部RAM 30H和31H单元(30H单元存放和的低8位,31H单元存放和的高8位)
部RAM 30H开始的8个单元,请将和存放到外部RAM 2000H开始的8个单元中进位存放到F0标志中。
注意:所有数据均按照从低字节到高字节的顺序存放
将结果保存到片内RAM的40H和41H单元(41H单元存放结果的高8位,40H单元存放结果的低8位)
9、 两个8字节压缩BCD码分别存放在內部RAM 30H和40H开始的连续单元中(低位字节在前),请2
将二者求和(不考虑溢出情况)并将和存入外部RAM 1000H开始的单元中。
30H和31H单元(31H单元存放结果嘚高8位30H单元存放结果的低8位)。
27、 设外部RAM 2000H单元为数据块的起始地址数据块长度为100字节。假设在数据块中存在
唯一的一个ASCII字符“A”试編程找到它,并将其在外部RAM的存放地址存入内部RAM 30H和31H单元
11、 内部RAM 30H和外部RAM 2200H开始的单元分别存放着两个8字节十六进制数(低位字节存
中(30H单元存放地址的高8位31H单元存放地址的低8位)。
放在前)请将二者相加(不考虑溢出情况),并将和存入内部RAM 40H开始的单元中 22
12、 请编写多字节無符号数减法程序。被减数存放在内部RAM 30H开始的8个单元中减数存放在
果保存到片内RAM的30H和31H单元(31H单元存放结果的高8位,30H单元存放结果的低8位)
内部RAM 38H开始的8个单元,请将差存放到外部RAM 1000H开始的8个单元中借位存放到F0标志中。2
注意:所有数据均按照从低字节到高字节的顺序存放
RAM嘚1000H和1001H单元(1001H单元存放结果的高8位,1000H单元存放结果的低8位)
13、 请编写多字节无符号数减法程序。被减数存放在内部RAM 20H开始的16个单元中减数存放
30、 设内部RAM 20H单元为数据块的起始地址,数据块长度为32字节请将整个数据块求和(共
在内部RAM 30H开始的16个单元,请将差存放到外部RAM 2000H开始的16个單元中借位存放到OV标
32字节的数据求和,设和小于65536)并把和存入外部RAM 1000H和1001H的单元中(和的高8位存入
志中。注意:所有数据均按照从低字节箌高字节的顺序存放
开始的单元中。(注:每个单元均先转换高四位)
RAM的2000H和2001H单元(2001H单元存放结果的高8位2000H单元存放结果的低8位)。
15、 将存放在内部RAM 30H-35H单元的十六进制数转换成相应的ASCII码依次存放到外部32、 将内部RAM 40H为起始地址的32个连续单元中的十六进制数转换成ASCⅡ码存入外部RAM
1100H开始的单元区中。(注:每个字节转换时先转换高四位)
3000H开始的存储单元中
16、 内部RAM 30H开始的单元中存放着16个0-9的ASCII码(高位字节在前),请将其轉换为压缩
33、 设内部RAM 20H单元为数据块的起始地址数据块长度为10H,数据为8位无符号数试编程