36、 试编写延时2ms的程序
37、 用查表程序求0~8之间整数的立方。
38、编写有6个命令键的散转程序。键号为0、1、2、3、4、5;6个键A、B、C、D、1、2的ASCII码放在累加器A中。 39、按下列要求编程。 (1)R7内容送R6中;
(2)外RAM 50H单元内容送内RAM 50H单元; (3)外RAM 1000H单元内容送外RAM 2000H单元; (4)ROM 1000H单元内容送外RAM 8000H单元;
40.已知无符号二字节乘数存在42H41H中,另一无符号乘数存在40H中,试编程实现: 42H41H×40H→42H41H40H
41.已知fosc = 12MHz,试编写延时2s子程序。
42.用软件实现逻辑运算:Q = (R+S)T+(U+V)。其中Q、R、S、T、U和V均为位变量,依次存放在以位地址40首址的位寻址区中。
43.已知某单片机系统每隔1s测一次温度,8位温度A/D值存在特殊功能寄存器SBUF中,试求其1分内的平均值,存40H。
44.已知显示数(≤255)存在30占,试将其转换为共阴显示字段码,存入首址为40H的内RAM中(设共阴显示字段码表已知,且已存在首址为TABD的ROM中)。 45.已知外RAM1000H单元开始存有一组数据,其长度存放在该数据区首字节,要求统计出其中大于10、等于10和小于10 的数的个数,并把统计结果分别存入内RAM 30H~32H单元。
46.已知图8-15循环灯电路,VRXD、VTXD、PIOX1分别为P1.5~P1.7,试利用单字节虚拟串行输出子程序VUARTO编制程序,使发光二极管从右到左,每隔0.5秒依次点亮,不断循环。
47.已知图8-16并入串出电路,VRXD、VTXD、PIOX1分别为P1.0~P1.2,试利用单字节虚拟串行输出子程序VUARTI编制程序,每隔1秒(运用T0中断,fosc=6MHz)从74HC165并行口输入状态数据,并存入内RAM 30H。
48.80C51 P1.4~P1.7分别与93C46 CS 、SK、DI和DO相连,试将80C51内RAM中以30H为首址的10字节数据存入AT93C46首址为40H的区域中。
49.试统计某展览会参展人数。已知展览会有4 个入口,且均已安装检测探头,每进入一人,能产生一个负脉冲,分别输入P3.2、P3.3、P3.4、P3.5。估计参展人数多于10万,试编程,将累计参展人数存32H、
50.已知循环灯电路图6-4,试编程使发光二极管从右至左,每隔0.3秒依次点亮,不断循环。
51.试以串行方式1设计一个发送程序。已知fosc = 11.0592MHz,波特率为2400b/s,SMOD = 1,16个发送数据存在内RAM30H为首地址的区域中。 52.设计一个串行方式2发送子程序(SMOD=0),将片内RAM 40H~47H中的数据串行发送,第9数据位作为奇偶校验位(不校对)。
53.编制一个串行方式2接收子程序(SMOD=1),接收10个数据,并核对奇偶校验位,接收核对正确,存首址为50H的内RAM中;发现错误,置位错误F0,并停止接收。
54. 已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。 CY A DPTR 片外01H 片外00H 片外8000H 55、根据图示电路,编写程序,使0832输出负向锯齿波。
56、设计用单片机P1口控制1位共阴极LED。按键1按下,循环显示0~5,按键2按下,按100μs的间隔显示0和1。设计硬件电路,并编程实现上述功能。
57、单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz, 请编程实现。
58. 使用定时器中断方法设计一个秒闪电路,让 LED 显示器每秒钟有 400ms 点亮。假定晶
振频率为 6MHz ,画出电路连接图并编写程序。
59. 使用 8031 设计一个键盘接口(可用 8155 或 8255)。键盘共有 12 键(3 行× 4列)其
中 10 个为数字键 0 ~ 9 ,两个为功能键 RESET 和 START 。具体要求如下:
(1) 按下数字键后,键值存入 3040H 开始单元中。 (2) 按下 RESET 键后,将 PC 复位为 0000H
(3) 按下 START 键后,系统开始执行用户程序(用户程序的入口地址为 4080H )试画
出该接口的硬件连接图并进行程序设计。
60. 试为 8051 设计一个 LED 显示器接口,该显示器共有八位,从左到右分别为 DG1 ~
DG8(共阴极接法),要求将内存 3080H ~ 3087H 八个单元中的十进制数(BCD)依次显示
在 DG1 ~ DG8 上。要求:画出电路图并进行编程。
61.已知MCS-51单片机系统片内RAM20H单元存放乐一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
62、请写出完成下列操作的指令:
(1)使累加器A的低4位清0,其余位不变。 (2)使累加器A的低4位置1,其余位不变。 (1)使累加器A的低4位取反,其余位不变。
63、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 (1)使ACC.0置位; (2)清除累加器高4位;
(3)清除ACC.3,ACC.4,ACC.5,ACC.6。
64、试编写程序段实现外部RAM 2000H单元的内容传送到内部RAM 20H中的操作。 65、试编写程序段实现外部RAM 2000H单元的内容传送到外部RAM 3000H中的操作。
66、试编写程序段,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。
67、试编写程序段,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,31H单元存差的高8位,30H单元存差的低8位。 68、试编写程序段,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
69、试编写程序段,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。
70、在内部RAM 的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出最大数存入BIG单元。
71、编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。
72、编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。
73、设有100个无符号数,连续存放在外部RAM 1000H地址开始的区域,编程统计其中的正数、负数和0的个数,并分别存放在内部RAM的20H、21H、22H单元中。
74、编程分别将外部RAM的0000H~0000FH、1030H~1050H、2050H~3000H地址单元清零。
75、试编程对8255初始化,使其A口按方式0输入,B口按方式1输出,C口上半部分按方式0输出,下半部分按方式1输出。
76、编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。
77、已知系统的连接如图所示,试编写程序实现下列功能: (1)编写显示程序,显示“123456”。
(2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号; 无键按下,保持原有显示状态。
78、试设计MCS-51与DAC0832的接口电路,并编制程序,输出图所示波形。
79、设计并编程,完成单片机的双机通信程序,将甲机片外RAM的1000H~100FH的数据块通过串行口传送到乙机的20H~2FH单元。
80.片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 =.
81.试编程对8155进行初始化,设A口为选通输出,B口为选通输入,C口作为控制联络口,并启动定时器/记数器按方式1工作,工作时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHz。
82.试将8031单片机外接一片2716 EPROM和一片6116 RAM组成一个应用系统,请画出硬件连线图,并指出扩展存储器的地址范围。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机编程题练习(2)在线全文阅读。
相关推荐: