汇编与微机原理课程设计报告
微机原理与汇编语言课程设计报告
西北师范大学计算机科学与工程学院微机原理与汇编语言课程设计报告设计题目:中断控制点阵显示与音乐模块姓名:学号:专业班级:系所中心:指导老师:起讫时间:设计地点:2016年8月20日摘要使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。
设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。
此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。
【关键词】级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号目录摘要 (2)第一章课程设计 (2)1.1 目的和任务 (2)1.2 设计环境、设备与器材 (2)第二章设计内容和方案 (3)2.1 设计内容 (3)2.2 设计方案 (3)第三章课程设计相关原理简述 (3)第四章设计实现 (4)4.1 系统设计框架结构 (4)4.2 系统硬件设计 (4)4.3 系统软件设计 (6)4.4 程序流程图 (6)4.5 核心数据结构 (8)4.6 关键代码片段分析 (10)第五章设计验证 (10)5.1 验证步骤及结果 (10)5.2 数据分析 (10)5.3 遇到的问题及解决 (11)5.4 需要讨论的其它问题 (11)5.5 结论 (11)第六章设计总结 (12)第七章本课程教学建议 (13)第八章参考文献 (13)第九章附录:源代码 (13)第一章课程设计1.1 目的和任务使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。
1.2 设计环境、设备与器材列出本次课程设计所用到的设备与器材,包括数量。
微机原理课程设计报告文库
微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
微机原理与汇编语言程序设计课程设计报告
课程设计报告名称:微机原理与汇编语言程序设计课程设计题目:汇编语言编程实践及电子钟设计院系:计算机系班级:学号:学生姓名:指导教师:设计周数:成绩:《微机原理与汇编语言程序设计课程设计》评分表任务书一、目的与要求本课程设计包含软件部分和硬件部分两个环节。
软件部分:进一步熟悉汇编语言设计方法和步骤,完成在有限的课内实验环节无法涉及到的具有综合设计性的软件实验,如中断程序设计、I/O程序设计、宏设计等。
硬件部分:利用伟福试验设备中的8253可编程定时/计数器,8259中断控制器,8255可编程并行接口芯片和七段数码管等设计一个电子钟电路,并编制一个程序使电子钟能正常运行。
通过软硬件环节的设计和调试,巩固所学知识,增强动手能力,提高综合性工程素质。
二、主要内容软件部分:1.熟悉编程环境,完善前期电话号码本设计的功能;2.显示器I/O程序设计,完成窗口控制程序;3.中断程序设计,完成内部中断服务程序和外部中断服务程序设计;4.发声系统设计;5.键盘程序设计。
硬件部分:1.总体模块设计,查阅资料,设计主程序和中断服务程序的流程;2.详细设计,完成软硬件模块的框架。
3.调试,对前述工作进一步细化;4.完善功能,实现电子钟的准确运行,并进一步改进其功能;5.验收、实验报告撰写。
三、进度计划四、设计(实验)成果要求1.软件环节要求掌握各环节的设计原理、能实现各环节要求的功能。
2.硬件环节要求利用相关接口芯片,实现电子钟的准确运行等功能。
3.总结实验,撰写实验报告。
五、考核方式实验结果(60%)+实验报告(30%)+实验过程表现(10%)1.验收:完成课程设计题目后由指导老师验收,学生汇报上机题目完成情况,回答提出的问题。
2.撰写课程设计实验报告:完成课程设计题目后,应认真撰写课程设计报告,报告应内容全面、格式规范。
学生姓名:指导教师:年月日实验一电话号码本设计完善一、课程设计(综合实验)的目的与要求1. 熟练掌握汇编语言程序设计环境,根据前期掌握程度,可选择Masm for windows集成实验环境(实验室配备),或自行安装masm5.0、masm6.0、Emu8086,Tasm等,软件开发环境可由学生根据使用爱好自选。
微机原理课程设计报告
微机原理课程设计报告课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助!微机原理课程设计报告(一) 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。
当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。
但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。
我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。
看着自己做出来的东西,心里面的感觉真的很好。
虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。
很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。
对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
汇编语言课程设计报告报告
湖南农业大学课程设计报告学院:班级:姓名:学号:课程设计题目:编密码课程名称:汇编语言与微机原理评阅成绩:评阅意见:成绩评定教师签名:日期:年月日目录概述 (3)一设计内容与要求 (3)二设计思想 (3)三程序流程图 (4)四程序源代码 (5)五效果图 (7)六设计过程中遇到的问题及解决方法 (7)七设计心得 (7)编密码概述汇编语言:是用英文缩写形式的助记符书写指令。
汇编语言是一种面向CPU指令系统的程序语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。
用汇编语言编写程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程成为汇编,完成汇编任务的程序称为汇编程序。
所以我在MASM汇编程序中进行汇编,通过相应的代码来调用相应的指令实现编密码。
一、设计要求(小标题一律用宋体小四加粗)要求:按照以下规律编密码:1.字母A变为E,a变为e即是字母变成其后面的第4个字母。
2.但Ww变Aa,Xx变Bb,Yy变Cc,Zz变为Dd.3.非字母不变如1234567890,!@$4.并可以循环转换5.例如“123CHINA@”变为“123GLMRE@”二、设计思想首先,先定义两个缓存区,一个用来存放输入的密码(BUF2),一个用来存放变换后的密码(BUF3)。
先输入一个十位数内的密码,然后一一对一个个字符进行判断。
先判断ascall是否小于41H,如果是则不是字母那就不变换直接转到read1,存入BUF3。
如果大于41H在判断是否大于61H即判断是不是小写的,如果小于的话在判断大于5bH吗?如果大于则不是字母那就不变换直接转到read1,存入BUF3。
如果小于的话,在判断是不是大于w的ascall,如果大于就转到read3,减22在,存入buf3.否则转到read4,加4在存入BUF3。
如果大于等于61H的话,同样的道理,判断是否大于W,如果大于在判断大于7AH吗。
汇编语言与微机原理实验报告
成绩:2微机原理与接口技术课程实验报告课程:微机原理与接口技术姓名:专业:网络工程学号:132055222日期:2016年6月太原工业学院计算机工程系实验一:输入输出实验实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2016.6一.实验内容基本要求:1.熟悉emu8086仿真系统2.实现控制台输入输出3.设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其他为自动输出)扩展要求:1.实现两位十进制和的输出2.实现一位十进制四则运算3.实现多位数运算思考内容:1.输入输出数据和计算用数据的区别2.单字符输入输出和串输入输出的不同二.理论分析或算法分析1.一般来讲,从键盘输入的数都是以ASCII码的形式存放在内存中。
对十六进制数来讲,0~9的ASCII码值分别为30H~39H,对这十个数的转换,减去30H就得到对应的二进制值,再用二进制数值进行加减乘除运算。
2.实现一位十进制数的加法运算和实现一位十进制数的减法运算的主要区别是对控制台输入的运算符不同,算术运算指令也不同,同时应该考虑加法的进位和减法的借位。
一位十进制加法与两位十进制加法运算的区别是:一位十进制加法时算术运算指令用AAA(加法的ASCII调整),两位十进制数用DAA(加法的十进制调整)。
3.在一位十进制的运算方法上,利用mov ah,01h;int 21h;输入字符。
利用mov dl,al;mov ah,2;显示到屏幕上。
将第一个数赋值给al,将第二个数赋值给bl,用add实现bl于al的相加。
4.在实现两位十进制相加的算法时,利用步骤一的方法,再次将两个值赋值给ah和bh,利用add实现十位数的带进位相加。
三.实现方法基本要求代码:mov ah, 1int 21hmov bl, al mov ah, 2 mov dl, '+'int 21hmov ah, 1int 21hand bl, 0fh and ax, 0fh add al, blaaaor ax, 3030h mov bx, ax mov ah, 2 mov dl, '='int 21hcmp bh, 30h 扩展要求代码:mov ah, 1int 21hmov bl, al mov ah, 2 mov dl, '+' int 21hmov ah, 1int 21hadd bl, al mov ah, 2 mov dl, '=' int 21hmov dl, bl sub dl, 30h mov ah, 2int 21hHlt四、实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)1、基本要求实验结果:2、扩展要求实验结果:五.结论通过本次实验,完成了一位十进制数的加法运算,两位十进制数的和输出,一位十进制数的四则运算以及多位数运算的实验要求。
微机原理课程设报告
微机原理课程设计设计报告一、设计目的1、对微机原理课程中所学的理论知识进行进一步巩固和加深。
2、学会查阅相关手册与资料,培养独立分析与解决问题的能力。
3、学会使用屏幕编辑程序—MASM对汇编程序的编写,调试和运行。
4、了解对系统中DOS和BIOS的使用,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
二、设计内容本次为期一周的课程设计,主要编写调试了5个程序,题目如下:1、字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
2、从键盘上输出数据并显示为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。
编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。
3、字符和数据的显示设计为掌握字符和数据的显示方法,编写程序,先显示信息:INPUT STRING,THE END FLAG IS$,再接收字符。
如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数4、学生成绩名次表设计为进一步熟悉排序方法。
编写程序,将0-100之间的30个成绩存入首址为1000H的存储区中。
1000H+i表示学号为i的学生成绩。
编写程序使得在2000H 开始的区域排除名次表。
2000H+i为学号i的学生的名次。
三、具体设计程序设计一:字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
流程图程序DATA SEGMENTDAT1 DB 'INPUT STRING1:','$' ;$保持当前地址DAT2 DB 'INPUT STRING2:','$'DAT3 DB 'MATCH!',0AH,0DH,'$' ;0DH为回车ASCII码,0AH为换行ASCII码DAT4 DB 'NOT MATCH!',0AH,0DH,'$'STRING1 DB 50 ;最长长度DB ? ;实际长度DB 50 DUP(?) ;存储空间STRING2 DB 50DB ?DB 50 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATA ;数据段设置MOV DS,AXMOV ES,AXMOV AH,09H ;字符串显示,显示DAT1,显示DS:DX MOV DX,OFFSET DAT1INT 21HMOV AH,0AH ;字符串缓冲输入,接收输入字符串MOV DX,OFFSET STRING1INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HMOV AH,09HMOV DX,OFFSET DAT2 ;显示DAT2INT 21HMOV AH,0AHMOV DX,OFFSET STRING2INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HLEA SI,STRING1 ;比较LEA DI,STRING2ADD SI,2 ;串1首字符[SI+2]ADD DI,2 ;串2首字符[DI+2]CLD ;DF=0MOV CX,50REPZ CMPSB ;CX≠0或ZF=1时重复,DS:SI和ES:DI所指的两个字节相同则继续比较,如果比较相等,ZF=1,则继续比较下一个字节,DI和SI分别加1(DF=0时),CX-1JZ MATCHNMATCH:MOV AH,09HMOV DX,OFFSET DAT4 ;输出不匹配INT 21HJMP NEXTMATCH: MOV AH,09HMOV DX,OFFSET DAT3 ;输出匹配INT 21HNEXT: MOV AH,4CHINT 21HCODE ENDSEND START小结在设计过程中,我把程序分成了宏定义显示回车,数据段定义,初始化,开始比较,匹配时再比较,不匹配时SI指向串1首字符,DI指向新字符重新开始比较等模块。
汇编语言与微机原理课程设计
集中实践性教学环节教学大纲集中实践性汇编语言与微机原理教学环节名称适用专业计算机科学与技术等培养层次本科集中实践性五周数 1 学分 1 教学环节学期一、集中实践性教学环节的性质、目的与任务(一)性质本环节是计算机应用与维护所必需的一门课程。
通过本门课程的学习,使学生从理论和实践上掌握微机的基本组成、工作原理、以及与常用外设的硬件连接等知识,建立起微机系统的整体概念,使学生初步具有应用微机系统软、硬件的能力。
(二)目的通过本实践环节教学,加深学生对“微机原理与接口技术”、“汇编语言”、等知识的掌握与综合运用,培养学生分析解决实际问题的能力,提高学生的创新意识及动手能力,为后续相关课程的学习,以及毕业后从事微机硬件及软件开发打下基础,积累初步的经验。
(三)任务每位学生制定详细的设计工作计划,按计划展开工作;利用所学过的知识,初步分析计算机原理及接口技术的能力;汇编语言的编程能力;接口通信程序的设计和调试的能力;实验结果分析、总结及撰写技术报告的能力。
二、基本要求(一)通过文献资料查阅和学习,了解当前流行的.net开发模式和设计方法。
(二)参考和研究一些公司和高校/企业成功的软件开发案例和实现方案,结合所学课程中所学知识,积极完成设计任务。
(三)认真完成需求分析,并根据需求分析完成各设计题目的总体设计、详细设计和测试等环节的设计任务。
(四)突出架构设计的重要性(五)认真按时完成课程设计报告。
三、集中实践性教学环节的内容选择题目后以工程的管理方式、方法进行,包括需求分析、结构设计、编制程序,调试与测试等。
每一组人数控制在1-2人,视题目大小而定,但报告每人一份。
对于每一个选题中的不同模块,由学生分工完成,而同一个大题目所要求的数据设计任务,则需同组中的学生共同协作完成,最后把每个学生的设计结果进行联调。
设计选题如下:✓8086汇编语言实现的班级通讯录✓8086汇编语言实现的文本编辑器✓8086汇编语言实现的文本模式小游戏✓8086汇编语言实现的BIOS图形模式小游戏✓8250双机串行通信的设计与实现✓BIOS及DOS功能调用串行通信编程实现✓8253电子时钟的设计✓8088CPU实现的专用计算机系统(含中断、DMA、定时计数器、串并行通讯)如以上题目不满足学生需求,可以自拟题目。
微机原理与汇编课程设计
微机原理与汇编课程设计一、课程目标知识目标:1. 让学生掌握微机原理的基本知识,理解汇编语言的核心概念,如寄存器、指令系统、中断处理等。
2. 使学生能够运用汇编语言进行程序设计,编写简单的微机程序,并对程序进行调试与优化。
3. 帮助学生了解微机硬件与软件的交互原理,理解计算机内部运行机制。
技能目标:1. 培养学生运用汇编语言进行程序设计的能力,提高编程技巧,具备分析、解决实际问题的能力。
2. 让学生掌握汇编程序调试方法,培养调试程序、解决问题的实际操作技能。
3. 培养学生的团队协作能力,学会与他人共同分析问题、解决问题,提高沟通与协作能力。
情感态度价值观目标:1. 培养学生对微机原理与汇编语言的兴趣,激发学生的学习热情,提高学习积极性。
2. 引导学生树立正确的计算机伦理道德观念,遵守国家法律法规,养成良好的编程习惯。
3. 培养学生面对困难的勇气和毅力,增强学生的自信心,使其具备克服困难、追求卓越的精神风貌。
课程性质:本课程为专业核心课程,旨在使学生掌握微机原理与汇编语言的基本知识和技能,培养实际编程能力。
学生特点:学生具备一定的计算机基础知识,但对微机原理与汇编语言了解较少,需要从基本概念入手,逐步提高。
教学要求:结合学生特点,注重理论与实践相结合,强化实践操作,培养学生实际编程能力。
同时,注重启发式教学,引导学生主动思考,提高分析问题和解决问题的能力。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. 微机原理基础知识:包括计算机系统结构、中央处理器(CPU)组成、寄存器组、内存管理、输入输出接口等基本概念。
教材章节:第一章 微机原理概述2. 汇编语言基础:介绍汇编语言的基本语法、指令系统、伪指令、宏指令等,以及汇编程序的构成与编写方法。
教材章节:第二章 汇编语言概述;第三章 指令系统与语法3. 汇编程序设计:讲解汇编程序设计的基本方法,包括顺序结构、分支结构、循环结构等,以及子程序设计、模块化编程等高级技巧。
微机原理课程设计报告
微型计算机技术课程设计指导教师:班级:姓名:学号:班内序号:课设日期:_________________________目录一、课程设计题目错误!未定义书签。
二、设计目的错误!未定义书签。
三、设计内容错误!未定义书签。
四、设计所需器材与工具3五、设计思路错误!未定义书签。
六、设计步骤(含流程图和代码)错误!未定义书签。
七、课程设计小结36一、课程设计题目:点阵显示系统电路及程序设计利用"汇编语言与微型计算机技术"课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。
二、设计目的1.通过本设计,使学生综合运用"汇编语言与微型计算机技术"、"数字电子技术"等课程的内容,为今后从事计算机检测与控制工作奠定一定的根底。
2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。
三、设计内容1.点阵显示系统启动后的初始状态在计算机显示器上出现菜单:dot matrix display system1.←left shift display2.↑up shift display3.s stop4.Esc Exit2.点阵显示系统运行状态按计算机光标←键,点阵逐列向左移动并显示:"微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓〞。
按计算机光标↑键,点阵逐行向上移动并显示:"微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓〞。
按计算机光标s键,点阵停顿移动并显示当前字符。
3.完毕程序运行状态按计算机Esc键,完毕点阵显示系统运行状态并显示"停〞。
汇编语言与微机原理实验报告
成绩:2计算机原理实验室实验报告课程:汇编语言与微机原理**:***专业:计算机科学与技术学号:*********日期:2013年12月太原工业学院计算机工程系实验一:输入输出实验3、思考内容(1)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时间相差“0”即30H。
所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H。
(2)单个字符,也就是CPU处理外设(键盘)的整个中断过程五.结论通过本次实验,完成了一位十进制数的加法运算,两位十进制数的和输出,一位十进制数的四则运算以及多位数运算的实验要求。
这次实验也让我熟悉了emu8086仿真系统,能够实现控制台的输入输出;也学会了如何去实现一位十进制数的加法运算还有两位十进制数的和输出以及一位十进制数的四则运算,知道了输入输出数据和计算用数据的区别,即)从键盘中输入和从从屏幕上输出的都是字符,和计算用的数据时间相差“0”即30H。
所以一个数从屏幕上输出时将+30H,输入时转换成数字-30H,还有单字符输入输出和串输入输出的不同。
实验二:分支程序实验2.扩展要求每次输出都换行实验三:循环程序实验lea si,datamov cx,time+1result:mov dl,[si]add dl,30hmov ah,2int 21hmov dl,' 'int 21hadd si,2loop resultjmp $time equ 4paixuqian dw 'paixuqian:','3','4','9','7','1','$'paixuhou dw 'paixuhou:','$'data dw 3,4,9,7,1四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)本次实验验证了实验基本要求,实现了直接选择排序和冒泡排序两种方法对五个字从大到小排序功能.1.直接选择排序结果:2.冒泡排序结果:3.思考内容:冒泡排序之所以能实现快速排序,是每一次排序都将最大或最小的放在最后或最前,并且有个来统计交换的次数,一旦交换的次数为0时直接退出循环。
微机原理课程设计报告
目录一.设计内容 (1)二.设计原理及方案 (1)三.汇编源程序代码 (2)四.实施结果 (10)五.课程设计体会 (13)六.参考文献 (14)一.设计内容利用DAC设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,要求自行设计波形输出的切换方式。
主要功能:本题用到8255,dac0832芯片1.产生四种波形2.键盘切换波形3.数码管显示波形号(1-三角波,2-正弦波,3-锯齿波,4-方波)二.设计原理及方案设计原理:D/A转换器(DAC0832)产生各种波形的原理:利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,则D/A转换器就可输出各种各样的模拟量,如三角波、正弦波、锯齿波、方波等。
8255A实现波形切换:从8255的C口读入外接开关的信号,CPU读入不同信号值,从而执行不同的代码,向D/A转换器传送不同的数据,控制D/A转换器输出三角波、正弦波、锯齿波、方波等。
通过键盘切换波形,DAC0832输出各种波形,同时共阴极数码管显示按键号:1-三角波,2-正弦波,3-锯齿波,4-方波。
电路原理图(设计连接图):三.汇编源程序代码;***********************功能说明*****************************;题目二利用D/A设计波形发生器;利用D/A设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,;至少设计一种波形切换方式。
;功能:本项目用到8255,DAC0832芯片; 1 产生四种波形; 2 键盘切换波形; 3 数码管显示波形号(1-三角波,2-正弦波,3-锯齿波,4-方波);************************主程序******************************io3 EQU 600h ;8255io4 EQU 800h ;DAC 0832;********************************数据段定义data segmentsin_wave db 200,195,181,159,131db 100,69,41,19,5,0,0 ;正弦波幅值LED DB 06H,5BH,4FH,66H ;共阴极段码表data ends;********************************code segmentassume cs:code,ds:datastart: mov ax,data ;建立DS段地址 mov ds,axcall jian;********************************三角波san: mov Bx,255SAN3: MOV CX,BXmov al,0mov dx,io4san1: out dx,al ;三角波形上升段call delayinc alloop san1mov cx,BXmov al,BLmov dx,io4san2: out dx,al ;三角波形下降段 call delaydec alloop san2call jian;************************************正弦波sin: mov cx,11mov bx,0mov dx,io4lea si,sin_wavesin1: mov al,[si][bx] ;正弦波下降段 out dx,alcall delay1inc bxloop sin1mov cx,11sin2: mov al,[si][bx] ;正弦波上升段 out dx,alcall delay1dec bxcall jian;***************************************锯齿波juchi: mov Bx,255juchi1: mov cx,bxmov al,blmov dx,io4juchi2: out dx,al ;下降沿call delaycall delaydec alloop juchi2call jian;***************************************方波fang: mov Bx,255fang1: mov al,bl ;高电平段mov dx,io4out dx,alcall delay1MOV al,0 ;低电平段out dx,alcall delay1;****************************************延时delay proc ;延时子程序一push axpush bxpush cxpush dxmov cx,50lp0: noploop lp0pop dxpop cxpop bxpop axretdelay endpdelay1 proc;延时子程序二push axpush bxpush cxpush dxmov cx,1250loop lp1pop dxpop cxpop bxpop axretdelay1 endp;****************************************键盘选波形jian proc nearjian1: mov al,10001000B ;c口高四位输入MOV DX,io3+6HOUT DX,AL ;送控制字MOV AL,0MOV DX,io3+4HOUT DX,AL;c口低四位为0即行输出为0 nokey: in al,dx ;读c口高四位and al,0f0H ;屏蔽c口低四位cmp al,0f0Hjz nokey ;无键按下则循环call delay1 ;延时in al,dxshr al,1 ;列信息存于al低四位 shr al,1shr al,1shr al,1mov bl,0 ;初始列变量BL为0mov cx,4jian2: shr al,1 ;逐列检测,找出为0信号jnc jian3inc blloop jian2jian3: mov al,10010001b ;c口低四位输入mov dx,io3+6hout dx,al ;送控制字mov al,0mov dx,io3+4hout dx,al ;c口高四位为0即列输出为0in al,dxand al,0fh ;屏蔽高四位cmp al,0fhjz jian1 ;出错从头来mov bh,0 ;初始行变量为0mov cx,4jian4: shr al,1jnc jian5inc bh ;初始行变量BH为0loop jian4jian5: shl bh,1shl bh,1add bh,bl ;BH为键号MOV CH,BH ;保存键号在ch中MOV AL,BH ;数码管显示波行号LEA BX,LED ;1三角波2正弦波3锯齿波4方波 XLA Tout dx,alMOV DX,IO3+2OUT DX,ALMOV BX,155 ;幅值一MOV DX,IO3IN AL,DXcmp ch,0jz sancmp ch,1jz sincmp ch,2jz juchicmp ch,3jz fangretjian endpcode endsend start四.实施结果(1)键盘选择1——三角波(2)键盘选择2——正弦波(3)键盘选择3——锯齿波:(4)键盘选择4——矩形波五.课程设计体会在为期近两周的微机原理课程设计中,我们小组利用所学微机的理论知识进行软硬件整体设计,同时锻炼了我们理论联系实际,提高我们的综合应用能力。
微机原理与汇编语言程序设计实验一
实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。
设定源程序的文件名为ABC。
DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSSTACK SEGMENT STACK ’STACK’STA DB 10 DUP(?)TOP EQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。
图1 用EDIT编辑ABC.AS M程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。
2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
微机原理与汇编语言程序设计课程设计
微机原理与汇编语言程序设计课程设计
一、设计背景和目的
微机原理与汇编语言程序设计是计算机科学与技术专业的必修课程,本课程主要介绍微机组成原理、汇编语言程序设计和简单的计算机系统调试。
为了让学生更好地掌握本课程的知识和技能,课程设计是必不可少的环节。
本次课程设计旨在提高学生对微机组成原理和汇编语言程序设计的理解,加强学生实际操作能力,培养学生团队协作精神和创新思维能力。
二、设计内容
1. 设计目标
本次课程设计的目标是:
1.通过自主设计、实现和调试微机系统,让学生更加深入了解和掌握微
机组成原理和汇编语言程序设计。
2.培养学生实际操作能力,提高学生程序设计水平和调试能力。
3.加强学生团队协作精神和创新思维能力,让学生充分发挥自己的创造
力,实现学习成果的最大化。
2. 设计内容
本次课程设计将分为以下三个部分:
1.系统总体设计:根据具体要求,设计和规划微机系统的硬件组成和软
件结构,包括系统框架图、硬件接口电路图和软件模块设计等。
2.系统实现和调试:根据系统总体设计,分别实现硬件和软件,对系统
进行调试验证,并录制系统操作演示视频。
1。
微机原理与汇编语言程序设计汇编实验报告
(此文档为word格式,下载后您可任意编辑修改!) 昆明学院课程设计(大作业)目录1题目分析 (5)2基本理论 (5)3 总体设计 (6)3.1 本程序的功能结构图 (6)3.2字符输入及存储设计 (8)3.3加、减、乘、除法运算的判断设计 (8)3.4加、减、乘、除法运算的设计 (9)4实验器材 (10)5方法步骤 (11)6成效分析 (11)6.1运行界面分析 (11)6.2调试过程及分析 (13)7心得体会 (14)8参考文献 (14)9附录 (14)课程设计(大作业)报告一、题目分析本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。
重点和难点主要包括以下几个方面:(1)利用BIOS调用中INT 16H调用中的子程序完成清屏、设置显示方式、设置窗口等操作。
(2)利用INT 21H DOS系统功能调用中的键盘输入接收十进制操作数和运算符由程序完成字符转换为二进制数,并存储起来。
(3)根据运算符完成运算,由程序在屏幕上显示运算结果。
1、十进制数转换为二进制数过程如下:(1)将BX清0.(2)从键盘接收一个按键的ASCII送AL中,并判断是否为0到9之间的字符,若不是转退出;否则将AL中内容减30H,转换为相应数字的二进制数,并扩展到AX中,然后将BX中内容乘以10后,再加上AX中的内容。
(3)转(2)继续执行因此程序退出后,BX中的内容即为所输入十进制数的二进制值。
例如:首先将BX清0后,先输入数字“5”,则(AL)=35H,属于0到9之间的数字,减30H后,(AL)=05H,扩展后,(AX)=0005H,BX乘以10后,加上AX中的内容,(BX)=0005H。
然后输入数字“8”,则(AL)=38H,属于0到9 之间的数字,减30H后,(AL)=38H,扩展后,(AX)=0008H,(BX)乘以10后,加上AX中的内容,(BX)=0037H,为十进制数“58”的二进制值。
微机原理与应用实验报告-汇编语言程序设计
实验报告册课程名称:微机原理指导老师:班级:姓名:学号:学期:20 19 —20 20 学年第学期实验目录实验一:汇编语言程序设计实验二:实验三:实验四:实验五:实验六:姓名:成绩:实验一汇编语言程序设计一、实验目的1、学习8088汇编语言程序的基本结构和程序设计的基本方法。
2、熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的全过程。
3、掌握DEBUG基本指令及其使用方法。
二、实验内容编写程序,将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。
三、实验步骤1、进入编程环境,编写、汇编、链接、运行汇编语言源程序。
2、利用DEBUG指令,对程序进行调试。
四、实验程序实验代码如下:;将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。
DATAS SEGMENTDATA DB80H,81H,82H,83H,84H,85H,86H,87H,88H,89H,8AH,8BH,8CH,8DH,8EH,8FH;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV ES,AXMOV SI,OFFSET DATAMOV DI,1000HMOV CX,16CLDREP MOVSB;此处输入代码段代码HLTMOV AH,4CHINT 21HCODES ENDSEND START五、实验结果将80H-8FH送入1000H-1016H内存段的结果:3.实验小结进一步巩固了数据的一般传送以及体会到了数据块传送的便利之处,进一熟悉了MASM软件的操作和DEBUG命令的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机接口课程设计报告(题目:模拟自动门)指导老师郭兰英班级2015240204目录一概述 (1)1.1 课程设计名称 (1)1.2 课程设计要求 (1)1.3 课程设计目的 (1)二设计思想 (1)三实施方案 (2)3.1 获得传感器和“门”的状态 (2)3.2 驱动步进电机和点阵模块 (2)3.3 实现硬件延时 (3)四硬件原理 (3)4.1 中断控制器8259 (4)4.2并行接口8255 (4)4.3 定时/计数器8254 (5)4.4 点阵LED显示屏 (5)4.5 步进电机 (6)4.6 红外距离传感器 (7)五软件流程 (8)六程序运行结果及分析 (11)6.1 开门状态 (11)6.2 关门状态 (12)6.3 关门操作进行时中断到开门操作 (14)6.4特殊状态 (15)七个人感想 (16)八附录 (18)一、概述1.1课程设计名称模拟自动门1.2课程设计要求1)用汇编语言编程完成硬件接口功能设计。
2)硬件电路基于80x86微机接口。
3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。
4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。
1.3课程设计目的通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。
二、设计思想本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。
为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能:1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。
2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。
3、当“门”完全打开后一段时间后,传感器可检测范围内检测到物体,则继续维持“门”完全打开状态一段时间。
4、“门”正在关闭的过程中“有人靠近”,即传感器检测到物体,应立即终止“关门”动作,然后“开门”,即将“门”由当前状态转换到完全开的状态。
5、当传感器可检测范围内检测不到物体,并且“门”为“关”的状态,不做任何操作。
考虑到试验箱的硬件资源,本次课设用步进电机和点阵显示模块模拟门的同状态,距离传感器采用红外传感器。
三、实施方案3.1获得传感器和“门”的状态本次课程设计主要利用红外距离传感器检测是否有“人”靠近,即当传感器可检测范围内有物体时,传感器的OUT端会输出低电平信号。
将传感器的OUT端与8255芯片的PA0引脚相连,CPU读8255 A口即可获得当前传感器的状态,该位为…1‟表示没有人,该位为…0‟表示有人。
“门”的状态则是由一个单字节的内存量的第1位标记,该位为…0‟表示门为关状态,该位为…1‟表示门为开状态。
3.2驱动步进电机和点阵模块如图3.1所示,本次课程设计用步进电机顺时针转动和点阵模块闪烁显示两个反相的箭头表示正在开门状态;如图3.2所示,用步进电机逆时针转动和点阵模块闪烁显示两个相对的箭头表示关门状态;用步进电机指针指向“开”字样和点阵模块持续显示两个反向的箭头表示门完全打开状态;用步进电机指针指向“关”字样和点阵模块持续显示两个相向的箭头表示门完全关闭状态;步进电3机用82455 B口驱动,将8255 B口的低四位与步进电机的驱动部分连接,CPU向8255 B口写相应的值即可驱动步进电机做相应的动作;点阵模块则是直接与系统总线链接,IOY0~IOY3与CS1、CS2、CS4、CS3相连,配合相应的程序即可实现箭头的显示。
图3.1关门时系统状态图3.2关门时系统状态3.3实现硬件延时门完全打开后,需要延时一段时间,才进行下一次检测,实现没人关门,有人则继续开门的功能。
本次课程采用8254芯片计时3.5秒,门完全打开后,启动8254计时,CPU进入“忙等”状态,直到中断程序修2改标志量。
由于8254芯片和点阵会同时工作,而且片选信号冲突,所以选择1通道,时钟频率选择18.432KHz,片选接IOY1。
四、硬件原理4.1系统概述本次课设设计的的模拟自动门所用到的硬件电路基于80x86微机接口,用到的有中断控制器8259,并行接口8255,定时/计数器8254,点阵LED显示屏,步进电机。
系统连线图如下:图4.1 系统连线图4.2中断控制器8259在自动门系统中,当门完全打开时需要开中断,然后打开8254计数器进行延时。
中断在Intel 386EX 芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。
该中断控制单元就功能而言与工业上标准的82C59A 是一致的,操作方法也相同。
从片的INT 连接到主片的IR2 信号上构成两片8259 的级联。
在TD-PITE 实验系统中,将主控制器的IR6、IR7 以及从控制器的IR1 开放出来供用户使用,主片8259 的IR4 供系统串口使用。
8259 的内部连接及外部管脚引出如图4.2,系统接线图如图4.3。
图4.2 8259内部连接及外部引脚图4.3 8259连线图4.3并行接口8255并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。
8255 可编程外围接口芯片具有A、B、C 三个并行接口,用+5V 单电源供电,能在三种方式下工作,本系统使用方式0,定义A口为方式0输入,B口为方式0输出。
工作时,8255负责从A口读入红外传感器输出,从B口输驱动步进电机转动。
图4.4 8255连线图4.4定时/计数器8254自动门系统中使用8254做定时器,当开门以后需要使用用8254做两秒的延时。
8254 是Intel 公司生产的可编程间隔定时器。
是8253 的改进型,比8253 具有更优良的性能。
8254有 3 个独立的16 位计数器,每个计数器可按二进制或十进制(BCD)计数,每个计数器可编程工作于 6 种不同工作方式。
本系统采用方式0:计数到0 结束输出正跃变信号方式。
8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
8254的系统连线图如图4.5。
图4.5 8254连线图4.5点阵LED显示屏系统中的16×16 LED 点阵由四块8×8 LED 点阵组成,如图4-4-1 所示,8×8点阵内部结构图如图4.6所示。
当行为“0”,列为“1”,则对应行、列上的LED 点亮。
图4.7为点阵外部引脚图。
图4.6 16×16LED 点阵图4.7点阵外部引脚图点阵显示模块与系统连线图如下:图4.8 LED点阵连线图4.6步进电机系统通过驱动步进电机来实现开门/关门,顺时针旋转半圈表示门完全打开,打开状态下,逆时针旋转半圈表示门完全关闭。
所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。
根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。
本系统所采用的步进电机为四相八拍电机。
根据电机的励磁顺序(如图4.9),正序控制电机顺时针旋转,逆序控制电机逆时针旋转。
步进电机每转动完整的一圈,该单元上的指针旋转一格,所以可以通过控制延时来控制电机的旋转速度。
图4.9励磁顺序图4.10 PB端口各线的电平在各步中的情况图4.11 步进电机驱动电路原理图图4.12 步进电机连线图4.7红外距离传感器1、当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT 端口持续输出低电平信号,该模块检测距离2~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。
其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。
3、比较器采用LM393,工作稳定。
传感器引脚如图4.13所示,内部电路图如图4.14所示。
4、可采用3-5V直流电源对模块进行供电。
当电源接通时,红色电源指示灯点亮;4.13 红外距离传感器VCC图4.14 红外距离传感器内部电路图五、软件流程程序开始后,装入中断程序,初始化8254、8259、8255三个接口芯片,点阵显示单元显示门是关闭状态,即两个向内的箭头,如图3.1所示。
接下来进入主程序,CPU读8255A口,提取最低位获得传感器状态,该位为0表示传感器可检测范围内有物体,反之则没有物体;获取内存变量FLAG的第1位值得到当前门的状态,该位为1表示门为完全打开状态,反之则为关闭状态;综合以上两个标志位共四种状态,进行以下测试:1、若有人且门未开,即两个标志位为“00”时,执行开门操作,点阵闪烁显示两个向外的箭头,步进电机顺时针转动,直至门完全打开;当门完全打开后,修改门状态标志变量,置计时结束标志位TIMEOUT置0,8254开始计时,CPU循环调用点阵显示子程,持续显示向外的箭头,直至TIMEOUT等于0FFH;计时结束触发中断,中断子程BREAKDELAY置TIMEOUT为0FFH。
此时CPU跳出循环,程序跳转至主程序入口。
否则继续测试下一种情况。
2、若无人且门未开时,即两个标志位为“01”时,不做任何操作,程序跳转至主程序入口。
否则继续测试下一种情况。
3、若有人且门已开时,即两个标志位为“10”时,置计时结束标志位TIMEOUT置0,8254开始计时,CPU循环调用点阵显示子程,持续显示向外的箭头,直至TIMEOUT 等于0FFH;计时结束触发中断,中断子程BREAKDELAY置TIMEOUT为0FFH。
此时CPU跳出循环,程序跳转至主程序入口。
否则继续测试下一种情况。
4、若无人且门已开时,即两个标志位为“11”时,执行关门操作,修改门状态标志变量,即点阵闪烁显示两个向内的箭头,步进电机逆时针转动,并且步进电机每转动一小格,记录当前门关上的程度,读8255A口,检测是否有人,若无人,继则续关门操作,直到门完全关闭;否则程序跳转至主程序入口。
若不是此状态则程序跳转至主程序入口。
程序循环获取传感器状态和门状态标志,并依次检测以上四种状态,往复执行此过程,即可实时响应传感器的变化,实现模拟自动门。