人人范文网 教学设计

单片机教学设计(精选多篇)

发布时间:2021-08-04 07:39:11 来源:教学设计 收藏本文 下载本文 手机版

推荐第1篇:单片机设计心得

四周的毕业设计结束了,在这次的毕业设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

毕业设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次毕业设计,我深深体会到这句千古名言的真正含义.我今天认真的进行毕业设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

通过这次单片机设计,我们在多方面都有所提高。通过这次单片机设计,综合运用本专业所学课程的理论和生产实际知识进行一次单片机设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了单片机课程所学的内容,掌握单片机设计的方法和步骤,掌握单片机设计的基本的技能懂得了怎样分析电路,了解了单片机的基本结构,提高了计算能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。

在这次设计过程中,体现出团队设计的团结以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

本次设计是在马老师、崔老师密切关心和悉心指导下完成的。老师在课题开题期间和论文写作的过程中给予了我许多指导,导师总是以认真负责、一丝不苟的工作态度阅读并修改文章中不足的地方,导师的优良的作风和严谨治学的态度深深影响着我,至此,向恩师致以最真挚的感谢和最崇高的敬意!

同时我要感谢我的同学,特别是我的同组的同学们,他们在这一个月里陪我一起设计,一起讨论,一起学习,才让我有了今天的成绩。他们在平时的学习和生活中他们给予了我无私的关怀和帮助,在此表示我最诚挚的谢意。

转眼之间四周的毕业设计就要结束了,这四周我过得虽然忙碌但是很充实,因为通过这次设计我学到了很多知识,对单片机也有了更深的认识,并且把以前学的知识又重新梳理了一遍,除此之外我也感觉到了自己知识的匮乏,设计过程中遇到许多困难,比如由于之前对单片机应用知识的不熟悉,程序编写无从下手以及对以前所学知识掌握的不够牢固等等,给了我很大的压力,真正的感觉到是学无止境这句话是什么含义。我一遇到不会的知识或者以前学过但现在却忘记的知识,我就上图书馆,上网去查,或者拿出以前的书再看看,尽力把它弄明白。我们小组在设计时一起去班上讨论,一起研究,在大家的互相帮助下我们提高的很快,解决了很多问题,也通过这次设计我们在彼此身上学到了很多知识,并且在我们即将面临实习的重要时刻,这次设计过程也让我们对我们自己的专业,和

学习,工作的方向有了更清晰的认识。让我知道不论做什么工作都要努力,都要不断学习。

推荐第2篇:单片机教学总结

2014—2015学年第二学期《单片机应用技术》课教学总结

本学期本人担任电气中职13-1班《单片机应用技术》课的教学任务,为了顺利完成本门课的教学任务,本人能从各方面作起,现总结如下:

1.课前准备:根据学院教务处制定的实施性教学计划,认真研究组织同专业人员一起编写教学大纲,并根据教学大纲的要求选用合适的教材及参考资料。认真阅读教材和参考资料 ,根据教学进度计划认真制定本学期本课程的授课计划。 2.认真备课:在多年的教学体验中感觉到,单片机方面的专业基础课的教学有一定的难度,同时,此类课程较抽象。因此在备课之前,必须对所有内容进行熟悉,参考多方面的资料,认真深入钻研教材,确定重点难点。根据本院现有的条件和学生的实际情况,认真授课、认真听课,虚心学习,不断反思教学,使教学有秩序、有组织、有步骤地进行。

3.认真组织课堂教学。上课时,本着“传道、授业、解惑”的原则,努力提高教学质量,使讲解有条理、清晰、准确、生动。使每堂课上学生都有所获,努力使学生学好理论知识,培养能力,发展智慧,培养学生的正确思维方式,学会好的学习方法。坚持做到以学生的学为主体,教师的教为主导,巩固和运用为主线。在课堂上,特别注意调动学生的积极性,采用启发性教学,让学生主动学习,轻松愉快地学习,并不断树立学生的自信心,从各方面提高学生的能力。

4.组织实践教学。在教学活动现有的条件下,尽量带学生去实验室参观,并做一些实际实验,以满足基本需要。

5.虚心请教。教师的教学过程即是一个不断学习的过程。因此,在此过程中,遇到疑难问题,虚心向经验丰富的教师请教。跟他们学习好的教学方法,好的教学经验,并向年轻教师学习他们的新知识,新理念,做到思想和认识上不落伍,跟上时代发展。

6.认真批改作业。坚持布置适量的作业,使学生所学知识得到巩固和提高。布置作业时,坚持做到有针对性,认真及时地批改作业。并针对学生的作业情况,认真透彻地进行讲评,及时掌握学生的学习情况。

7.认真反思教学。教学这一活动,没有反思就不会有进步。坚持每次授课后,认真回想,认真反思。

8.完成情况:本学期计划完成理论42学时,实验14学时。实际完成56学时。 9.教学效果: 成绩最高分82分,平均分55分,及格率达到62%。

总之,在这一学期的教学过程中,我尽力地做好每项工作。其中学到的东西固然不少,但不足之处也有。在以后的教学工作中,我将不断总结经验,发扬优点,改进缺点,提高自己的教学水平和教学质量。

任课教师:买尔孜艳

2015年7月4日

推荐第3篇:单片机数字钟设计心得体会

单片机数字钟设计心得体会

经过一周的课程设计,我收获颇多,有深刻的心得体会。 实训让我们受益匪浅。首先是关于单片机方面的。我们学到了许多关于单片机系统开发的知识,从最开始选题到最后的结题,更使我们得到了充分的锻炼。其次,它让我体会到了什么才是teamwork spirit。一如:团队管理的经验、团队意识的提升和协调能力等等,这些都会让我们终身受益。

通过此次课程设计,使我更加扎实的掌握了有关电子线路单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查我终于找出了问题所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践才能出真知,实践才是检验真理的唯一标准,唯有通过亲自动手制作,才能令我们掌握的知识不再是一些纸上谈兵的东西。

在这次的课程设计中,我们遇到了很多困难,过程很艰难,但是我们都克服了,这是对我们自己的肯定。我们不断发现错误,不断改正,不断领悟,不断获取。我们也曾灰心,也曾茫然,也曾不知所措,从一开始的自信满满,到最后的紧张繁杂,所有的这些都令我们回味无穷,这已经成为了我们人生的一个宝藏。我想今后的学习和工作也是这样的,汗水见证着成功,我想十年过后,但我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,最先映入脑海里的就是这门课程吧,就是这些为了一个共同的目标,相互合作,共同奋斗的日子。

不可否认,单片机是一门比较难的专业学科。但是经过这一学期的学习,我们觉得单片机这门课很好,让我们在设计中掌握课程,具有很强的实用性。在社会上,单片机也应用极其广泛。通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等。我相信在接下来的日子里,我会更深刻地去研究它,发掘它。在这次的实训里,我觉得过得很充实。实训,不仅培养了我们独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。汗水,是我们努力的过程,更是成功的使者。它是希望的凝聚。

回首此次实训,我们真的学到了很多很多。巩固了以前所学过的知识,将理论与实际结合起来,不断提高自己的实际动手能力和独立思考的能力,并学会去使用知识。当然不仅仅是这些课本 上 的 知 识,更

要 的 是 一 些 课本上没 有但 是也很 重 要 的 知 识 。 像是团队合作精神等。当我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,回忆起这些泛着汗水的时光的时候,定然会被我们的团队感动。成功后会很喜悦,但过程一样令我们回味无穷。此次设计也让我明白了思路即出路,学问学问,有学必问。只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。亲历亲为,亲手实践才是硬道理。希望这样的实训能够继续下去,并不断地前进,帮助更多的学生更好地学习单片机,并能够在使用中发现它的无穷魅力!

2014年1月13日

推荐第4篇:单片机课程设计设计项目

09级通信专业《课程设计》方案 单片机应用系统设计项目介绍

学生:09级通信

1、

2、3班指导教师:周秋茜

一、16×16点阵LED电子显示屏的设计

1.功能要求

设计一个室内用16×16点阵LED图文显示块,要求在目测条件下LED显示屏个点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移出、移入等显示方式

2.设计要求

根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握动态显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握串行数据传输方式的应用。

(5) 实现利用AT89S51单片机控制的LED图文屏正常工作;

二、数字电压表系统设计

1.功能要求

简易数字电压表可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。其测量最小分辨率为0.02V

2.设计要求

按照系统功能实现要求,控制系统采用51单片机,A/D转换采用ADC0808。

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握数据显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握ADC的使用。

(5) 实现利用AT89S51单片机测量电压并显示出来;

三、交通灯控制系统的设计

1.功能要求

设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态四面均为红灯,持续时间为2S;然后转为状态1(10S),为东西红、南北绿;状态2(3S),为东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15S),为东西绿、南北红;状态4(3S),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最

后回到状态1,依次循环。如遇特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后将开关拨回原位。系统恢复原状态运行

2.设计要求

可选用12只单色LED发光管作为交通灯,也可选用4只双色LED发光管。控制系统采用51单片机,可选用片内带ROM型单片机,以简化电路,降低成本

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握控制系统及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(5) 实现AT89S51单片机对交通灯控制系统的有序管理

四、数字时钟设计

1.功能要求

时钟计时器要求用单片机用6位LED数码管显示时、分、秒,以24小时计时方式运行,使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)等功能

2.设计要求

按照系统功能实现要求,控制系统采用51单片机,显示系统采用LED显示器

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握数据显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握定时器的使用的使用。

(5) 实现AT89S51单片机产生频率可调的多种波形的输出;

五、简易低频信号源的设计

1.功能要求

简易低频信号发生器要求能输出0.1~50HZ的正弦波、三角波和方波信号,其中正弦波和三角波信号可以用按键选择输出,输出信号的频率可以从0.1~50HZ范围内调整。

2.设计要求

按照系统功能需要,要求选用AT89C51单片机作为控制器,用DAC0832作为D/A转换器。功能键使用单片机的三个端口

(1)熟悉AT89S51单片机系统的使用方法。

(2)掌握DAC0832转换原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握定时器的使用。

(5)实现利用AT89S51单片机精确计时并显示出来;

六六十秒倒计时显示器

推荐第5篇:单片机数字钟设计总结

单片机数字钟设计总结

经过一周的课程设计,我收获颇多,有深刻的心得体会。 实训让我们受益匪浅。首先是关于单片机方面的。我们学到了许多关于单片机系统开发的知识,从最开始选题到最后的结题,更使我们得到了充分的锻炼。其次,它让我体会到了什么才是teamwork spirit。一如:团队管理的经验、团队意识的提升和协调能力等等,这些都会让我们终身受益。

通过此次课程设计,使我更加扎实的掌握了有关电子线路单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查我终于找出了问题所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践才能出真知,实践才是检验真理的唯一标准,唯有通过亲自动手制作,才能令我们掌握的知识不再是一些纸上谈兵的东西。

在这次的课程设计中,我们遇到了很多困难,过程很艰难,但是我们都克服了,这是对我们自己的肯定。我们不断发现错误,不断改正,不断领悟,不断获取。我们也曾灰心,也曾茫然,也曾不知所措,从一开始的自信满满,到最后的紧张繁杂,所有的这些都令我们回味无穷,这已经成为了我们人生的一个宝藏。我想今后的学习和工作也是这样的,汗水见证着成功,我想十年过后,但我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,最先映入脑海里的就是这门课程吧,就是这些为了一个共同的目标,相互合作,共同奋斗的日子

吧。

不可否认,单片机是一门比较难的专业学科。但是经过这一学期的学习,我们觉得单片机这门课很好,让我们在设计中掌握课程,具有很强的实用性。在社会上,单片机也应用极其广泛。通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等。我相信在接下来的日子里,我会更深刻地去研究它,发掘它。

在这次的实训里,我觉得过得很充实。实训,不仅培养了我们独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。汗水,是我们努力的过程,更是成功的使者。它是希望的凝聚。

回首此次实训,我们真的学到了很多很多。巩固了以前所学过的知识,将理论与实际结合起来,不断提高自己的实际动手能力和独立思考的能力,并学会去使用知识。当然不仅仅是这些课本上的知识,更重要的是一些课本上没有但是也很重要的知识,像是团队合作精神等。当我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,回忆起这些泛着

汗水的时光的时候,定然会被我们的团队感动。

成功后会很喜悦,但过程一样令我们回味无穷。此次设计也让我明白了思路即出路,学问学问,有学必问。只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。亲历亲为,亲手实践才是硬道理。希望这样的实训能够继续下去,并不断地前进,帮助更多的学生更好地学习单片机,并能够在使用中发现它的无穷魅力!

内容简介:

单片机课程设计总结报告:电子万年历的设计与制作

一、设计目的及意义

(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验让学生接触专用时钟芯片DS1302,并会用DS1302芯片开发时钟模块,应用到其他系统中去。熟悉WAVE软件调试程序和仿真.

(2)通过实验提高对单片机的认识;

(3)通过实验提高焊接、布局、电路检查能力;

(4)通过实验提高软件调试能力;

(5)进一步熟悉和掌握单片机的结构及工作原理。

(6)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

(7)通过实际程序设计和调试,逐步掌握模块化程序设计方

法和调试技术。

(8)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

二、设计内容要求

电子万年历能显示阳历年、月、日、星期、[小]时、分、秒和阴历月、日,在显示阴历时间时能标明是否为闰年。

内容预览:

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇

到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在刘训非老师的辛勤指导下,终于游逆而解。同时,在刘训非老师那里我也学得到很多实用的知识,在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。希望大家能更上一层楼。

推荐第6篇:单片机课程设计电子钟设计

单片机课程设计电子钟设计

目录

一、摘要

二、设计任务

三、基本原理

数码管显示可以用静态显示或动态显示方法。静态显示需要数据锁存器等硬件,接口复杂,时钟显示用四个数码管。动态显示相对简单,但需动态扫描,扫描频率要大于人视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查的显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。

在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了按键设置子程序。

四、编程算法思路

五、程序流程图

六、硬件单元设计

七、软件单元设计

八、调试结果分析

九、设计总结及心得体会

十、参考文献

一设计任务

1、基本任务:利用定时器/计数器中断和静态显示或动态显示,实现电子时钟的时分秒精确走时和校准

。时间显示用四个数码管分别显示时、分、秒用点表示,在时和分的中间闪动,时间显示格式(18:49)

时间校准用2个键实现:一个键K1作移位选择(选中要修改的位,选中的位用闪烁指示),一个键K2做加1(对选中的位进行加1修改)。

2、功能增强型任务:在基本任务的基础上加上日历功能、准时报时功能和跑表功能

(1)日历功能:能实现时、分、秒和年、月、日计时,增加1个按键控制分3屏例如显开始的第1屏默认显示“时、分、秒”四位+秒点,按下K3键显示“月和日”四位,再按下课K3键显示“年份”四位,再按下K3键显示“时、分、秒”,依次类推。程序要能处理闰年、闰月功能。

(2)准点报时功能:可以在增加一个按键K4设计具有闹钟功能,实现定点报时。具体操作是:按下

K4键,进入闹钟设置功能,再通过K

1、K2键来完成定点报警时间的设置。

(3)跑表功能:再增加一个按键K5设计跑表功能,实现启动毫秒计数,相当与田径运动比赛的跑

表工作。

三基本原理

软件时钟时利用单片机内部的定时器/计数器来实现的,它的过程如下:首先定单片机内部的一个定时器/计数器工作于定时方式,对机器周期形成基准时间,然后用另一个定时器/计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。

四编程算法思路

1、主程序的设计:串行口工作方式0,定时器/计数器1工作在方式1进行初始化,然后通过循环(调用显示子程序)等待定时中断的到来。

2、按键的控制:KEY1控制时的调节,kEY2控制分的调节,KEY3控制时、分定型

3、中断服务程序的设计:中断服务程序主要功能是实现时、分、秒的计时处理。

4、时、分、秒计时的实现:秒计时时采用中断方式进行溢出次数的累计得到的。从秒到分,从分到时可通过软件的累加和比较到位方法来实现。要求每满1秒,则“秒”单元中的内容加1;“秒”单元每满60,则“秒”单元清0,同时“分”单元中的内容加1;“分”单元每满60,则“分”单元清0,同时“时”单元加1。“时”单元每满24,则将“时”单元清0。

5、显示子程序:采用数码管静态显示来显示时钟的走动

6,延时子程序:用来实现按键操控延时和实现整点12时报时

五程序流程图

六硬件单元设计

1、电路总设计图

2、AT89C51芯片

七软件单元设计

1、资源分配:定时器T1,P1.6为调整时钟,P1.5为调整分钟,P1.4为控制调整

30H秒显示单元,31H分显示单元,32H时显示单元,08H放分调整标

志,09H放时调整标志,0AH放闪烁标志

2、程序清单(加注释)

八调试结果分析

在实验操作过程中,将所写好的程序打入计算机内,通过编译检查其是否有错误,如有错误将其改正,直至无误后下载仿真器,实现运行。观察实验箱上的数码管显示,判断其是否为所需结果,如果与所要求的有差别,需继续调试,重新修改程序,检查硬件设施不断地调试,不断地检查直至得到所要的结果。在调试过程中,开始运行时能够实现时钟的显示,但是无法实现其闪烁功能,后经不断调试修改及同学的帮助最终实现该功能,能够达到时钟显示调节的基本要求,还可以实现整点报时。但在增加其功能显示年月时又出现一定的问题,未能实现该功能,程序存在一定的不足性,需继续完善,实现更多的功能

九设计总结及心得体会

经过两天的单片机课程设计,终于完成了我的电子时钟的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把一些基本功能都做了出来,只是一些增强型功能未能实现。

在本次设计的过程中,我发现很多的问题,虽然以前还做过一些实验但这次设计真的让我长进了很多单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,要有通篇的全局思想考虑问题。在操作的过程中,出现许多错误,都是在连接处不能够上下连贯正确运行,还需继续努力。有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。

从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在课程设计中的最大收获,同时,要把所学只是灵活应用才能真正领悟其中的意义,加深对它的理解与掌握。还有,通过此次的操作也使我的实践操作能力得到了进一步的提高。

十参考文献

【1】张毅刚,彭喜元,董继成。单片机原理及应用。北京:高等教育出版社,2003

【2】周航慈。单片机应用程序设计技术(修订版)。北京:北京航空航天大学出版社,2002

【3】万光毅等。单片机实验与实践教程。北京:北京航空航天大学出版社,2003

【4】何立民,I2C总线应用系统设计。北京:北京航空航天大学出版社,2002

【5】周航慈,朱兆优,李跃忠。智能仪器原理与设计。北京:北航大学出版社,2005

推荐第7篇:单片机电子秤设计报告

基于单片机的电子秤

单片机电子秤设计报告

秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。

和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-10Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。

一、功能描述

1、采用高精度电阻应变式压力传感器,测量量程0-10kg,测量精度可

达5g。

2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。

3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功

能。

4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。

5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。

6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。

7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

二、硬件设计

1、硬件方案

单片机电子秤硬件方案如图1所示:

图1 单片机电子秤硬件方案 称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出来。

矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。

2、称重传感器

传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。

(1) 灵敏度

称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并

非易事。

(2) 总误差

总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设

计。 (3) 漂移

称重传感器也产生与时间相关的漂移。

目前常用的称重传感器有电阻应变式压力传感器、电容压力传感器、压电式压力传感器。选用时应按稳定行、精度登记、寿命和安装环境要求

考虑,其主要特点如下:

(1) 电容式压力传感器稳定性较差,精度和灵敏度较高,寿命较短,对环境要求苛刻,不易长距离传输。

(2) 压电式压力传感器稳定性好,精度和灵敏度高,寿命长,但大量程

的压力传感器尚待进一步研究。

(3) 电阻应变式压力传感器稳定性较好,精度和灵敏度较高,寿命较长,

对测量环境要求不太严格。

综上所述,选用电阻应变式压力传感器作为电子秤称重传感器是最为合适的。电阻应变式压力传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,电阻应变片(转换元件)受到拉伸或压缩应变片变形后,它的阻值将发生变化(增大或减小),从而使电桥失去平衡,产生相应的差动信号,供后续电路测量和处理。电阻应变式传感器测量原理如图2所示。

图2 电阻应变式传感器测量原理

当垂直正压力P作用于梁上时,梁产生形变,电阻应变片R

1、R3受压弯拉伸,阻值增加;R

2、R4受压缩,阻值减小。电桥失去平衡,产生不平衡电压,不平衡电压与作用在传感器上的载菏P成正比,从而将非

电量转化成电量输出。

R

1、R

2、R3和R4组成惠更斯电桥,将2对电阻应变片的阻值变化转变成输出电压,其工作原理如图3所示。

图3 测量电桥原理

3、电子秤专用24位AD转换芯片HX711及其电路

HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。

该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A 或通道B,与其内部的低噪声可编程放大器相连。通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道B 则为固定的32 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。 HX711内部方框图如图4所

示。其外部管脚如图5所示。

图4 HX711内部方框图

图5 HX711外部管脚图

图5为HX711芯片应用于计价秤的一个参考电路图。该方案使用内部时钟振荡器(XI=0),10Hz的输出数据速率(RATE=0)。电源(2.7~5.5V)直接取用与MCU 芯片相同的供电电源。通道A与传感器相连,通道B通过片外分压电阻与电池相连,用于检测电池电压。

图6 HX711计价秤应用参考电路图

本课题设计的HX711电路如图7所示:

图7 HX711电路

4、单片机STC89C52及其电路 (1) STC89C52 单片机概述

STC89C52系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路。

(2) STC89C52 单片机特点

l

增强型 8051 CPU,1T,单时钟/机器周期,指令代码

完全兼容传统8051;

l

工作电压: 5.5Vi*100;//得到小数部分

int2str(i,str1);

//显示整数部分

if (i>=1000)

{

display_GB2312_string(5,44,str1);

}

else if (i>=100)

{

display_GB2312_string(5,52,str1);

}

else if (i>=10)

{

display_GB2312_string(5,60,str1);

}

else

{

display_GB2312_string(5,68,str1);

}

//显示小数点

display_GB2312_string(5,76,\".\");

//显示小数部分

int2str(j,str1);

if (j

{

display_GB2312_string(5,84,\"0\");

display_GB2312_string(5,92,str1);

}

else

{

display_GB2312_string(5,84,str1);

} }

//显示重量,单位kg,两位整数,三位小数

void Display_Weight()

{

unsigned int i,j;

display_GB2312_string(3,60,\"

\");

//weight单位是g

i = weight/1000;

//得到整数部分

j = weighti*100;//得到小数部分

int2str(i,str1);

//显示整数部分

if (i>=1000)

{

display_GB2312_string(7,44,str1);

}

else if (i>=100)

{

display_GB2312_string(7,52,str1);

}

else if (i>=10)

{

display_GB2312_string(7,60,str1);

}

else

{

display_GB2312_string(7,68,str1);

}

//显示小数点

display_GB2312_string(7,76,\".\");

//显示小数部分

int2str(j,str1);

if (j

{

display_GB2312_string(7,84,\"0\");

display_GB2312_string(7,92,str1);

}

else

{

display_GB2312_string(7,84,str1);

} }

//数据初始化 void Data_Init()

{

price = 0;

DotPos = 0;

beep = 1;

alert = 1;

}

//管脚配置 void Port_Init()

{

}

//定时器0初始化 void Timer0_Init()

{

ET0 = 1;

//允许定时器0中断

TMOD = 1;

//定时器工作方式选择

TL0 = 0x06;

TH0 = 0xf8;

//定时器赋予初值

TR0 = 1;

//启动定时器

}

//定时器0中断 // void Timer0_ISR (void) interrupt 1 using 0

{

TL0 = 0x06;

TH0 = 0xf8;

//定时器赋予初值

//每0.5秒钟刷新重量

Counter ++;

if (Counter >= 200)

{

FlagTest = 1;

Counter = 0;

}

}

//按键响应程序,参数是键值

//返回键值:

(清0)

10//

4

11

(删除)

//

1

12//

(未定义)

14(未定义) 0

15(.) void KeyPre(uchar keycode)

{

switch (keycode)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:

case 6:

确定价格) 13(

case 7:

case 8:

case 9:

//目前在设置整数位,要注意price是整

型,存储单位为分

if (DotPos == 0)

{

//最多只能设置到

千位

if

(price

{

price=price

*10+keycode*100;

}

}

//目前在设置小数位

else if (DotPos==1) //

小数点后第一位

{

price=price+keyco

de*10;

++;

de;

case 10:

DotPos

}

else if (DotPos==2)

{

price=price+keyco

}

Display_Price();

break; //清零键 To_Zero();

Display_Price();

FlagSetPrice = 0;

DotPos = 0;

break;

case 11: //删除键,按一次删除最右一个数

if (DotPos==2)

{

price=price/10;

price=

price*10;

DotPos

--;

}

else if (DotPos==1)

{

price=price/100;

price=

price*100;

DotPos

--;

}

else if (DotPos==0)

{

price=price/1000;

price=

price*100;

}

Display_Price();

break;

case 13: //确认键

FlagSetPrice = 1;

break;

case 15: //小数点按下

if (DotPos == 0)

{

DotPos = 1;

//小数点后第一位

}

break;

} }

//===============main program===================//

void main(void)

{

Rom_CS=1;

initial_lcd();

EA = 0;

Data_Init();

Port_Init();

Timer0_Init();

//初始化完成,开中断

EA = 1;

//背光

LedA = 1;

clear_screen();

//clear all dots

display_GB2312_string(1,1,\"电子秤初始化....\");

To_Zero();

display_GB2312_string(1,1,\"电子秤初始化成功\");

display_GB2312_string(3,1,\"重量:

kg\");

display_GB2312_string(5,1,\"单价:

元\");

display_GB2312_string(7,1,\"金额:

元\");

Display_Price();

while(1)

{

//每0.5秒称重一次

if (FlagTest==1)

{

//称重,得到重量值weight,单位为g

AdVal=ReadCount();

weight=FullScale-AdVal

/1000;

if (weight>0x8000)

weight=0;

weight=10000*weight/Fu

llScale;

weight=weight*RATIO;

//如果超量程,则报警

if (weight >= 10000)

{

beep = 0;

alert

= 0;

display_GB2312_string(3,60,\"------\");

display_GB2312_string(7,44,\"--------\");

}

//如果不超量程

else

{

beep = 1;

alert

= 1;

//显示

重量值

Display_Weight();

//如果单

价设定好了,则计算价格

if (FlagSetPrice == 1)

{

money = weight*price/1000; //money单位为分

//显示总金

Display_Mon

ey();

}

else

{

display_GB2312_string(7,44,\"

\");

推荐第8篇:单片机:交通灯控制系统设计

交通灯控制系统设计

摘要:本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。 关键词:AT89S51,交通规则

一、方案比较、设计与论证 1 电源提供方案

为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案

方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 2 显示界面方案

该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案: 方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。

方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。

方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。 3 输入方案:

题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案: 方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。

方案二: 直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K

1、K

2、K

3、K4。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

二、理论分析与计算

1.交通灯显示时序的理论分析与计算

对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。

先设定一些标号如图2-1 所示。

说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西 路口灯。

图2-2 所示为一种红绿灯规则的状态图,分别设定为S

1、S

2、S

3、S4,交通灯以这四

的状态为一个周期,循环执行(见图2-3)。

请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在

一定的时间内达到较大的车流量,效率特别高。

依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图

是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它

们的状态在相位上相差180°。因此最终只需写出一组S

1、S

2、S

3、S4的逻辑状态表。

如表2-1 所示。

表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上

的1),依上表,就可以向相应的端口送逻辑值。 2.交通灯显示时间的理论分析与计算

东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且

S

1、S

2、S

3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示。T-S1+T-S2=T-S3 T-S2=T-S4 T-S1=T-S3 我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分

为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参 考。

三、电路图及设计文件 1.灯控制电路设计

由于32个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不

能实现,所以本次设计中采用一种新型的电路如图3-1 所示。

图中74LS04的作用是倒相和驱动,它输出的电流大约48mA,实际测试发现足以满足要

求,而且发光管也能达到足够的亮度。

观察图可以看出:两组发光管(一组红、一组绿)由于反相器的作用,其逻辑状态恰恰 相反。

图中和电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑 的错误。

共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用两片74LS04 作为 驱动。

2.倒计时显示电路设计

前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管

作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。见图3-2 所 示。

四、程序设计思路与流程图 1.主程序流程图

主程序中主要是一个死循环,不停的循环四个状态,如图4-1 所示。

2.按键子程序流程图

它包含倒计时调整和紧急状态两个状态。

主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子

程序处理。当检测到K2键按下的时候就自动返回到主程序。 当出现紧急的情况的时候,按下K3或者K4 就切换到紧急状态,当紧急事件处理完毕

的时候,按下K2,就可以返回正常状态。

五、测试、数据及结果分析 1.状态灯显示测试

当电路连接完毕后,将写好的测试程序刷写到芯片内,K1 和K2分别给端口送高电平和

低电平,通电即可检测。 2.数码管的测试

将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。

3.整体电路测试

系统上电,刷写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,默认140 秒)灯的显示状态是否正常,同时观察倒计的计数是否正常。

六、总结

由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,

而且可以随时的更新系统,进行不同状态的组合。

但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅

速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。附录 系统总体电路图

1.满足南北向红绿灯亮,东西向红灯亮,占25秒——南北向黄灯亮,东西向红灯亮,占5秒——南北向红灯亮,东西向绿灯亮,占25秒——南北向红灯亮,东西向黄灯亮,占5秒。如此循环,周而复始。 2.十字路口要有数字显示,提示行人把握时间:当某方向绿灯亮时,置显示器为24,然后以每秒减1计数方式工作,直到减为0,绿灯灭,黄灯亮。黄灯灭,红灯亮时,再次置显示器为29,并开始减计数,直到为0,十字路口红绿灯交换,完成一次工作循环。

3.可手动调整和自动调整,夜间为黄灯闪耀。下面是一个单片机交通灯程序 /*

****************************************************************************************** * *

* Keil C 89S51 交通信号控制程序 * * (C) 版权所有 Dai_Weis@hotmail.com * * *

****************************************************************************************** */

#include \"reg51.h\" #define UINT unsigned int #define ULONG unsigned long #define UCHAR unsigned char /*

信号灯变量

南北方向绿灯

sbit n_bike_g = P1^0; //自行车

sbit n_right_g = P1^1; //右转

sbit n_up_g = P1^2; //直行

sbit n_left_g = P1^3; //左转 调头

南北方向红灯

sbit n_bike_r = P1^4; //自行车

sbit n_right_r = P1^5; //右转

sbit n_up_r = P1^6; //直行

sbit n_left_r = P1^7; //左转 调头 南北方向黄灯

sbit n_bike_y = P3^0; //自行车

sbit n_right_y = P3^1; //右转

sbit n_up_y = P3^2; //直行

sbit n_left_y = P3^3; //左转 调头

东西方向绿灯

sbit e_bike_g = P2^0; //自行车

sbit e_right_g = P2^1; //右转

sbit e_up_g = P2^2; //直行

东西方向红灯

sbit e_bike_r = P2^4; //自行车

sbit e_right_r = P2^5; //右转

sbit e_up_r = P2^6; //直行

东西方向黄灯

sbit e_bike_y = P3^4; //自行车

sbit e_right_y = P3^5; //右转

sbit e_up_y = P3^6; //直行

*/ //延时

void delay(UINT t, UINT s) { while (t) { UINT i;

for (i = 0; i

//信号灯状态

void time_x(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3) {

P1 = P_P1; P2 = P_P2; P3 = P_P3; delay(150, 65535); }

void time_s(UCHAR P_P1, UCHAR P_P2, UCHAR P_P3, UCHAR P_P11, UCHAR P_P22) { UINT i;

for (i = 0; i

P1 = P_P1; P2 = P_P2; delay(5, 65535); P1 = P_P11; P2 = P_P22; delay(5, 65535); }

P1 = P_P1; P2 = P_P2; P3 = P_P3; delay(10, 65535); } //主程序

void main() {

P1 = P2 = P3 = 0x0; while (1) {

time_x(0xA5, 0x38, 0x0);

time_s(0xA4, 0x38, 0x1, 0xA5, 0x38); time_x(0x96, 0x52, 0x0);

time_s(0x92, 0x52, 0x4, 0x96, 0x52); time_x(0x5A, 0x52, 0x0);

time_s(0x50, 0x50, 0x2A, 0x5A, 0x52); time_x(0xF0, 0x25, 0x0);

time_s(0xF0, 0x24, 0x20, 0xF0, 0x25); time_x(0xD2, 0x16, 0x0);

time_s(0xD0, 0x10, 0x62, 0xD2, 0x16); } }

给你一个定时控制的信号系统,我只做的简单的测试,至于延时我用的软件,你自己想办法。^_^

Dai_Weis 于 2005-5-4 13:43:23 重新给你说明

/*

*********************************************************************************** * *

* Keil C AT89S51 交通信号控制程序 * * (C) 版权所有 Dai_Weis@hotmail.com * * *

*********************************************************************************** 开发说明:

固定时间信号变换,南北设置调头、左传、直行、右转、自行车。

东西设置左传、直行、右转、自行车。

时序状态:

红 绿 红 绿

序号 左 前 右 自 左 前 右 自 前 右 自 前 右 自

1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 2 1 0 0 1 0 1 1 0 1 0 1 0 1 0 3 0 1 0 1 1 0 1 0 1 0 1 0 1 0 4 1 1 1 1 0 0 0 0 0 1 0 1 0 1 5 1 1 0 1 0 0 1 0 0 0 1 1 1 0 */

另外修正个错误

while (1) {

time_x(0xA5, 0x70, 0x0); time_s(0xA4, 0x70, 0x1, 0xA5, 0x70);

材料:

1、89S51 11.0592M 晶振

1K电阻、10UF电容

12个灯,红、黄、绿各四个,12个1K电阻

,十字路口嘛。 蜂鸣器一个。

按键一个,按键复位

采用AT89s51型号的单片机,由于交通十字路口的对称性,所以一个引脚可以同时控制两个灯,将发光二极管分别接到P1各个引脚,在其中加入一个时振荡当电路,来控制时间,在P3.0引脚接入蜂鸣器只黄灯亮的时候发出声响,这里我们让每次黄灯亮的时候发出六声响,通过C程序的控制就可以实现,每次循环是10秒。

2、9cm*15cm万用板 1片 单片机及IC座 1套 12M晶振 1只 22P电容 2只 10uF电容 1只 10K电阻 1只 1K排阻 1只 两位一体数码管 2只 DC座 1只 自锁开关 1只

发光二极管红绿黄

各4只 按键 7只 USB电源线 1条 导线

若干

1、基于51系列单片机(型号:STC89C

52、AT89C51/C

52、AT89S51/S52,随机选择,如有特

殊要求请与店主讨论)设计实现。 (以上几种单片机全部为51系列单片机,除了名字不一样外,功能及应用完全一样,互相

兼容)

2、两个两位一体数码管显示东西、南北方向时间。

3、四方向各有红绿黄三颗灯。

4、七个按键操作,分别是:禁止通行、东西通行、南北通行、时间加、时间减、切换方向、

确认。

推荐第9篇:单片机

1.主机开发板一套(配齐板上所有元件)。

2.9孔对9孔串口通讯电缆一条(兼程序下载线)。

3.USB电缆线两条,一条为下载线,另一条为电源线。

4.1602字符液晶一块(只能显示数字和英文,不能显示汉字)。

5.光盘两张DVD(内附天祥老师13讲40小时高清视频教程及开发板全套资料)。

6.SST89E516单片机仿真芯片一块。

7.天祥电子彩色宣传册一本。

8.固定电路板支撑柱4个。

9.我公司正规机打出库单据一张,客户认证序列号条形码(板底贴好)。

10.精美包装盒。

GTX TX-1C扩展板是天祥电子在TX-1C 51单片机学习板基础上开发的扩展学习板,补充了TX-1C学习板欠缺的功能,主要集成了以下功能模块和扩展接口:

1.红外接收模块;(可学习用遥控器无线控制功能)

2.DS1302实时时钟模块;(可学习时钟功能)

3.DS12C887实时时钟模块;(可实现TX-1C学习板配套视频中时钟实验)

4.8×8点阵模块;(可学习点阵的静态显示与动态显示功能)

5.继电器模块;(可学习继电器控制功能)

6.直流电机接口;(可学习TX-1C学习板配套书籍《新概念51单片机C语言教程》中电机实验)

7.步进电机接口(5/6线);(可学习TX-1C学习板配套书籍《新概念51单片机C语言教程》中电机实验)

8.舵机接口;(可学习TX-1C学习板配套书籍《新概念51单片机C语言教程》中舵机实验)

9.TX4432无线模块接口;(可学习433M无线数据传输功能)

10.超声波模块接口;(可学习超声波测距功能)

11.电源扩展(5V、3.3V、GND)接口;

12.四个独立按键扩展接口;

13.40P STC系列单片机最小系统接口,IO口全部引出;(此接口可以用来安装STC 40P直插封装的各种单片机,所有IO口均独立引出,可通过杜邦线连接TX-1C板下载程序或连接扩展板上其它模块完成实验)

推荐第10篇:单片机

PLC电路在备用自动投入中

PLC在变电站变压器自动化中的实现

VHDL电路设计

变频恒压供水控制系统的研究

超声波测距模块的设计

车辆牌照图像识别算法研究与实现

城市交通决策支持系统

出租车计费系统的设计

串口通信控制器

串口通讯 -

单片机程序控制语音播放

单片机串行通信发射部分设计

单片机的多功能智能小车

单片机的数字钟设计

单片机的智能电源管理系统

单片机精确计时的电源开关

单片机课程设计__电子密码锁报告

单片机课程设计-交通灯

单片机控制步进电机

单片机软件喂狗方式和硬件喂狗方式的比较

单片机实现的步进电机控制系统设计(论文+DWG图纸+外文翻译+任务书+文献综述) 单片机实现温度远程显示

单片机小系统板安装实习报告

单片机作息时间控制

电力电子技术在绿色照明电路中的应用

电力电子技术在绿色照明电路中的应用

电力线载波调制解调器设计

电气火灾自动保护型断路器的设计

电梯升降的PLC控制设计

基于PLC的液位控制系统的设计(论文+外文翻译+开题报告+文献综述)

基于单片机的多功能转速表(论文+DWG图纸+开题报告+外文翻译+英文文献) 某小区的智能化系统设计(论文+DWG图纸+开题报告+文献综述)

全数字化双闭环可逆直流PWM调速系统的研究(论文+DWG图纸+外文翻译+任务书+文献综述)

第11篇:单片机

µ¥Æ¬»ú¶¨Ê±Æ÷c³ÐĞò

2010-07-06 15:26220090304?|?·ÖÀࣺÆäËû±à³ÌÓïÑÔ?|?ä¯ÀÀ3903´Î ÎÒÏëʵÏÖÒ»¸ö´øĞβεĶ¨Ê±Æ÷³ÐĞò£¬º¯ÊıÃûΪdelay_s(uchar t)£¬ÒªÇóÑÓʱtÃ룬Óö¨Ê±Æ÷t0£¬Ä£Ê½1¹¤×÷·½Ê½

·ÖÏíµ½£º

2010-07-20 21:07ÌáÎÊÕß²ÉÄÉ

//-------------------

// º¯ÊıÃû³Æ£º void delay_s(uchar t)

// º¯Êı¹¦ÄÜ£º ÀûÑö¨Ê±Æ÷ÑÑʱtÃë×ѳÐĞò

//-------------------

delay_s(uchar t)

{

uchar count,a;

TMOD=0x10;//¶¨Ê±Æ÷1£¬Ä£Ê½1

TH0=(65536-50000)/256;// ¶¨Ê±Îª50ms

TL0=(65536-50000)%256;

EA=1;

ET1=1;

TR1=1;

while(1)

{

if(a==t)break;

}

}

void timer1() interrupt 3//¶¨Ê±Æ÷1

{

TR1=0;

TH1=(65536-50000)/256;// ¶¨Ê±Îª50ms

TL1=(65536-50000)%256;

count++;

if(count==20)//ÅжÏÊÆ·ñµ´1Ãë

{

count=0;

a++;

}

TR1=1;

}

第12篇:“纵横关联”的单片机课程一体化教学设计

2013年度宁波技师学院论文评选活动参评论文

单片机课程的纵横关联一体化教学

作者姓名:

毛宏光 刘福祥 单片机课程的纵横关联一体化教学

毛宏光 刘福祥

(宁波技师学院 电气系,浙江 宁波)

[摘要] 针对技工院校先实理论后实习的教学模式,教学效果不理想的问题,提出了一种被笔者称为“纵横关联教学体系”新的教学体系。该体系融合了项目式教学法,理实一体化教学法,学习迁移法等的优势,具有一定的参考价值。

[关键字]

单片机 关联 迁移

一体化

0、引言

单片机是维修电工和电气工程专业学生的一门核心课程,具有很强的实践性与综合性,其最终教学目标是让学生具有利用自己所掌握的知识解决实际工程问题的能力。由于技工院校学生本身在理论基础和学习习惯上的不足,采用传统的先理论后实习的教学模式很难实现这个最终目标,教学效果往往很不理想。笔者所在电气系从2008年开始在学校领导支持下开始单片机课程理实一体化教学探索。经过几年的努力,形成了以“学习迁移理论”为核心指导思想的独具特色

的“纵横关联”的一体化教学模式。近几年的教学实践证明,学生比较容易接受这种教学模式,并且取得了很好的教学效果。

1、目前常见的教学体系

电气专业的传统教学体系以理论学习为中心,理论教学和实习教学分别进行,而且由多位教师指导,容易造成理论教学与技能训练脱节,不利于理论指导实践,不利于用实践验证理论,也不利于有效地利用教学时间。学生参加工作后。往往觉得学校所学与实际工作相差甚远,学校教学较空泛、职业实用性和现场适应性较差[1]。课程设臵和教学过程中,有一定的纵向联系却很少有课程之间的横向联系。造成学生的知识结构不合理,缺乏全面的、系统的解决问题的能力。

2、纵横关联教学法体系的提出与实施

针对传统教学体系的弊端,为了更好的培养技工人才,笔者就教学体系谈谈一些不成熟的想法。

1、以《国家职业技能鉴定标准》和用人单位的需要出发,明确专业培养目标,以培养目标统领课程编制。明确培养目标,就是解决课程编制实现整体优化的首要问题,培养目标具体规定了学生通过学习应该具备什么样的知识结构和能力结构。所以,在课程编制上,必须根据专业培养目标要求,结合各类专业自身的特点,从专业的实际需要出发,本着学以致用的原则,科学合理地全面设计课程。培养目标确定的依据就是市场需要。

学校领导及教研人员在探究教育规律的同时,也要不断研究市场经济规律,以市场经济为大背景,从而达到合理设臵课程结构的目的[2]。

2、课程设臵除了要加强课程之间纵向联系外,更要注重课程之间的横

向联系。电气专业课程主要分为专业基础课和专业课两部分,这些课程在在编排上应依据“按需施教、学用结合、够用适度”的原则,采用“倒推”的方法来进行课程的编排。即先根据培养目标确定主干专业课,然后分列出各主干专业课的关键知识点和必备技能点,最后根据这些要点提出对专业基础课的要求,即设臵专业基础课。这样就能更好地体现专业基础课为专业课服务、专业基础课和专业课环环相扣的特点,使课程体系既具有层次性,又具有整体性。

3、专业课教学采用以核心项目为主体的理实一体化教学法,体现以技能为本的宗旨。项目式教学与理实一体化教学在技工教育中的优势不再赘述。笔者所提倡的纵横关联教学体系的核心思想,体现在各专业课的核心项目的组织编排上。首先,从纵向上来说:

(1)不同课程的核心项目的内容应尽量包含专业基础课的知识点,这样既能保证专业课的顺利开展,又能进一步巩固专业基础课的知识。(课程之间的纵向关联)

(2)本门课程的核心项目设计应遵循从易到难,循序渐进的原则。保证学生不会出现因前几堂课“听不懂”,就彻底放弃的可能。(项目之间的纵向关联)

(3)核心项目应可以分成各个子项目,学生可以逐步学习,直至最后完成整个项目的学习。这样降低了学习门槛,有利于学生更快更好掌握相关知识。(子项目之间的纵向关联)

(4)对某些必须掌握但又确实较难的核心项目,可以采取分层教学的方法。对不同层次的学生采取不同的学习要求,但是分层教学时必须以大多数基础一般的同学为主以保证整个项目的学习进度。

其次,从横向上来说:

(1)不同课程的核心项目之间,尽量做到知识点的相互交叉和内容的相互渗透,使整个专业教学有机结合。(课程之间的横向向关联)

(2)本门课程的核心项目应具有一定的结合点和共同点,以保证项目教学的系统性和连贯性。(项目之间的横向向关联)

(3)对于最常用的关键知识点和技能点,设计一些通用的子项目,可以服务于各门专业课,同时也可以作为专业基础课的主要实验内容。(子项目间的横向联系)

(4)在教学过程当中,发动学生互帮互助,协助教师做好教学工作。

4、由于各门课程的核心项目具有很好的纵横关联性,在具体内容的教学上推荐采用“学习迁移法”,所谓“学习迁移法”,就是通过已知的、已经了解的知识或是常识,推导出未知的但与之相似知识的一种思维方式。美国的认知心理学家J.S.BR0WN 十分重视原理的迁移,认为这是教育的核心与重点[3] [4]。

5、电气专业的纵横关联教学体系,对教师提出了很高的要求。首先任课教师必须对电气专业的理论知识要有全面深入的了解,精通自己讲解的专业课程。同时,还要求任课教师具有相应的电气技能,以便更好的完成理实一体化教学。

要真正实现纵横关联教学体系,单靠几个教师还是不够的。学校应组织有丰富教学经验的教师,对每个专业制订整体的规划。教学计划中的课

程设臵、教材的组织与编排、教学方法的选择以及课程表的安排等等,都要注意关联性。教师在教学中,必须要求学生牢固地掌握基础知识及其基本结构,不断改进教学方法,训练学生的思维,提高其分析概括能力;教育学生树立正确的学习态度,增强学习信心,争取获得最好教学效果。

参考文献

[1]

韩雅芬

中职教学改革的几点体

会[J] 新课程研究

2009.7 [2]

尚伟峰

技工学校课程改革势在必行[J] 山西科技

2004.7 [3]

竺长安

课程之间的相互联系及关联教学法[J] 教育与现代化 2001.4 [4]

陈剑

类比迁移在在电工教学中的应用[J] 教师通讯

2011.6

第13篇:单片机实验一:电风扇设计

单片机实验一:电风扇设计

1、基础部分:风扇要求有三个档位可选:低档位、中档位、高档位,当前档位能够直观显

示(液晶屏或者LED),风扇有独立的电源开关和档位选择按钮;

2、提升部分:①风扇具有定时功能,例如,定时30分钟,则风扇可以工作30分钟自动停

止。

3、选作部分:显示部分可显示当前时间

用51和430均可以。

第14篇:基于单片机的电子钟设计

基于单片机的电子钟设计

一、设计题目

基于单片机的电子钟设计。

二、设计目的

1.巩固《单片机技术》课程所学的有关知识。

2.通过硬件设计、软件设计,使学生掌握用单片机组成应用系统的方法,提高软件设计能力。

3.掌握单片机的定时/计数器的编程和使用方法。

4.进一步熟悉单片机功能部件的应用。

三、设计要求

1.原理图设计。

2.扩展一片8255芯片作显示接口,分别输出段码和位码;

3.用P1口中的两根口线作功能键。

4.可利用四个LED分时显示当前时间和日历。

5.两个按键的功能:A键用于调时,范围0~23,0为 24点,每按一次时加1;B键用于调分,范围0~59,0为60分,每按一次分加1。

6.单片机程序设计、调试。

四、设计步骤

1.按要求设计出硬件电路。

2.画出程序流程图。

3.编写主程序。

4.编写延时子程序。

5.编写显示子程序。

6.进行软件调试,检查功能是否完善。

7.完成proteus仿真或制作实物。

第15篇:AVR单片机的时钟设计

基于AVR单片机Mega16的时钟设计报告

1摘 要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.本文的电子钟系统是以单片机(ATmega16)为核心,时钟芯片、数码管显示驱动芯片等元器件组成。具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。

关键词:单片机; 时钟芯片 ;数码管显示驱动芯片 ;电子钟

2引 言

单片机电子时钟系统可以用多种技术手段实现。本文借助于Proteus仿真系统进行系统虚拟开发成功之后再进行实际操作,可以节约开发时间,降低开发成本,具有很大的灵活性和可扩展性。在国外有包括斯坦福、剑桥等在内的几千家高校将Proteus作为电子工程学位的教学和实验平台;在国内也有众多大学正在体验Proteus的独一无二的功能并申报大学计划。该方法具有普遍意义。通过实际应用发现,采用该方法可以大大简化硬件电路测试和系统调试过程中电路板制作、元器件安装、焊接等过程。很明显,使用该方法可以提高开发效率、降低开发成本、提升开发…

AVR系列的单片机不仅具有良好的集成性能,而且都具备在线编程接口,其中的系列还具备仿真和下载功能;含有片内看门狗电路、片内程序FLASH、同步串行接口SPI;多数AVR单片机还内嵌了A/D转换器、EEPROM、模拟比较器、PWM定时计数器等多种功能;AVR单片机的I/O接口具有很强的驱动能力,灌人电流可直接驱动继电器、LED等元件,从而省去驱动电路,节约系统成本。

3设计思路

利用单片机(ATmega16)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管分别控制六个数码管的亮灭,此外还可以实现时间调整、等多种实用功能。整个设计分硬件和软件两大部分。硬件部分采用MEGA16单片机作为可编程芯片,字符液晶作为信号显示;软件部分利用C语言作为设计语言,对MEGA16进行编程实现各种功能。

硬件设计电路分解为单片机、晶体振荡器和数码管3个部分,其结构简单,经济实惠。单片机内部晶体振荡器的外接电路。由两个电容和晶体振荡器构成,其电路如图1所示。图中X1和X2分别接MEGA16的两个脉冲控制端,使得MEGA16的内部脉冲电路为电子时钟和整个系统时钟提供脉冲。

图1所示给出了采用单片机外加电源及晶体振荡器构成最小单片机系统。配合单片机开发的设计、调试和下载,最终将时钟信息从端口输出到字符液晶显示。

图26位模式与单片机的端口相连。

4软件设计及调试过程

软件设计包括Proteus的ISIS软件、Code Vision AVR编辑软件和AVRStudio4调试。利用ISP将生成程序timer.cof 下载到目标板。其主要程序如下:

void display(void) // 6 位LED 数码管动态扫描函数

{

PORTC = 0xff;

PORTA = led_7[dis_buff[posit]];

if (point_on && (posit==2||posit==4)) PORTA |= 0x80;

PORTC = position[posit];

if (++posit >=6 ) posit = 0;

}

// Timer 0 比较匹配中断服务

interrupt [TIM0_COMP] void timer0_comp_isr(void)

{

display(); // 调用LED 扫描显示

if (++time_counter>=100)

{

time_counter = 0;

time_1s_ok = 1;

}

}

void time_to_disbuffer(void) // 时钟时间送显示缓冲区函数

{

char i,j=0;

for (i=0;i

{

dis_buff[j++] = time[i] % 10;

dis_buff[j++] = time[i] / 10;

}

}

// INT0 中断服务程序

interrupt [EXT_INT0] void ext_int0_isr(void)

{

if (++time[2]>=24) time[2] = 0;

}

// INT1 中断服务程序

interrupt [EXT_INT1] void ext_int1_isr(void)

{

if (++time[1]>=60) time[1]=0;

}

void main(void)

{

PORTA=0x00; // 显示控制I/O 端口初始化

DDRA=0xFF;

PORTC=0x3F;

DDRC=0x3F;// T/C0 初始化

PORTA=0xFF;

DDRA=0xFF;

GICR|=0xC0; // 允许INT0、INT1 中断

MCUCR=0x0A; // INT0、INT1 下降沿触发

GIFR=0xC0; // 清除INT0、INT1 中断标志位

TCCR0=0x0B; // 内部时钟,64 分频(4M/64=62.5KHz),CTC 模式

TCNT0=0x00;

OCR0=0x7C; // OCR0 = 0x7C(124),(124+1)/62.5=2ms

TIMSK=0x02; // 允许T/C0 比较匹配中断

time[2] = 14; time[1] = 01; time[0] = 55; // 设时间初值23:58:5

5posit = 0;

time_to_disbuffer();

#asm(\"sei\") // 开放全局中断

while (1)

{

if (time_1s_ok) // 1 秒到

{

time_1s_ok = 0;

point_on = ~point_on;

if (++time[0] >= 60) // 以下时间调整

{

time[0] = 0;

if (++time[1] >= 60)

{

time[1] = 0;

if (++time[2] >= 24) time[2] = 0;

}

} time_to_disbuffer(); // 新调整好的时间送显示缓冲区

5总结心得

这次设计报告培养了学生综合运用所学知识,发现,提出,分析和解决问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机设计,我仍感慨颇多,的确,从选题到定稿,从理论到仿真,在这些日子里,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

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

}

6 结束语

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。尤其是AVR单片机可以用高级语言编程,极容易地实现系统移植,并且加快了软件的开发过程。这次设计通过对它的学习、应用,以Mage16单片机为核心,辅以必要的电路,采用高级C语言编程,设汁了一个简易的电子时钟,由

4.5 V直流电源供电,通过数码管能够准确显示时间。

第16篇:简单单片机数字频率计设计(优秀)

课程设计报告

简易频率计的设计

电子科学XX学院

姓名:专业:通信工程学号:2013

2015年12月

摘要

1 本系统基于单片机来实现核心的频率计数功能,并能够实现测量中的量程自动切换。实现了对1Hz~1MHz的正弦波、方波以及脉宽不小于100s的脉冲信号频率测量,以及系统的自校功能。考虑到不同的测量方法对于不同频率测量带来的误差,对于频率为1Hz~1KHz的信号使用测频法,对于频率1KHz~1MHz的信号采用测周法,用单片机实现功能自动转换。放大整形电路使用了基本的晶体管放大模块,结合施密特触发器74HC132,使输出信号为TTL电平信号。此外本频率计实现了刷新时间1~10S连续可调,步进值为1S,最终单片机在7段数码管上显示测量的频率值。系统设计达到了各项目标要求。

关键词:频率测量;等精度测量;放大整形电路

目录

2

一、引言 ...................................................................................3

二、系统方案 ...........................................................................4

1.方案选择 ...........................................................................4 2.方案确定 ...........................................................................6

三、理论分析与设计 ...............................................................6

四、电路与程序设计 ...............................................................8

五、设计总结 ..............................................................................9

六、参考文献 ...........................................错误!未定义书签。

一、引言

3 频率的测量在电子测量技术中是一项重要的内容。数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器,其基本功能是测量正弦波、方波、脉冲等周期信号的频率并将其显示出来,用途十分广泛。频率计的设计需要结合模拟电路、数字电路来综合搭建一个简单的电子系统,要求功能完全、测量准确。对于方案的选择、实际电路的调试提出了一定挑战。

二、系统方案

频率的测量方法可分为模拟测量法和数字测量法。

模拟测量法利用谐振特性进行测量,与标准频率信号比较形成的李萨如图形进行测量。但是其系统较为复杂,且谐振电路较为复杂,精度难以保证。

现在的频率测量方法都是基于数字测量,具有较高的精度。 基本的频率测量方法有测频法和测周法。

1.方案选择

1) 测频法

频率的定义为单位时间内周期信号发生的次数。依据这一定义,要测量频率,即可以通过对一段时间Ts内信号发生的次数N计数得到。测量时间基准可以用单片机来产生,计数也可以通过单片机的运算功能实现。测频法的原理电路如图1所示。被测信号经整形变换得到周期为Tx的被测脉冲串,电平转换为TTL电平,送入单片机中。利用标准时钟信号分频得到的时间基准信号控制门控电路,在闸门开启的有效时间Ts内允许被测脉冲串通过闸门电路进行计数,则被测信号频率fx可以表示为:

fxN/Ts

分析考虑误差公式:

fxNfs fxNfs4 UsOTxtUaOTt

图1测频法原理图

不考虑单片机产生的时间基准的精度对频率测量的影响。根据这一测量原理,闸门信号开启和关闭这一时间段Ts内N的计数可能会带来误差N,其最大值为1。当误差减小时,闸门时间即基准频率自身的准确度对测量结果的影响是不可忽略的。考虑频率较低的情形(如1Hz时),某一闸门开启的时间段内经变换后与信号等频率的脉冲串没有经过闸门,则计数值少1。若要减少N/N带来误差,就必须增大N,在被测信号频率较低的情况下,则要求闸门开放时间很长(即在fs不变的条件下,要求分频系数大)。若被测频率很低,为达到一定的测量精度,就要求闸门开放时间大得难以忍受,即一次测量过程的时间很长,失去了使用意义。

例如若被测频率为10Hz,精度要求为0.01%,则最短闸门开放时间为

NNfx/f1/0.000110000

TsN/fx1000s

像这样的测量周期是根本不可能接受的,可见频率测量法不适用于低频信号的测量,在同样精度下10MHz的测量仅需要1ms,即对于高频信号适宜用此方法测量。

2) 测周法

测周法的基本结构与测频法是相同的,只是把晶体震荡产生的基准信号与被测信号的位置互换了一下。由此得

TN/MfNT/M

计数值N与被测信号的周期成正比,N反映了M个信号周期的平均值。利用周期测量的方法在一定信号频率范围内,通过调节分频系数M,可以较好地解决测量精度与实时性的矛盾。由上式可得

5 T/TN/NT/TN/TMfT/T

第二项误差取决于晶体稳定度,第一项为计数器的量化误差,故该项主要取决于N的大小。在平均周期测量法中,N值得大小与测量时间的长短成正比,可根据测量精度要求而定。假定N/N的允许误差为0.001%,则N105,在T选定测量时间为105T,若T2s,则测量时间为0.2s。对于不同范围的被测周期信号,可以通过调节分频系数M的大小,达到相近的测量精度,也就是有相近的测量时间,且不会太长。

当然,对于高频信号,周期法就需要很大分频系数M,增加了硬件及软件的复杂性,不宜采用。

2.方案确定

以上两种种方法中,测频法和测周法分别表现出在低频和高频情况下的明显不足。因此我们考虑将两种方法相结合,利用分段法分别进行测频和测周。这就要求我们找到一个合适的临界频率fM,使得fxfM时用测周法测量,fxfM用测频法测量。这里我们选定fM1KHz。

图2系统总体设计框图

三、理论分析与设计

根据题目要求,我们将简易频率要完成的设计目标分成以下几个功能模块:

1)输入信号的放大整形; 2)单片机对信号频率的测量; 3)单片机的自校功能; 4)测量方式的设定功能。

6 下面分别对这些功能模块进行理论分析:

1)输入信号的放大整形: 要求我们对输入信号类型为正弦波、方波、脉冲波三种信号(幅度变化范 围:0.5V~5V,频率变化范围:1Hz~1MHz,脉冲信号的脉冲宽度:大

于100μs)进行放大整形,得到与原信号同频率的方波信号或脉冲信号。同时进行TTL电平转换,以备下一步输入单片机的I/O口进行频率的测量。常用的放大整形模块有多种。这里我们的输入信号其幅度已经较大了,所以不用考虑对微小信号的放大,一般的放大电路足以满足要求。另外输入信号的频率变化范围也不是很高,现在常用的放大元件(集成运放,三极管等)都能达到要求。

2)单片机对信号频率的测量;

由之前的分析,不论是测频法还是测周法,单片机核心的功能就是一个计数器的功能,在闸门时间内对所测信号上升沿进行计数,经过计算,得到频率测量值,同时进行输出显示。这一过程用软件语言来编写,思路上是比较容易的。51单片机提供的两个定时器计数器T0,T1即可完成设计。具体来说,可以用用定时器T1产生时间基准信号,用计数器T0作为被测信号的计数器。由于被测信号已经被整形为符合TTL电平要求的脉冲,所以我们可以用中断处理的方法,让T0工作在下边沿中断计数的模式下。用T1来产生25ms的定时,用软件计数的方法实现闸门信号的产生。

显示键盘单片机输入信号中断口T0计数T1定时计算频率 图3单片机工作框图

3)单片机的自校功能

自校是在时基单元提供的闸门时间内,对时标信号(频率较高的标准频率信号)进行计数的一种功能,用以检查频率计的整机逻辑功能是否正常。由于这时的闸门信号和时标信号由同一个晶振的标准信号经过分频得到,这时的计数结果是已知的。通过测量频率,如果显示出来的频率和这一时标信号的频率是一致的,那么说明整机的功能达到了要求,可以工作。

另外,在自校状态下,由于闸门信号与时标信号是同一晶振产生的,同步关系始终成立,所以频率计不存在量化误差(1误差)。

题目要求单片机用1MHz进行自校,但是这里由于我们采用了两个频率段的测量,也就是采用了两个闸门时间,因此要用两个时标信号来进行自校。实现的原理如图X。

7

自校功能选定产生时标信号测量频率频率与时标信号相等否显示自校结果为ERROR是显示自校结果为OK结束 图4自校功能原理框图

3) 测量方式的设定功能

系统设计的要求之一是要满足显示方式为十进制数字显示,显示刷新时 间1~10秒连续可调。也就是说单片机输出显示的信号要满足显示功能可 以设定,刷新时间可以调控。这里我们在频率计系统设计中加入一个测量 方式的控制按键,按键后用键盘设置刷新时间值。这样的功能用单片机程 序来编写是比较容易实现的,在此不做过多讨论。

四、电路与程序设计

(1)放大整形电路设计

VDDXFG15V1.0uF0R42k¦¸2C20VDD5VVDDR120k¦¸C1624VDDXSC1Ext Trig+_A+_+B_03718U3U141AVCC1B4A1Y4B2A4Y2B3A2Y3BGND3Y11.0uFVEEVEER620k¦¸OP37AH3-5VR220k¦¸0074LS00D5 图5放大整形电路图

8 由于输入信号最低幅值为0.5V,所以要对其先进行放大,再整形。 频率计的对输入阻抗的要求比较高。因此第一步信号输入要求输入阻抗很大以降低对信号源内阻的要求。故采用OP37运算放大器构成反向输入比例放大电路对信号进行放大。

后级采通过74LS00与非门对输入电平取非,进行放大信号的整形,得到一个可符合单片机测频要求电平的矩形波。 (2)单片机程序流程设计

初始化功能设定测量频率自检测周法测量显示自检结果测定频率范围在1Hz~1KHz否测频法测量是显示输出 图6单片机流程图

五、设计结果

经过方案的不断调整,我们最终按照设计方案进行了硬件电路的焊接、单片机程序的编写,分别对放大整形电路的性能、单片机测频率的功能实现进行了调试,两部分均能满足题目要求之后,进行了系统联调。

在单片机功能实现的调试过程中,我们用实验室的DDS信号源产生满足TTL电平要求的方波,输入进单片机的P3.4口进行程序部分的验证。调整方波的幅值和频率,可以看出,从0.5V到1V,1Hz到1MHz,单片机均可以实现频率测量,测量精度在高频区略有下降,但能达到百分之一以内的精度,我们认为是可以接受的。

刷新时间可调和自校这一功能由于我们时间上不太充足,虽然有所尝试但最

9 终没有实现。我们对刷新时间的理解就是改变的是闸门信号。因为程序默认是定1S的闸门宽度,而刷新时间可调就可以使得闸门宽度变宽,使得低频测量不会产生正负1的误差。我们的思路是把定时器T1软件计数的值设为可以由按键控制的变量,通过按键改变这一变量,使得闸门宽度得到改变。

在对放大整形电路的测试过程中,我们发现在1MHz的情况下,OP37运算放大器由于增益带宽积不足,电压放大倍数锐减为3——4倍左右,当输入电压为0.5V放大倍数时不能越过四与非74LS00芯片的判定阈值,无法实现整形的效果。于是,我们组根据关永峰老师的建议,采用对直流电源分压的方式抬高电平,如图端点4处,将此处的电压抬升了2.5V左右,达到74LS00的阈值(约3.2V),从而实现了对信号的整形的作用。

我们组采用了比较易于获取的器件,受限于器件的参数,我们采用了电容的滤波、隔直来保证波形的稳定,尽量减少噪声的影响。图中电容C1起隔直作用,以滤除信号中不稳定的直流分量,也便于下一步设定抬升电压的大小。电容C2滤除电源噪声。

最终验收测试的数据如下: 0.5——5V的输入下,

在正弦波输入的条件下,测频范围80Hz——1.1MHz。 在方波输入的条件下,测频范围1Hz——1.5MHz。

系统在正弦波作为输入信号时的低频部分(1~80Hz)无法实现准确测频,测出频率均在1kHz以上。用示波器观察放大整形信号可以看出,在低频部分的输出信号含有较多的噪声,输出的矩形波前出现一撮高频、高幅度的噪声,该段噪声无法通过电容滤波滤除,当频率提高时,该段噪声的幅度明显减小,我们组认为该噪声是器件内部噪声,是器件本身的局限性造成的,因此要提高频率计的性能就要改用性能更好的放大器和整形器件。

六、设计总结

在本次实验的过程中,我们通过简单常见器件的匹配和调整,基本实现了题目要求的参数,较好的完成了实验指标。实验过程中存在的不足是由于时间和个人能力的限制,未能在软件部分完成自校功能,硬件方面也没有尝试先前设计报告中性能更好的高速运算放大器、高速施密特触发器,采用了比较简单易的常用器件。在此次实验的过程中,我们组分工明确,一人负责总体设计、一人软件编程、一人硬件焊接,因此在实验中效率很高,很快完成了设计、调试和验收过程。在最开始的方案设计中中,我们借鉴了一个庞大的整形放大电路,但在实现的过程遇到了较大的困难,一方面是对电路理解的欠缺,一方面是调试上存在极大的困难。在实验的过程中,我们深刻体会到了设计要基于题目要求和指标,不能好高骛远,要基于自己的理解,广泛查阅资料,进而不断改进完善。在本次实验中,我们组观察到了硬件和软件的相互匹配关系,即从放大整形电路到单片机编程计数测算频率,最后在数码管上观察到输出结果,在软硬件的相互配合中实现功能,让我们体会了软硬件协调配合的过程和通过电路实现具体功能的过程,同时,在电路调试过程中也学会很多调试方法,收获了很多电路方面的经验。

七、参考文献

[1]刘菊荣库锡树主编《电子技术实验教程教程》,电子工业出版社,198~200.[2]黄虎,奚大顺主编《电子系统设计——专题篇》,电子工业出版社,32~33.

10

第17篇:单片机实验二电子钟设计

单片机实验二:电子钟设计

1、基础部分:电子钟能够直观、人性化显示:时间、日期、星期,能够按键校时,

用独立的LED灯做流水灯装饰。

2、提升部分:①带有闹钟功能,能够根据需要定时,②能够测量并显示当前环境的温度,

第18篇:实习报告单片机秒表设计

目 录

第1章 单片机系统硬件电路 .................................................................................1

1.1 实习目的 ..............................................................................................1 1.2 单片机型号及特性 ..............................................................................1 1.3 单片机开发板 ......................................................................................2

第2章 单片机应用系统软件 .................................................................................5

2.1 STC下载软件 ......................................................................................5 2.2 Keil软件 ...............................................................................................5 2.3 外部电路驱动 ......................................................................................6

第3章 00-59秒计时器设计 ..................................................................................7

3.1 电路原理图 ..........................................................................................7 3.2 设计原理 ..............................................................................................7 3.3 实现方法 ..............................................................................................8

第4章 实习总结 .....................................................................................................9

4.1 实习体会 ..............................................................................................9 4.2 设计硬件体会 ......................................................................................9

参考文献 .................................................................................................................10 附录1 实物图 ........................................................................................................11 附录2 系统主要程序 ............................................................................................12

I

东北石油大学生产实习总结报告

第1章 单片机系统硬件电路

1.1 实习目的

了解单片机最小系统;

了解keilc软件操作,程序下载及调试方法; 掌握单片机外部电路使用; 掌握键盘和数码管显示编程方法; 应用单片机开发板进行实验开发;

1.2 单片机型号及特性

1、AT89S51单片机功能及特点

5l系列单片机中典型芯片(AT89S51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 ATMEL的AT89S51是一种高效微控制器,AT89S2051是它的一种精简版本。AT89S单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2、STC89C52单片机功能及特点

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业

东北石油大学生产实习总结报告

标准的MCS-51指令集和输出管脚相兼容。

STC89C52完全兼容AT89C51 AT89C52 AT89S51 AT89S52 而且加入了更多新功能, 它内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD(AD系列),片内自带EEPROM、片机自带看门狗、双数据指针等。

1.3 单片机开发板

1、复位电路

图1-1复位电路图

复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。

东北石油大学生产实习总结报告

2、晶振电路

图1-2晶振电路图

简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。

对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒,往往用低电压以求低功耗的系统,这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振,这一现象在上电复位时并不特别明显,原因是上电时电路有足够的扰动,很容易建立振荡,在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易,在振荡回路中,晶体既不能过激励,容易振到高次谐波上,也不能欠激励不容易起振,晶体的选择至少必须考虑、谐振频点、负载电容、激励功率、温度特性长期稳定性。

8051的时钟周期即CPU的晶振的振荡频率的振荡周期(频率的倒数) 当振荡频率为10MHZ时,振荡周期=1/10MHZ=0.1us机器周期是完成一个基本操作的时间单元,一个机器周期=12个时钟周期,当振荡频率为10MHZ时,机器周期=12x0.1=1.2us 8051的指令周期,指取出并执行一条指令的时间。一般为1-4个机器周期

3、键盘和中断

矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这一点是识别矩阵按键是否被按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。

按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的

东北石油大学生产实习总结报告

行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为

9、

10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。

外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为INT0、INT1,也就是P3.2、P3.3这两个管脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进行置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT

1、IE1的用途和IT0、IE0相同。内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。TF1:与TF0类似。TI、RI:串行口发送、接收中断,中断允许寄存器IE在MCS-51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。

图1-3矩阵式键盘的结构

东北石油大学生产实习总结报告

第2章 单片机应用系统软件

2.1 STC下载软件

图2-1 总体方案原理框图

2.2 Keil软件

目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-

51、RTX51实时操作系统。

东北石油大学生产实习总结报告

应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group „Source Group1‟”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option forTarget „Target1‟(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。

2.3 外部电路驱动

1、串口

2、定时器

3、中断

东北石油大学生产实习总结报告

第3章 00-59秒计时器设计

3.1 电路原理图

图3-1电路原理图

3.2 设计原理

在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加 1 ,当秒计数达到 60 时,就自动返回到 0 ,从新秒计数。

对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对 10 整除和对 10 求余。

东北石油大学生产实习总结报告

在数码上显示,仍通过查表的方式完成。

一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到 1 秒时间为 1.002 秒。

图3-1 程序流程图

3.3 实现方法

系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:

(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;

(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;

(3)绘制程序流程图; (4)合理分配系统资源;

(5)为程序加入注释,提高可读性,实施软件工程;

东北石油大学生产实习总结报告

第4章 实习总结

4.1 实习体会

大约20天的的实习已经结束了,通过这次的实习锻炼了我们的实践能力,也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代,单片机已经成为当今计算机应用中空前活跃的领域。因此对于我们这一专业的同学来说,学好单片机,并正确应用单片机是非常重要的。

此次单片机课程设计,从选题到定稿,从理论到实践,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。

4.2 设计硬件体会

设计过程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在整个设计中也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

单片机实习虽然结束了,但通过实习所学到的东西将长久存在。相信这次单片机设计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打下一个更坚实的基础。

东北石油大学生产实习总结报告

参考文献

[1] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月

[2] Akagi H.Kanazawa Y ,Nabe A.Instantaneous reactive power compensators comprising switching devices without energy storage components.IEEE Trans.Ind.Applicat.,1984,20(3) .625-630 [3] Peng F Z, Akagi H,A H;Nabae A.A novel harmonic power filter.PESC Record,1988,1151-1159 [4] 朱东起,姜新建,马大铭.无源和有源滤波器构成的并联型综合电力滤波系统.北京:清华大学学报(自然科学版),1999,39(3):49-52 [5] 邓肖粤、胡晓云《EDA在电子技术教学中的应用》 《实验与探索》 2000年12月

[6] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月

[7] 郑春龙.Pspice在数模混合电路分析中的应用. 电子技术.1999(12) [8] 纪良文,蒋静坪.机器人超声测距数据的采集与处理.电子技术应用.2001(4)

东北石油大学生产实习总结报告

附录1 实物图

东北石油大学生产实习总结报告

附录2 系统主要程序

#include

code unsigned char tab[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; // 0-9

unsigned char Shiwei;//定义十位 unsigned char Gewei; //定义个位 void delay(unsigned int cnt) { while(--cnt); } main() { TMOD |=0x01;//工作在模式1,16位定时 TH0=(65535-45872)/256; TL0=(65535-45872)%256; IE= 0x82; //打开中断 TR0=1;

//打开定时开关

while(1)

{

P0=Shiwei;//显示十位

P1=0xdf;

delay(300);

//短暂延时

P0=Gewei; //显示个位

P1=0xef;

delay(300);

} }

/*

定时器中断函数

*/

东北石油大学生产实习总结报告

void tim(void) interrupt 1 using 1 { static unsigned char second,count; TH0=(65535-45872)/256; TL0=(65535-45872)%256;

count++;

if (count==20)

{

count=0;

second++;

//秒加1

if(second==60)

second=0; Shiwei=tab[second/10];//十位显示值处理

Gewei=tab[second%10]; //个位显示处理

}

}

东北石油大学生产实习总结报告

第19篇:单片机c语言设计试题答案

单片机C语言程序设计师试题

一、填空题

1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。

2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。

3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。

4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。

5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。

6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。

7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。

8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。

9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。

10、子程序返回指令是________,中断子程序返回指令是_______。

11、8051单片机的存储器的最大特点是____________________与____________________分开编址。

12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。

13、_______是C语言的基本单位。

14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。

15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。

16、一个函数由两部分组成,即______________和______________。

17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。

18、利用8155H可以扩展___________个并行口,___________个RAM单元。

19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。

二、选择题

1、C语言中最简单的数据类型包括( )。

A、整型、实型、逻辑型 B、整型、实型、字符型

C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型

2、当MCS-51单片机接有外部存储器,P2口可作为 ( )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址

3、下列描述中正确的是( )。 A、程序就是软件 B、软件开发不受计算机系统的限制

C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合

4、下列计算机语言中,CPU能直接识别的是( )。

A、自然语言 B、高级语言 C、汇编语言 D、机器语言

5、MCS-5l单片机的堆栈区是设置在( )中。

A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区

6、以下叙述中正确的是( )。

A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C程序实现的算法可以没有输入但必须要有输出 D、用C程序实现的算法可以既没有输入也没有输出

7、定时器/计数器工作方式1是( )。

A、8位计数器结构 B、2个8位计数器结构 C、13位计数结构 D、16位计数结构

8、C语言提供的合法的数据类型关键字是( )。

A、Double B、short C、integer D、Char

9、片内RAM的20H~2FH为位寻址区,所包含的位地址是( )。

A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH

10、以下能正确定义一维数组的选项是( )。

A、int a[5]={0,1,2,3,4,5}; B、char a[ ]={0,1,2,3,4,5}; C、char a={'A','B','C'}; D、int a[5]="0123";

11、数据的存储结构是指( )。

A、存储在外存中的数据 B、数据所占的存储空间量

C、数据在计算机中的顺序存储方式 D、数据的逻辑结构在计算机中的表示

12、下列关于栈的描述中错误的是( )。

A、栈是先进后出的先性表 B、栈只能顺序存储

C、栈具有记忆作用 D、对栈的插入和删除操作中,不需要改变栈底指针

13、在寄存器间接寻址方式中,间址寄存器中存放的数据是( )。 A、参与操作的数据 B、操作数的地址值 C、程序的转换地址 D、指令的操作码

14、MCS-51单片机的复位信号是( )有效。 A、高电平B、低电平C、脉冲 D、下降沿

15、为了使模块尽可能独立,要求( )。 A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

16、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( )。 A、2μs B、4μs C、8μs D、1ms

17、以下选项中可作为C语言合法常量的是( ) A、-80 B、-080 C、-8e1.0 D、-80.0e

18、能够用紫外光擦除ROM中程序的只读存储器称为( )。

A、掩膜ROM B、PROM C、EPROM D、EEPROM

19、以下不能定义为用户标识符是( )。

A、Main B、_0 C、_int D、sizeof 20、下选项中,不能作为合法常量的是( )。//幂不能为小数

A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0

21、以下叙述中错误的是( ) A、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B、数组名代表的是数组所占存储区的首地址,其值不可改变

C、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D、可以通过赋初值的方式确定数组元素的个数

22、以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(

A、feof(fp) B、ftell(fp) C、fgetc(fp) D、rewind(fp)

23、存储16×16点阵的一个汉字信息,需要的字节数为(

A、32 B、64 C、128 D、256

24、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,则它的字形代码应为( )。

A、06H B、F9H C、30H D、CFH

25、在C语言中,合法的长整型常数是( ) A、OL B、4962710 C、324562& D、216D

26、以下选项中合法的字符常量是( ) A、"B" B、’\010’ C、68 D、D

27、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( )指令。 A、PUSH R0 B、PUSH @R0 C、PUSH 00H D、PUSH 08H

28、在片外扩展一片2764程序存储器芯片要 ( )地址线。 A、8根 B、13根 C、16根 D、20根

29、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为( ) A、2MHz B、1MHz C、500kHz D、250kHz 30、下列数据字定义的数表中,( )是错误的。

A、DW “AA” B、DW “A” C、DW “OABC” D、DW OABCH

三、判断题 ( )1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。(

)2、在C语言的复合语句中,只能包含可执行语句。 ( )3、自动变量属于局部变量。 ( )

4、Continue 和break都可用来实现循环体的中止。( )

5、字符常量的长度肯定为1。( )

6、在MCS-51系统中,一个机器周期等于1.5μs。( )

7、C语言允许在复合语句内定义自动变量。

( )

8、若一个函数的返回类型为void,则表示其没有返回值。( )

9、所有定义在主函数之前的函数无需进行声明。

( )

10、定时器与计数器的工作原理均是对输入脉冲进行计数。( )

11、END表示指令执行到此结束。

( )

12、ADC0809是8位逐次逼近式模/数转换接口。( )

13、MCS-51的相对转移指令最大负跳距是127B。( )

14、MCS-51的程序存储器只是用来存放程序的。

( )

15、TMOD中的GATE=1时,表示由两个信号控制定时器的的启停。( )

16、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

17、MCS-51系统可以没有复位电路。( )

18、片内RAM与外部设备统一编址时,需要专门的输入/输出指令。

( )

19、锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。( )20、使用8751且 =1时,仍可外扩64KB的程序存储器。

四、简答题

1、在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?

2、什么是重入函数?重入函数一般什么情况下使用,使用时有哪些需要注意的地方?

3、8051引脚有多少I/O线?他们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是几位?

4、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?

5、如何消除键盘的抖动?怎样设置键盘中的复合键? 答案

一、填空题

1、7EH、6CH

2、110100、11101110

3、高电平、07h

4、74HC37

3、74HC138

5、高、不用

6、0000H、0013H

7、0.5us、2us

8、线选法、译码法

9、20H~2FH、是能被8整除的地址

10、Ret、RETI

11、内部RAM、外部RAM

12、32、8

13、函数

14、SCON、RB8

15、

3、

16、4

16、说明部分、语句部分

17、SCON、TB8

18、

3、256

19、scanf、printf

二、选择题

1、B

2、C

3、D

4、D

5、C

6、C

7、D

8、B

9、B

10、B

11、D

12、C

13、B

14、A

15、B

16、B

17、A

18、C

19、D 20、B

21、C

22、D

23、A

24、B

25、A

26、B

27、D

28、B

29、C 30、A

三、判断题

1、√

2、×

3、√

4、×

5、√

6、×

7、√

8、√

9、×

10、×

11、×

12、√

13、√

14、×

15、√

16、×

17、×

18、×

19、√ 20、√

四、简答题

1、答: (1)确定T/C的工作方式——编程TMOD寄存器; (2)计算T/C中的计数初值,并装载到TH和TL;

(3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器; (4)启动定时器/计数器——编程TCON中TR1或TR0位。

2、答: 多个函数可以同时使用的函数,称为重入函数。

通常情况下,C51函数不能被递归调用,也不能应用导致递归调用的结构。有此限制是由于函数参数和局部变量是存储在固定的地址单元中。重入函数特性允许你声明一个重入函数。即可以被递归调用的函数。 重入函数可以被递归调用,也可以同时被两个或更多的进程调用。重入函数在实时应用中及中断服务程序代码和非中断程序代码必须共用一个函数的场合中经常用到。

3、答:1)8051引脚共有40个引脚,8051的地址总线由P2和P0口提供,P2口是地址总线的高8位,P0口是地址总线的低8位;数据总线由P0口提供;P0口的地址总线和数据总线是分时进行的,P0口的地址总线需要外接地址锁存器完成地址锁存。 2)地址总线共16位,数据总线是8位。

4、答:在有串行通信时,定时器/计数器1的作用是串行口发生器。串行口的波特率根据串行口的工作方式具有不同的计算方式: 方式0的波特率固定为晶体振荡器的十二分之一; 方式1的波特率=2SMOD.(定时器1的溢出率)/32; 方式2波特率=2SMOD.(fosc/64); 方式3波特率同方式1(定时器l作波特率发生器)。

5、答:由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。 若抖动问题不解决,就会引起对闭合键的多次读入。对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。 复合键可以仿照计算机复合键的处理方法,通常可以假设一个键具有复合功能,再与其它减的键值组合成复合键。

第20篇:单片机课程设计秒表系统设计

单片机课程设计

学院:信息工程专业:

——秒表系统设计

一,设计目的:

1,熟悉51单片机的内部结构,计数器,中断控制器等的用法,来实现简单的控制应用系统。

2,通过简单系统的设计了解单片机应用系统的设计与开发过程及其相应的调试程序过程。

二,设计任务:

实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

三,设计题目:

秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。调用子程序:暂停键子程序,计时键子程序,清0键子程序,加一子程序, 显示子程序,定时子程序,所用特殊寄存器:寄存器A,寄存器C,所用中断:外部中断INT0、INT1,定时器T0、T1

四,设计的硬件接线图:

五,设计思路及描述

要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

六,流程图

七,程序 源程序: ORG

0000H AJMP

MIAN ;主程序入口地址 ORG

0003H

AJMP

ZHONGDUAN0 ;中断0入口地址

ORG

000BH

AJMP YANSHI ;定时器T0入口地址

ORG

0013H

AJMP

ZHONGDUAN1 ;中断1入口地址

ORG

001BH

AJMP

DINGSHI1 ;定时器T1入口地址

ORG

0030H

; 主程序

;***********************************************************

MAIN: MOV

TCON,#05H ;主程序开始 外部中断跳变模式

MOV

TMOD,#11H;定时器0,1模式1 MOV

IE,#8FH ;开总中断,中断0,1,定时器0,1 MOV

DPTR,#TAB MOV

R1,#00H MOV

R2,#00h MOV

R3,#40 ;循环次数40 MOV

TL0#2CH ;置初值,定时25MS

MOV

TH0,#0CFH

MOV

TL1#78H ;置初值,定时10MS

MOV

TH1,#0ECH CLR TR0 ;关定时器

CLR

TR1 ;*********************************************************** ; 暂停键K3,快加键K4程序

;*********************************************************** HERE:JB P1.0,HERE SHOW:

CLR

TR1 CLR

TR0 ACALL

XIANSHI KUAIJIA

:JB P1.2,KUAIJIA ;等待P1.2为0 快加 CLR

TR0 SETB

TR1

HERE 3JNB

P1.2,HERE 3 AJMP

HERE ;*********************************************************** ; 外部中断INT0子程序-----计时按键K1子程序

;***********************************************************

ZHONGDUAN 0:

SETB TR0 ;计时按键 RETI ;*********************************************************** ; 外部中断INT1子程序----复位按键K2子程序

;***********************************************************

ZHONGDUAN 1: CLR TR0 ;复位按键

CLR

TR1

MOV

12H,#00H

MOV

11H,#00H ACALL

XIANSHI ;调用显示子程序

MOV

R1,#00H

MOV

R2,#00H RETI ;*********************************************************** ; 加一子程序

;***********************************************************

JIA1:

INC

R1 ;加1子程序

CJNE R1,

#0AH ,LOOP ;判断是否到表尾

MOV

R1,#00H INC

R2

CJNE

R2,#0AH,LOOP

MOV

R2,#00H

LOOP: MOV

12H,R1 ;重新赋值

MOV

11H,R2

RET ;*********************************************************** ; 显示子程序

;*********************************************************** XIANSHI: MOV R7,#02H ;2个数码管显示子程序 MOV R0,#12H LOOP5: MOV R6,#08H ;8位2进制数 MOV A,@R0 MOVC A,@A+DPTR LOOP6: RLC A ;循环左移 CLR P3.1 MOV P3.0,c SETB P3.1 DJNZ R6,LOOP6 DEC R0 DJNZ R7,LOOP5 RET ;*********************************************************** ; 定时器T0子程序 ;*********************************************************** YANSHI: MOV Tl0,#2CH ;定时子程序 MOV TH0,#0CFH DJNZ R3,LOOP7 ACALL JIA1 ;调用加1子程序 ACALL XIANSHI ;调用显示子程序 MOV R3,#40 LOOP7: RETI ;*********************************************************** ;定时器T1子程序

;*********************************************************** DINGSHI1:MOV Tl1,#78H ;置初值,定时10MS MOV TH1,#0ECH CLR TR0 SETB TR1 MOV 12H ,R1 MOV 11H,R2 JNB p1.0,SHOW ACALL JIA1 ACALL XIANSHI LOP7:TETI ;*********************************************************** TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

八,内容提要

利用单片机的定时器/计数器定时和记数的原理,结合

dvcc实验箱上的集成电路芯片80

32、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0时开始计时)。本设计中开始时都要使各按键回到各初始位置,即都处于1状态。

九,课程设计心得体会

选择适当的课题,不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力! 根据课题要求,复习相关的知识,查询相关的资料。 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。 还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该设计的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。 这次的单片机课程设计重点是理论与实际的相结合。不再只读书了。 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。

十、参考文献

苏家健等编的《单片机原理及应用技术》 高等教育出版社 2004年11月 余锡存等,《单片机原理及接口技术》 西安电子科技大学出版社 2004

孙涵芳等 《单片机原理及应用》 北京航空航天大学出版社 1990

吴金戌等 《8051电片机的实践与应用》 清华大学出版社

单片机教学设计
《单片机教学设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档