第十三次课 4-7子程序说明文件(微机原理)
- 格式:ppt
- 大小:1.93 MB
- 文档页数:23
炎黄技工学校《微机原理与接口技术》教学大纲理论课时36实践课时36总课时72考核形式考查编写时间2022-03编写人审核人机电信息工程系计算机技术教研室编《微机原理与接口技术》课程标准课程名称:微机原理与接口技术适用专业:计算机网络应用课程学分:4学分计划学时:72学时一、课程概述1、课程性质与任务本课《微机原理与接口技术》是计算机专业的一门重要的专业课,它的前续课程有《电子技术基础》、《电路原理》通过本课程的学习,为后续课程《微机控制技术》打下良好的基础。
同时与毕业设计密切相关,为它提供了硬件和软件的基础。
本课程介绍了微型计算机原理及组成结构、微机接口的有关基本知识和实用技术、常用微机接口芯片的使用方法。
2、课程基本理念结合我们学生的实际情况,在平时的教与学中主要遵循以下的理念:(1)将专业课的学习与基础理论衔接,指导学生有针对性地预习;(2)帮助学生形成强烈兴趣;(3)指导学生了解课程教学目的,教师结合教学大纲和自己对课程的把握情况,阐明《微机原理与接口技术》的课程特点;(4)培养学生良好的学习习惯。
3、课程设计思路1、总体设计原则与思路:按照“以能力为本位,以职业实践为主线,以项目课程为主体的模块化专业设计课程体系”的总体设计要求,该门课程以形成电机与变压器的原理与性能指标、运行调试及维护维修等能力为基本目标,彻底打破学科课程的设计思路,紧紧围铙工作任务完成的需求来选择和组织课程内容,突出工作任务与知识的联系,让学生在职业实践活动的基础上掌握知识,增强课程内容与职业岗位能力要求的相关性,提高学生的就业能力。
2课程设计依据与评价方法:学习项目选取的基本依据是该门课程涉及的工作领域和工作任务范围,但在具体设计过程中,以自动化专业学生的就业为向导,根据行业专家对自动化专业所涵盖的的岗位群体进行的任务和职业能力分析,同时遵循中等职业学校学生的认识规律,紧密集合职业资格证书中相关考核内容,确定本课程的工作任务模块和课程内容。
1.课程设计任务书设计内容:设计当把物品放入加热器中,首先要启动加热器和电机工作,设定加热时间为3(5)分钟,为使物品均匀加热,每隔20(30)秒电机要反转一次,(正转→反转、反转→正转),加热时间到后,停止加热器和电机工作,并发声,告知加热结束。
设计目标:在规定的时间内设计出符合要求的汇编语言程序,并提交一份符合本科生毕业设计论文规范的报告。
进度安排:8月13日-8月16日-----------------------确定设计内容并完成硬件部分8月17日-8月21日------------------------------------完成程序清单8月22日-8月23日------------------------------完成课程设计说明书2. 总体设计思路2.1、分析设计所用到的芯片的原理及使用方法:⑴8259A的使用方法:8259A有四个初始化命令字ICW及3个操作操作命令字OCW。
8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1- OCW3分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4各命令字格式如图2-1所示,OCW1-OCW3各命令字格式如图2-2所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的8操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。
图2-1ICW1-ICW4各命令字格式如图2-2OCW1-OCW3各命令字格式如图⑵8255的使用方法:方式0 —基本输入/出方式;方式1 —选通输入/出方式;方式2 —双向选通工作方式。
图2-3 8255命令字格式图⑶8253的使用方法:(1) 方式0:计数到0结束输出正跃变信号方式。
(2) 方式1:硬件可重触发单稳方式。
(3) 方式2:频率发生器方式。
(4) 方式3:方波发生器。
(5) 方式4:软件触发选通方式。
第13讲上机实验二:从键盘输入2个4位的十进制数,相加并显示结果。
编程提示:①从键盘输入2个4位的十进制数并显示结果,屏幕应显示:1234 + 5678 = XXXXX②定义数据段存储输入的十进制数和运算结果DATA SEGMENTX1 DB 4 DUP(0)X2 DB 4 DUP(0)X3 DB 5 DUP(0)DATA ENDS③输入时要检查是否为数字,如不是数字,则不应接受且不显示。
是数字再存储并显示。
采用INT 21H的8号功能(与1号功能不同的是不带自动回显)。
对于每个字符的输入可编子程序:KEKIN PROCAGAIN: MOV AH,8 ;不带自动回显INT 21H ;AL=字符ASCIICMP AL,30H ;’0’JB AGAIN ;小于30H不是数字键,重输CMP AL,39H ;’9’JA AGAIN ;大于39H不是数字键,重输PUSH AX ;保存输入的字符MOV DL,AL ;INT 21H改变ALMOV AH,2INT 21H ;是数字键,显示POP AX ;恢复输入的字符RETKEYIN ENDP④调用KEYIN输入第1个4位十进制数X1:MOV SI,OFFSET X1MOV CX,4 ;4位数字输入4次NEXT1: CALL KEYIN ;输入的字符在AL中AND AL,0FH ;保留低4位,ASCII变为数字MOV [SI],AL ;注意为非压缩型BCD码INC SI;指向下一个存放地址LOOP NEXT1 ;4位数字未输完,继续注意:以上输入内容是后输入的占高地址存放。
例如,1234,先输入1,占低地址,后输入的4占高低址。
按这样存放,就不是低位数据占低地址,高位数据占地址!⑤ 两个加数X1、X2与和X3在内存中的存储为:X1、X2和X3均非压缩型BCD加的过程应从个位开始:⑥ 加法程序如下:MOV SI ,(OFFSET X1)+3 ;X1的个位地址 MOV DI ,(OFFSET X2)+3 ;X2的个位地址X1 X2 DATA 数据段 高X3 低 高 低 高 低MOV BX,(OFFSET X3)+4 ;和的个位地址MOV CX,4 ;共需加4位OR CX,CX ;?PLUS:MOV AL,[SI]ADC AL,[DI]AAA ;十进制调整MOV [BX],AL ;存和DEC SIDEC DIDEC BXLOOP PLUS ;低4位相加第5次相加时MOV AL,0ADC AL,0 ;要进位位CFMOV [BX],AL ;存和⑦显示相加结果时应从X3的高位(低地址)开始MOV BX,OFFSET X3 ;和的最高位地址MOV CX,5 ;和共有5位NEXT2:MOV DL,[BX] ;取BCD码0 ~ 9 ADD DL,30H ;变成ASCII码MOV AH,2INT 21H ;显示INC BXLOOP NEXT2⑧程序流程图程序结构堆栈段数据段X1X2X3码段MAINKEYIN。
课程设计任务书学生姓名:庞瀚文专业班级:电气1203 指导教师:李道远工作单位:自动化学院题目:随机数小程序初始条件:利用随机数产生两个8位16进制数,显示它们加法或减法表达式及其运算结果。
如果有进位,显示“Carry”的提示信息,如果被减数小于减数,显示“Borrow”的提示信息。
按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录1 设计任务 (2)2任务分析 (2)2.1 程序功能说明 (2)2.2 程序要点说明 (2)3功能及程序设计 (3)3.1主程序流程图 (3)3.2程序说明 (4)3.3 子程序功能说明 (4)3.3.1 RAND子程序说明 (4)3.3.2 CHG子程序说明 (4)3.3.3 程序退出判断语句说明........ 错误!未定义书签。
4调试结果及分析 .. (6)5心得体会 (7)6参考文献 (8)附录 (9)1随机数小程序1.设计任务利用随机数产生两个8位16进制数,显示它们加法或减法表达式及其运算结果。
如果有进位,显示“Carry”的提示信息,如果被减数小于减数,显示“Borrow”的提示信息。
按Q退出程序。
2.任务分析2.1 程序功能说明本程序需在DOS下运行。
程序开始运行,程序完成初始化,输出提示信息。
程序产生随机数1,随机数1转化为16进制ASC码并显示。
程序产生随机数2,随机数2转化为16进制ASC码并显示。
此时选择运算方式,输入“+”执行加法运算,输入“-”则执行减法运算。
随机数1和随机数2完成已选择的运算方式,显示运算结果。
《微机原理与应用》备课笔记B(第四章)第11次上课内容.第一部分指令观察1、算术运算指令观察——zlgc1,zlgc22、逻辑运算指令观察——zlgc33、条件转移指令观察------zlgc4第二部分第四章汇编语言程序设计4-1 概述、一、什么是汇编语言汇编语言是用指令助记符、符号地址、标号等书写程序的语言。
特点:易读、易写、易记,。
但是不如高级语言具有很好的通用性和可移植性,也不能像机器语言直接运行。
二、汇编语言上机过程4-2汇编语言基本语法4-2-1 汇编语言源程序实例——zlgc2,exmp1例1:把内存中从STRING 开始的字符串传送到BLOCK 开始的内存区域去.DAT1 SEGMENT STRING DB 'ABCD1234' NUMEQU $-STRING DAT1 ENDS DAT2 SEGMENT BLOCK DB 50 DUP(?) DAT2 ENDS COD SEGMENTASSUME CS:COD,DS:DAT1,ES:DAT2 START: MOVAX,DAT1MOV DS,AX MOV AX,SEG BLOCK MOV ES,AX MOV CX,NUMMOV SI, OFFSET STRING MOV DI,OFFSET BLOCK LP: MOV AL,[SI] MOV ES:[DI],AL INC SI INCDILOOP LP MOV AH,4CH INT 21HCOD ENDS ENDSTART汇编语言语句种类——指令语句、伪指令语句、宏指令语句1) 指令语句——由指令系统中有的指令构成。
它指示CPU执行某种操作。
指令语句指令语句伪指令语句该指令语句汇编后将产生目标代码。
2)伪指令语句——属于说明性语句。
仅在汇编过程中起汇编管理和说明的作用,不产生目标代码。
实验二指令观察1、算术运算指令观察——zlgc1,zlgc22、逻辑运算指令观察——zlgc33、条件转移指令观察------zlgc44-2-2伪指令语句格式:名字伪操作指令[参数表] [;注释]1、段定义伪指令1)段定义伪指令格式:段名SEGMENT……段名ENDS用于定义源程序的各个逻辑段。
课程设计任务书学生姓名:易杨专业班级:电信 0802 指导教师:曾刚工作单位:信息工程学院题目:进制转换程序设计初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、程序实现二进制、十进制、十六进制之间的转换2、在命令提示下输入相应进制数,回车后进行转换3、输入错误时应声响报警并拒绝输入4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书时间安排:一周,其中2天程序设计,2天程序调试,1天完成课程设计报告书及答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)1原理分析 (1)2程序设计流程 (3)2.1程序流程图 (3)2.2设计思路 (4)3程序设计 (5)3.1堆栈段数据段程序设计 (5)3.2主程序设计 (5)3.3输入二进制程序 (7)3.4输入十进制程序 (8)3.5输入十六进制程序 (8)3.6输出二进制程序 (9)3.7输出十进制程序 (9)3.8输出十六进制程序 (11)3.9回车键确定程序 (11)3.10报警程序 (12)4运行结果 (13)5心得体会 (15)参考文献 (16)摘要日常生活与实际应用中,往往需要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等。
但在计算机内部采用的是二进制计数制,这种进制表达方法对于人们研究分析是不那么方便的。
本次课程设计将通过所学的微机原理知识理论,用汇编语言编写程序,实现二进制、十进制与十六进制之间的相互转换,并在MF2KP软件上演示。
关键词:汇编程序进制转换MF2KP1 原理分析进位计数制是人们利用符号来计数的方法。
一种进位计数制包含一组数码符号和两个基本因素。
数码是用不同的数字符号来表示一种数制的数值,这些数字符号称为”数码”。
微机原理,子程序递归调用的注释
注释如下:
《微机原理》是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。
要求考生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。
1.数和数制(二进制、十进制、十六进制和八进制)及其转换。
2.二进制编码。
3.二进制逻辑运算。
4.二进制算术运算。
5.BCD码。
6.计算机中字符表示。
7.计算机的组成结构。
8.补码、反码、原码之间的转换方法。
递归调用子程序
如果一个子程序直接调用他自己,这种调用称为字节递归调用,如果
一个子程序间接调用自己,这种调用称为间接递归调用
递归调用子程序必须采用寄存器或堆栈传递参数,递归的深度受到堆栈空间的限制
子程序的可重入是指子程序在中断后被重新调用,子程序的重入不同于子程序的递归,冲入是被动行为,而递归是主动行为,重入前的调用和重入调用往往是不相干的,而递归调用这是密切相关
我们把可以重新进入的子程序称为可重入子程序,再设计可重入子程序的时候,必须注意以下几点
【1】不能利用约定的存储单元传递参数
【2】不能使用约定的存储单元保存中间值
可重入函数在以后的设计中会提到,这里只做一般的了解。