微机原理与接口课程设计报告模板(参考)
《微机原理及接口》课程设计报告-简单的动画设计
一、设计任务1.程设计的目的更深入的了解汇编这门语言,并从中学到东西掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力。
提高我们对学习认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
培养我们从资料文献、科学实验中获得知识的能力,提高我们从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
培养我们勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。
2.课程设计要求(1)根据微机软、硬件条件,每人选定一个具有一定综合性的程序设计题目A对题目进行模块分析B 系统设计实用,功能全面C 按时按量完成任务(2)按时间上机完成调试任务3.设计任务在DOS环境中编程完成以下任务:(1)以滚动方式输出下车动态行驶图形(2)小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧后,在到达屏幕右侧后,公路下降。
(3)段距离并改变颜色,然后小车继续由左向右行驶(4)当下降到屏幕底部时,再返回到屏幕顶部重复上述过程(5)直到有键按下时,程序运行结束(6)设计说明书:设计思想、参考程序的程序流程图和源程序4.设备IBM—PC微型计算机一台二、设计方案1、设计思想主程序思想:使用BIOS中断调中显示器控制用子程序,要求显示动态效果图像即为一辆小车在公路上动态行驶,到达屏幕右方时,公路下降并改变颜色,小车又从左向右行驶以此循环,直至有键按下时结束程序。
2、主程序流程框图3、源程序代码data segmentline dw 10 ;定义行变量color db 1 ;定义公路颜色color1 db 0 ;定义小车颜色corlum dw 2 ;定义列变量count1 dw 0count2 dw 0count3 dw 0 ;车体模型car_8 db 00000011b,11100000bdb 00000010b,01010000bdb 00000110b,01011000bdb 01111111b,11111110bdb 11111111b,11111111bdb 11111011b,11101111b2db 00001010b,00101000bdb 00000100b,00010000bdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,80mov ah,0fhint 10hmov ax,0004hint 10hmov ah,0bhmov bh,1 ;选择1号调色板mov bl,0int 10hll: mov al,color ;设置公路颜色inc alcmp al,3jbe tt2sub al,3tt: mov color1,al ;设置小车颜色cmp al,1jz tt3inc alcmp al,3jz tt2tt3: inc altt2: mov color,almov ax,line ;计算机行坐标add ax,10cmp ax,180jbe tt1sub ax,180tt1: mov line,axmov ah,0ch ;写像素mov dx,lineadd dx,8 ;计算公路坐标mov cx,0mov al,color ;设置公路颜色repet: mov bx,3push axint 10h ;画公路pop axinc cxcmp cx,319 ;未到屏幕最右转jnz repetmov ah,0ch ;画车模mov dx,line ;设置行坐标mov cx,corlum ;设置列坐标mov si,offset car_8 ;取车模首坐标mov count1,8 ;8行retry1: mov count2,2 ;每行2字节retry2: mov count3,8 ;每字节8位retry3: rol byte ptr[si],1mov al,0 ;此位为0,置背景颜色jnc nextmov al,color1 ;此位为1,置背景颜色next: push axpush cxint 10h ;画一个点pop cxpop axinc cx ;列加1dec count3jnz retry3 ;未画完8个点转inc si ;取下一个字节的车模信息dec count2jnz retry2 ;车模信息未转完inc dxmov cx,corlumdec count1jnz retry1 ;未画完8行转mov count1,320-18 ;设置移动总次数mov cx,corlumadd cx,15 ;小车最右点的列坐标送cxrepet1: push cx ;小车横向有16个点,外加1个空白点mov count2,16+1repet2: mov dx,line ;车模向右移动1 个像素位mov count3,8repet3: mov ah,0dhint 10h ;读当前点mov ah,0chpush cxinc cxint 10h ;写当前右边的点pop cxinc dx ;行坐标加1dec count3 ;车模向右移动1个像素位未完转jnz repet3dec cx ;修改列坐标dec count2 ;小车移动1个车体位未完转jnz repet2pop cxinc cx ;修改列坐标mov ah,1int 16hjnz exit ;有键按下,转退出dec count1jnz repet1mov dx,line ;清除公路和车模call clearsjmp ll ;无键按下,继续执行exit: mov ah,0 ;恢复文本显示方式mov al,2int 10hmov ah,4chint 21hclears proc nearpush axpush cxpush bxmov ax,0c00hmov bx,10cls0: mov cx,0cls1: int 10hinc cxcmp cx,320jnz cls1inc dxdec bxjnz cls0pop bxpop cxpop axretclears endpcode endsend start三.程序的调试与运行1、程序的调试程序的分析、代码的编写完成后,开始对代码进行编译和调试,我们采用DOS 环境对所编代码进行调式、编译。
《微机原理与接口技术》课设报告正文
目录摘要 (2)1 设计概述 (3)1.1设计任务及要求分析 (3)1.2方案比较及认证说明 (3)1.3系统原理阐述 (4)2 程序设计关键资料 (4)2.1 BIOS中断的显示输出管理(INT 10H) (4)2.1.1设置显示方式 (5)2.1.2文本方式 (5)2.1.3 置光标位置AH=02H (6)2.1,4 屏幕的上下移动AH=06H/07H (6)2.2 DOS功能调用(INT21H) (6)2.2.1调用方法 (7)2.2.2常用的系统功能调用(设计中使用) (7)3 程序流程图及代码分析 (7)3.1 主程序 (8)3.2显示姓名子程序 (9)3.3 延时子程序 (11)3.4 清屏子程序 (12)4 程序调试及结果分析 (14)4.1 程序调试及问题处理 (14)4.2 调试结果分析 (14)结束语 (16)参考资料 (17)附件:源程序清单及调试屏幕界面 (18)摘要本设计是编写汇编语言并在在Masm for windows的汇编软件环境之下使屏幕上显示我自己的名字“韦增泰”并使其从右向左循环移动。
其中应用到BIOS 中断中INT10的多个调用,方便程序编写。
本次课程设计的程序由一个主程序和若干个子程序(延时子程序、清屏子程序、显示姓名子程序)来完成设计任务所要求的功能。
并运行汇编软件进行调试。
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,是培养在校工科大学生理论联系实际、独立自主解决设计实践中遇到的各种问题能力的一种好方法。
关键词:BIOS中断 INT10 汇编语言程序显示名字字样的程序设计1 设计概述1.1设计任务及要求分析对任务书进行分析可知,本课程设计的任务用汇编语言设计显示自己姓名“韦增泰”的程序,并且要求姓名在屏幕上从右往左移动且按 Q键退出程序。
课程设计的基本要求为了解设计任务需求,收集有关资料、查阅有关书籍,在掌握原理、理清思路、认真分析的前提下进行程序编写,同时进行认真调试。
微机原理与接口技术-课程设计报告参考模板
《微机原理与接口技术》课程设计报告姓名:时翰学号:040210129同组实验者:仇健指导教师:张颖日期:2005.6步进电机控制系统设计一、实验目的1、利用PC机和实验箱设计并实现给定步进电机的控制。
2、进一步掌握微机硬件和软件综合设计方法。
二、实验内容1、基本要求(1)控制步进电机转动,要求转速1步/秒。
(2)基于实验箱,设计并实现接口和驱动电路。
(3)用汇编语言编制程序。
2、提高要求(1)改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3档);单步。
(2)改善人机接口。
三、总体设计1、8253定时控制步进速度。
2、8255输出控制脉冲,再经75452驱动电机。
3、系统运行时,首先显示主菜单,选择子菜单(设置参数)或控制工作,或返回DOS。
四、硬件设计因采用了PC机和PC总线接口应用平台,硬件电路相对简单,除利用了PC机本身资源外(如中断资源),还利用了平台上的8253计数/定时器、8255并行接口单元,再加上外围驱动电路,便构成可步进电机控制电路,硬件原理图如图1:图中75452元件是正与非驱动器,OC门输出,所以加上拉电阻;8253的作用是输出定时信号向CPU申请中断要求输出电机走步的控制信号。
图1 硬件原理图五、软件设计本设计通过软件编程使8253输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。
电机的转动和停止则是通过8255的A0端子输出高低电平来继续或暂停8253的计数从而控制中断申请来实现的。
8253的定时时间决定了电机转动的快慢。
相对简单的硬件电路,使软件设计成为本设计课题的中心内容。
1、设计思路控制系统分五个功能模块,分别是转速设置、转向设置、固定步数转动、连续转动、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。
程序中同时提供五个操作界面,一个主菜单和四个子菜单界面,进行可视控制。
(1)转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。
微机原理与接口技术课设报告
微机原理与接口技术课程设计报告2012年 12 月 15目录一、课程设计目的和意义 (3)二、设计任务 (3)三、设计思想 (3)四、设计原理 (3)1.8254 可编程间隔定时器 (4)2、8255可编程外围接口芯片 (6)3、音符与频率对照关系 (7)五、软件流程图 (8)六、硬件接线图 (9)七、心得体会 (10)八、代码 (10)一、课程设计目的和意义通过本次课程设计要掌握8254、8255芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、设计任务利用微机原理试验箱,设计简易电子琴,要求至少可以弹出7个音节,弹出音节可在计算机屏幕和数码管显示。
三、设计思想本系统设计的电子时钟以8086微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示弹奏音节。
在此系统中,8254的功能是定时计数,接入8254的CLK信号为周期性时钟信号。
8254采用计数器0工作于方式0和方式3。
四、设计原理本程序的主要设计原理是键盘数字键1~7按下控制选择不同的频率,实现计时结果的数码管和计算机屏幕显示,按SPACE退出程序。
程序先判断按键是否合法(在1~7),合法则键盘数字键1~7分别对应不同的子程序,8254写入不同的计数值,产生不同的频率,输出到发声单元发声。
1.8254 可编程间隔定时器图1 8254初始化字由此,本设计中的8254的初始化为:MOV AL, 30H ;采用计数器0,方式0,MOV DX, MY8254_ModeOUT DX, ALMOV AL, 37H ;计数器0,方式3MOV DX, MY8254_ModeOUT DX, AL8254 是Intel 公司生产的可编程间隔定时器。
微机原理与接口技术课程设计报告
课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。
具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。
警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。
根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。
设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。
在设计发声报警时利用了8253可编程定时记数器。
在设计发光报警时利用了8255芯片。
在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。
三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。
当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。
众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。
这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。
随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。
随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。
并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。
微机原理与接口技术课程设计报告
实验一 接收年、月、日信息显示 一、课程(软件)设计内容显示输入提示信息并响铃一次,然后接收键盘输入的月/日/年信息,并显示。
若输入月份日期不对,则显示错误提示并要求重新输入。
二、程序框图一三、程序及分析CRLF MACRO MOV AH, 02H MOV DL, 0DH INT 21H MOV AH, 02HYY开 始初始化,清错标志 显示提示信息,响铃一次 调用键读入子信息,读月 有出错标志吗?调用键读入子信息,读日 有出错标志吗?有出错标志吗?调用键读入子信息,读年显示年、月、日返回DOSYNYN入口保持现场是回车或空格否输入字在1~9之间否返回DOS 中读取得键输入值将ASCII 码转换为四位十六进制数,存于DI返回置出错标志YMOV DL, 0AHINT 21HENDMDA TA SEGMENTMESS DB '按顺序输入月,日,年,每输完一样按回车(MM/DD/YY)',0DH,0AH,'$' MESS1 DB '月份错误,重新输入',0DH,0AH,'$'MESS2 DB '日期错误,重新输入',0DH,0AH,'$'ERROR DB '输入错误,重新输入',0DH,0AH,'$'MARK DB ?REG DW ?DA TA ENDSSTACK SEGMENTSTA DW 32 DUP ( ?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA,ES: DA TA,SS: STACKSTART: MOV AX, DA TAMOV DS, AXMOV ES, AXMOV SP,TOP ;初始化HEAD: MOV MARK,0 ;清错误标志MOV AH, 09HMOV DX, OFFSET MESSINT 21H ;显示提示信息MOV AH, 02HMOV DL, 07HINT 21H ;响铃1次CALL GETNUMJE HEADPUSH DXCALL GETNUMCMP MARK, 01HJNE K1POP DXJMP HEADK1: PUSH DXCALL GETNUM ;接收键入的月值,日值及年值CMP MARK, 01HJNE K2POP DXPOP DXJMP HEADK2: MOV AX, DXCALL DISP ;显示年值NOPMOV AH, 02HMOV DL,'-' ;显示`-`INT 21HPOP DXPOP AXPUSH DXMOV REG, AXAND AX, 00FFHCMP AX, 0012HJBE W1MOV AH, 09HLEA DX, MESS1JMP STARTW1: MOV AX, REGCALL DISPPMOV AH, 02HMOV DL,'-'INT 21HPOP AXMOV REG, AXAND AX, 00FFHCMP AX, 31HJBE W2MOV AH, 09HLEA DX, MESS2INT 21HJMP STARTW2: MOV AX, REGCALL DISPP ;显示日值MOV AX, 4C00HINT 21H ;返回DOS DISPP PROC NEARMOV BL, ALMOV DL, BLMOV CL, 04ROL DL, CLAND DL, 0FHCALL DISPLMOV DL, BLAND DL, 0FHCALL DISPLDISPP ENDPDISPL PROC NEARADD DL, 30HCMP DL, 3AHJB DDDADD DL, 27HDDD: MOV AH, 02HINT 21HRETDISPL ENDPDISP PROC NEARPUSH BXPUSH CXPUSH DXPUSH AXMOV AL, AHCALL DISPPPOP AXCALL DISPPPOP DXPOP CXPOP BXRET ;显示子程序DISP ENDPGETNUM PROC NEARPUSH CXXOR DX, DXGGG: MOV AH, 01HCMP AL, 0DHJZ PPPCMP AL, 20HJZ PPPSUB AL, 30HCMP AL, 0JB KKKCMP AL, 0AHJB GETSJMP KKKGETS: MOV CL, 04SHL DX, CLXOR AH, AHADD DX, AXJMP GGGKKK: PUSH AXPUSH DXMOV AH, 09HMOV DX, OFFSET ERRORINT 21HMOV MARK, 01HPOP DXPOP AXPPP: PUSH DXMOV AH, 02HMOV DX, 07HINT 21HCRLFPOP DXRETGETNUM ENDP CODE ENDSEND START四、课程设计总结掌握响铃符方法,掌握年、月、日输入方法,借以观察实验的结果。
微机原理与接口技术课程设计报告
课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。
具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。
警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。
根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。
设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。
在设计发声报警时利用了8253可编程定时记数器。
在设计发光报警时利用了8255芯片。
在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。
三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。
当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。
众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。
这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。
随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。
随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。
并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。
微机原理与接口课程设计报告
目录一.问题描述 (3)二.基本要求 (3)三.实现分析与程序 (3)四.流程图 (6)五.程序源代码 (9)六.程序运行界面 (18)七.测试结果 (20)八.心得体会 (22)一、问题描述:系统提示输入数字的个数,并且这些数字已无序的方式放着,利用已掌握的编程方式将其“由小到大”或者是“由大到小”排列,最后输出排列后的数字,一旦输入数字超出范围,则提示错误。
在编完排序的程序后,觉得有点简易些,于是想制作一个应用型用户软件。
于是在排序的基础上加入了进入程序必须输入密码,输入密码正确,进入用小车做的开机画面,然后再进入排序程序。
完成好这些还是觉得有点平易近人,想来一点创新的意识。
个人喜好音乐,于是想到了用音乐来表达出排序的效果。
利用所学的扬声器发声原理,将输入排好的数据用音乐的音符表达出来,自己乐在其中。
二、基本要求:在考虑到输入输出程序的时候,应该利用“先进后出”的设计思路,试用堆栈技术,结合DOS的中断调用,实现输入字符串的显示,在考虑到由大到小或者是由小到大排序的时候,应该考虑到利用冒泡法。
在运用开机画面的时候,首先用DOS的中断调用,实现用字符组成的小车显示,然后实现小车的移动,表达类似windows开机的效果。
在运用扬声器发声的程序时,先输入计数初值,打开扬声器,将排序结果数字转换为音乐表中的对应数字,对应相应的发声频率,发车类似音乐的音调,达到想要的目的。
三、实现分析与程序冒泡排序分析:将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key 的气泡。
根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。
如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。
(1)初始R[1..n]为无序区。
(2)第一趟扫描从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。
微机原理与接口课程设计报告模板(参考)
《微机原理与接口技术》课程设计报告班级:学号:姓名:201X年X月目录实验一显示程序实验 (2)实验二数据传送实验 (4)实验三数码转换程序实验 (6)实验四运算类程序实验 (15)实验五分支程序设计实验 (18)实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS 功能调用使用方法;3. 熟悉Tddebug 调试环境和Turbo Debugger 的使用。
二、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一些提示信息的显示。
实验中可使用DOS 功能调用(INT 21H )。
(1) 显示单个字符输出入口:AH=02H调用参数:DL= 输出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL= 输出字符(4) 返回DOS 系统入口:AH=4CH调用参数:AL= 返回码三、实验设备PC微机一台四、实验代码DATA SEGMENTMES DB 'Show a as hex:', 0AH,0DH,'$'SD DB 'a'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MES ;显示提示信息MOV AH, 09HINT 21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0H ;取高4位SHR AL,4CMP AL, 0AH ;是否是A以上的数JB C2ADD AL, 07HC2: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AL, DS:[DI]AND AL, 0FH ;取低4位CMP AL, 0AHJB C3ADD AL, 07HC3: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AX, 4C00H ;返回DOSINT 21HCODE ENDSEND START五、运行结果实验二数据传送实验一、实验目的1. 熟悉Tddebug调试环境和Turbo Debugger的使用;2. 掌握与数据有关的不同寻址方式。
微机原理与接口技术课程设计报告
《微机接口技术课程设计》设计报告题目:实时钟显示与定时控制设计专业:电子信息工程班级:XXXXXXX学号:XXXXXXXXX姓名:XXX指导老师:XXX设计时间:2013 年6 月19日到2013年6月25 号1.设计任务说明通过本课程设计,综合应用接口技术各汇编语言程序设计技术,在PC 机上实现时钟显示、定时和响铃,以提高接口、汇编技术的应用能力。
2. 总体设计(1). 利用BIOS 和DOS 的系统功能调用,能将计算机系统的日期和时间读出并显示出来。
(2). 用“时:分:秒”(都是两位)的形式连续显示系统时间。
(3).利用定时接口芯片每秒钟响一次铃。
(4). 提示输入定时时间(即定时秒数),每经历指定的秒数,则演奏乐曲。
3. 详细设计模块描述:⑴.利用定时中断实现时钟显示。
当产生定时中断时(由8259A的IRQ0引起),CPU转入BIOS的08H 号中断处理程序,在该中断处理程序中是一条软中断指令“INT 1CH”,而在该软中断程序中只有一条IRET指令,这样系统每秒钟产生18.2次定时中断,调用18.2次INT 1CH,这为开发者提供了一个编写与时间有关的程序的软中断接口,上例的定时响铃就是借用这个软接口实现的。
其具体操作如下:①在时钟显示程序,截获1CH号中断,在新的1CH中断处理程序安排一个计数器,记录调用的次数,每18次(约一秒钟)显示一次当前时间。
②利用BOIS的1AH号中断的0号功能,读取当前计时器的数值:入口参数:AH=02H执行: INT 1AH出口参数:AL=午夜信号,CH=时的BCD码,CL=分的BCD码,DH=秒的BCD 码③利用BIOS的10H号中断的13H号功能,实现在屏幕的右上角显示时间。
④在主程序中要保存原1CH号中断的中断向量,并设置新的时钟显示中断程序的中断向量,然后作其它工作,如调用BIOS的键盘中断INT 16H 的0号功能,等待用户按键盘,也就是等待中断的发生,并在屏幕右上角显示时间……,当用户按键后,主程序工作完成后,恢复原1CH中断向量。
微机原理与接口技术课程设计实验报告
微机原理与接口技术课程设计实验报告2006年12月23日星期六上午01:26微机接口课程设计实验报告计算机31班秦鹏程03055014实验一电子琴一、实验目的1.通过D/A转换器产生模拟信号,使PC机作为简易电子琴2.了解利用数模转换器产生音乐的基本方法二、实验内容实验电路如图所示,8253的CLK0接1MHz时钟,GATE0接+5V,OUT0接8255的PA0,J1接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。
三、编程提示1.对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出,给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波,对于音乐,每个音阶都有确定的频率。
各个音阶标称频率值:音阶频率:(单位Hz)1 261.12 293.73 329.64 349.25 392.06 440.07 493.92.产生一个正弦波的数据可取32个(小于亦可),不同频率的区别,可通过调节向A/D转换器输出数据的时间间隔,例如:发“1”频率为261.1Hz周期为1/261.1=3.83.ms,输出数据的时间间隔为3.83/32=0.12ms,定时时间可以由8253配合8255实现,按下某键后发音时间的长短可以由发出的正弦波的个数多少来控制。
3.程序流程4.源程序data segmentdata1 db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh;正弦波数据数据区db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hdb 00h,04h,09h,15h,25h,38h,4eh,66htime db 120,106,94,89,79,70,63,59;发不同音时的计数器初值msg db 'Press 1,2,3,4,5,6,7,8,Esc:',0dh,0ah,'$'num db ? ;8253计数器初值的序号data endscode segmentassume cs:code,ds:datastart:mov ax,datamov dx,offset msgmov ah,9int 21h ;显示提示信息sss:mov ah,7int 21h ;从键盘接收字符不回显cmp al,1bhje exit ;若为Esc键,则转Exitcmp al,31hjl ssscmp al,38hjg sss ;若不在'1'~'8'之间转ssssub al,31mov num,al ;求出相应的时间常数的序号mov cx,60 ;取次个正弦波数据ddd:mov si,0lll:mov al,data[si] ;取正弦波数据mov dx,290hout dx,al ;放音call delay ;调延时子程序inc sicmp si,32 ;是否取完个数据jl lllloop ddd ;总循环次数是否完,若没有,则继续jmp sssexit:mov ah,4chint 21hdelay proc near ;延时子程序ccc: mov bx,offset timemov dx,283hmov al,10hout dx,almov dx,28bh ;设A口输入mov al,9bhout dx,almov al,num ;取相应的时间常数xlatmov dx,280hout dx,al ;向计数器输出kkk:mov dx,288hin al,dx ;从A口读一个字节test al,01 ;判PA0口是否为jz kkkret ;子程序返回delay endpcode endsend start四、实验现象在DOS环境下,用汇编程序进行汇编,生成DZQ.EXE可执行程序,并运行可执行程序。
微机原理与接口技术课程设计报告
微机原理与接口技术课程设计——数据采集班级网络10学号 31006100姓名 YHD指导老师马学文二零一三年一月八号一、任务要求对一路温度、一路压力信号进行巡回数据采集,并把A/D转换后的结果在实验机的数码管上显示出来。
采集到的数据超过规定的限值时,使发光二极管发光报警。
二、硬件连线本程序实现两路数据采集:一路采集温度信号,一路采集压力信号。
对每一路信号要连续采集8次,然后把8次A/D转化后的平均值显示在数码管上。
左边三位显示压力值,右边三位显示温度值。
(1)拨码开关:将拨码开关SW2拨上。
表示将GAL20V8的地址输入A-5接至系统地址线A5;A-6接至地址线A6;A-7接至地址线A7。
(2)压力实验模块的“压力输出”端接至ADC0809的输入端IN0,温度实验模块的“温度输出”端接至ADC0809的输入端IN1。
(3)0809的EOC的输出端与8259的IRQ0端相连,0809的CS连CS8(3E0H)。
(4)8259的片选CS-1连地址输出CS6(3A0H),8259的INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V。
(5)8253的片选CS连地址输出端CS1(300H),8253的A0、A1分别连地址总线的A2、A3,8253的GATE0连+5V,8253的CLK0连74LS393分频输出的47K输出端,8253的OUT0连到任一发光二极管上;8253的GATE1连+5V,8253的CLK1连74LS393分频输出的47K输出端,8253的OUT1连到温度实验模块的“占空比输入”端。
(6)8255并行模块下方的4个片选信号CS-1、CS-2、CS-3和CS-4分别与地址译码输出模块的对应引脚(实验箱中部的CS-1、CS-2、CS-3和CS-4)连接。
(7)74系列模块中开放的3根输出信号和4根输入信号对键盘进行控制。
键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0和开放的输出信号P0相连,片选信号CS2接CS4(360H)。
微机原理与接口技术课程设计报告---精品模板
微机应用系统设计与综合实验设计报告设计题目:简易数字频率计专业:班级:设计者:学号:指导教师:时间:目录一系统设计要求 31.1设计目的 31.2设计内容 31.3设计要求 3二、系统总体设计方案 42.1设计思想 42.2系统组成 42.3工作原理说明 4三、系统硬件设计 53.1系统硬件设计方案 53.2系统硬件连线图5四、系统软件设计74.1 8259中断模块74.2 8253模块 84.2.1 计时部分84.2.2 计数部分84.3 二-十进制转换 84.4 显示模块94.5主程序流程图94.6程序算法分析94.7关键程序段说明11五、系统调试及结论125.1.调试方法125.2.设计、调试过程中重点问题及解决方法125.3.运行结果及结论135.3.1运行结果135.3.2结论14六、设计体会15七、参考文献16一、系统设计要求1.1、设计目的通过数字频率计的设计,使同学们进一步掌握:(1)8086/8088汇编语言程序的设计和调试;(2)信号频率的数字测量方法;(3)定时计数器8253的基本工作原理和应用;(4)微机基本应用系统的设计方法;1。
2、设计内容设计并制作出具有如下功能的简易数字频率计.1)能实时测量1Hz~1000000Hz(1MHz)频率范围的不同信号的周期或频率。
如:方波、锯齿波、三角波、正弦波等波形。
2)在全频范围内测量误差≤0。
1%。
3)以十进制数字显示出被测信号的频率或周期。
设计要求:设计相应的A/D、键盘、显示接口电路,可在线键盘参数设置、定时检测、显示、报警。
1.3设计要求(1)针对实验装置已有条件,设计频率测量原理线路;(2)编制相应的测试软件,实现频率测量;(3)实际上机调试,完成综合试验;(4)编写设计说明书(含原理图,程序及说明,实验方法,过程及结果)。
二、系统总体设计方案2.1设计思想定时时间T=1秒,则计数值即为待测频率.设频率计的测量频率范围为1Hz~1MHz,利用8253定时器0作一秒定时器,利用8253通道二作待测信号脉冲计数器.OUT0上升沿产生中断,8259的IR0为中断入口。
微机原理及接口技术课程设计模板
微机原理及接口技术课程设计报告(2011—2012学年第一学期)题目电子琴系别电子与电气工程系专业电子信息工程班级0920313学号092031334姓名高艺红指导教师张博达、宋家驹完成时间2011.12.16评定成绩目录一、设计的目的 (3)二、设计的内容与要求 (3)三、设计方案 (4)四、软件、硬件设计 (4)五、设计总结 (4)六、参考文献 (4)一、设计的目的了解音频发声原理,根据已掌握的微机原理及接口技术的课程知识,完成对电子琴的设计。
通过硬件设计和程序编写过程,加深对微机原理及接口技术课程知识的理解和掌握,培养应用系统设计的能力,以及分析问题和解决问题的方法,并进一步拓宽专业知识面,培养实践应用技能和创新意识。
二、设计的内容与要求基础设计:根据音频的驱动控制电路,以及和微机的接口方式,通过软件编程,用273锁存输出单元的PO7输出不同频率的脉冲信号,送至由LM386构成的音频功放电路,实现功率放大并驱动扬声器发出声音。
提高设计:扬声器可发出7种音调,分别由7个开关进行控制。
附加设计:扬声器可发出7种音调,分别由7个开关进行控制。
另外设置一个开关,可播放一段5个节拍的小曲。
高级设计:可播放一段不小于10秒钟的小曲(曲目自选)。
三、设计方案描述所采用的设计思路、设计原理。
四、硬件、软件设计分两大块:硬件设计和软件设计。
硬件设计中体现硬件电路原理图及说明;软件设计包括程序流程图以及程序,加上相应的语句说明。
五、设计总结分析、总结设计项目的实验结果、设计过程中出现的问题和相应的解决措施或技巧。
总结在此次课程设计环节中的设计经验、收获和体会。
(300-400字)六、参考文献[1].陈继红,徐晨,王春明,等. 微机原理及应用. 第2版. 北京:高等教育出版社,2011.[2].陈建铎,孟开元,李瑜. 微机原理与接口技术. 北京:高等教育出版社,2008.。
微机接口课程设计报告模板
《微机原理与接口技术》课程设计题目:彩灯控制器设计学院(系):信息工程系年级专业:自动化1081班学号: 10212408121学生姓名:符圣驹指导教师:李波课程设计任务书学生姓名:符圣驹专业班级:自动化 1081 指导教师:李波工作单位:信息工程系题目:彩灯控制器设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
要求完成的主要任务:1.要求至少以三种方式控制LED灯的显示,序号依次为:0,1,2,3,4,5,6,7(自然数列);1,3,5,7(奇数列);0,2,4,6(偶数列)。
然后又依次显示同上数列,不断循环;2.扩展功能:允许增加新自定义的LED灯的显示模式。
3.打开电源开关,自动清零,即通电后最先显示出自然数列的0,再显示出1,然后按上述规律变化;4.每个数字的一次显示时间(从数码管显示之时起到消失之时止)基本相等。
5.严格按照课程设计说明书要求撰写课程设计说明书。
时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日基于微机原理彩灯控制器的设计摘要彩灯的发展也在日新月异,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺和现代科学技术紧密结合,将电子、建筑、机械、遥控、声学、光导纤维等新技术、新工艺用于彩灯的设计制作,把形、色、光、声、动相结合,思想性、知识性、趣味性、艺术性相统一。
本设计以8088、8255芯片为中心,利用开关实现对各种花色的控制,输出采用 8个共阳极二极管显示花色。
本电路设计的彩灯控制器不但能实现基本的0—7的依次显示,奇数灯依次显示和偶数灯依次显示,而且还能根据各开关的状态来控制增加或减少彩灯显示的花样,还能控制彩灯工作/暂停。
目录前言…………………………………………………………………………………………第一章彩灯控制器的设计要求与设计方案…………………1.1 系统主要功能1.2 彩灯控制器的元件选择第二章彩灯控制器的硬件设计……………………………………2.1 彩灯控制器器的硬件框图2.2 可编程并行接口8255及其引脚说明第三章彩灯控制器的软件设计…………………………………3.1 主程序流程图3.2 开关方式的设计3.3 延时模块程序设计第四章彩灯控制器的安装与调试………………………………4.1 硬件调试4.2 软件调试4.3 调试过程第五章设计体会与小结………………………………………………………5.1 总结设计体会与心得附录一………………………………………………………………………………………参考文献前言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
微机原理与接口技术课程设计报告
摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机控制系统以8088作为控制的核心元件,利用8255的A口控制步进电机,C口连接K0-K7,以选取不同档的移动速度,同时获取控制转动方向(即正转和反转).本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、正向加速、反向加速等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力关键字:步进电机;8086CPU;8255可编程I/O接口芯片;汇编语言目录摘要 (1)1.1步进电机转动控制的设计要求与设计方案1.2步进电机转动控制的要求与功能 (3)1.3总体设计方案 (3)一、步进电机转动控制设计的硬件设计二、 2.1步进电机转动控制的硬件框图 (4)2.2 步进电机驱动原理 (4)三、步进电机转动控制软件设计3.1 主程序流程图 (6)3.2 8255初始化 (7)四、步进电机硬/软件的调试4.1 硬件调试 (8)4.2 软件调试 (8)4.3 调试过程 (8)五、设计总结 (9)附录一 (10)一、步进电机控制的设计要求与设计方案1.1步进电机转动控制的要求与功能使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实现两个以上功能)1.启动与停止控制:用户拨动某一指定键后可以实现电机的启动与停止的控制2.方向的控制:用户将某一指定键拨向上可以实现电机的正转,拨向下实现电机的反转3.速度的控制:用户将另一指定键拨向上可以实现电机的加速转动,拨向下实现电机的减速转动4.综合控制:用户一起拨动上述的按键后可以实现电机的加速正转,减速反转等操作;1.2总体设计方案选用TN88\86实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A 芯片单元模块、步进电机单元模块。
微机原理接口技术课程设计报告
电气与电子信息工程学院微机原理接口技术课程设计报告设计题目:微机原理与接口技术目录摘要 (3)第1章设计目的要求及原理 (4)1.1 系统设计要求 (4)1.2设计目的 (4)1.3设计原理 (4)第2章硬件与软件设计及功能介绍 (5)2.1计数器8253 (5)2.2可编程并行接口8255 (8)2.3译码器74LS138 (10)2.4可编程中断控制器8259A (10)2.5硬件的连接 (11)2.5.1 8255与外接设备的连接 (11)2.5.2 译码器与8255.8253连接 (12)第3章总结 (13)参考文献 (13)附录 (14)摘要利用可编程中断控制器8259根据不同的信号源来对中断源进行中断屏蔽,系统通过可编程定时/计数器8253的两个计数器级联,实现对2MHz时钟信号的计数定时,初始化8253中写入定时信息,使系统每100ms产生一个定时中断请求信号发送给8259A,由其送入8086CPU后,CPU检测一次开关状态,若检测开关为闭合状态,则使继电器通电动作,若检测开关为断开状态,则继电器不动作;初始状态下继电器不动作。
关键词:可编程定时/计数器8253 , 可编程并行接口8255,中断控制8259A,译码器74LS138,继电器。
ABSTRACTUsing programmable interrupt controller 8259 according to the different source to interrupt mask interrupt source. The system count the 2MHz clock signal by two counters of the Programmable Timing Counter 8253 cascaded together, the Timing information is wrote when initializing the 8253 ,the system produces an interrupt request signal every 100ms and convey it to the CPU through Programmable Interrupt Controller 8259A,after that,8086 CPU tests the state of the switch, if the switch is closed, CPU will make the relay actuate, and in the initial state or if the switch is opened, the 8086 will make the relay stay off.Keywords: ogrammable Parallel Interface 8255 Programmable Timing Counter 8253 Timer and interrupt interrupt control decoder 74 LS138.第1章设计要求目的及原理1.1 系统设计要求1,用8255,8255实现开关的检测与继电器的控制电器。
微机原理与接口技术课程设计报告
微机原理与接口技术课程设计报告项目名称:十进制数计算器的设计与实现专业名称:计算机科学与技术(交通信息工程)学生姓名:李俊(201324020311)教师姓名:马荣贵2016年1月1日一、项目名称及要求 (3)1项目名称 (3)2项目要求 (3)二、项目背景及设计目的 (3)1项目背景 (3)2项目目的 (3)三、设计思路 (3)1总体设计思路 (3)2设计流程图 (4)四、项目方案及原理图 (5)1项目方案 (5)2并行接口8255A (5)3键盘输入模块 (6)4LED数码管输出模块 (7)5原理图设计 (8)五、结果与分析 (8)1实现现象 (8)2现象分析 (8)六、总结及体会 (9)七、附录 (9)1参考文献 (9)2源代码 (9)一、项目名称及要求1 项目名称十进制数计算器的设计与实现2 项目要求运用学过的《微机原理与接口技术》课程以及本学期的上机实验操作经验,根据题目设计要求进行软硬件系统的设计和实现,从而加深对本课程知识点的理解。
通过具体项目的实践,来提高学生的动手能力以及实时解决问题的能力,使学生综合能力得到显著提升。
本课题要求学生熟练运用并行接口8255A芯片、4*4键盘输入模块以及LED数码管输出模块的工作原理以及相应元件驱动程序的编写。
要求通过4*4键盘输入,LED数码管显示来完成简单计算器的功能(加减乘除操作)二、项目背景及设计目的1 项目背景大学课程设计是为了辅助学生加深对本课程的理论知识的理解和提高。
通过动手完成实际的项目设计及实现,减小理论与实践的距离,让同学对实际项目实现的流程有个大体的感受。
通过合作完成项目,提高同学的合作意识,以及模块化设计理念。
2 项目目的通过十进制数计算器的设计与实现,了解proteus软件使用;熟练掌握原理图的设计方法知道各硬件的功能以及电路实现三、设计思路1 总体设计思路4*4键盘输入模块:键盘“0~9”对应数字0~9键盘“A”对应符号“+”键盘“B”对应符号“-”键盘“C”对应符号“*”键盘“D”对应符号“/”键盘“E”对应符号“CE”键盘“F”对应符号“=”并行接口8255A:A口用于LED数码管的段码输出B口用于LED数码管的位码输出C口用于4*4键盘的输入LED数码管输出模块:采用动态显示的方式,将并行接口8255A中A口中的段码显示2四、项目方案及原理图1 项目方案先设计原理图,然后用PCB布线仿真,最后去实验室用实验器材实现设计2 并行接口8255A并行接口8255A:8255A是通用可编程并行接口芯片,是有40个引脚的双列直插式组件,其基本功能为:8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是输出端口;8255A能适应CPU 与I/O接口之间的多种数据传送方式的要求,如无条件传送、查询方式传送、中断方式传送。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》课程设计报告班级:学号:姓名:201X年X月目录实验一显示程序实验 (2)实验二数据传送实验 (4)实验三数码转换程序实验 (6)实验四运算类程序实验 (15)实验五分支程序设计实验 (18)实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS 功能调用使用方法;3. 熟悉Tddebug 调试环境和Turbo Debugger 的使用。
二、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS 功能调用完成一些提示信息的显示。
实验中可使用DOS 功能调用(INT 21H )。
(1) 显示单个字符输出入口:AH=02H调用参数:DL= 输出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL= 输出字符(4) 返回DOS 系统入口:AH=4CH调用参数:AL= 返回码三、实验设备PC微机一台四、实验代码DATA SEGMENTMES DB 'Show a as hex:', 0AH,0DH,'$'SD DB 'a'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MES ;显示提示信息MOV AH, 09HINT 21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0H ;取高4位SHR AL,4CMP AL, 0AH ;是否是A以上的数JB C2ADD AL, 07HC2: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AL, DS:[DI]AND AL, 0FH ;取低4位CMP AL, 0AHJB C3ADD AL, 07HC3: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HMOV AX, 4C00H ;返回DOSINT 21HCODE ENDSEND START五、运行结果实验二数据传送实验一、实验目的1. 熟悉Tddebug调试环境和Turbo Debugger的使用;2. 掌握与数据有关的不同寻址方式。
二、实验所用设备1. PC微机一台。
三、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
参考实验程序:DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD DB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK ;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE, DS:DDATA, ES:EXDASTART: MOV AX, DDATAMOV DS, AX ;装载数据段寄存器MOV AX, EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI, OFFSET MSR ;设置SIMOV DI, OFFSET MSD ;设置DIMOV CX, LENNEXT: MOV AL, [SI] ;开始传输数据INC SIINC DIDEC CXJNZ NEXTPUSH ESPOP DS ;将附加段寄存器的段值赋给数据段寄存器MOV DX, OFFSET MSDMOV AH, 9INT 21HMOV AX, 4C00H ;利用DOS功能调用返回DOS状态INT 21HCODE ENDSEND START将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:MOV BX, 0MOV CX, LENNEXT: MOV AL, MSR[BX]MOV ES:MSD[BX], ALINC BXLOOP NEXT四、实验步骤1.运行Tddebug软件,选择Edit菜单编写实验程序;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。
五、实验运行结果实验三数码转换程序实验一、实验目的掌握不同进制数及编码相互转换的程序设计方法。
二、实验所用设备PC微机一台。
三、实验内容计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。
因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。
计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。
图3-1 计算机与外设间的数码转换关系1.将ASCII码表示的十进制数转换为二进制数十进制数可以表示为:Dn×10n+Dn-1×10n-1+…+D0×100=Di×10i 其中Di代表十进制数1、2、3…9、0。
上式可以转换为:ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。
《微机原理与接口技术》课程设计报告本实验要求将缓冲区中的一个五位十进制数00012的ASCII 码转换成二进制数,并将转换结果按位显示在屏幕上。
转换过程的参考流程如图3-2所示。
表3-1 数码转换对应关系2.将十进制数的ASCII 码转换为BCD 码本实验要求将键盘输入的一个五位十进制数54321的ASC II 码存放入数据区中,转换为 BCD 码后,并将转换结果按位分别显示于屏幕上。
若输入的不是十进制数的ASC II 码,则输出“FF”。
提示:一字节ASC II 码取其低四位即变为BCD 码。
转换部分的实验流程参见3-3。
3.将十六进制数的ASCII 码转换为十进制数十六位二进制数的值域为0-65535,最大可转换为五位十进制数。
五位十进制数可表示为: N D =D 4×104+D 3×103+D 2×102+D 1×10+D 0因此,将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D 1-D 4,并将它们转化为ASCII 码。
图3-2 十进制ASCII 转换为二进制数参考流程图3-3 十进制ASCII 转换为BCD 码参考流程本实验要求将缓冲区中存放的000CH 的ASCII 码转换成十进制数,并将转换结果显示在屏幕上。
转换部分的实验流程参见图3-4。
4.BCD 码转换为二进制码本实验要求将四个二位十进制数的BCD 码存放在某一内存单元中,转换出的二进制数码存入其后的内存单元中,转换结束,送屏幕显示。
转换部分的实验流程参见3-5。
四、实验步骤1. 运行Tddebug 软件,选择Edit 菜单编写实验程序;2. 使用Compile 菜单中的Compile 和Link 对实验程序进行汇编、连接;3. 使用Rmrun 菜单中的Run ,运行程序,观察运行结果;4. 使用Rmrun 菜单中的Debug ,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。
五、实验代码1.将ASCII码表示的十进制数转换为二进制数DATA SEGMENTSTRING DB 'Input:','$'NUM DB 6, ?, 6 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX, DATAMOV DS, AXCALL INPUTCALL CHANGECALL LIST_BXMOV AH, 4CHINT 21HINPUT PROCLEA DX , STRINGMOV AH , 09HINT 21HLEA DX , NUMMOV AH , 0AHINT 21HRETINPUT ENDPCHANGE PROCLEA SI, NUM+2MOV CL, NUM+1MOV CH, 0MOV AX, 0MOV DI, 10NEXT: MUL DIMOV BH, 0MOV BL, [SI]AND BL, 0FHADD AX, BXINC SILOOP NEXTZERO: MOV BX, AXRETCHANGE ENDPADD DL, 07HLIST_BX PROCMOV DL,0DHINT 21HMOV DL,0AHMOV AH,2INT 21HMOV CH, 4MOV CL, 4NEXT1: ROL BX, CLMOV DL, BLAND DL, 0FHADD DL, 30HCMP DL, 39HJLE PRINTPRINT: MOV AH, 2HINT 21HDEC CHJNZ NEXT1RETLIST_BX ENDPCODE ENDSEND START2.将十进制数的ASCII码转换为BCD码DATA SEGMENTD1 DB 6,?,6 DUP(?)D2 DB 5 DUP(?)D3 DB 'FF$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV DX,OFFSET D1MOV AH,0AHINT 21HMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HMOV CL,D1+1MOV CH,0L1: MOV AL,D1[SI+2]CMP AL,30HJB L2CMP AL,39HJA L2AND AL,0FHMOV D2[SI],ALINC SILOOP L1MOV CL,D1+1MOV SI,0L4: MOV DL,D1[SI+2]MOV AH,2INT 21HINC SILOOP L4JMP L3L2: MOV DX,OFFSET D3MOV AH,09HINT 21HL3: MOV AH,4CHINT 21HCODE ENDSEND START3.将十六进制数的ASCII码转换为十进制数DATA SEGMENTD1 DB '000C'C1 EQU $-D1D2 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV CX,C1MOV SI,OFFSET D1MOV BX,10HMOV AX,0L1: MOV DL,[SI]SUB DL,30HCMP DL,9JBE L2SUB DL,7H ;十六进制数大写,若小写,减27h L2: MOV DH, 0PUSH DXMUL BXPOP DXADD AX,DXINC SIDEC CXJNZ L1MOV D2,AXMOV BX,10000MOV DX,0DIV BXPUSH DXMOV DL,ALADD DL,30HMOV AH,2INT 21HPOP AXMOV BX,1000MOV DX,0DIV BXPUSH DXMOV DL,ALADD DL,30HMOV AH,2INT 21HPOP AXMOV BX,100MOV DX,0DIV BXPUSH DXMOV DL,ALADD DL,30HMOV AH,2INT 21HPOP AXMOV BX,10MOV DX,0DIV BXPUSH DXMOV DL,ALADD DL,30HMOV AH,2POP AXMOV DL,ALADD DL,30HMOV AH,24.BCD转换为二进制码DATA SEGMENTD1 DB 12H,34H,56H,78HC1 EQU $-D1D2 DB C1 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV CH,C1MOV CL,4MOV SI,0MOV BH,10L1: MOV AL,D1[SI]MOV BL,ALAND BL,0FHAND AL,0F0HSHR AL,CLMUL BHADD AL,BLMOV D2[SI],ALINC SIDEC CHJNZ L1L2: MOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HMOV AL,D2[SI]MOV DL,ALAND DL,0F0HSHR DL,CLADD DL,30HCMP DL,39HJNA L3ADD DL,7L3: PUSH AXINT 21HPOP AXAND AL,0FHMOV DL,ALADD DL,30HCMP DL,39HJNA L4ADD DL,7L4: MOV AH,2INT 21HINC SI六、实验运行结果1.2.3.4.实验四运算类程序实验一、实验目的1. 掌握运算类指令编程及调试方法;2. 掌握运算类指令对各状态标志位的影响及测试方法。