20xx浙大远程微机原理与接口技术离线作业(20xx)内容摘要:

功能及源代码如下: 子程序人口条件:准备拆为 2 个 ASCII 码的数存入外部 RAM 的 40 H 单元中。 子程序出口功能:完成外部 RAM 单元一个字节拆成 2 个 ASCII 码,分别存入内部数据存 8 储器 40 H 和 41 H 单元 中。 ORG 1 000H B_TO_A: MOV DPTR, 40H ;外部 RAM40H 单元 MOV R0, 40H MOVX A, @DPTR ;取数 PUSH A ANL A, 0FH ;低 4 位转换为 ASCII 码 LCALL. CHANGE MOV @RO, A INC R0 POP A ’ SWAP A ANL A, 0FH ;高 4 位转换为 ASCII 码 LCALL CHANGE MOV @R0, A RET CHANGE: CJNE A, 0AH, NEXT ;转换子程序 NEXT: JNC NEXT2 ;≥ 0AH,转移 ADD A, 3 0H ;≤ 9,数字 09 转化为 ASCII 码 RET NEXT2: ADD A, 37H ;字母 A~ F 转化为 ASCII 码 RET END 设外部 (40 H)=12 H。 执行程序 B_TO_A 后:内部 (40 H)=31 H, (41 H)=32 H。 设外部 RAM(40 H)=ABH。 执行程序 B_TO_A 后 ,内部 (40 H)=41 H, (41 H)=42 H。 17.根据 8100H 单元中的值 X,决定 P1 口引脚输出为: 2X X0 P1= 80H X=0 (- 128D≤ X≤ 63D) X 变反 X0 【答】程序如下: ORG 0000H SJMP BEGIN ORG 0030H BEGIN: MOV DPTR, 8100H MOVX A, @DPTR MOV R2, A JB , SMALLER;有符号数 0 SJMP UNSIGNED ;无符号数≥ 0 SMALLER: DEC A ; X0,输出 X(先减 1,再取反 ) 9 CPL A MOV P1, A SJMP OK UNSIGNED: CJNE A, 00H, BIGGER ;不等于 0 即大于 0 MOV P1, 80H ; X 等于 0,输出 80H SJMP OK BIGGER: CLR C ; X 大于 0,输出 A 2 RLC A ; A 2 MOV P1, A OK: SJMP $ END 例如:输入 55 H, P1 口引脚输出 AAH;输入 00 H, P1 口引脚输出 80 H;输入 F1(一 1 5 的补码 ), P1 口引脚输 出 0FH。 22. 编写求一组无符号数中最小值的子程序,入口条件为:内部数据存储器的 20H和 21H 中存数据块的起始地址, 22H中存数据块的长度,求得的最小值存入 30H中。 【答】程序如下: . ;求无符号数最小值的子程序 CMPI ORG 2020H CMPI: MOV DPL, 20H MOV DPH, 21H MOV 30H, 0FFH ;最小值单元初始值设为最大值 LOOP: MOVX A, @DPTR MOVX A, @DPTR ’ CJNE A, 3 0H, CHK ;比较两个数大小 SJMP LOOP1 ;两个数相等,不交换 CHK: JNC LOOP1 ; A 较大,不交换 MOV 30H, A ; A 较小,交换 LOOP1: INC DPTR DJNZ 22H. LOOP RET 注意: 30 H 中始终存放两个数比较后的较小值,比较结束后存放的即是最小值。 例如: (20 H)=00 H, (21 H)=80 H. (22 H)=0 5 H。 从 8000 H 开始存放下列数: 02 H, 04 H, 01 H, FFH, 03 H。 调用子程序 CMPl 后的结果: (30 H)=01 H 第五章 p141 1.什么是中断。 在单片微机中中断能实现哪些功能。 【答】单片机在程序执行过程中,允许外部或内部 “事件’’通过硬件打断程序的执行.,使其转向执行处理外部或内部“事件’’的中断服务子程序;而在完成中断服务子程序以后,继续执行原来被打断的程序,这种情况称为“中断 ,这样的过程称为“中断响应过程。 10 7. 80C51 共有哪些中断源。 对其中断请求如何进行控制。 【答】中断响应是有条件的,即: 中断源申请中断; 该中断源已被允许中断,且 CPU 也已允许中断; 没有同级或高优先级中断在执行中断服务程序。 在接受中断申请时,如遇下列情况之一,硬件生成的长调用指令 LCALL 将被封锁: ① CPU 正在执行同级或高 一级的中断服务程序。 因为当一个中断被响应时,其对应的中断优先级触发器被置 1,封锁了同级和低级中断。 ②查询中断请求的机器周期不是执行当前指令的最后一个周期。 目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。 ③当前正在执行 RETI 指令或执行对 IE、 IP 的读/写操作指令。 80C51.中断系统的特性规定,在执行完这些指令之后,必须再继续执行一条指令,然后才能响应中断。 12. 80C51 的中断与子程序调用有哪些异同点,请各举两点加以说明。 ① 相同点: ⑴ 都是中断当前正在执行的程序,都 要通过执行返回指令,返回到原来的程序。 ⑵ 都是由硬件自动地把断点地址压入堆栈;当执行到返回指令时,自动弹出断点地址以便返回原来的程序。 ⑶ 都要通过软件完成现场保护和现场恢复。 ⑷ 都可以实现嵌套。 ② 不同点: ⑴ 中断请求信号可以由外部设备发出,是随机的;子程序调用子程序却是由软件编排好的。 ⑵ 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。 ⑶ 中断响应是受控的,其响应时间会受一些因素影响素;子程序响应时间是固定的。 第六章 P161 1. 80C51 单片微机内部设有几个定时 器/计数器。 简述各种工作方式的功能特点。 答: 80C51 单片机内部设有 2 个 16 位定时器/计数器 TO 和 T1。 定时器/计数器有 4 种工作方式,其特点如下: ①方式 O 是 13 位定时器/计数器。 由 THxT 高 8 位 (作计数器 )和 TLx 的低 5 位 (32分频的定标器)构成。 TLx 的低 5 位溢出时,向 THxT 进位; THxT 溢出时,硬件置位件 TFx(可用于软件查询 ),并可以申请定时器中断定时器。 ②方式 1 是 16 位定时器/计数器。 TLxT 的低 8 位溢出时向 THx 进位 (可用于软件查询 ), 并可以申请定时器中断。 ③方式 2 是定时常数是定时自动重装载的 8 位定时器/计数器。 TLx 作为 8 位计数寄存器, THx 作为 8 位计数常数寄存器数。 当 TLx 计数溢出时,一方面将 TFx 置位,并申请中断;另一方面将 THx 的内容的自动重新装入 TLxT 中,继续计数。 由于重新装重入不影响 THx 的内容,所以可以多次连续再装入。 方式 2 对定时控制特别有用。 ④方式 3 只适用于 TO, T0 被拆成两个独立的 8 位计数器位计 TLO 和 THO。 TLO 做 8位计数器,它占用了 T0 的 GA。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。