微机原理课程设计项目报告

合集下载

微机原理电路设计项目报告

微机原理电路设计项目报告

微机原理电路设计项目报告项目简介本项目是基于微机原理的电路设计项目,旨在实现一个能够运行简单计算机指令的微处理器电路。

项目目标1. 设计一个能够执行简单计算机指令的微处理器电路。

2. 实现数据存储和寻址功能。

3. 设计相关电路模块,如时钟控制电路和输入输出接口电路。

4. 搭建整个微处理器电路的原型,并进行测试。

设计思路本项目的设计思路分为以下几个步骤:1. 确定基本指令集和寻址方式。

根据项目需求,选择常用的机器指令集,并确定寻址方式,如直接寻址、间接寻址等。

2. 设计并实现数据存储和寻址功能。

根据选定的寻址方式,设计数据存储单元(如寄存器)和地址译码电路,以实现数据存储和读取功能。

3. 设计并实现控制电路。

根据指令集需求,设计时钟控制电路,以控制指令的执行顺序和时钟周期。

同时,设计指令译码电路和控制信号生成电路,以实现指令的解析和对各个功能单元的控制。

4. 设计输入输出接口电路。

根据项目需求,设计输入输出接口电路,以实现与外部设备的数据交互。

5. 搭建整个微处理器电路的原型,并进行测试。

根据上述设计,搭建微处理器电路的原型,并进行功能测试和性能优化。

数据存储和寻址在本项目中,我们选择了直接寻址的方式。

设计了4个通用寄存器,分别用于存储运算数据和结果。

同时,设计了地址译码电路,实现了地址线的解码和控制信号的生成。

控制电路为了实现指令的执行和时钟周期的控制,我们设计了一个简单的时钟控制电路,以及一个指令译码电路和控制信号生成电路。

时钟控制电路用于控制时钟信号的频率和占空比,以保证电路的正常工作。

指令译码电路用于解析指令,生成相应的控制信号,控制各个功能单元的操作。

输入输出接口电路根据项目需求,我们设计了一个简单的串口接口电路,用于与外部设备进行数据交互。

该接口电路采用了UART协议,能够实现串行通信和数据传输。

电路实现与测试基于上述设计思路和电路设计,我们搭建了微处理器电路的原型,并进行了功能测试和性能优化。

微机原理课设报告

微机原理课设报告

中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。

同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。

根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。

2、用转换的到的数字信号再经数模转换,对直流电机进行控制。

拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。

2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。

三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。

而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。

与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。

2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。

取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。

得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。

对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。

对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。

微机原理项目报告

微机原理项目报告

汽车玻璃总成工装的计算机控制技术的实现项目组别:第一组班级: 08级车辆工程二班学号: 080108030005姓名:苗露课程名称:16/32位微机原理,汇编语言及接口技术指导教师:李艳文2011年5月汽车玻璃总成工装控制系统设计作者:苗露(燕山大学车辆与能源学院)摘要:该项目的主要内容为在某工位上装配玻璃插片,并记录每班生产件数。

经过项目分析,方案转换及确定,编写出相关程序,经实验台布线,调试,测试试验结果并最终得出正确结果达到项目要求。

项目用到了8255A,实验过程中要了解8255A的工作原理,熟悉8255内部结构,及控制字格式熟悉初始化编程方法及输入、输出程序技巧。

前言:微机原理主要内容包括微型计算机体系结构、8088微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。

微机原理接口技术是一门实践性强的学科,不但要求较高的理论水平,而且还要求有实际的动手能力。

这次项目设计的主要目的是提高我们的实践能力,包括提高汇编语言都的编程能力,在进行项目设计的过程中,通过亲身体验、自己分析解决问题,从而系统地掌握微机原理的接口技术的相关知识。

项目设计使用星研集成环境软件和STAR ES598PCI 试验仪进行仿真,包括程序输入、调试、运行,最后进行结果分析,验证程序的正确性。

一、设计任务某生产线生产汽车玻璃,需要在某工步中装配两个插片,装配插片时需要一种自动化装置,要采用三个定位点检测,两个粘结动作和一个计数装置记录每班生产件数。

二、项目分析三、设计流程四、设计思路使用8255A•用了A口,B口,C口,A口、B口和C口的上半部分输出,C口下半部分输入。

•PA0~PA7接数码管位选端,PB0~PB7接数码管段选端,用于工件计数显示•PC1~PC3接led灯,用于定位检测和液压缸工作。

•PC5~PC7接控制开关,用于控制生产线开始或停止。

五、实验设备六、8255A接线图七、详细程序stack1 segment stackdb 1024 dup(0)stack1 endsdata segmentled1 db 8 dup(0) ;定义八个内存单元,用于存放数码管所要显示的数字shumag db 3fh,06h, 5bh,4fh,66h,6dh,7dh,07h,7fh,6fhnum db ?timer db 10timer1=0ahdata endscode segment 'code'assume ss:stack1,ds:data,cs:codestart: mov ax,datamov ds,axmov dx,0e003hmov al,10001000b;写入方式控制字,c口高位输入,a,b口和c口低位输出out dx,almov al,11111111bmov dx,0e002hout dx,almov num,0mov cx,9again: mov dx,0e002hin al,dxmov al,00011111b;打开控制开关jne again ;控制开关未打开则跳回againjmp start1 ;控制开关打开则执行下面的指令start1:mov dx,0e002hmov al,11111000b ;打开定位指示灯out dx,alcall delaymov al,11111111b ;定位指示灯灭mov dx,0e002hout dx,almov al,11110111b; 液压缸指示灯亮进行粘结mov dx,0e002hout dx,alcall delaycall delaycall delaymov al,11111111b ;液压缸指示灯灭mov dx,0e002hout dx,alcall delay;加工完成,工件下线call delaycall delayinc num ;num加1mov al,nummov led1,almov si,offset led1call xianshi ;计数cmp num,9jnz again ;开始下一工件的加工jmp overover:mov ax,4c00hint 21hDelay proc ;延时子程序push bxpush cxmov bx,timer1a1: xor cx,cxa2: dec bxjnz delaypop cxpop bxretdelay endpxianshi proc ;显示子程序push axpush bxpush dxpush cxmov si,offset led1mov bx,offset shumagjishu:mov cx,0ffhjishu1:mov dx,0e000hmov al ,11111110bout dx,almov dx,0e001hmov al,[si]xlatout dx,almov dx,0e001hmov al,0out dx,aljishu2:loop jishu1dec timerjnz jishupop dxpop bxpop axretxianshi endpcode endsend start八、实现的功能1.程序调试情况:A. 刚开始用三个led灯代表三点定位指示,由于试验箱第一个led灯不能显示,经检查不是程序问题,而是试验箱的问题,最后改用两个灯代表三个三点定位。

微机原理课程设计报告

微机原理课程设计报告

设计题目流水灯控制总体构想级基本设计方案a.基本流水灯电路的设计(设计主体)该项目中我们选用8255A作为控制芯片,因为它是并行接口的典型芯片,通过它的并行输入、输出功能,可以方便的实现对一组发光二极管的点亮与关断控制。

在该项目中我们选择PA口作为八个发光二极管的连接口,并且将PA口的数据,即控制八个发光二极管点亮与关断的一组八位二进制数,赋值到BX中的BH部分,用循环移位语句将这八位二进制数进行移位,延时一段时间后再输出,即可实现基本的流水灯效果。

b.正反方向的选择功能把PC0口接在开关上,编程实现对PC0口数据的读取功能,并进行判断,当PC0为高电平时灯向左移动,当PC0为低电平时灯向右移动。

c.流水效果的选择功能在该项目中我们定义了两种流水效果:第一种是基本流水效果,即每一次移动时只有一个发光二极管移动;第二种为每一次移动时有两个发光二极管移动。

该功能可以通过对循环移位指令中CL——循环位数的不同定义来实现。

首先将PC2与一个开关相连,编程实现对PC2口数据的读取功能,并进行判断,当PC2为高电平时,将CL赋值为2,即实现第二种流水效果;当PC2为低电平时,将CL赋值为1,即实现第一种流水效果。

d.流水效果编号的显示功能根据设计要求,选用数码管来显示流水效果编号。

在该项目中8255A只有PB口未被定义,因此将PB口与一数码管相连接。

在该功能中我们同样根据PC2口高低电平的判断来决定数码管的显示。

当PC2为高电平时,将PB口赋值为DAH,使数码管显示为数字‘2’,当PC2为低电平时,将PB口赋值为60H, 使数码管显示为数字‘1’。

e.速度快慢的选择功能在该功能中,我们定义了两种速度模式,即快速与慢速。

并且通过PC1口的高低电平变化来实现。

将BX,CX分别赋值并且自减一,在此我们假设BX减为零的时间为t1,CX减为零的时间为t2,当PC1为高电平时,通过编程将DELAY子程序的延时时间设置为t1,而当PC1为低电平时,将DELAY 子程序的延迟时间设置为t1+t2,这样便实现了速度快慢的选择功能。

微机原理课程设计报告文库

微机原理课程设计报告文库

微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。

技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。

情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。

课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。

学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。

教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。

二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。

2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。

3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。

4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。

微机原理课程设计报告

微机原理课程设计报告

微机原理课程设计报告课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助!微机原理课程设计报告(一) 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。

当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。

但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。

我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。

我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。

看着自己做出来的东西,心里面的感觉真的很好。

虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。

很有成就感。

我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。

但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。

对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。

微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。

讨论某一部分原理时又要涉及到其它部分的工作原理。

这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。

所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

微机原理课程设计报告

微机原理课程设计报告

微机应用系统设计与综合应用实验——(微机原理)课程设计报告专业班级学生姓名学生学号指导老师完成时间目录第一章设计课题概述 (3)1.1课程设计目的 (3)1.2课程设计要求 (4)1.3课程设计用途 (4)1.4实现技术指标 (4)第二章设计思想和实施方案 (5)2.1功能分析 (5)2.1.1波形产生 (5)2.1.2波形切换 (5)2.1.3 屏幕显示 (5)2.1.4小键盘控制 (5)2.1.5无极调频 (6)2.1.6无极调幅 (6)2.2所需芯片功能简介 (6)2.2.1 8088功能简介 (6)2.2.2 8255A功能简介 (7)2.2.3 A/D0832功能简介 (8)2.2.4 D/A0809功能简介 (9)2.3实施方案 (10)2.3.1 系统总体设计方案 (10)2.3.2系统设计方框图 (10)第三章典型程序模块及编程技巧分析 (12)3.1键盘扫描及逻辑判断模块 (12)3.2键盘编码模块 (13)3.3波形产生模块 (14)3.3.1方波 (14)3.3.2 锯齿波 (16)3.3.3 三角波 (18)3.3.4 正弦波 (20)3.4波形切换及基本控制模块 (21)3.5无级调频调幅判断及控制模块 (23)第四章遇到的问题及解决方法 (26)第五章程序清单和程序注释 (28)5.1汇编源程序 (28)5.2C语言源程序 (49)第六章课程设计收获与体会 (63)6.1实验收获 (63)6.2心得体会 (63)第七章参考文献 (65)第八章附录 (66)8.18088最小模式的连接图 (66)微机应用系统设计与综合应用课程设计报告第一章设计课题概述1.1 课程设计目的《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生必修的一门技术基础课。

通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。

微机原理课程设计实验报告

微机原理课程设计实验报告

微机原理课程设计实验报告评语:成绩教师:年月日班级:学号:姓名:地点:时间:课题七直流电机转速闭环控制系统设计与实现一、课程设计题目:直流电机转速闭环控制系统设计与实现二、课程设计目的:1. 掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。

2. 了解霍尔器件的工作原理,电机转速的测量与控制的基本原理。

3. 了解闭环控制系统的组成原理。

掌握电机转速测量与控制系统的构成方法。

三、课程设计的内容:设计一个对直流电机转速测量与转速控制的闭环控制系统。

微机控制中心在监控界面上设置电机转速。

电机转速测量利用霍尔传感器电路产生转速脉冲,定时/计数电路通过脉冲计数获得转速参量。

电机转速调整采用PWM(脉宽调节)方法,控制中心采样到电机转速参量,算得转速值同预定转速设置值进行比较,若不相同,则调整控制转速脉冲的占空比,来达到调速的目的。

(占空比=脉冲宽度/脉冲周期)四、系统功能要求与设计要求1.基本功能要求:具有友好的人机交互界面,通过鼠标或键盘,选择相关按钮对系统进行监控,监控系统具有转速参数设置窗口、采样的电机转速数据显示窗口和强行干预系统运行的按钮或相应功能选择菜单。

监控程序用查询(或中断)方式获取转速数据。

2.硬件设计要求:充分利用现有实验系统资源设计一个性能较好的直流电机转速闭环控制系统。

利用带锁存的I/O接口电路(如8253,8255,74LS273,D/A-DA0832)输出控制电机转速的脉冲。

采样转速用霍尔传感器件提供电机转速脉冲。

利用定时/计数电路对电机转速脉冲计数。

微机可从定时/计数电路中获得电机转速数值,并产生控制电机转速的PWM脉冲。

五、设计详情1)闭环控制系统原理图电机转速测量与控制闭环系统基本功能图2)电机控制及转速测量原理图3)操作步骤直流电机的in接8255的PA0口,out接T0的clk0口,通过8253的T1实现1s定时,T0实现转速的测量;通过程序将设置的转速和测出的转速相比,改变占空比,使之达到要求。

微机原理课程设计报告

微机原理课程设计报告

电子信息工程系课程设计报告班级:姓名:学号:课程名称:学时学分:指导教师:二○一二年一月十日(一)课程设计目的:综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高软硬件设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。

(二)课程设计内容及要求:8255A应用——交通灯控制1)、设计目的●掌握8255A方式0的使用与编程方法● PC机及配套的接口电路实验装置● IC芯片:8255A应用2)、内容●采用8255A设计交通灯控制的接口方案●插接电路●编写控制程序3)、设计步骤(1)方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。

由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。

开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。

(2)电路插接本实验利用装置提供的8255A芯片和逻辑电平显示器进行。

(3)编程与运行(三)详细设计:(一)、通过8255A控制四个方向交通灯的状态的过程:<1>、确定8255A端口与交通灯的连接方式,假定采用端口A,按以下方式连接:东西向:红灯接PA0,黄灯接PA1,绿灯接PA2;南北向:红灯接PA4,黄灯接PA5,绿灯接PA6。

6个交通灯所有可能的状态:状态PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PA 状态说明0 0 0 0 0 0 0 0 0 00 关灯1 0 0 0 1 0 1 0 0 14 南北:红东西:绿2 0 0 0 1 0 0 1 0 12 南北:红东西:黄3 0 0 0 1 0 0 0 0 10 南北:红东西:关4 0 1 0 0 0 0 0 1 41 南北:绿东西:红5 0 0 1 0 0 0 0 1 21 南北:黄东西:红6 0 0 0 0 0 0 0 1 01 南北:关东西:红状态变换的流程为:○ 1○2○3○4○5○6其中,状态1和4持续30秒,其他状态持续0.5秒,又状态2和3,状态5和6之间各循环5次。

微机原理课程设报告

微机原理课程设报告

微机原理课程设计设计报告一、设计目的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指向新字符重新开始比较等模块。

中南大学微机原理课程设计报告.docx

中南大学微机原理课程设计报告.docx

中南大学微机原理课程设计实验报告题目设计电子万年历专业班级通信工程一、设计目的及要求(1)设计任务:通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。

(1)通过设计电子万年历,掌握中断的使用方法。

(2)掌握基本的显存读写技术。

(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。

(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。

(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。

汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。

至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。

随着科学技术迅速发展, 理工科大学生不仅需要掌握计算机方而的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。

通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子万年历的系统设计。

这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。

很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。

关键词:汇编语言微机原理接口技术时钟显示键盘输入一次性初始化六位(二)设计功能:1.电子万年历,具有年、月、日、时、分、秒24小时制的运行,并可以在8位数码管上显示:2.电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、时、分、秒。

微机原理课程设计报告书

微机原理课程设计报告书

微机原理与应用课程设计目录一、设计任务1、计时秒表,具有分、秒和百分之一秒的计时功能。

2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。

3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。

二、设计原理1、HALT<启动子程序>2、DIS〔宏定义——苹果显示程序3、DISS〔宏定义——字符串的输出4、CLOUR〔字体颜色设置程序5、IOSET<设置光标位置子程序>6、GO<初始化显示子程序>7、TIME<延时子程序>8、TRAN<压缩BCD码转ASCII码程序>9、复位、停止等功能的实现三、流程图a)主程序流程图b)压缩BCD转ASCII码子程序流程图c)延时子程序流程图四、程序段五、程序调试六、程序运行结果七、心得体会八、参考文献一、设计任务:1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。

2.屏幕显示彩色图案和文字。

3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。

二、设计原理:本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下:1.DIS〔宏定义——苹果显示程序通过宏调用,实现苹果图案的显示。

在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。

2.DISS〔宏定义——字符串的输出原理同上。

3.CLOUR〔字体颜色设置程序通过字体颜色设置程序,实现屏显字体颜色的改变。

当改变BX值时,字体颜色会改变。

4.HALT<启动子程序>通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S时,计时开始。

微机原理课程设计报告参考模板

微机原理课程设计报告参考模板

一、设计任务及要求1.熟悉手工焊接的常用工具的使用,能够独立完成简单电子产品的安装与焊接,熟悉电子产品的安装工艺和生产流程。

2.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,比如用色标法确定电阻大小等。

3.能够熟练使用万用表进行测量。

4.组装一个六管超外差式收音机。

二、设计目的课程设计是理论学习的延伸,是使学生掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。

本次课程设计一方面通过对收音机原理的理解和对收音机的组装,使我们加深对理论知识的理解,另一方面对课堂所学理论知识作一个总结和补充。

三、设计内容1.超外差收音机原理所谓超外差式,就是通过输入回路先将电台高频调制波接收下来,和本地振荡回路产生的本地信号一并送入混频器,再经中频回路进行频率选择,得到一固定的中频载波(如:调幅中频国际上统一为465KHz或455KHz)调制波。

超外差的实质就是将调制波不同频率的载波,变成固定的且频率较低的中频载波。

在广播、电视、通讯领域,超外差接收方式被广泛采用。

在超外差的设计中,本振频率高于输入频率。

用同轴双联可变电容器,使输入回路电容C1-2和本振回路电容C1-1同步变化,从而使频率差值始终保持近似一致,其差值即为中频,即:如接收信号频率是:600kHz,则本振频率是1055kHz;1000kHz,则本振频率是1455kHz;1500kHz,则本振频率是1955kHz;由于谐振回路谐振频率,f 与C不成线性变化,因此必须有补偿电容对其特性进行修正,以获得在收听范围内f与C近似成线性变化,保证f本振-f信号=f中频为一固定中频信号。

超外差方式使接收的调制信号变为统一的中频调制信号,在作高频放大时,就可以得到稳定且倍数较高的放大,从而大大提高收音机的品质。

比较起来,超外差式收音机具有以下优点:(1)接收高低端电台(不同载波频率)的灵敏度一致;(2)灵敏度高;(3)选择性好(不易串台)。

软件微机原理课程设计报告

软件微机原理课程设计报告

软件微机原理课程设计报告一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微型计算机的硬件组成及工作原理。

2. 学会分析微机系统中各组成部分的功能和相互关系。

3. 掌握汇编语言编程的基本方法,能够编写简单的汇编程序。

技能目标:1. 能够运用所学知识,设计简单的微机控制系统。

2. 培养学生动手实践能力,能够进行基本的硬件连接和调试。

3. 提高学生的问题分析能力,学会运用理论知识解决实际问题。

情感态度价值观目标:1. 培养学生对计算机科学的兴趣,激发学生的学习热情。

2. 培养学生的团队合作意识,提高沟通与协作能力。

3. 引导学生认识科技发展对社会进步的重要性,树立正确的价值观。

课程性质分析:本课程为软件微机原理课程设计,旨在帮助学生将理论知识与实际应用相结合,提高学生的实践能力。

学生特点分析:学生为高中年级学生,具备一定的计算机基础,对新鲜事物充满好奇心,但可能缺乏实际动手操作经验。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。

2. 通过小组合作,培养学生的团队协作能力。

3. 注重启发式教学,引导学生主动思考,提高问题解决能力。

二、教学内容1. 微机原理概述:介绍微型计算机的发展历程、硬件组成及工作原理,对应课本第一章内容。

- 硬件组成:CPU、存储器、输入输出接口等。

- 工作原理:指令执行、数据存储与传输等。

2. 汇编语言编程:讲解汇编语言的基本语法、指令系统及编程方法,对应课本第二章内容。

- 基本语法:寄存器、指令格式、操作数等。

- 指令系统:数据传输、算术运算、逻辑运算等。

3. 硬件连接与调试:学习微机系统中各硬件组件的连接方法,进行基本调试,对应课本第三章内容。

- 硬件组件:内存、I/O接口、中断控制器等。

- 调试方法:静态调试、动态调试等。

4. 微机控制系统设计:结合所学知识,设计简单的微机控制系统,对应课本第四章内容。

- 控制系统组成:输入、处理、输出等模块。

微机原理课程设计报告

微机原理课程设计报告

目录一、课题任务 (2)二、程序功能描述及程序流程 (3)1、程序功能描述 (3)2、程序流程图 (3)三、程序源代码及注释 (4)四、DOS/BIOS功能调用,文件列表清单 (6)五、源程序调试 (9)六、调试中出现的问题 (12)七、总结 (12)一、课题任务1·要求利用80x86汇编语言BIOS中断调用的方法,通过‘*’字符设计自己的名字,并在显示器上用6种以上的颜色显示出来。

2·分析1)BIOS中断调用:BIOS常驻ROM,独立于DOS,可与任何操作系统一起工作。

它的主要功能是驱动系统所配置的外部设备,如磁盘驱动器、显示器、打印机、及异步通讯借口等。

通过INT10H~1AH向用户提供服务程序的入口,使用户无需对硬件有深入的了解,就可以完成对I/O设备的控制与操作。

BIOS中断调用与DOS功能调用类似。

2)图形设计:掌握BIOS中断调用INT 10H的13H功能。

注意13H号功能入口参数的要求。

3)颜色显示:在彩色显示屏幕上每个字符在存储中用两个字节表示。

一个字节保存字符的ASCII码,另一个字节保存字符的属性。

BIOS中断调用INT 10的13H号功能是显示字符串,字符的属性在BL中。

二、程序功能描述及程序流程1·程序功能使得自己的名字可以在显示器上用6种以上的颜色显示出来。

2·程序流程图三、程序源代码及注释ROW =0 ;显示信息的行号COLUM=00 ;列号ESCKEY=1BH ;ESC键的ASCII码制;数据段DSEG SEGMENTMESS DB '+-----------------------------------------------------------------------------+',0DH,0AHDB '************ ** ** *** ||',0DH,0AHDB ' * ** ** * ||',0DH,0AHDB ' * ** ** *******************************||',0DH,0AHDB ' * ** ** * *||',0DH,0AHDB ' * ** ** * *||',0DH,0AHDB '************ ** ** * *||',0DH,0AHDB '* ** ** ************** ||',0DH,0AHDB '* *** ** ||',0DH,0AHDB '* ************** ** ||',0DH,0AHDB '* *** ********************** ||',0DH,0AHDB '************ *** ** ||',0DH,0AHDB ' ** ** * ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' ** ** ** ** ||',0DH,0AHDB ' **** **** ** **** ||',0DH,0AHDB ' *** *** ** *** ||',0DH,0AHDB ' ** ** *** ** ||',0DH,0AHDB ' * * ***** ||',0DH,0AH MESS_LEN=$-OFFSET MESS ;显示信息长度COLORB DB 07H,01H,0FH,70H,74H,04H,0EH ;颜色COLORE LABEL BYTEDSEG ENDS;代码段CSEG SEGMENTASSUME CS:CSEG,DS:DSEG,ES:DSEGSTART: MOV DI,OFFSET COLORB-1 ;颜色指针初值NEXTC:MOV AX,DSEGMOV DS,AX ;设置数据段段值MOV ES,AXINC DI ;调整颜色指针CMP DI,OFFSET COLORE ;是否超过指定的最后一种颜色JNZ NEXTE ;否MOV DI,OFFSET COLORB ;是,重新指定第一种颜色NEXTE:MOV BL,[DI] ;取颜色MOV SI,OFFSET MESS ;取显示信息指针MOV CX,MESS_LEN ;取显示信息长度MOV DH,ROW ;置显示开始行号MOV DL,COLUM ;置显示开始列号CALL ECHO ;显示MOV AH,0INT 16HCMP AL,ESCKEY ;是否为ESC键JNZ NEXTC ;不是,继续MOV AX,4C00H ;结束INT 21HECHO PROC NEARMOV AX,0B800HMOV DS,AXMOV AL,80 ;计算显示开始位置偏移MUL DH ;偏移=(行号*80+列号)*2 XOR DH,DHADD AX,DXADD AX,AXXCHG AX,BXMOV AH,AL ;属性值保存到AH寄存器JCXZ ECHO2 ;显示信息长度是否ECHO1:MOV AL,ES:[SI] ;取一要显示字符代码INC SI ;调整指针MOV [BX],AX ;送显示存储区,即显示INC BX ;准备显示下一个字符INC BXLOOP ECHO1 ;循环显示ECHO2:RET ;返回ECHO ENDPCSEG ENDSEND START四、DOS/BIOS功能调用1.文本显示方式:所谓文本显示方式是指以字符为单位的显示方式。

微机原理课程设计报告

微机原理课程设计报告

微型计算机技术课程设计指导教师:班级:姓名:学号:班内序号:课设日期:_________________________目录一、课程设计题目错误!未定义书签。

二、设计目的错误!未定义书签。

三、设计内容错误!未定义书签。

四、设计所需器材与工具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键,完毕点阵显示系统运行状态并显示"停〞。

微机原理课程设计报告

微机原理课程设计报告

目录一.设计内容 (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——矩形波五.课程设计体会在为期近两周的微机原理课程设计中,我们小组利用所学微机的理论知识进行软硬件整体设计,同时锻炼了我们理论联系实际,提高我们的综合应用能力。

微机原理课设报告

微机原理课设报告

中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。

同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。

根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。

2、用转换的到的数字信号再经数模转换,对直流电机进行控制。

拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。

2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。

三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。

而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。

与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。

2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。

取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。

得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。

对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。

对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。

微机原理设计报告

微机原理设计报告

微机原理课程设计题目: I/O接口卡设计学院:仪器与电子学院专业:测控技术与仪器指导教师:**组员姓名:目录一.设计题目及设计规定1.设计内容2.设计规定二.设计总体方案三.重要元件1.IBM PC/XT总线简介2.ISA总线简介3.8255芯片简介4.驱动器5.LED显示屏四.工作原理五.硬件电路六.程序设计及流程图1.流程图2.程序设计七.设计心得八.参照文献一、设计题目及设计规定:1.设计一块I/O卡,该卡具有3个8位I/O口(A、B、C口),运用该I/O卡控制该卡控制一种四位旳LED显示屏,该卡插在PC机旳IMB-PC扩展总线插槽上(ISA),选用8255接口芯片2.设计规定:画出电路原理图,阐明工作原理,编写运用该接口卡对键盘上键入旳数字进行显示旳程序(当回车键按下前,假如键入旳数字旳次数不不大于4时显示最终旳4位数)二.设计整体方案该接口卡旳主芯片是8255芯片,将ISA总线上旳地址线A0-A19通过译码作为8255旳片选信号,IOR、IOW分别作为8255旳读写信号。

四位LED显示屏采用共阴极接法,将8255旳A端口旳8个引脚通过驱动器与LED旳a-h相连,用C端口旳低四位来控制那个LED亮,B端口不使用。

三.重要元件1.IBM PC/XT总线简介总线在PC/XT机旳底板上共有8个插头,称为IMB PC/XT总线。

PC/XT 总线在每个插槽(扩展槽)配有62个引脚代表多种不同样旳信号。

IBM PC/XT总线旳62条引线包括20位地址线、8位数据线、21根控制线、2根状态线和11根辅助线及电源线。

每一种插槽对应旳引脚均有相似旳意义,因此所有旳接口卡可插于任何一种插槽上。

引脚间隔为2.54mm。

2.ISA总线简介ISA总线是IBM PC/AT机(CPU是80286)所用旳系统总线,这是一种16位兼8位旳总线原则。

假如忽视原则化细节,则可认为16位ISA总线就是PC/AT总线。

由于IBM PC/AT与IBM PC、IBM PC/XT机(CPU 都是8088)所用旳Pc总线兼容,因此可认为8位ISA总线(16位ISA总旳低8位部分)就是PC总线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

瓶装饮料生产线传送控制系统设计燕山大学机械工程学院摘要:本报告主要以程序设计的方法解决了保健饮品生产线控制问题。

以保健饮品生产线控制为工程背景,运用汇编语言的编程设计方法,实现了预置的各个状态。

同时,通过模拟和替代的方法,用实验室的现有装置包括8155芯片,8255芯片,LED数码管,步进电机以及LED灯和拨动开关来代替工程实体较好的仿真了工程实际的环境,达到了一定的效果。

以下正文为项目的相关内容和研究过程及结果。

1、项目要求某厂生产瓶装保健饮品,每10瓶装一箱,要求箱满时,启动送箱装置,先送走满箱到位(延时一定时间),再送来空箱到位(延时一定时间),满箱和空箱分别在两个不同的传送带上传送。

能人为控制生产线的启动和停止(比如键盘上,按某一键启动,启动后按任意键停止)。

能在数码管上显示当时已装满送出的箱数。

2、方案设计及实现用到的元件及各元件的功能:2.1步进电机:代表送走满箱到位和送来空箱到位2.2 LED数码管:用于计数,显示已装满送出的箱数2.3发光管:两个黄色灯交替共闪十次表示装了十瓶,红灯亮表示箱子已装满,绿灯表示送来空箱。

2.4开关:最右端开关闭合表示生产线启动,再闭合任意开关表示停止生产线2.5 8155芯片:A口控制LED数码管的段码,B口控制LED数码管的位码2.6 8255芯片:A口控制LED灯,B口读取开关状态,C口控制步进电机3、原理接线图(如下图所示)4、实物接线图(如下图所示)5、系统工作流程图工作流程:(1)开始;(2)初始化各元件,为各元件送入控制字;(3)检查最右侧开关是否闭合,没有闭合,返回继续扫描开关状态;(4)最右侧开关闭合,开始装箱;(5)一箱装满十瓶后,启动送箱装置,先送走满箱到位再送来空箱到位;(6)自动进入下一个工作循环;(7)在此期间检测是否有别的开关闭合,有则停止,没有则继续;6、各元件具体功能的实现6.1 8155芯片6.1.1 控制字的确定:A口控制要显示的位,B口控制显示位对应的数字,都为输出,其余为任意故其控制字为:00001111b8155由CS2进行片选,故其控制口、A口、B口地址分别为:0e000、0e001、0e002. 6.1.2 控制LED数码管显示的子程序:;数据段ledt db 3fh,6h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;0~9段码shu db 0,0,0,0xiang dw 0ws dw 0xunhuan db 01h,02h,04h,08h,10h,20h,40h,80h ;显示第几位;代码段xssz proc ;8155用于数字显示push axpush dxpush cxpush sipush dimov al,0fhmov dx,0e000hout dx,almov ax,xiangmov si,0shu1: mov dx,0div n ;将各位数字送入对应位mov shu[si],dlinc simov ws,sicmp ax,0jne shu1mov cx,0fh ;重复显示次,形成视觉xianshi1: mov si,0 ;八位数码显示,huan: mov dx,0e001h ;显示这几位数字mov al,xunhuan[si] ;端口A用来控制那位数字要显示not alout dx,almov dx,0e002h ;端口B用来控制显示几mov bx,offset ledtmov al,[shu+si]xlat ;转换成对应数字的七段显示代码out dx,almov al,00hout dx,alinc sijne huanloop xianshi1pop dipop sipop cxpop dxpop axretxssz endp6.2 8255芯片6.2.1各输出口功能、端口地址及控制字各输出口功能:A口输出LED灯; PC0、PC1、PC2、PC3控制步进电机输入口功能:B口为输入口读入开关状态;各端口地址:8255由CS1进行片选,A口地址为:0f000h,输出LED灯;B口地址为:0f001h,读入开关状态控制口地址:0f003h,控制字为:10000010b6.2.2 控制步进电机转动子程序djzhuan proc ;电机转动子程序push axpush bxpush cxpush dxmov dx,0f002hmov al,01hout dx,alcall delay1mov al,02hout dx,alcall delay1mov al,04hout dx,alcall delay1mov al,08hout dx,alcall delay1pop dxpop cxpop axretdjzhuan endpdelay1 procpush axpush bxpush cxpush dxmov cx,5000begin: loop beginpop dxpop cxpop bxpop axretdelay1 endp6.2.3 检查最右端开关是否闭合begain:mov dx,0f001h ;用8255B端口检测最右端开关是否闭合 in al,dxcmp al,7fhjnz begainjmp dj_com1 ;是0开始工作6.2.4 检查是否有别的开关闭合mov dx,0f001h ;用8255B端口控制任意开关闭合结束 in al,dxcmp al,7fhjnz done7、项目程序清单stack segment stackdb 1024 dup(0)stack endsdata segmentpc = 0f002hledt db 3fh,06h,5bh,4fh,66h,6dh,7dh,07,7fh,6fhshu db 0,0,0,0xiang dw 0ws dw 0xunhuan db 01h,02h,04h,08h,10h,20h,40h,80h ;显示第几位data endscode segment 'code'assume cs:code,ds:data,ss:stackstart:mov ax,datamov ds,axmov dx,0f003h ;8255方式控制字A口输出,B口输入,C口输出 mov al,10000010bout dx,almov dx,0e000h ;8155方式控制字mov al,0fhout dx,albegain:mov dx,0f001h ;用8255B端口检测最右端开关是否闭合in al,dxcmp al,7fhjnz begainjmp dj_com1 ;是0开始工作dj_com1:mov dx,0f001h ;用8255B端口控制任意开关闭合结束in al,dxcmp al,7fhjnz donemov cx,5ten: mov dx,0f000h ;黄灯闪十次表示装十瓶mov al,11111101bout dx,alcall delay1mov dx,0f000hmov al,11011111bout dx,alcall delay1loop tenmov dx,0f000hmov al,11111011bout dx,al ;红灯亮箱子满mov dx,0f001h ;用8255B端口控制任意开关闭合结束in al,dxcmp al,7fhjnz donecall djzhuan ; 启动送箱装置送走满箱到位add xiang,1 ;计数mov cx,5000xunhuan1:call xsszloop xunhuan1 ;调用显示子程序,显示装满箱数(延时一段时间)mov dx,0f000hmov al,11111110bout dx,al ;绿灯亮启动输送空箱传送带mov dx,0f001h ;用8255B端口控制任意开关闭合结束in al,dxcmp al,7fhjnz donecall djzhuan ; 启动送箱装置送走空箱到位mov cx,5000xunhuan2:call xsszloop xunhuan2 ;调用显示子程序,显示装满箱数(延时一段时间)jmp dj_com1done: mov ax,4c00hint 21hxssz proc ;8155用于数字显示push axpush dxpush cxpush sipush dimov al,0fhmov dx,0e000hout dx,almov ax,xiangmov si,0shu1: mov dx,0div n ;将各位数字送入对应位mov shu[si],dlinc simov ws,sicmp ax,0jne shu1mov cx,0fh ;重复显示次,形成视觉xianshi1:mov si,0 ;八位数码显示,huan: mov dx,0e001h ;显示这几位数字mov al,xunhuan[si] ;端口A用来控制那位数字要显示 not alout dx,almov dx,0e002h ;端口B用来控制显示几mov bx,offset ledtmov al,[shu+si]xlat ;转换成对应数字的七段显示代码 out dx,almov al,00hout dx,alinc sicmp si,wsjne huanloop xianshi1pop dipop sipop dxpop axretxssz endpdjzhuan proc ;电机转动子程序 push axpush bxpush cxpush dxmov dx,pcmov al,01hout dx,alcall delay1mov al,02hout dx,alcall delay1mov al,04hout dx,alcall delay1mov al,08hout dx,alcall delay1pop dxpop cxpop bxpop axretdjzhuan endpdelay1 procpush axpush bxpush cxpush dxmov cx,5000begin: loop beginpop dxpop cxpop axretdelay1 endpcode endsend start8、模拟结果及结论程序运行过程良好,实验结果基本满足项目要求,达到了预期的目的,总体令人满意。

但是,在实际应用中还有需要待改进的地方。

首先,在实际应用中,控制程序定要简洁有效且不易出错,否则将会带来很大的经济损失,所以,在此程序的基础上,应追求更加简洁的程序设计,比如,可将检测任意开关闭合结束设计为子程序模块,既方便,又便于改进。

其次,还要根据实际应用中的具体控制元件来调整程序,即实际工程中用的是什么微处理器,用什么芯片控制什么样的功能,这主要是由该设备的实际定位决定的。

相关文档
最新文档