微机原理课程设计报告
- 格式:pdf
- 大小:367.09 KB
- 文档页数:22
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握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(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
专业班级:计算机1301姓名:学号:指导老师:2016年 1 月15 日彩灯控制器一、实验要求、设计目的及功能实现实验要求:现在有8盏彩灯,4个开关作为输入,控制4种闪烁方式。
当没有开关闭合时,4种花型依次轮流闪烁,每种花型闪烁时间持续2分钟,每盏灯点亮的时间为1秒。
只有某一个开关闭合时,对应的花型连续不断的闪烁。
设计实现该功能的电路,并编写完整的代码。
设计目的:(1)巩固和加深微机原理所学知识;(2)学习掌握一般的软硬件的设计方法和查阅、运用资料的能力。
所实现的功能:本课程设计所设计的彩灯控制器的主要功能有:向外发散显示、向中递推显示、0-7依次显示、奇数灯显示,偶数灯显示等功能。
输出采用8个二极管显示,每个灯亮1秒。
二、实验原理在这次课程设计中主要用到了8255A可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为CPU与外设之间提供并行输入/输出的通道。
8254给1S的信号送到8259,再送到8255A控制灯亮的时间。
三、硬件原理图0 0000000000000000000000000008255工作原理及内部结构1.8255A内部结构8255A的内部结构如图2所示,它由4部分组成:(1) 数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的(2)三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入缓冲器和一个8位数据输入/输出,锁存/缓冲存储器器;端口C(PC口):有一个8位数据输入缓冲存储器器和一个8位数据输出锁存/缓冲器。
通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。
PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA 口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。
微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
微机原理课程设计报告课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助!微机原理课程设计报告(一) 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。
当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。
但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。
我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。
看着自己做出来的东西,心里面的感觉真的很好。
虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。
很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。
对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
微机原理课程设计第一篇:微机原理课程设计一、设计题目单片机综合试验仪——计数/中断模块二、功能及性能指标显示计数,记到15就重新开始计数三、设计目的了解单片机综合实验仪基本构成和分模块设计方法。
掌握PROTEUS下单片机综合实验仪的设计、绘制方法。
通过本次实验,达到熟练掌握PROTEUS下单片机综合实验仪原理图绘制和模块划分调整的目的。
2通过单片机综合实验仪原理图转换为板图、制作出各模块实验板和下载程序和在实验板上调试、运行个实验项目,熟练掌握单片机综合实验仪线路板的设计制作过程;达到实现单片机综合实验仪各实验项目实际运行效果的目的。
3了解单片机综合实验仪各模块程序设计方法。
掌握KEIL C51下单片机综合实验仪各模块程序设计和调式及PROTEUS下的系统仿真方法。
通过本次课程设计,达到熟练掌握KEIL C51下和PROTEUS下单片机综合实验仪各模块程序设计、调试和仿真的目的。
四、意义该实验通过单片机的最小系统的制作,设计简单系统,拥有控制其他模块的功能,在现实生活中应用广泛,具有现实意义。
五、本人所做工作计数/中断模块部分①原理图仿真:②PCB版图设计(元件封装)与制作:部分器件封装:中断、定时计数、串行通信电路部分器件封装:SW1(TRIGGER)(3)——SW-PUSH-AUTO-LOCK(按实物设计)D9(POWER_SHOW)(3)——LED 需要设计封装器件外形图如下:中断、定时计数PCB电路图六、设计内容依据单片机综合实验仪原理图各模块及其元器件的实物结构。
在PROTEUS下设计制作单片机综合实验仪的设计、绘制方法。
通过本次实验,达到熟练掌握PROTEUS下单片机综合实验仪原理图绘制和模块划分调整的目的。
1、在PROTEUS的智能原理图输入系统ISIS下,按本本课程设计课件要求,每位同学主攻单片机综合实验仪一个模块原理图设计和绘制。
为后续实验本模块的板图设计做好准备。
2、自己制作的电路板图上焊接元件,完成实验板的制作。
一、设计要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒。
(2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒。
(4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。
(5)转(1)重复。
(6)紧急情况可以手动控制红绿灯的变换。
一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。
(7)黄灯闪烁时扬声器发声,提醒。
二、设计目的(1)了解红绿灯电路的基本工作原理;(2)了解8086微型计算机的工作过程;(3)学习8086CPU与外围设备的接口技术。
(4)运用微机原理与接口技术、数字电路、汇编语言程序设计等课程学到的知识,掌握微型计算机接口的方法和原理,具备一定的微机应用开发的实践能力,加深对理论课程的理解。
三、设计的具体实现原理框图3.1系统概述本次设计是模拟交通灯实时控制系统,以8086CPU为核心加以并行接口芯片8255、可编程计数器/定时器8253、LED灯、开关等组成的系统。
以LED灯模拟十字路口的红绿灯。
对交通灯控制的实现主要是通过编写汇编语言程序对8255的I/O及8253进行控制,从而实现对灯的亮与灭进行控制。
PC口做输入,读取定时,及应急开关状态。
用8253对扬声器的发声进行控制,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PB0 =1,则可控制扬声器发声。
利用8253的计数器1方式3、计数器0方式0实现对扬声器的控制,以及对于交通灯亮灭时间的精确延时。
3.2 8086CPU介绍8086由执行部件和总线接口部件组成(内部结构图如下图)外部设备8086内部结构图1. 执行部件EU由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。
主要功能是执行指令:一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。
需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作;遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。
微机原理课程设计设计报告一、设计目的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)通过设计电子万年历,掌握中断的使用方法。
(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. 掌握汇编语言编程的基本方法,能够编写简单的汇编程序。
技能目标:1. 能够运用所学知识,设计简单的微机控制系统。
2. 培养学生动手实践能力,能够进行基本的硬件连接和调试。
3. 提高学生的问题分析能力,学会运用理论知识解决实际问题。
情感态度价值观目标:1. 培养学生对计算机科学的兴趣,激发学生的学习热情。
2. 培养学生的团队合作意识,提高沟通与协作能力。
3. 引导学生认识科技发展对社会进步的重要性,树立正确的价值观。
课程性质分析:本课程为软件微机原理课程设计,旨在帮助学生将理论知识与实际应用相结合,提高学生的实践能力。
学生特点分析:学生为高中年级学生,具备一定的计算机基础,对新鲜事物充满好奇心,但可能缺乏实际动手操作经验。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 通过小组合作,培养学生的团队协作能力。
3. 注重启发式教学,引导学生主动思考,提高问题解决能力。
二、教学内容1. 微机原理概述:介绍微型计算机的发展历程、硬件组成及工作原理,对应课本第一章内容。
- 硬件组成:CPU、存储器、输入输出接口等。
- 工作原理:指令执行、数据存储与传输等。
2. 汇编语言编程:讲解汇编语言的基本语法、指令系统及编程方法,对应课本第二章内容。
- 基本语法:寄存器、指令格式、操作数等。
- 指令系统:数据传输、算术运算、逻辑运算等。
3. 硬件连接与调试:学习微机系统中各硬件组件的连接方法,进行基本调试,对应课本第三章内容。
- 硬件组件:内存、I/O接口、中断控制器等。
- 调试方法:静态调试、动态调试等。
4. 微机控制系统设计:结合所学知识,设计简单的微机控制系统,对应课本第四章内容。
- 控制系统组成:输入、处理、输出等模块。
微机原理课程设计报告一、设计题目Pc机实时时钟的设计二、设计内容及功能设计内容:利用PC机现有的硬件和软件资源设计程序,以实现在显示器上显示XX(时):XX(分):XX(秒)。
设计功能:按下任意键开始显示数据区中存放的时间值,并且每秒更新一次。
运行中按下空格键则停止运行并返回DOS。
运行过程中按下回车键则依次提示输入时,分,秒的值,输入完毕后时钟自动按照设置的时间工作。
程序中应保护原系统的08H中断矢量以便退出时恢复原系统的设置。
三、设计思想及原理设计基本思想:PC机系统板上使用一片8253,其地址为40H—43H,其通道0以方式3工作,每55ms向中断控制器8259A IRQ0端发一次中断请求。
本设计题要求借用原有电路,重新设置8253的计数器0每10ms产生一次中断,100次中断后加1秒,然后调整时、分、秒并显示在屏幕上。
设计原理:100次中断给秒针的个位加1秒,秒针个位加1产生进位时,高位加1,低位回0.依此类推。
设置时间时,将输入的6个数字依此送入时钟高位开始的时间字符显示区,再显示即可四、模块划分及程序流程图模块划分:本程序分为几大模块1.时钟显示模块display使用09H字符串显示DOS功能调用完成时钟字符显示区的字符显示(即时间显示),这种显示在无其他有效指令的情况下不停进行,完成对时钟字符显示区的扫描显示,字符区有任何变化均会显示在屏幕上。
对本程序,用户会看到正在工作的时钟。
2.时钟设置模块SET当按下回车键ENTER即进入设置程序段SET。
利用使用09H字符串显示DOS功能调用进行提示语的显示input the value of hour[00-23]:使用两次AH=01H字符输入显示DOS功能调用完成对时钟小时值的设定。
同理完成分和秒的输入提示及值设定3.程序退出模块exit当按下空格键SPACE即进入退出程序段,退出程序先写初始状态8253计数器的控制字00110110B(通道0,先读低8位,再读高8位,工作方式3,计数值2进制格式),再将计数初值0000H送入通道0,完成了对8253设置的恢复,接着完成保护原系统的08H中断矢量以便退出后恢复原系统的设置。
目录一、课题任务 (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——矩形波五.课程设计体会在为期近两周的微机原理课程设计中,我们小组利用所学微机的理论知识进行软硬件整体设计,同时锻炼了我们理论联系实际,提高我们的综合应用能力。
微机原理课程设计报告(8255控制开关状态)湖南科技⼤学潇湘学院《微机原理》课程设计报告实验内容:8255控制8位单⾊灯的开关状态姓名:学号:学院:潇湘学院专业:电⼦信息⼯程实验时间:2011.12.19-2011.12.30课程设计时间:2011.12.31⽬录⼀、实验⽬的与内容1,对实验箱的了解2,对本实验所⽤到的芯⽚的了解3,原理图的制作⼆、基本的实验内容三、⽅案实现与测试四、提⾼与创新研究五、分析总结⼀、实验⽬的与内容1、实验要求与⽬的:了解74LS138、8255、74LS245以及发光⼆极管的⼯作原理;编写程序,设定8255的⼀个输⼊⼝,⼀个输出⼝,并能随时将输⼊⼝的开关状态通过输出⼝的发光⼆极管表⽰出来;学习并掌握8255,以及各个⼝不同的⼯作⽅式;熟练掌握Altium designer 10.0软件对电路原理图的编辑;通过设计调试较为复杂的汇编语⾔程序进⼀步熟练常⽤会变语⾔程序设计技术;掌握数码转码换类程序设计的基本⽅法。
2、对实验箱的了解:AEDK实验系统介绍,详见实验指导书。
3、对实验所⽤到的芯⽚的了解:实验中,所需⽤到的芯⽚⼤致为:74LS138,8255,74LS245等等。
74LS138:74ls138引脚图:74HC138管脚图:74LS138为3 线-8 线译码器,共有54/74S138和54/74LS138两种线路结构型式,其⼯作原理如下:当⼀个选通端(G1)为⾼电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的⼆进制编码在⼀个对应的输出端以低电平译出。
利⽤G1、/(G2A)和/(G2B)可级联扩展成24 线译码器;若外接⼀个反相器还可级联扩展成32 线译码器。
若将选通端中的⼀个作为数据输⼊端时,74LS138还可作数据分配器⽤与⾮门组成的3线-8线译码器74LS1383线-8线译码器74LS138的功能表:8255:8255是Intel公司⽣产的可编程并⾏I/O接⼝芯⽚,有3个8位并⾏I/O⼝。
中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握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总线。