微机原理课程设计心得体会(合集)

时间:2019-05-15 14:05:54下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《微机原理课程设计心得体会》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《微机原理课程设计心得体会》。

第一篇:微机原理课程设计心得体会

微机原理是一门计算机专业的必修课程。以下是小编带来微机原理课程设计心得体会的相关内容,希望对你有帮助。

微机原理课程设计心得体会【1】

这次为期六个星期左右的课程设计终于结束,这次的任务是设计一个列管式换热器。虽然设计和学习的时间不长,却收获颇多,受益匪浅。

首先,这次课程设计是我们所接触的实践任务中最繁琐的、专业性最强的课程设计,让我认识到:课堂上理论知识掌握的再好,没有落实到实处,是远远不够的。换热器的设计,从课本上简单的理论计算,到根据需求满足一定条件的切实地进行设计,不再仅仅包括呆板单调的计算,还要根据具体要求选择、区分和确定所设计的换热器的每一个细节,我觉得这是最大的一个挑战。

其次,这次课程设计还考验了我们的团队合作精神,以及严谨的工作态度、平和的心态。这次设计工作量大,用到的知识多,而且我们又是第一次设计,所以单独靠自己是不法完满的完成本次课程设计。我经常与同组同学一起讨论,甚至争论,这样,我们就能发现问题,并能因此产生比较合理的结果和方法。大家都明白了,那其他的都不是问题。同时争论让我更加清楚地了解自己,让我明白我要更加耐心的表达我的想法,把问题解析清楚,也要耐心的听其他同学的意见。在同组同学无法通过讨论得出正确结果的时候,我们通过请教其他组同学或者与其讨论得到新的想法和正确的结论。

最后要提到的就是绘图了。由于工程制图不是我们的专业,而且我们将近两年时间没有接触了,差不多都将其内容忘光了。于是乎我们只能捧着厚厚的课本将其仔细的复习一遍,然后再进行正式的绘图工作。绘图过程中遇到了不少的麻烦,简直让人头疼。刚开始整体的布局规划就很麻烦,要布局得当才能使图既能够画完,又表现得十分清晰。而且因为换热器中有很多的零部件,它们的尺寸或者厚度很小,画的时候很难准确地按照比例将其绘画出来。而且A1图纸又是非常的巨大,我只能早点去图书馆,找个没人的位置坐下,终于功夫不负有心人,经过几天的努力,最后将换热器图圆满顺利地完成了。虽然在这次的换热器设计中遇到了很多的麻烦,但最终通过自己的努力、同学们的帮助,最终还是完成了任务。通过这次的设计任务,我巩固了以前所学习的知识,并让我对化工知识有了更深的认识和理解,还增强了我的查阅能力以及动手能力。总之,收获还是蛮多的。

通过这次化工原理课程设计,我收获颇丰,不但把之前学过的内容复习一遍,加深对该课程的印象。通过与同学一起讨论,是我体会到团队精神的重要性,对于即将立足于社会的我们也有非常大的意义。感觉做完之后非常累,但是也感觉这段时间过得非常充实!

微机原理课程设计心得体会【2】

不知不觉,微机原理与接口技术课程已经结束了。回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写,期间也听老师讲过,微机原理这门课程是比较偏硬件一点的。正是因为这一点我还是对它比较喜欢的,因为它和我的专业方向“机电工程”有很大的联系,在机电工程领域很多场合要应用到微机,本着想就业好的心态,因此对该课程的学习还是有浓厚的兴趣的。下面谈谈这期学习该课程的心得与体会:

刚开始接触这门课程的时候,感觉到它似乎非常的容易,尤其是第一章,它讲到的都是一些计算机的发展历程,听的是津津有味的,知道原来计算机是那么来的啊!这时我有一个感想,当初发明出第一台计算机的人是多么的伟大啊,使人在计算复杂问题上,速度得到了很大的提高,随着时代的发展,计算机的运行速度也越来越快,CPU由原来的M级发展到了G级,是多么令人惊奇的一个进步,到了21世纪,计算机得到了充足的发展,IT行业也成为了一个热门的行业,起初,我认为学习计算机有点吃亏了,但是听老师一说,不论是什么专业,如果你把技术学精了,一样也可以拿到很高的工资,就像这个计算机,专业技能强的话,一般比其它行业拿的工资都要高,同时也就增添了我对它学习的信心。就像我们学的这个微机原理与接口技术课,如果能把它融会贯通的话,对机电工程的学习和深造都会有很大的益处,对将来的就业也会有极大的帮助。

其实我觉得,在学习微机原理这一块,最让我觉得棘手就是这个汇编语言了,在学它的过程中,觉得还是有点吃力,尤其是它的指令很多的,有时候总是把它给记混了,加上又没有实验课,所以在做练习的时候这个问题最突出了,如果是自己写程序的话,总是写不对,到计算机上也运行不了,唯一的解决办法就是看参考书上的程序再模仿编写,但是自己的编程能力上没有得到有效的提高。这也有可能是自己学习方法上的不足吧!在今后的学习中要针对性的改变这种不足。汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多,我觉得老师说的一句话很有道理,学习计算机的要掌握两门语言:“一门低级的和一门高级的。”而一般情况下,高级的大多数人会!低级的就不一样了,所以说如果把它学好了,以后找工作是不成问题的。在市场上汇编语言程序设计的人才是很缺的。

应该说,在这一学习中,汇编语言程序设计就占了很大的篇幅在讲,可见它的重要性了!在学习的不可末尾,讲到微机的总线及接口,而在这其中,主要是概念占大多数,记的东西还是挺多,怎样实现总线互相的配合,加快计算机的运行速度,总之在有些地方还是用到了汇编的知识,汇编语言始终是学习微机原理的主流!

通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,虽然说,这门课已经结束了,但是我会坚持对它的学习,使自己在汇编语言上有一个长足的提高!力争在掌握一门高能语言基础上掌握一门汇编语言,这就是我这期学习《微机原理与接口技术》课程的心得体会!

第二篇:微机原理课程设计心得体会

微机原理课程设计心得体会

微机原理课程设计心得体会1

这次为期六个星期左右的课程设计终于结束,这次的任务是设计一个列管式换热器。虽然设计和学习的时间不长,却收获颇多,受益匪浅。

首先,这次课程设计是我们所接触的实践任务中最繁琐的、专业性最强的课程设计,让我认识到:课堂上理论知识掌握的再好,没有落实到实处,是远远不够的。换热器的设计,从课本上简单的理论计算,到根据需求满足一定条件的切实地进行设计,不再仅仅包括呆板单调的计算,还要根据具体要求选择、区分和确定所设计的换热器的每一个细节,我觉得这是最大的一个挑战。

其次,这次课程设计还考验了我们的团队合作精神,以及严谨的工作态度、平和的心态。这次设计工作量大,用到的知识多,而且我们又是第一次设计,所以单独靠自己是不法完满的完成本次课程设计。我经常与同组同学一起讨论,甚至争论,这样,我们就能发现问题,并能因此产生比较合理的结果和方法。大家都明白了,那其他的都不是问题。同时争论让我更加清楚地了解自己,让我明白我要更加耐心的表达我的想法,把问题解析清楚,也要耐心的听其他同学的意见。在同组同学无法通过讨论得出正确结果的时候,我们通过请教其他组同学或者与其讨论得到新的想法和正确的结论。

最后要提到的就是绘图了。由于工程制图不是我们的专业,而且我们将近两年时间没有接触了,差不多都将其内容忘光了。于是乎我们只能捧着厚厚的课本将其仔细的复习一遍,然后再进行正式的绘图工作。绘图过程中遇到了不少的麻烦,简直让人头疼。刚开始整体的布局规划就很麻烦,要布局得当才能使图既能够画完,又表现得十分清晰。而且因为换热器中有很多的零部件,它们的尺寸或者厚度很小,画的时候很难准确地按照比例将其绘画出来。而且A1图纸又是非常的巨大,我只能早点去图书馆,找个没人的位置坐下,终于功夫不负有心人,经过几天的努力,最后将换热器图圆满顺利地完成了。虽然在这次的换热器设计中遇到了很多的麻烦,但最终通过自己的努力、同学们的帮助,最终还是完成了任务。通过这次的设计任务,我巩固了以前所学习的知识,并让我对化工知识有了更深的认识和理解,还增强了我的查阅能力以及动手能力。总之,收获还是蛮多的。

通过这次化工原理课程设计,我收获颇丰,不但把之前学过的内容复习一遍,加深对该课程的印象。通过与同学一起讨论,是我体会到团队精神的重要性,对于即将立足于社会的我们也有非常大的意义。感觉做完之后非常累,但是也感觉这段时间过得非常充实!

微机原理课程设计心得体会2

以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。

我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。

我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。

微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

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

这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。

这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。

实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。

总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的`认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。

对课程设计的建议

本次课程设计的三个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。但是做完实验,我们对实验台及其上面的各个模块还是不了解。对如何编程控制实验台上各个模块和芯片的运作也没有什么清晰的认识。如果老师对我们实验报告的要求再严格一点,也许同学们会更加自觉地去认真理解程序和实验思路。

希望老师根据试验室的环境布置一些可以让我们自己去设计的题目,并给我们更多的实验时间,这样也许能够激发更多同学的创新能力。老师可以多给我们讲一讲各类芯片的实际应用,这样可以让我们对各种芯片有一个更加贴切的感受。

微机原理课程设计心得体会3

“微机原理与系统设计” 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。

这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

微机原理课程设计心得体会4

不知不觉,微机原理与接口技术课程已经结束了。回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写,期间也听老师讲过,微机原理这门课程是比较偏硬件一点的。正是因为这一点我还是对它比较喜欢的,因为它和我的专业方向“机电工程”有很大的联系,在机电工程领域很多场合要应用到微机,本着想就业好的心态,因此对该课程的学习还是有浓厚的兴趣的。下面谈谈这期学习该课程的心得与体会:

刚开始接触这门课程的时候,感觉到它似乎非常的容易,尤其是第一章,它讲到的都是一些计算机的发展历程,听的是津津有味的,知道原来计算机是那么来的啊!这时我有一个感想,当初发明出第一台计算机的人是多么的伟大啊,使人在计算复杂问题上,速度得到了很大的提高,随着时代的发展,计算机的运行速度也越来越快,CPU由原来的M级发展到了G级,是多么令人惊奇的一个进步,到了21世纪,计算机得到了充足的发展,IT行业也成为了一个热门的行业,起初,我认为学习计算机有点吃亏了,但是听老师一说,不论是什么专业,如果你把技术学精了,一样也可以拿到很高的工资,就像这个计算机,专业技能强的话,一般比其它行业拿的工资都要高,同时也就增添了我对它学习的信心。就像我们学的这个微机原理与接口技术课,如果能把它融会贯通的话,对机电工程的学习和深造都会有很大的益处,对将来的就业也会有极大的帮助。

其实我觉得,在学习微机原理这一块,最让我觉得棘手就是这个汇编语言了,在学它的过程中,觉得还是有点吃力,尤其是它的指令很多的,有时候总是把它给记混了,加上又没有实验课,所以在做练习的时候这个问题最突出了,如果是自己写程序的话,总是写不对,到计算机上也运行不了,唯一的解决办法就是看参考书上的程序再模仿编写,但是自己的编程能力上没有得到有效的提高。这也有可能是自己学习方法上的不足吧!在今后的学习中要针对性的改变这种不足。 汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多,

我觉得老师说的一句话很有道理,学习计算机的要掌握两门语言:“一门低级的和一门高级的。”而一般情况下,高级的大多数人会!低级的就不一样了,所以说如果把它学好了,以后找工作是不成问题的。在市场上汇编语言程序设计的人才是很缺的。

应该说,在这一学习中,汇编语言程序设计就占了很大的篇幅在讲,可见它的重要性了!在学习的不可末尾,讲到微机的总线及接口,而在这其中,主要是概念占大多数,记的东西还是挺多,怎样实现总线互相的配合,加快计算机的运行速度,总之在有些地方还是用到了汇编的知识,汇编语言始终是学习微机原理的主流!

通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,虽然说,这门课已经结束了,但是我会坚持对它的学习,使自己在汇编语言上有一个长足的提高!力争在掌握一门高能语言基础上掌握一门汇编语言,这就是我这期学习《微机原理与接口技术》课程的心得体会!

微机原理课程设计心得体会5

本学期的微机原理和接口技术及其课程设计都已经结束。在这个过程中,我们有所付出,也有所回报,让我感受颇多。

对于《微机原理与接口技术》这门课程而言,初学时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。

微处理器、微型计算机和微型计算机系统在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,在当今的战争中,首先就是运用这方面的知识来修改地方的系统程序。让地方的卫星偏离轨道,从而不能发现目标。其威力可见一斑。

然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。我认为,在学习中要考虑到“学以致用”,因此,在接下来我们又安排了微机原理与接口技术的课程设计。

经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。

在实际设计过程中,我们遇到了诸多设计的问题。例仿真系统中某些芯片没有,这一问题主要是因为我们所设计的功能诸多,刚开始对于这一设计在硬件方面设计不是非常的合理,后来通过使用所用仿真软件的绘画功能,新增加了一个芯片便解决了所有的按键和现实问题。

在程序设计中,我们更加深入了解了8086的使用与本质。为了能设计成功,我们查阅了各种关于其硬件连接和软件设计的资料,同时也发现了理论资料与实践上的区别,通过多次尝试,成功完成了硬件和软件的设计。在这次课题设计过程中,我们合理的分工,适宜的规划进度的进展,不仅仅按时完成了预先设计的内容,而且学到了很多书本上没有的知识。

在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。这次设计不仅仅耗时耗力,而且还要整天对着电脑进行仿真且不停的调试、修改,这次课程设计对我们理论和实验都有很大的提升,我想这些对于我们今后的学习生活都有很重要的意义,这将是我们在程序设计以及大学学习过程中的宝贵经验和财富。

第三篇:微机原理课程设计

汇编程序设计题

题目一 密码设置模拟

该程序可以进行密码的设置(第一次)和修改(已设置密码)。要求输入的密码不显示。题目二 计算器

编辑程序可以实现键盘输入数据与运算符,进行“加减乘除”运算。(提示:先输入数据与运算符,保存,再按照运算符选择对应的子程序;输入的数据是用字符表示的,需要转换;要有良好的界面(提示信息))

题目三工作周期判断程序

输入年、月、日,能够判断当日的星期数,并进行输出。(以校历为依照,可设某日为起点,根据相差的天数与7的关系进行判断)。

题目四 PC扬声器发声

利用8253驱动PC机内扬声器发声,PC结构参考相关文献资料。题目五 乐曲播放

利用PC机内8253实现乐曲播放。题目六 按键选择乐曲播放

利用按键选择播放不同乐曲。(★)(自制交互界面实现按键选择★★)题目七 实现闪烁文字效果 编程提示:

提示信息于屏幕中央显示出来,用光标定位子程序将光标定位于80*25显示方式的第8行第10列,然后输出一条提示信息,接着调用屏幕上卷子程序上卷一行,接着再定位光标,然后显示下一条提示信息,直到所有信息显示完毕,对于闪烁的信息,同样是定位光标,然后用BIOS功能调用13H来显示闪烁信息,当BL的高位为1时,字符闪烁。mov ah,00h mov al,03h ;设置显示方式为80*25,16色文本 int 10h 题目八

数字秒表

设计可以显示1~60秒的无存储功能的秒表,最小单位为毫秒。题目九

倒计时牌

设计日期倒计时牌界面,可输入设定日期,显示当前日期的统计天数,如奥运计时牌。题目十

数字时钟

编程实现时钟功能,按秒刷新,要求定位在屏幕右上角。

硬件设计题

总体要求:根据题意自行设计电路,编写相关汇编程序。题目一

交通灯控制系统

1.利用8253定时,8259中断及8255设计电路,实现十字路口交通灯模拟控制。2.实现能自动控制和手动应急控制。

3.实现能随时可以调整自动模式的绿灯和红灯时间。题目二 实现特定功能的键盘及LED显示

了解键盘及LED显示接口原理,设计实验电路图完成以下功能: 1.按1键显示年; 2.按2键显示月日; 3.按3键显示GOOD ;

4.按4键数码管由左到右字符“0”循环显示。5.自行设计特效显示功能。题目三

LED七段数码管数字钟

设计并完成LED七段数码管数字钟电路,数字钟显示格式为:HH:MM:SS。要求:具有通过键盘能够调整时、分、秒的功能。题目四

闪烁灯

利用8253和LED灯相结合实现闪烁灯效果。题目五

电子钟

利用8253定时器设计一个电子钟,并定义一个启动键。当按下该键时电子时钟从当前设定值开始走时。

附录:实验箱功能模块电路图

第四篇:微机原理课程设计

《微机原理》课程设计报告

间 学 院 专业班级 姓 名 学 号 合 作 者

指导教师

成 绩

2013 年 11 月

摘要

本文针对可燃气体检测模块MQ—K1,综合运用《微机原理》所学知识,选择合适的芯片,如微处理器8086、存储器、可编程并行接口芯片8255、A/D转换芯片ADC0809,LED显示芯片8279以及其它辅助芯片等,设计合理的硬件系统,实现可燃气体浓度的测量与检测结果的显示,设定阈值,超过阈值后报警,并对设计出的硬件系统运用汇编语言完成全部软件系统设计及调试。

关键词:可燃气体传感器、LED数码管显示、LCD液晶模块、语音报警

Abstract In this paper, combustible gas detection module MQ-K1, integrated use of “Computer Architecture” the knowledge, choosing the right chip, such as the 8086 microprocessor, memory, programmable parallel interface chip 8255, A / D conversion chip ADC0809, LED display chip 8279 as well as other auxiliary chips, designed hardware system, combustible gas concentration measurement and test results show that the set threshold, exceeds the threshold alarms, and design the hardware system using assembly language software system design and complete all debugging.Keywords: combustible gas sensor, LED digital display, LCD liquid crystal module, voice alarm

目录

摘要.........................................................................................................................................................1 Abstract............................................................................................................................................................1 1实验目的......................................................................................................................................................3 2实验内容......................................................................................................................................................3 3实验设备......................................................................................................................................................3 4实验原理......................................................................................................................................................3

4.1系统概述...........................................................................................................................................3 4.2硬件介绍...........................................................................................................................................4 4.3可燃气体传感器.............................................................................................................................6 4.4 LCD显示....................................................................................................错误!未定义书签。4.5语音录放模块.................................................................................................................................9 5设计思路....................................................................................................................................................10 5.1数码管显示....................................................................................................................................10 5.2 LCD显示.......................................................................................................................................10 5.3语音报警.........................................................................................................................................10 6实验测试步骤............................................................................................................................................11 7程序流程....................................................................................................................................................12 8实验程序....................................................................................................................................................15 8.1数码管显示....................................................................................................................................15 8.2 LCD显示..................................................................................................1错误!未定义书签。8.3数码管,LCD显示,语音报警最终程序.................................................................................19 9实验现象及说明........................................................................................................................................26 10实验结论..................................................................................................................................................28 11承担的主要任务......................................................................................................................................28 12结论及设计心得与体会.........................................................................................................................28

1、实验目的

掌握可燃气体传感器的工作原理和测量电路。通过采集气体的浓度,经过模拟量转换为数字量,即A/D转换,AD0809采样输出电压值并在数码管上显示,并改进程序,使在液晶屏上显示可燃气体传感器检测结果转换的电压值,并设定阈值,超过阈值后报警。对所设计的硬件系统运用汇编语言完成全部软件系统设计及调试。

2、实验内容

用打火机靠近可燃气体传感器并喷射少量气体,AD0809采样输出电压值并显示。并改进程序,使在液晶屏上显示可燃气体传感器检测结果转换的电压值。设定阈值,超过阈值后报警。对所设计的硬件系统运用汇编语言完成全部软件系统设计及调试。

3、实验设备

3.1 EL-MUT-III实验箱 3.2 8086CPU板

3.3 霍尔、气体传感器模块 3.4 交叉串口线 3.5 E-LAB-AUDIO-ISD1700

4、实验原理

4.1系统概述

1、微处理器:8086

2、时钟频率:6MHz

3、存储器

6264 系统RAM,地址范围 0~3FFFH,奇地址有效 6264 系统RAM,地址范围0~3FFFH,偶地址有效 27C64 系统ROM,地址范围 FFFFF~FC000H,奇地址有效 27C256 系统ROM,地址范围 FFFFF~FC000H,偶地址有效

4、系统资源分配

本系统采用可编程逻辑器件(CPLD)EPM7128 做地址的编译码工作,可通过芯片的JTAG 接口与PC机相连,对芯片进行编程。此单元也分两部分:一部分为系统CPLD,完成系统器件,如监控程序存储器、用户程序存储器、数据存储 器、系统显示控制器、系统串行通讯控制器等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0—CS5)给用户使用,其地址固定,用户不可改变。另一部分为用户CPLD,它完全对用户开放,用户可在一定的地址范围内,进行编译码,输出为插孔LCS0—LCS7,注意,用户的地址不能与系统相冲突,否则将导致错误。1)地址分配

CS0 片选信号,地址04A0~04AF 偶地址有效 CS1 片选信号,地址04B0~04BF 偶地址有效 CS2 片选信号,地址04C0~04CF 偶地址有效 CS3 片选信号,地址04D0~04DF 偶地址有效 CS4 片选信号,地址04E0~04EF 偶地址有效 CS5 片选信号,地址04F0~04FF 偶地址有效 CS6 片选信号,地址0000~01FF 偶地址有效 CS7 片选信号,地址0200~03FF 偶地址有效 8250 片选地址:0480~048F,偶地址有效 8279 片选地址:0490~049F,偶地址有效 2)硬件实验说明

所有实验程序的起始地址为01100H,CS=0100H,IP=0100H,代码段、数据段、堆栈段在同一个64K的地址空间中。4.2硬件介绍

4.2.1整机介绍

EL-MUT-III 型微机教学实验系统由电源、系统板、CPU 板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。

图1 系统板结构 4.2.3硬件资源

1.可编程并口接口芯片8255 一片。

2.串行接口两个:8250 芯片一个,系统与主机通讯用,用户不可用。单片机的串行口,可供用户使用。

3.键盘、LED 显示芯片8279 一片,其地址已被系统固定为CFE8H、CFE9H。硬件系统要求编码扫描显示。

4.六位LED 数码管显示。

5.ADC0809 A/D 转换芯片一片,其地址、通道1—8 输入对用户开放。6.DAC0832 D/A 转换芯片一片,其地址对用户开放,模拟输出可调 7.8 位简单输入接口74LS244 一个,8 位简单输出接口74LS273 一个,其地址对用户开放。

8.配有8 个逻辑电平开关,8 个发光二极管显示电路。9.配有一个可手动产生正、负脉冲的单脉冲发生器

10.配有一个可自动产生正、负脉冲的脉冲发生器,按基频6.0MHz 进行1 分频(CLK0)、二分频(CLK1)、四分频(CLK2)、八分频(CLK3)、十六分频(CLK4)输出方波。

11.配有一路0—5V 连续可调模拟量输出(AN0)。

12.配有可编程定时器8253 一个,其地址、三个定时器的门控输入、控制输出均对用户开放。

13.配有可编程中断控制器8259 一个,其中断IRQ 输入、控制输出均对用户开放。

14.2组总线扩展接口,最多可扩展2 块应用实验板。

15.配有两块可编程器件EPM7064,一块被系统占用。另一块供用户实验用。两块器件皆可通过JTAG接口在线编程。使用十分方便。

16.灵活的电源接口:配有PC 机电源插座,可与PC 电源直接接驳。另还配有外接开关电源,提供所需的+5V,±12V,其输入为220V 的交流电。4.3可燃气体传感器

MQ—K1可燃气体传感器主要用于检测空气中CO、CH4、H2等可燃气体的浓度,其原理为传感器的内部阻抗随可燃气体的浓度而变化。MQ—K1的测量范围为100—10000PPM(PPM为体积比例,表示百万分之一),工作环境的温度:-10℃~45℃,湿度≤95%。其引脚及电学参数如下: 可燃气体传感器的工作原理见模块说明,其测量电路如下图所示:

图2 可燃气体传感器测量电路 脚、5脚用于加热,1、3脚和4、6脚接测量电路,RL为负载电阻。

表1-可燃气体传感器标准工作条件

传感器在1000ppm的CH4中的阻抗用R0表示,在各种环境中的动态阻抗用Rs表示。在洁净的空气中Rs/ R0=5,在其它环境中如下表所示:

表2-在各种环境中的阻抗用R0与动态阻抗Rs 的关系

可燃气体传感器电路如下所示:

图3 可燃气体传感器电路

R2(SEN.)用于改变负载电阻的大小,R6(ZERO)用于零位调节,R12(ALARM)用于设置报警电压,VOUT为模拟输出,DOUT为数字输出。

使用前,应先对MQ—K1通电预热3—5分钟,以使输出稳定。在洁净的空气中,通过采样VOUT电压,求出R0;在有可燃气体的环境中,通过采样VOUT电压,求出Rs;用Rs/R0的比值确定空气中可燃气体的浓度。4.4 LCD显示

点阵式LCD显示电路是在系统板上外挂电正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。可直接与系统相连。4.4.1 OCMJ2×8液晶模块介绍及使用说明

OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。也可用作一般的点阵图形显示器之用。提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位

进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。4.4.2硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ 可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其它工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY 高电平(BUSY =1)持续时间较长,具体的时序图和时间参数说明查阅相关手册。

4.2.3用户命令

用户通过用户命令调用OCMJ系列液晶显示器的各种功能。命令分为操作码及操作数两部分,操作数为十六进制。共分为3类10条,分别是:

一)、字符显示命令:

1、显示国标汉字;

2、显示8X8 ASCII字符;

3、显示8X16ASCII字符;

二)、图形显示命令:

4、显示位点阵;

5、显示字节点阵;

三)、屏幕控制命令:

6、清屏;

7、上移;

8、下移;

9、左移;

10、右移;(1)显示国标汉字

命令格式: F0 XX YY QQ WW。该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),其中 XX为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09。YY为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04。QQ WW为坐标位置上要显示的GB 2312 汉字区位码。

(2)显示8X8 ASCII字符

命令格式:F1 XX YY AS。该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中 XX为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13。YY为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F。AS坐标位置上要显示的ASCII 字符码。(3)显示8X16 ASCII字符

命令格式:F9 XX YY AS。该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0mS),其中 XX为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13。YY为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F。AS坐标位置上要显示的ASCII 字符码。

(4)清屏

命令格式:F4。该命令为单字节命令(最大执行时间为11毫秒,Ts2=11mS),其功能为将屏幕清空。4.5语音录放模块

语音录放模块由单片语音录放芯片ISD2560 及其外围电路组成。4.5.1 SD2560 芯片介绍

ISD2560 是美国ISD 公司推出的ISD2500 系列语音芯片的一种。ISD2500 系列芯片按录放时间60 秒、75 秒、90 秒和120 秒分成ISD2560、2575、2590 和25120 四个品种。ISD2560 芯片具有抗断电、音质好,使用方便等优点,它使用单一的+5V 供电,录音部分有自动增益控制电路,录音的采样频率可达8KHz。ISD2560 片内有容量为480K 字节的E2PROM,所以录放时间长,可重复录制100000 次且可保持100 年不变。此外ISD2560 芯片支持分段录音和分段播放,有10 个地址输入端,寻址能力可达1024 位,最多能分600 段。芯片设有OVF(溢出)端,便于多个器件级联。4.5.2 模块电路原理图

本电路中ISD2560采用按钮控制操作方式,A9、A8、A6接VCC,A1—A5、A7均接GND,A0由CA0插孔引出,用于控制是否进入检索模式。ISD2560的音频输出端SP+、SP-经过音频功放LM386驱动喇叭。电位器R8(对应于模块上VOLUME电位器)用于调节喇叭的增益。4.5.3 模块的基本测试方法

1、模块上P/-R、PD、CA0插孔分别接至实验箱的K1、K2、K3,EOM接实验箱指示灯L1,CE接单脉冲P-。

2、将K1、K3拨至低电平,K2先高后低。按一下单脉冲P-,L1应熄灭。此时对这麦克风说一段话,然后再按P-,此时L1应被点亮,录音完成。

3、将K1 拨至高电平,K3 拨至低电平,K2 先高后低。按一下单脉冲P-,L1 应熄灭,此时可以听到刚才录的语音片断。播放完成后,L1 应被点亮。

图4 语音模块电路

5、设计思路

5.1数码管显示

通过可燃气体传感器,在有可燃气体的环境中,通过采样VOUT电压,将测试结果通过AD0809采样输出电压,A D转换,并通过8279显示电路使数码管显示相应的转换结果。5.2 LCD显示

通过可燃气体传感器,在有可燃气体的环境中,通过采样VOUT电压,将测试结果通过AD0809采样输出电压,A D转换,并通过LCD液晶屏显示相应的转换结果。5.3 语音报警

通过调节相应的滑阻设置阈值,当电路正常运行时,在可燃气体模块电路的Dout输出端就会有相应的开关量的输出。语音模块提前录好音,当可燃气体浓度超过阈值时,利用Dout输出量控制语音模块输出,即可实现语音报警。

6、实验测试步骤

6.1 数码管显示

1、实验连线:VOUT接A/D模块的ADIN0,CS0809选择CS3。

2、调节ZERO电位器,将VZERO调为0。将SEN.电位器调到最小,即VOUT输出最小。调节ALARM电位器,将VALARM调到2V。

3、运行实验程序,用打火机靠近可燃气体传感器并喷射少量气体,观察数码管显示的变化。6.2 LCD显示 1、8255 的PA0~PA7接A/D PORT单元的DB0~DB7;2、8255 的PC7接A/D PORT单元的BUSY;3、8255 的PC0接A/D PORT单元的REQ;4、8255CS接CS0;

5、运行实验程序,观察液晶的显示状态。6.3 语音报警

1、实验箱上CS244 接到片选CS2。

2、实验箱上CS273 接到片选CS1。

3、实验箱上244 的输入IN0—IN1 接到实验箱上拨码开关的输出k7 和k8。

4、实验箱上273 的输出O0—O1 到ISD1700 语音模块上的REC 和PLAY。

7、程序流程

7.1数码管显示

7.2 LCD显示

图5 数码管显示程序流程图

图6 LCD液晶屏显示程序流程图

7.3最终程序流程图

开始LCD初始化BUSY为0?Y数据输出“检测结果”REQ置位NNBUSY为1?YREQ复位N数据读完?Y开始AD转换延时读入转换数据读入开关量开关量取反输出至语音模块所读数据低八位赋给BX将BX中数据取高四位数码管显示将BX中数据取高四位LCD显示将BX中数据取低四位数码管显示将BX中数据取低四位LCD显示延时

8、实验程序 8.1数码管显示

CON8279 EQU

0492H

;赋值伪指令给8279控制口地址赋予一个名字

DAT8279 EQU

0490H

;赋值伪指令给8279数据口地址赋予一个名字 CS0809 EQU

04D0H ;赋值伪指令给AD0809通道0控制口地址赋予一个名字

ASSUME CS:CODE

;将CS设置为存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,组合类型,逻辑段有相同的段名,集中为一个逻辑段装入内存

ORG

100H

;利用ORG伪指令使程序的起始地址为01100H,CS=0100H,IP=0100H

START: JMP

START1

;JMP无条件转移指令 START1: MOV DX,CS0809

;将CS0809放入DX寄存器中

MOV AX,34H

;任意给一个控制字,启动AD转换

OUT

DX,AX

;AD0809开始转换

WAIT:

MOV CX,0010H

;延时,等待AD转换结束 WAIT1: NOP

NOP

LOOP WAIT1

;CX不为0时转移

MOV

DX,CS0809

IN

AX,DX

;读入AD转换结果到CS0809

AND

AX,0FFH

;保留AX寄存器数据的低八位,高八位清零

MOV

BX,AX

;将AX寄存器数据传送到BX寄存器

NOP

;空操作

DISP:

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

MOV

AX,08H

;8279控制字,左端入口,16个字符显示

MOV

DX,CON8279

OUT

DX, AX

;输出8279控制字到CON8279

MOV

AX, 90H ;8279控制字,写显示RAM 0000B内容,地址自加1

MOV

DX, CON8279

OUT

DX, AX

;输出8279控制字到CON8279

MOV

PUSH

AND

MOV

SHR

ADD 据相加

MOV AL寄存器

MOV

OUT

NOP

NOP

MOV 器DI

POP

AND

ADD 数据相加

MOV 到AL寄存器

MOV

OUT DX, DAT8279 ;将DAT8279放入DX BX

;将BX寄存器的数据压入堆栈,保护现场 BX,0F0H

;取BX寄存器数据的高四位

CL,4

;CL寄存器存放移位次数 BX,CL

;逻辑右移4位

DI,BX

;将DI中SEGCOD的偏移地址值与BX中数 AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送到 AH,0

;AX寄存器的高八位置零

DX,AX

;将AX寄存器的数据输出到DAT8279端口

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存

BX

;出栈,恢复现场

BX,0FH

;取BX寄存器数据的低4位

DI,BX

;将DI中SEGCOD的偏移地址值与BX中

AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送

AH,0

;将AH寄存器置零

DX,AX

;将AX寄存器的数据输出到DAT8279端口

DELAY: MOV

CX, 2A00H

;延时

DELAY1: NOP

NOP

LOOP

DELAY1

;循环2A00H次

JMP

START1

;返回重新采集和转换数据并显示

SEGCOD DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

;空指令

;七段共阴数码管显示编码,分别对应着0123456789ABCDEF CODE ENDS

;代码段结束 END

START

;源程序结束

8.2 LCD显示

;=;液晶显示

;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0

;CS0片选信号,地址04A0-04AF,偶地址有效

ASSUME

CS:CODE

;将CS设置为存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,组合类型,逻辑段有相同的段名,集中成为一个逻辑段装入内存

ORG

100H

;ORG设置指令存储起始地址;= START: MOV DX, 04A6H

;将控制端口地址放入DX

MOV AX, 88H

;88H为工作方式选择控制字,A口方式0输出,PC7~PC4输入,B口方式0输出,PC3~PC0输出

OUT

DX, AX

MOV AX, 70H

OUT

DX, AX

;向控制端口发送工作方式选择控制字

;70H为C口按位置位/复位控制字,PC0复位 ;向控制端口发送C口按位置位/复位控制字

MOV AL, 0F4H

;LCD显示清屏

CALL COMD

;过程调用指令,调用过程COMD CALL DELAY

;过程调用指令,调用过程DELAY START1: MOV SI,OFFSET[TABLE] ;将TABLE的偏移地址送到SI寄存器

MOV CX, 4

;循环次数设定

WR1:

MOV DX, 04A4H

;WR1检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR1

;ZF零标志位,ZF非零转移到WR1

MOV

AL, [SI]

;将地址在SI寄存器的数据送到AL

CALL

COMD

;调用过程COMD

INC

SI

;将TABLE的偏移地址缓冲区指针加1

LOOP

WR1

;CX寄存器的内容不为零,则循环WR1

CALL

DELAY

;调用过程DELAY OK:

JMP

START1

;无条件转移到START1;= DELAY: MOV

CX,1000H

;将1000H送入CX寄存器 DLYB: LOOP

DLYB

RET

;过程返回指令,回到原来调用过程的地方;= COMD: MOV

DX, 04A0H

;将A数据端口地址放入DX

OUT

DX, AL

;将相应数据输出

;将控制端口地址放入DX

MOV

DX, 04A6H

MOV

AX, 71H

;71H为C口按位置位/复位控制字,PC0置位

OUT

DX, AX

MON:

MOV

DX, 04A4H

;MON检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

;向控制端口发送C口按位置位/复位控制字

AND

AX, 80H

;保留PC7的输出数据,即busy

JZ

MON

;ZF零标志位,ZF非零转移到MON

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 70H

;70H为C口按位置位/复位控制字,PC0复位

OUT

DX ,AX

;向控制端口发送C口按位置位/复位控制字

RET

;过程返回指令,回到原来调用过程的地方;= TABLE: DB

0F9H,00D,00D,31H

;在此处输入要显示汉字的命令代码 CODE ENDS

;代码段结束 END

START

8.3 数码管,LCD显示,语音报警最终程序

CON8279 EQU

0492H

;赋值伪指令给8279控制口地址赋予一个名字 DAT8279 EQU

0490H

;赋值伪指令给8279数据口地址赋予一个名字 CS0809

EQU

04D0H

;赋值伪指令给AD0809通道0控制口地址赋予一个名字

ASSUME

CS:CODE

;将CS设置为存放CODE的段地址

CODE SEGMENT PUBLIC ;PUBLIC,组合类型,逻辑段有相同的段名,集中为一个逻辑段装入内存

ORG

100H ;利用ORG伪指令使程序的起始地址为01100H,CS=0100H,IP=0100H START: MOV DX, 04A6H

;将控制端口地址放入DX

MOV AX, 88H

;88H为工作方式选择控制字,A口方式0输

;源程序结束

出,PC7~PC4输入,B口方式0输出,PC3~PC0输出

OUT

DX, AX

;向控制端口发送工作方式选择控制字

MOV AX, 70H

;70H为C口按位置位/复位控制字,PC0复位

OUT

DX, AX

;向控制端口发送C口按位置位/复位控制字 MOV AL, 0F4H

;LCD显示清屏

CALL COMD

;过程调用指令,调用过程COMD

CALL DELAY

;过程调用指令,调用过程DELAY

MOV

CX, 25

;循环次数设定

MOV

SI,OFFSET JCJG ;将JCJG的偏移地址送到SI寄存器

JCJG1: MOV

DX, 04A4H

;JCJG1检查BUSY信号是否为零,将C数据端口地址放入DX IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy信号

JNZ

JCJG1

MOV

AL, [SI]

CALL

COMD

INC

SI

LOOP

JCJG1

CALL

DELAY

JMP

START1

START1: MOV

DX, CS0809 MOV

AX, 34H

OUT

DX, AX

WAIT:

MOV

CX, 0010H

WAIT1: NOP

NOP

LOOP

WAIT1

MOV

DX, CS0809

IN

AX, DX

AND

AX, 0FFH

MOV

BX, AX

NOP

;ZF零标志位,ZF非零转移到JCJG1

;将地址在SI寄存器的数据送到AL ;调用过程COMD

;将JCJG的偏移地址缓冲区指针加1

;CX寄存器的内容不为零,则循环JCJG1 ;调用过程DELAY

;无条件转移到START1

;将CS0809放入DX寄存器中

;任意给一个控制字

;AD0809开始转换

;延时,等待AD转换结束

;CX不为0时转移

;读入AD转换结果到CS0809

保留AX寄存器数据的低八位,高八位清零

;将AX寄存器数据传送到BX寄存器

;空操作

; yy:

MOV

DX,04C0H

;74LS244地址

IN

AL,DX

;读输入开关量

NOT

AL

;将AL内容取反

MOV

DX,04B0H

;74LS273地址

OUT

DX,AL

;输出值语音模块

DISP:

MOV

DI, OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

MOV

MOV

OUT

MOV

地址自加1

MOV

OUT

MOV

PUSH 场

AND

MOV

SHR

ADD

中数据相加

MOV

据送到AL寄存器

AX, 08H

;8279控制字,左端入口,16个字符显示 DX, CON8279

DX, AX

; 输出8279控制字到CON8279 AX, 90H

;8279控制字,写显示RAM 0000B内容,DX, CON8279

DX, AX

;输出8279控制字到CON8279 DX, DAT8279 ;将DAT8279放入DX BX

;将BX寄存器的数据压入堆栈,保护现 BX,0F0H

;取BX寄存器数据的高四位 CL,4

;CL寄存器存放移位次数

BX,CL

;逻辑右移4位

DI,BX

;将DI中SEGCOD的偏移地址值与BXAL,CS:[DI]

;将段地址为CS,偏移地址为DI的数

MOV

AH,0

;AX寄存器的高八位置零

OUT

DX,AX

;将AX寄存器的数据输出到DAT8279端口

NOP

NOP WR1:

MOV

DX, 04A4H

;WR1检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR1

;ZF零标志位,ZF非零转移到WR1 MOV

AL, 0F9H

;显示8X16ASCII字符命令

CALL

COMD

;调用过程COMD

;输入列信息

MOV

AL, 0AH

CALL

COMD

;调用过程COMD

MOV

AL, 00H

;输入行信息

MOV

SI,OFFSET SEGCOD2 ;取SEGCOD2的偏移地址放

CALL

COMD

;调用过程COMD 入变址寄存器SI

ADD

SI, BX

;将SI中SEGCOD2的偏移地址值与BX中数据相加

MOV

AL, [SI]

;将地址在SI寄存器的数据送到AL

CALL

COMD

;调用过程COMD

MOV

DX, DAT8279 ;将DAT8279放入DX寄存器中

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

POP

BX

;出栈,恢复现场

AND

BX,0FH

;取BX寄存器数据的低4位

ADD

DI,BX

;将DI中SEGCOD的偏移地址值与BX中数据相加

MOV

AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送到AL寄存器

MOV

AH,0

;将AH寄存器置零

OUT

DX,AX

;将AX寄存器的数据输出到DAT8279端口

WR2:

MOV

DX, 04A4H

;WR2检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR2

;ZF零标志位,ZF非零转移到WR2

MOV

AL, 0F9H ;显示8X16ASCII字符命令

CALL

COMD

;调用过程COMD

MOV

AL, 0BH

;输入列信息

CALL

COMD

;调用过程COMD

MOV

AL, 00H

;输入行信息

CALL

COMD

;调用过程COMD

MOV

SI,OFFSET SEGCOD2;将SEGCOD2的偏移地址送到SI寄存器

ADD

SI, BX

;将SI中SEGCOD的偏移地址值与BX中数据相加

CALL

COMD

;调用过程COMD CALL

DELAY

;调用过程DELAY

DELAY0:

MOV

CX, 2A00H

;延时 DELAY1:

NOP;空指令

NOP

LOOP

DELAY1

;循环2A00H次

OK:

JMP

START1

;返回重新采集和转换数据并显示;= DELAY:

MOV

CX,1000H

;将1000H送入CX寄存器 DLYB:

LOOP

DLYB

RET

;过程返回指令,回到原来调用过程的地方

;= COMD:

MOV

DX, 04A0H ;将A数据端口地址放入DX

OUT

DX, AL

;将相应数据输出

MOV

AL, [SI]

;将偏移地址为SI的数据送到AL寄存

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 71H

;71H为C口按位置位/复位控制字,PC0置位

OUT

DX, AX 制字

;向控制端口发送C口按位置位/复位控

MON:

MOV

DX, 04A4H

;MON检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JZ

MON

;ZF零标志位,ZF非零转移到MON

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 70H

;70H为C口按位置位/复位控制字,PC0复 位

OUT

DX ,AX

;向控制端口发送C口按位置位/复位控制字

RET

;过程返回指令,回到原来调用过程的地方

;= SEGCOD

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;七段共阴数码管显示编码,分别对应着0123456789ABCDEF

SEGCOD2 DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H ;0123456789ABCDEF的ASCII码 JCJG

DB 0F0H,00D,00D,28D,76D,0F0H,01H,00H,18D,66D,0F0H,02H,00H,29D,65D,0F0H,03H,00H,25D,91D,0F9H,08H,00H,3AH;显示“检测结果:”

CODE ENDS

;代码段结束 END

START

;源程序结束

9实验现象及说明 9.1 运行数码管显示程序

实验现象:

将打火机靠近气体传感器,数码管会显示相应AD转换结果

当气体浓度超过阈值时,LED灯会亮。

9.2 运行LCD显示程序 实验现象:

将打火机靠近气体传感器,液晶屏会显示相应AD转换结果

9.3 运行数码管,LCD显示,语音报警程序

实验现象:

将打火机靠近气体传感器,数码管,LCD会显示相应AD转换结果,当气体浓度超过阈值时,LED灯会亮,语音报警模块会报警。10实验结论

在完成对已有程序的解读,通过可燃气体传感器检测气体浓度,并在数码管上显示气体浓度转换为的电压值后,我们改进了程序,使其在LCD液晶屏上显示气体浓度转换为的电压值,最后进一步改进,使气体浓度转换为的电压值可以同时在数码管和LCD液晶屏上显示,最后我们加入了语音报警模块,当检测值超过阈值后,会有相应的报警。

11承担的主要任务

在气体传感器模块微机原理课程设计中,我主要进行小组内成员的分工,课程设计进度的调整。以及对气体检测模块相关程序的解读,对已有程序的修改和程序的调试。

12结论及设计心得与体会

通过对气体传感器模块的相应功能的实现,我更深入的了解了微机原理课程的相关知识。通过亲身实践,对汇编语言有了更深入的理解。巩固了上学期学习的微机原理基本知识,当然还认识到自己还有很多不足,比如对汇编语言的理解还比较浅显,有些细节还没有引起自己足够的重视等。我还认识到在进行设计实验时,程序的流程图是十分重要的,在对整个程序的理解方面起着十分关键的作用。在分析程序时,先按照功能将程序分为几个部分,再对每个部分分别在细节上分析是十分有效的方法。

总之,经过微机原理课程设计,我对汇编语言程序与相应硬件外设结合实现相应的功能这整个过程有了一定的了解,对于汇编语言知识的有了更深入的了解。

第五篇:微机原理课程设计

接口技术课程设计

一、设计内容

设计一个投票统计器,完成投票、计票统计和票数显示等功能。

二、设计原理及方案

在8086最小工作模式下,连接一块8255A芯片。在 8255A的C端口连接8个开关,开关按下表示支持,灯亮,开关不按便是反对,灯不亮,从8255A的C端口输入投票结果,经8086运算统计出结果;在 8255A的A端口连接一块7段LED数码管,将输出结果通过数码管显示出来。电路图:

接口技术课程设计

程序代码: A_PROT B_PROT C_PROT CT_PROT DATA DATA CODE

MOV DX,C_PROT IN AL,DX EQU EQU EQU EQU 200H 202H 204H 206H

;可通过计算获得,连接的是IO1 SEGMENT ENDS SEGMENT MOV AX,DATA MOV DX,AX MOV AL,10001001B MOV DX,CT_PROT OUT DX,AL

;控制字写入

;A端口输出,C端口输入 TAB1 DB 7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH ASSUME CS:CODE,DS:DATA

START: MOV DX,C_PROT MOV AL,0 OUT DX,AL

;C端口清零

AGAIN: TJ: XOR AH,AH

MOV CX,8 LOOP1: SAL AL,1

ADC AH,0

LOOP LOOP1

MOV AL,AH

PUSH BX

LEA BX,TAB1

XLAT

MOV DX,A_PROT

OUT DX,AL

PUSH CX

MOV CX,2801 WAIT1: LOOP WAIT1

POP CX

JMP AGAIN

MOV AH,4CH INT 21H CODE ENDS END START

接口技术课程设计

;统计1个数

;进位加CF,以统计出C端口中1的个数

;延时10ms

接口技术课程设计

三、运行结果

程序结果图:

接口技术课程设计

四、设计总结与体会

为期一周的微机原理课程实践终于结束了,回过头来,感慨万千。过了一个多月,书本上的好些知识已然忘却,刚开始拿到课题时,看到一大堆传说中的神器,霎时凌乱了,选来选去,从仅剩的课题中挑了“投票统计器”,上网搜索了一下,大体上把设计的方向搞清了,接下来,便是开始设计了。

画模拟图对于我们来说,还是比较困难的,特别是8086那一块儿,大家参考网上的资料,反复讨论,着实花了不少时间。接下来的画图连线就比较简单了,为了节省时间,在做模拟图的同时,其他两个人便开始编写程序了。将设计流程图简略写下来,对照流程图,分块儿编写程序,显得很有条理,简单轻松些。

就这样,三次课之后,设计的图和程序都好了,只剩下调试程序,查看模拟结果了。这是检错和纠错的过程,轻松但也不轻松,因为那么多东西,如果看不仔细了,你就找不到错误,也就没法儿解决问题了,费事费力还一无所获,这是最伤脑筋的事情。还好,运气不错,只是程序出现了小小的问题,改好之后,得到了很满意的结果。

最后的验收,是对书本与实践知识的融汇总结,本以为毫无问题的我们,没想到被程序中的一个问题给秒杀了,大家四处找资料,和别的组的同学讨论,反复演算了半天,终于会了。当然,就算是会了,我们也只是懂得了微机原理中的一点皮毛而已,学的扎实很重要,因为这样才能把理论知识运用到实践中去,不断地提高自己。

五、参考文献 1.周明德.微型计算机系统原理及应用.北京:清华大学出版社

2.张弥左,王兆月,邢立军等.微型计算机接口技术.北京:机械工业出版社 3.戴梅萼,史嘉权.微型计算机技术及应用.北京:清华大学出版社 4.沈美明,温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社

下载微机原理课程设计心得体会(合集)word格式文档
下载微机原理课程设计心得体会(合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    微机原理课程设计

    电子信息科学与技术《微机原理》课程设计 一、本次课程设计的目的和意义 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加......

    微机原理课程设计

    合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计 专业班级:计算机科学与技术班 学号:2 姓名: 一、设计题目及要求: 利用 8259A中断,实现对8253多种计数......

    微机原理课程设计

    一、设计题目 单片机综合试验仪——计数/中断模块 二、功能及性能指标 显示计数,记到15就重新开始计数 三、设计目的 1 了解单片机综合实验仪基本构成和分模块设计方法。掌......

    微机原理课程设计总结

    微机原理课程设计总结 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心, 担心自己不会或者做不好。但是当真的......

    微机原理课程设计总结

    微机原理课程设计总结以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心, 担心自己不会或者做不好。但是当真的......

    微机原理课程设计题目

    微机原理课程设计题目与要求 微机原理课程设计说明: 1. 要求使用 A4 纸打印,必须有封面和目录。封面内容有课设题目、班级、 学号、 姓名、指导教师、日期等内容。设计题目可......

    2008微机原理课程设计

    《微机原理及接口》课程设计任务书 适用专业:05电子信息工程 通信工程 一、 本次课程设计的目的和意义 学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对......

    微机原理课程设计跑马灯

    微机原理课程设计走马灯 运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。 设计电路图如图所示: 源代码 DATA SEGMENT......