




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学远程教育学院微机原理与接口技术课程作业姓名:学 号:年级:学习中心:第2章 P52280C51单片机引脚有哪些第二功能? 第一功能 第二功能 P0.0P0.7 地址总线AoA7数据总线D0D7 P2.0P2.7 地址总线A8A15 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0外部中断0) P3.3 IINT1(外部中断1) P3.4 TO(定时器计数器0的外部输入) P3.5 T1(定时器计数器0的外部输出) P3.6 WR(外部数据存储器或IO的写选通) P3.7 RD外部数据存储器或IO的读选通)480C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?1、80C5l单片机采用哈佛结构,即将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64 KB。2、在物理上设有4个存储器空间 片内程序存储器; 片外程序存储器; 片内数据存储器; 片外数据存储器。 在逻辑上设有3个存储器地址空间l 片内、片外统一的64 KB程序存储器地址空间。l 片内256字节(80C52为384字节)数据存储器地址空间。 片内数据存储器空间在物理上又包含两部分:l 对于80C51型单片机,0127字节为片内数据存储器空间;128255字节为特殊功能寄存器(SFR)空间(实际仅占用了20多个字节)。l 对于80C52型单片机,O127字节为片内数据存储器空间;128255字节共128个字节是数据存储器和特殊功能寄存器地址重叠空间。 片外64 KB的数据存储器地址空间。 3、在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。访问片内RAM采用MOV指令,访问片外RAM则一定要采用MOVX指令,因为MOVX指令会产生控制信号RD或WR,用来访问片外RAM。访问程序存储器地址空间,则应采用MOVC指令。680C51单片机片内RAM低128个存储单元划分为哪3个主要部分?各部分主要功能是什么?80C51片内RAM的低128个存储单元划分为3个主要部分: 1、寄存器区。共4组寄存器,每组8个存储单元,各组以R0R7作为单元编号。常用于保存操作数及中间结果等。:R0R7也称为“通用工作寄存器”,占用00H1FH共32个单元地址。 2、位寻址区。单元地址为20H2FH,既可作为一般RAM单元使用,按字节进行操作,也可对单元中的每一位进行位操作。因此,称为“位寻址区”。寻址区共有16个RAM单元,共计128位,位地址为OOH7FH。 3、用户RAM区。在内部RAM低128单元中,除去前面两个区,剩下80个单元,单元地址为30H7FH。在用户RAM区内可以设置堆栈区。13程序存储器指令地址、堆栈地址和外接数据存储器地址各使用什么指针?为什么?1、程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令的地址。程序计数器PC变化的轨迹决定程序的流程。PC最基本的工作方式是自动加1。在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序流向发生变化。在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送人PC,程序流向发生变化。 2、堆栈地址使用堆栈指针SP。SP在80C51中存放当前的堆栈栈顶所指存储单元地址,是一个8位寄存器,对数据按照“先进后出”原则进行管理。外接数据存储器地址使用数据指针DPTR。DPTR是一个16位特殊功能寄存器,主要功能是作为片外数据存储器或I0寻址用的地址寄存器,这时会产生RD或wR控制信号,用于单片机对外扩的数据存储器或I0的控制。3、数据指针DPTR也可以作为访问程序存储器时的基址寄存器,此时是寻址程序存储器中的表格、常数等单元,而不是寻址指令。第3章P939MOV、MOVC、MOVX 指令有什么区别,分别用于那些场合,为什么?MOV指令用于对内部RAM的访问。MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。MOVX指令采用间接寻址方式访问外部数据存储器有Ri和DPTR两种间接寻址方式。执行MOVX指令时,在P37引脚上输出RD有效信号或在P36引脚上输出WR有效信号,可以用做外部数据存储器或IO的读写选通信号,与单片机扩展电路有关。15已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。MOV A,#55HANL A,#0FFHORL20H,AXRL A,R1CPLA各指令的执行结果如下: MOV A,#55H ;(A)=55HANL A,#0FFH ;(A)=55HORL 20H,A ;(20H)=FFHXRL A,R1 ;(A)=AAHCPL A ;(A)=55H 执行完程序段后,A的内容为5 5 H16阅读下列程序,说明其功能。MOVR0,#30H MOVA,R0 RLA MOVR1,ARLARLAADDA,R1MOVR0,A ;功能:将30 H中的数乘以10以后再存回30H中。条件:30 H中的数不能大于25,2510=250仍为一个字节。若30H中的数大于25,则应考虑进位。21读下列程序,请完成下列任务:画出P1.0P1.3引脚上的波形图,并标出电压V时间t坐标。 对源程序加以注释。 ORG0000HSTART:MOVSP,#20HMOV30H,#01HMOVP1,#01HMLP0:ACALLD50msMOVA,30HCJNEA,#08H,MLP1MOVA,#01H MOVDPTR,#ITABMLP2MOV30H,AMOVCA,A+DPTRMOVP1,ASJMPMLP0MLP1:INCASJMPMLP2ITAB:DB0,1,2,4,8 DB8,4,2,1D50ms:RETP1OP13引脚上的波形图如图所示。 注释说明:判断表格中数据是否取完?取完,从表头开始取给出表格首地址取表格中数据 表格中数据未取完,准备取下一个软件延时50 ms子程序第4章P13210. 把长度为10H的字符串从内部RAM的输入缓冲区INBUF向设在外部RAM的输出缓冲区OUTBUF进行传送,一直进行到遇见字符“CR”时停止,如字符串中无字符“CR”,则整个字符串全部传送。加上必要的伪指令,并对源程序加以注释。程序如下: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R7,#10H ;数据长度 MOV R0,#INBUF ;源数据首地址 MOV DPTR,#OUTBUF ;目的数据首地址 LOOP: MOV A,R0 ;把源数据的值赋给A CJNE A,#0DH,LOOPl ;判断是否为“CR”(ASCII码值为0DH)SJMP ENDl ;是“CR,则结束传送 LOOPl: MOVX DPTR,A ;把A的值赋给目的数据 INC R0 ;源数据下一个地址值 INC DPTR ;目的数据下一个地址值 DJNZ R7,L00P ;判断数据传送是否完毕 ENDI: SJMP ENDI END 14. 80C51单片机从内部RAM的31H单元开始存放一组8位带符号数,字节个数在30H中。请编写程序统计出其中正数、零和负数的数目,并把统计结果分别存入20H、21H和22H三个单元中。加上必要的伪指令,并对源程序加以注释。程序如下: LENGTH EQU 30H ;数据长度 DATA_ADR EQU 31H ;数据首地址 POS_NUM EQU 20H ;正数个数 ZERO_NUM EQU 21H ;0个数 NEG_NUM EQU 22H ;负数个数 ORG 0000H AJMP MAIN , ORG 0030HMAIN: MOV POS_NUM,#0 ;计数单元初始化为0 MOV ZERO_NUM,#0 MOV NEG_NUM,#0 MOV R1,#LENGTH ;数据长度 MOV R0,#DATA_ADR ;数据首地址 LOOP: MOV A,R0 JB ACC7,INC_NEG ;符号位为1,该数为负数,跳转加1 CJNE A,#0,INC_POS INC ZERO_NUM ;该数为0,0个数加1 AJMP L00P1 INC NEG:INC NE_NUM ;负数个数加1 AJMP LOOPl INC_POS:INC POS_NUM ;该数为正数,正数个数加1 LOOPl: INC R0 ;判断统计是否结束 DJNZ R1,LOOP END15. 两个10位的无符号二一十进制数,分别从内部RAM的40H单元和50H单元开始存放。请编程计算该两个数的和,并从内部RAM的60H单元开始存放。加上必要的伪指令,并对源程序加以注释。10位的无符号二十进制数,占5字节,每个字节存放一个压缩BCD码(2位)。 ORG 0000H AJMP MAIN 0Re 0030H MAIN: MOV R7,#05H ;十位(5字节)计数 MOV R0,#40H ;被加数首址 MOV R1,#50H ;加数首址 MOV R2,#60H ;和数首址 CLR C ;清C标志位 ADDB: MOV A,R0 ADDC A,R1 DA A ;二一十进制调整 MOV B,R0 ;保护被加数地址MOV 20H, R2 MOV R0,20H MOV R0,A ;存和 MOV R2,20H ;恢复和数地址 MOV R0,B ;恢复被加数地址 INC R0 ;三个地址指针均加1 INC R1 INC R2 DJNZ R7,ADDB ;多字节加未结束,则循环 HERE: SJMP HERE END第6章 P177 4. 请编程实现80C51单片机产生频率为100kHz等宽矩形波(定时器/计数器T0,方式0,定时器中断),假定80C51的晶振频率为12MHz。加上必要的伪指令,并对源程序加以注释。100 kHz等宽矩形波,周期为10us,定时周期为5us,机器周期为1 s。 计算:TC=213一(1 2 X 106 X 5 X 106)12=8187=1FFBH 方式0:定时常数TCH=FFH,TCL=1BH。 程序如下: ORG 0000H 0000 0130 AJMP MAIN ORG 000BH 定时器T0中断矢量 000B 0141 AJMP INTER ORG 0030H 0030 758900 MAIN:MOV TMOD,#00H ;写控制字,设TO为定时器,方式O 0033 758CFF MOV TH0,#OFFH ;写定时常数,定时为5 0036 7 58AIB MOV TL0,#IBH 0039 D28c SETB TR0 ;开启定时器T0 003B D2A9 SETB ET0 ;开定时器T0中断 003D D2AF SETB EA ;开中断 003F 013F AJMP $ ;中断等待 定时器T0中断 0041 758CFF INTER: MOV TH0,#0FFH ;重写定时常数 0044 758AIB MOV TL0,#IBH 0047 B290 CPL P10 ;P1口作为输出端,P1.0变反输出 0049 32 RETI ;中断返回 END第8章 P2792. 如何构造80C51单片机并行扩展的系统总线?总线有:1、 片内总线; 2、片总线(又称元件级总线或局部总 线). 3、内总线(又称微型机总线或板级总 一般称为系统总线)4、外总线(又称通信总线). 总线的类型:1、地址总线.是微机用来传送地址的 信号线.2、数据总线.传送数据和代码的总 一般为双向信号线,3、控制总线.传送控制信号的总线,用来实现命令,状态传送,中断,储器传送的请求与控制信号传送,以及提 供系统使用的时钟和复位信号等.8. 外接程序存储器的读信号为 ,外接数据存储器的读信号为 。14. 已知可编程I/O接口芯片8255A的控制寄存器的地址为BFFFH,要求设定A口为基本输入,B口为基本输出,C口为输入方式。请编写从C口读入数据后,再从B口输出的程序段。并根据要求画出80C51与8255A连接的逻辑原理图。加上必要的伪指令,并对源程序加以注释。1. ORG 0000HAJMP MAINORG 0030HMAIN: MOVDPTR,#2000H MOV B,20H ;设定的温度值送BMOVX A,DPTR ;取实测温度值CLR C SUBB A,BJNC LOWER ;实测温度值设定温度值,P1.0输出低电平 MOV B,20H ;取设定的温度值MOVX A,DPTR ;取实测温度值 CLR CSUBB A,BJC HIGH ;实测温度值设定温度值,P1.0输出高电平 SJMP MAIN ;实测温度值=设定温度值,P1.0输出不变LOWER: CLR P1.0 SJMP MAINHIGH: SETB P1.0 SJMP MAIN END2. 答:ORG0000HMOVDPTR,#2000H;无符号数存放单元首址MOVR1,#10D;无符号数长度MOV40H,#00H;最大值存放单元预置为最小值STEP:MOVXA,DPTR;取数CJNEA,40H,STEP1;比较大小SJMPNEXT;(A)=(40H),不交换STEP1:JCNEXT;(A)(40H),不交换MOV40H,A;(A)(40H),则较大值存入40H中NEXT:INCDPTRDJNZR1,STEPSJMP$END22. 利用ADC0809芯片设计以80C51为控制器的巡回检测系统。请画出电路连接图,并编写进行某一路模拟量转换的源程序。加上必要的伪指令,并对源程序加以注释。巡回检测系统连接如图所示:ADC0809的IN0通道地址为7FF8H。计算:ORG0000HSJMPMAINORG0030HMAIN:LOOP:MOVDPTR,#7FF8H;A/D通道0地址MOVR0,#20H;数据存入地址MOVXDPTR,A;启动A/D转换LCALL D128s;A/D转换等待MOVXA,DPTR;读入A/D转换后的数据MOVR0,A;存入内部RAM;中断返回D128s:;延时子程序(可以直接调用)RETEND微机原理与接口技术实验作业第一部分 简答题1. 80C51单片微机内部有哪几个常用的地址指针,它们各有什么用处。80C51单片微机内部有三个常用的指针,即 PC-程序计数器,存放下一条将要从程序存储器取出的指令的地址。SP-堆栈指示器,指向堆栈栈顶。DPTR-数据指针,作为外部数据存储器或I/O的地址指针。2. 简述80C51的程序状态字PSW的主要功能。 PSW的主要部分是算术逻辑运算单元ALU的输出。有些位根据指令运算结果,由硬件自动生成。如OV为溢出标志位,用于指示8位带符号数运算后有否超出8位带符号数允许范围。C标志为进位/借位标志位。多倍精度的加减法运算。3. 80C51访问片内外不同存储空间时采用哪3类传送指令。MOV传送指令用于访问片内数据存储器。MOVC传送指令用于对程序存储器内的表格进行查表操作。 MOVX传送指令用于访问片外数据存储器或I/O,因为执行MOVX指令时会产生控制信号或。4. 简述80C51单片微机内部RAM低128字节4个主要区域的特点。 寄存器区:共4组寄存器,每组8个存储单元,以R0R7作为单元编号。 位寻址区:20H2FH中的每一位进行位操作。 堆栈区:设置在用户RAM区内,数据先进后出。 用户RAM区:除去前面3个区,剩下的所有单元。5. 简述80C51单片微机的并行扩展三总线(AB、DB和CB)如何构成及应用。AB共16位,由P0口经锁存后得到A0-A7、P2口构成A8-A15。作地址总线。DB由P0口分时构成。作数据总线。CB主要有ALE、/RD、/WR、/PSEN等。作控制总线。6. 为什么要进行低功耗设计? 实现绿色电子,节约能源。 某些场合(如野外)要求便携并由电池供电,要求功耗小。 能提高应用系统可靠性,因为在低功耗下,单片微机对干扰不敏感7. 说明80C51单片微机的复位方式主要有哪几种。 主要有上电复位方式、按键电平复位方式和外脉冲复位方式8. 80C51芯片内部主要集成逻辑功能部件有哪些? 有中央处理器、存储器、定时器/计数器、I/O口等9. 80C51的程序存储器中有几个特定地址。 0000H为复位后PC初始值,0003H为外部中断0中断矢量地址,000BH为 T0中断矢量地址,0013H为外部中断1中断矢量地址,001BH为T1中断矢量地址和0023H为串行口中断矢量地址10. 请简述如何在实验室完成实验任务,使用哪些资源? 仿真软件由WAVE的编辑软件及MICETEK公司的EasyProbe8052F仿真软件组成,源程序在PC上进行编辑、编译,将编译通过后所生成的后缀名为HEX的机器码文件,通过RS232串行口下载给仿真器,仿真器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新国航安全员面试题及答案
- 2025年汽车维修技术高级工程师考试试题及答案解析
- 外贸销售合同4篇
- 农产品电商溯源体系构建-洞察及研究
- 跨界竞争壁垒突破-洞察及研究
- 安全素养考试题及答案
- 高利合同模板(3篇)
- 安徽会计基础试题及答案
- 汽车维修居间代理合同范本
- 公路建设项目终止及赔偿责任协议范本
- 2025年学宪法、讲宪法知识竞赛题库及答案
- 医用物理学考试题及答案
- DB31/T 968.2-2016全过程信用管理要求第2部分:行为清单编制指南
- 中医隔物灸试题及答案
- 2019抽水蓄能电站工程施工工艺标准手册:土建分册
- 煤矿电工考试题库及答案
- 印刷调研报告
- 危重患者亚低温治疗
- 工地试验室管理制度
- 医院病患信息保密与隐私保护培训
- 家政收纳培训课件
评论
0/150
提交评论