版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浙江大学远程教育学院微机原理与接口技术课程作业姓名:张鹏飞学 号:713128202005年级:13春学习中心:华家池第2章P522. 80C51单片机引脚有哪些第二功能?答:80C51单片机的P0 P2和P3引脚都具有第二功能。第一功能第二变异功能P0 口地址总线A0A7/数据总线D0D7P2 口地址总线A8A15P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器0的外部输出)P3.6WR(外部读写存储器或1/0的写选通)P3.7RD (外部读与存储器或1/
2、0的读选通)4. 80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间? 访问片内数据存储器和片外数据存储器的指令格式有何区别?答:80C51单片机采用哈佛(Har-yard)结构,即是将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围分别可达 64KB。1. 在屋里上设有4个存储器空间 片内程序存储器; 片外程序存储器; 片内数据存储器; 片外数据存储器。2. 在逻辑上设有3个存储器地址空间 片内、片外统一的64KB程序存储器地址空间。 片
3、内2568( 80C52为384 B )数据存储器地址空间。片内数据存储器空间,在物理上又又包含两部分:一对于80C51型单片机,从0127字节为片内数据存储器空间;从 128255字节为特殊功能寄存器(SFR)空间(实际仅占用了 20多个字节)。 片外64KB数据存储器地址空间。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM采用MOV指令,访问片外RAM则一定要采用 MOVX指令,因为MOVX 指令会产生控制信号 RD或WR,用来访问外 RAM。访问程序存储器地址空间,则应采用 MOVC指令。6.80C51单片机片内RAM低128个存储单元划分
4、为哪4个主要部分?各部分主要功能是什么?答:80C51片内RAM的低128个存储单元划分为 4个主要部分: 寄存器区:共4组寄存器,每组8个存储单元,各组以 R0R7作为单元编号。常用于保存操作数及中间结果等等。R0R7也称为通用寄存器,占用 00H1FH共32个单元地址。 位寻址区:20H2FH,既可作为一般 RAM单元使用,按字节进行操作,也可以对单元中的每一位进行位操作,称为位寻址区。寻址区共有16个RAM单元,共计128位,位地址为00H7FH。 堆栈区:设置在用户 RAM区内。 用户RAM区:在内部RAM低128单元中,除去前面 3个区,剩下的所有单元。13. 程序存储器指令地址、堆
5、栈地址和外接数据存储器地址各使用什么指针?为什么?答:程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令地址。程序计数器PC变化的轨迹决定程序的流程。PC的最基本的工作方式是自动加1。在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器, 程序的流向发生变化。 在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化。堆栈地址使用堆栈指示器 SP, SP在80C51中存放当前的堆栈栈顶所指存储单元地址, 是一个8位寄存器,对数据按照“先进后出”原则进行管理。外接数据存储器地址使用数据DPTR,是一个16位的特殊
6、功能寄存器,主要功能是作为片外数据存储器或1/0寻址用的地址寄存器,这时会产生RD或WR控制信号,用于单片机对外扩的数据存储器或 1/0的控制。数据指针DPTR也可以作为访问程序存储器的基址寄存 器,这时寻址程序存储器中的表格、常数等单元,而不是寻址指令。第3章P939. MOV、MOVC、MOVX指令有什么区别,分别用于那些场合,为什么?答:MOV指令用于对内部 RAM的访问。MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX指令采用间接寻址方式访问外部数据存储器或I/O,有Ri和DPTR两种间接寻址方式。MOVX指令执行时,在P3.7引脚上输出RD有效信
7、号或在P3.6引脚上输出 WR有 效信号,可以用作外部数据存储器或 1/0的读或写选通信号。15. 已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后 A的内容4ADDA , R1:(A )X10MOVR0, A: 存数ANL A , #0FFHORL 20H , AXRL A , R1CPL A答:各指令执行结果如下:MOVA,#55H ;(A)=55HANLA,#OFFH ;(A)=55HORL20H,A ;(20H)=FFHXRLA ,R1 ;(A)=AAHCPLA;(A) = 55H执行完程序段后, A的内容为 55H 。16 阅读下列程序,说明其功能MOVR0 ,#3
8、0HMOVA ,R0RL AMOVR1 ,ARL ARL AADDA ,R1MOV R0, A答 对应程序注释如下:MOVR0,#30H:( R0) =MOVA , R0: 取数RL A:(A)X2MOVR1,ARL A:(A) X4RL A:( A)X 8功能: 将 30H 中的数乘以 10 以后再存回 30H 中。条件:30H中的数不能大于25,25 X10=250仍为一个字节。若30H中的数大于25,则应 考虑进位。21读下列程序,请完成下列任务: 画出P1.0P1.3引脚上的波形图,并标出电压 V时间t坐标。 对源程序加以注释。ORG0000HSTART:MOVSP, #20HMOV3
9、0H, #01HMOVP1, #01H;MLP0 :ACALLD50ms;MOVA, 30HCJNEA, #08H , MLP1 ;MOVA, #01H;MOVDPTR , #ITAB;MLP2 :MOV 30H,AMOVCA, A+DPTR;MOVP1,ASJMPMLP0MLP1 :INCA;SJMP MLP26MOVP1, ADB 8, 4, 2, 1D50ms:;RET答: 程序功能:P1.0P1.3引脚上的波形图如下图 1所示。0. 05图1P1.0P1.3引脚上的波形图注释见源程序右边所述。ORG0000HSTART:MOVSP, #20HMOV30H,#01HMOVP1,#01H:
10、P1.0P1.3引脚输出波形MLP0 :ACALLD50ms: 软件延时50msMOVA, 30HCJNEA, A+DPTR:判表格中的数据是否取完?MOVA, #01H:取完,从表头开始取MOVDPTR, #1TAB:表格首地址MLP2 :MOV30H,AMOVC A, A+DPTR取表格中数据SJMPMLP0MLP1 :INCA:表格中数据未取完,准备取下一个SJMPMLP2ITAB:DB 0,1, 2, 4, 8:表DB 8,4, 2, 1D50ms::软件延时 50ms 子程序RET第 4章 P13210. 把长度为 10H 的字符串从内部 RAM 的输入缓冲区 INBUF 向设在外部
11、RAM的输出缓冲区OUTBUF进行传送,一直进行到遇见字符 “CF”寸停止,如 字符串中无字符“ CR”则整个字符串全部传送。加上必要的伪指令,并对源程序加以注释。答: 程序如下:ORG0000HAJMPMAINORG0030HMAIN:MOVR7, #10H;数据长度MOVR0, #INBUF; 源数据首地址MOVDPTR, #OUTBUF;目的数据首地址LOOP:MOVA, R0; 把源数据的值赋给 ACJNEA, # 0DH , LOOP1;是“ CR”( ASCII 码值为 ODH )?SJMPEND1; 是“ CR”, 则结束传送LOOP1 :MOVXDPTR , A;把 A 的值赋
12、给目的数据INCRO;源数据下一个地址值INCDPTR;目的数据下一个地址值DJNZR7,LOOP;判数据传送是否完毕?8ORG0000HAJMPMAINORG0030HMAIN:MOV20H,#0MOV21H,#0MOV22H,#0MOVR0,#31HLOOP:MOVA,R0JB ACC.7.INC_NEGCJNEA, #0, ING_POSINC21HAJMP LOOP1INC_NEG : INC 22HAJMP LOOP1INC_POS : INC20HLOOP1 :INC R0DJNZ 30H , LOOPEND例如: 已知( 30H)=08H,31H 单元起存放数据为:END1 :
13、SJMP END116. 80C51单片机从内部RAM的31H单元开始存放一组8位带符号数,字节个数在 30H 中。请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。加上必要的伪指令,并对源程序加以注释答 程序如下:;统计结果存放单元初始值为 0;数据首地址;取数据;符号位为 1,该数为负数,跳转加 1;该数为 0,0 个数加 1;该数为负数,负数个数加 1 该数为正数,正数个数加 1指向下一数据地址判断统计是否结束00H, 80H, 7EH, 6DH, 2FH, 34H, EDH,FFH。10执行结果:(20H) =04H,(21H)=01H,(
14、22H)=03H 。17. 两个10位的无符号二一进制数,分别从内部RAM的40H单元和50H单元开始存放。请编程计算该两个数的和, 并从内部 RAM 的 60H 单元开始存放。加上必要的伪指令,并对源程序加以注释答分析: 1 0位的无符号二十一进制数,占 5 个字节, 每个字节存放一个压缩 BCD( 2 位)。ORG0000HAJMPMAIN12ORG 0030HMAIN :MOVR7,#05HMOVRO,#40HMOVR1 ,#50HMOVR2,#60HCLRCADDB:MOVA,R0ADDCA,R1DAAMOVB,R0MOV20H,R2MOVR0,20HMOVR0, AMOVR2,20H
15、MOVR0,BINCROINCR1INCR2INCR7,ADDBHERE:SHMP HERE;十位( 5 个字节)计数;被加数首址;加数首址;和数首址;清 C 标志位;二一十进制调整;保护被加数地址;存和; 恢复和数地址;恢复被加数地址;三个地址指针均加 1; 多字节加未结束,则循环END注意:寄存器间接寻址只针对 R0和R1,所以存和时不能使用指令MOV R2 , A。例如:40H44H 内容为 78H, 10H, 10H, 10H, 10H50H54H 内容为 42H, 10H, 10H, 10H, 10H即 BCD 数 1 0 1 0 1 0 1 0 7 8+1 0 1 0 1 0 1
16、0 4 22 0 2 0 2 0 2 1 2 0运行结果:60H64H 单元中的数为 20H, 21H, 20H, 20H, 20HP1773.请编程实现80C51单片机产生频率为100kHz等宽矩形波(定时器/计数器T0,方式0,定时器中断),假定80C51的晶振频率为12MHz。加上必要的伪指令,并对源程序加以注释答分析:100kHz等宽矩形波,周期为10卩s,定时周期为5卩s,机器周期为1卩s。计算:TC= 213 (12 106 5 10上)“12 =8187 = 1FFBH方式0:定时常数TCH=FFH, TCL=1BH 。00000130AJMPMAINORG000BH;定时器T0
17、中断矢量000B0141AJMPINTERORG0030H0030 758900 MAIN:MOVTMOD, #00H;写控制字,设T0为定时器,方式0033728CFFMOVTH0, #0FFH;写定是常数,定时为 5卩s0036758A1BMOVTH0 , #1BH0039D28CSETBTR0;开启定时器T0003BD2A9SETBET0;允许定时器T0中断ORG0000H013003F013FAJMP$;中断等待;定时器T0中断服务子程序0041758CFF INTER :MOVTH0,# 0FFH;重写定时常数0044758A1BMOVTL0,# 1BH0047B290CPLP1.0
18、;P1 口作为输出端,变反输出004932RETI;中断返回END第8章P2792.如何构造80C51单片机并行扩展的系统总线?答:80C51并行扩展的系统总线有三组。 地址总线(A0A15):由P0 口提供8位地址A0A7,P0 口输出的低 8位地址A0A7必须用锁存 器锁存,锁存器的锁存控制信号为单片机引脚ALE输出的控制信号。由P2口提供高8位地址A8A15。 数据总线(D0D7):由P0 口提供,其宽度为 8位,数据总线要连到多个外围芯片上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由 地址线控制各个芯片的片选线来选择。 控制总线(CB):包括片外系统扩
19、展用控制线和片外信号对单片机的控制线。系统扩展用控制线有ALE、PSED、EA、WR。8.外接程序存储器的读信号为PSE D,外接数据存储器的读信号为RD14. 已知可编程I/O接口芯片8255A的控制寄存器的地址为BFFFH,要求设定A 口为基本输入,B 口为基本输出,C 口为输入方式。请编写从 C 口读入数据后,再从B 口输出的程序段。并根据要求画出 80C51与8255A连接的逻辑原理图。加上必要的伪指令,并对源程序加以注释。答:已知8255A的控制寄存器地址为 BFFFH,若地址线A0、A1被用做8255A端口选择信 号,贝U 8255A的C 口地址为 BFFFH,B 口地址为 BFFDH,A 口地址为 BFFCH。可以选用 地址线P2.6(A14)作8255A的片选线。8255A与80C51连接图如图8-7所示。RD30C51RESET CSA1A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026聊城市公立医院(临床)招聘(6人)笔试备考试题及答案解析
- 2026天津市红桥区卫生健康委所属事业单位招聘事业编制高层次人才1人笔试备考题库及答案解析
- 2026广东中山市阜沙镇阜沙中学、牛角小学招聘非编教师2人笔试备考题库及答案解析
- 2026年黑龙江民族职业学院单招职业技能考试备考题库含详细答案解析
- 2026四川宜宾市高县国盛劳务派遣有限责任公司招聘劳务派遣人员1人笔试备考试题及答案解析
- 2026年郑州铁路职业技术学院单招综合素质笔试参考题库含详细答案解析
- 2026年鹤壁能源化工职业学院单招职业技能考试备考题库含详细答案解析
- 2025广东佛山市顺德区实验中学第二学期美术临聘教师招聘1人笔试备考题库及答案解析
- 2026年广西演艺职业学院单招综合素质考试参考题库含详细答案解析
- 2026年青岛滨海学院单招综合素质考试参考题库含详细答案解析
- 手部关节损伤的人工关节置换
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 2026届安徽省六安二中河西校区高二化学第一学期期末调研试题含答案
- JJF 1218-2025标准物质研制报告编写规则
- 一次函数-经典趣题探究
- 京东人事与组织效率铁律十四条
- 2025年吉林省吉林市中考二模数学试题(含部分答案)
- 高级机工见习记录薄填写
- S1240基础知识介绍
- 宇宙佛学与科学的认知
评论
0/150
提交评论