导航:首页 > 操作系统 > 单片机外围器件实用

单片机外围器件实用

发布时间:2023-01-13 19:35:37

⑴ 怎么学习单片机外围器件

单片机学习心得体会
一:

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。

俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。

硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。

再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。

二:

熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,下面就本人学习单片机的过程和经验做简要介绍。

首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的视频教程就以为掌握了C语言,那只是C语言的一部分。在这里给大家推荐一本单片机C语言程序设计参考书,马忠梅等着,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。

其次,是单片机教材选择。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,按内部结构体系派系分:51系列、PIC系列、AVR系列、摩托罗拉等等……我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。给大家推荐一些参考书,学习时只需要一本就足够拉。书名:《新编MCS-51单片机应用设计》,哈尔滨工业大学出版,作者:张毅刚;书名:《单片机原理及应用》,高等教育出版社,作者:张毅刚等;书名:《单片机高级教程:应用与设计》,北京航空航天大学出版社,作者:何立民。相关教材还有很多,在这不一一列举。

然后,是开发工具和开发环境的选择。选择一块合适的学习板,对于初学者来说一般无力接受,如果经济条件允许、本人又对单片机很感兴趣、有从事相关工作意向的话,鼓励大家购买。随便说一句,学习板功能要求太全,具有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器等就差不多啦,毕竟,功能齐全的价格比较高。仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,如果你没有仿真器,遇到程序出错的时候,只好苦思冥想,反复烧写调试。随便推荐一下,学林电子的51tracer仿真器,有兴趣的朋友可关注一下。有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。但是单片机能完成的功能太多了,尤其是对外围器件的控制,综合起来能设计出许多意想不到的产品.因此除了入门外,精通可千万别轻易说出口。

最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。最终,自己完全设计具有个人风格的电路,产品,这样你就是单片机高手拉。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。时下多家电子类的报刊杂志如:《电子制作》《无线电》《电子报》《电子世界》都开设了详细的单片机教程专栏,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机教程环境是最好的,有网络,有书籍,有报刊杂志,还有视频教程,元件的采购方面也非常充足,相关的器材又多有便宜。如果每天能抽出两小时的时间去学习,快的一个月,慢的三个月就入门拉。

以下是一些经验:

(1)学习单片机没有捷径,别指望两三天就学会,要坚持不懈,重在积累。

(2)别崇拜高手,别相信天才,大部分人都不是天才(相信你也不是)!

(3)单片机是一门应用性和实践性很强的学科,要多动手,多做实验。

(4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。

(5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,可以大大减少你的开发时间。

(6)要多交一些朋友,多交流。技术是靠不断的积累和交流才会进步的,封闭自守只会更加落后。

希望大家多上网看看前辈的经验,可以少走很多弯路。最后,祝愿大家早日成为单片机高手。

三:

我从大二起,就去实验室去学习。在这里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。

我是从学习单片机开始我的嵌入式学习的。

我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不知道改怎么学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器通过编写程序,我慢慢的弄懂了它们,现在回头看去,原来它还是很简单的。

用哪种编程语言最适合我们。

我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,非常难懂。我认为刚开始学习单片机没有必要一定要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。

我的单片机学习心得。

很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。

单片机的学习实践。

单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。

这就是我学习单片机的心得体会,希望给单片机的爱好者学好单片机有所帮助。

四:

在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会:

单片机学习心得体会6篇心得体会,学习心得

第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。

第三:程序不要只是看别人得,一定要自己写过才是自己的。开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。

第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。

在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对单片机产生了些好感,而且在编写程序过程中吃力的感觉慢慢的淡了。在这其中基础知识掌握牢固是非常重要的,然后在学习过程中要学会提问题和自己解决问题,慢慢的对于学习单片机你也会产兴趣。虽然在开始学习单片机时感觉很青涩,但只要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!

⑵ 单片机外围模块寄存器的作用

简单理解为,比如点灯,比如外围的寄存器就是控制一个发光二极管,给寄存器写入1灯灭,写入0灯亮,
以此类推,你要是实现比较复杂功能,就需要多个寄存器来控制外设,通过外围器件原有的协议进行控制,
同时也可以通过寄存器,来获取外围器件的状态
然后按照这个思路,再看看那些器件,研究一下!

⑶ 单片机原理及应用

1、单片机原理是指一种在线式实时控制计算机的原理方式。在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机(比如家用PC)的主要区别。
2、应用:单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
更多关于单片机原理及应用,进入:https://m.abcgonglue.com/ask/2b50a51615841103.html?zd查看更多内容

⑷ 两个8*8点阵的引脚如何级联

不好意思!
你走错房间了!
这里是数学!
建议去别的地方问问看看!
美邦祝你学业有成!
基于MCS-51的16x16点阵LED电子显示屏的设计
1.背景介绍
1.1 LED及LED显示屏
LED 就是Light Emitting Diode(发光二极管)的缩写。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。发光二极管是由p 型和n 型半导体组成的二极管。在LED 的p - n 结附近,n 型材料中多数载流子是电子,p 型材料中多数载流子是空穴。p -n 结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,p 区的空穴和n 区的电子就向对方扩散运动,构成少数载流子的注入,从而在p - n结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h 为普朗克常数,ν为光子频率)而发光。该能量相当于半导体材料的带隙能量Eg(Ev) ,其与发光波长λ(nm) 的关系为λ= 1239. 6PEg。
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
1.2 MCS-51系列单片机简介
1.2.1 MCS-51系列单片机及其特点
①可靠性高:
因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏。许多信号的通道均在一个芯片内,故运作时系统稳定可靠。
②便于扩展:
片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。
③控制功能强:
具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。
④实用性好:
体积小,功耗低,价格便宜,易于产品化。
1.2.2 单片机的发展历史简介
①第1阶段(1971年—1978年),以MCS-48系列为代表,称4位单片机。在片内:CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,无串行接口;只有1个8位的定时/计时器;中断源只有2个。在片外:寻址范围只有4KB;芯片引脚有40个。
②第2阶段(1978年—1983年),以MCS-51系列为代表,称8位单片机。在片内:CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2个或3个16位的定时/计时器;中断源有5至7个。在片外:寻址范围有64KB;芯片引脚有40个。
③第3阶段(1983年以后),以MCS-96系列为代表,称16位单片机。在片内:CPU有16位;ROM有8KB;RAM有232B;有串/并行接口;有4个16位的定时/计时器;中断源有8个;增加了D/A和A/D转换电路。在片外:寻址范围有64KB;芯片引脚有48个或68个。
以上MCS-51系列以其优良的性价比,在我国得到了广泛的应用。
3.功能要求
设计一个室内用16x16的点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
4.方案实现
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图1为显示屏电路实现的结构框图。

图1,显示屏电路框图

4.1 系统硬件电路的设计
硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
4.1.1单片机系统及外围电路
单片机采用MSC-51或其兼容系列芯片,采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显示更稳定。单片机的串口与列驱动器相连,用来显示数据。P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。16x16的点阵显示屏的硬件原理图如图2所示(在附录A)。
4.1.2列驱动电路
列驱动电路有集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。
74HC595的外形及内部结构如图3所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。
移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。

QB 1 16 Vcc
QC 2 15 QA
QD 3 14 SI
QE 4 13 G
QF 5 12 RCK
QG 6 11 SCK
QH 7 10 SCLR
GND 8 9 QH

图3. 74HC595外形及引脚

4.1.3行驱动器
单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示,按每一LED器件20MA电流计算,16个LED同时发光时,需要320MA电流,选通三极管8550作为驱动管可满足要求。
4.2.系统程序的设计
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。
从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。
4.2.1显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频)=1/16×T0溢出率

=1/16×f/12(65536-t)

其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。
然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4为显示驱动程序(显示屏扫描函数)流程图。

图 4 显示驱动程序流程图
4.2.2系统主程序
本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约3s;接着向上滚动显示“我爱单片机”这5个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,
所以可以设置系统程序不断的循环执行上述显示效果。
单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。
图5是系统主程序流程图。

图 5 系统主程序流程图

5性能分析与总结
5.1 性能分析
LED显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可 正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5.1给出了实验调试时采用的频率及其对应的定时器T0初值。

表5.1 显示平刷新率与T0初值关系表(24MHz晶振)

刷新率 25 50 62.5 75 85 100 120
T0初值 0Xec78 0Xf63C 0Xf830 0xF97E 0XFA42 0XFB1E 0xFBEE

从理论上来说,24Hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。试验证明,在目测条件下刷新频率40Hz一下的画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善。
显示效果处理程序的内容及方法非常广泛,其调试过程在此不作具体讨论,读者可以照源程序自行分析。
这个方案设计的16x16的点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。
5.2 总结
本文设计的一个室内用16x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
总结本文的研究工作,主要做了下面几点较突出的工作:
一、通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些
优点,明确了研究目标。
二,本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
三,文章给出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。
四,在这次毕业设计的过程中学会了 Protel 99se 的基本使用,感到Protel 99se 对自动化专业的同学来说是一门很有用的课程。
五,通过这次毕业设计,重新复习并进一步学习了MCS-51;熟练掌握了WORD软件的使用。
六,存在缺陷:没有考虑抗干扰的问题。
致谢
本文是在黄金明老师的悉心指导下完成的。从课题的立项、选题到课题的开发与研究,再到本论文的撰写到定稿的每一步工作都倾注着黄老师的心血和汗水,同时得到同学们相助,并提供了大量的资料. 在此,对于老师和同学们的帮助表示忠心的感谢。

参考文献
[1] 何立民.MCS-51系列单片机应用系统设计与接口技术 .北京航空航天大学出版社,1990
[2] 任涛等.闪速存储器数据及应用简明速查手册.电子工业出版社,1997
[3] 何立民.单片机应用技术选编.北京航空航天大学出版社,2000
[4] 张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996
[5] 邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,1998
[6] 张凯.LED介绍完全手册.北京航空航天大学出版社,2000
[7] 张友德等.单片微型机原理应用与实验,复旦大学出版社,1996

附录A 16x16的点阵LED图文显示屏的硬件原理图

附录 B 主要汇编程序清单

以下是16x16的点阵LED电子图文显示屏的源程序采用汇编语言编写(也可采用C语言编写,C程序KeiluVision2 V2.30环境下调试通过。
以下为用汇编语言编写的字符显示控制程序:
; ***************************************
; * *
; * 单个16x16的点阵电子屏字符显示器 *
; * ATA89C52 12MHz晶振 *
; * 2004.2.11 LRM *
; ***************************************
;显示字用查表法,不占用内存,字符用16x16共阳LED点阵,
;效果:向上滚动显示5个字,再重复循环。
;R1:查表偏址寄存器,B:查表首址,R2:扫描地址(从00~0FH)。
;R3:滚动显示时控制移动速度,单字显示可控制静止显示的时间。
;*************;
;中断入口程序 ;
;*************;

ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
LJMP INTTO
ORG 0013H
ERTI
ORG 001BH
ERTI
ORG 0023H
RETI
ORG 002BH
RETI

;***********;
;初始化程序;
;***********;


;***********;
; 主程序 ;
;***********;

START: MOV 20H,#00H ;清零标志,00H为第16行开始扫描标志,01为1帧
;扫描结束标志
MOV A,#0FFH ;端口初始化
MOV P1,A
MOV P1,A
MOV P3,A
MOV P0,A
CLR P1.6 ;串行寄存器输入打入输出控制位
MOV TMOD,#01H ;使用T0做16位定时器,行扫描用。
MOV TH0,#0FCH ;1ms初值(12MHz)
MOV TL0,#18H
MOV SCON,#00H ;串口0方式传送显示字节
MOV IE,#82H ;T0中断允许,总中断允许
MOV SP,#70H
MAIN: LCALL DISI ;显示准备,黑屏,1.5s
MOV DPTR,#TAB
LCALL MOVDISP ;向上滚动显示一页(8个字)
INC DPH
LCALL MOVDISP ;向上滚动显示一页(8个字)
INC DPH
LACLL MOVDISP ;向上滚动显示一页(8个字)
AJMP MAIN


;***********************;
; 多字滚动显示程序 ;
;***********************;
;每次8个字,入口时定义好DPTR值

MOVDISP: MOV B,#00H ;向上移动显示,查表偏值暂存(从00开始)
DISLOOP: MOV R3,#07H ;移动速度
DISMOV: MOV R2,00H ;第0行开始
MOV R1,B
SETB TR0 ;开扫描(每次一帧)
WAITMOV: JBC 01H,DISMOV1 ;标志为1扫描一帧结束(16ms为1帧,每行1ms)
AJMP WAITMOV
DISMOV1: DJNZ R3,DISMOV ;1帧重复显示(控制移动速度)
INC B ;显示字的下一行(每行2字节)
INC B
MOV A,R1 ;R1为0,8个字显示完
JZ MOVOUT
AJMP DISLOOP
MOVOUT: RET ;移动先是结束


;****************;
; 单字显示程序 ;
;****************;
;显示表中某个字;
;****************;
DIS1: MOV R3,#5AH ;静止显示时间控制(16ms*#=1.6s)
DIS11: MOV R2,#00H ;一帧扫描初始值(行地址从00~0FH)
MOV DPTR,#TAB ;取表首址
MOV R1,#00H ;查表偏址(显示第一个字)
SETB TR0 ;开扫描(每次一帧)
WAIT11: JBC 01H,DIS111 ;为1,扫描一帧结束
AJMP WAIT11
DIS111: DJNZ R3,DIS11
RET


;************;
; 扫描程序 ;
;************;
;1ms刷新一次,每行显示1s
INTT0: PUSH ACC
MOV TH0,#0FCH ;1ms初值重装
MOV TL0,#18H
JBC 00H,GOEND ;16行扫描标志为1,结束
INC R1 ;取行右边字节偏址
MOV A,R1
MOVC A,@A+DPTR ;查表
MOV SBUF,A ;串口0方式发送
WAIT: JBC TI,GO ;等待发送完毕
AJMP WAIT1
GO: DEC R1 ;取行左边字节偏址
MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
WAIT1: JBC T1,GO1
AJMP WAIT1
GO1: SETB P1.7 ;关行显示,准备刷新
NOP ;串口寄存器数据稳定
SETB P1.6 ;产生上升沿,行数据打入输出端
NOP
NOP
CLR P1.6 ;恢复低电平
MOV A,R2 ;修改显示行地址
ORL A,#0F0H ;修改显示行地址
MOV R2,A ;修改显示行地址
MOV A,P1 ;修改显示行地址
ORL A,#0FH ;修改显示行地址
ANL A,R2 ;修改显示行地址
MOV P1,A ;修改完成
CLR P1.7 ;开行显示
INC R2 ;下一行扫描地址值
INC R1
INC R1 ;下一行数据地址
MOV A,R2
ANL A,#0FH
JNZ GO2
SETB 00H ;R2为01H,现为末行扫描,置标志
GO2: POP ACC
RETI
GOEND: CLR TR0 ;一帧扫描完毕,关扫描
SETB 01H ;一帧扫描完毕,置结束标志
POP ACC
RETI ;退出


;***************;
; 扫描文字表 ;
;***************;

TAB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH ;黑屏
DB
0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H ;我
DB
0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH ;
DB
0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H ;爱
DB
0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH ;
DB
0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;单
DB
0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB
0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;片
DB
0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH
DB
0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H ;机
DB
0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH ;
DB
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;
END

⑸ 如何我用单片机控制外围电路的通断除了继电器还有什么小巧的器件吗

光电耦合器。双向或单向可控硅。固态继电器。

⑹ 请问在用单片机开发时常用的外围器件有哪些比如通讯等等。

光单片机正常工作就要有电源,电源一般用稳压蕊片稳出来,如7805.然后要有晶振使单片机工作.晶振要有电容配合使用,电阻当然也需要用到led这些也要用来指示.通讯则一定要有MAX232蕊片来做串口通讯用.按键也当然要.还有显示用的lcd屏之类的.希望对你有帮助啦.

⑺ 单片机的外围电路有哪些

外围电路设计要求有哪些?
1、减小电源电路纹波,电源电路输入端的消耦设计,常见0.1μF的陶瓷电容
2、有条件的情况下采用独立电源电路,并匹配合理电容,减小其他元件对射频模块的电源影响
3、模块尽量远离电源、变压器及其他高频电路,避免电磁干扰
4、SPI 上时钟波形不标准,检查 SPI 线上是否有干扰,SPI总线走
线不宜过长。SPI的时序回路应避开晶振区域。
5、高频及电源走线,避开模块及模块背面
6、如果通信电平不一致,例如3.3V-5V,推荐添加电平转换电路
7、PCB天线外露且放到PCB板边缘,尽量不建议放到模块内部,天线下方开槽,切记不能敷铜
8、对于邮票孔引出的天线,注意连接处尽量平滑,少毛刺,且两侧应铺地。不能转折线,如果一定要转弯,应走弧形。

⑻ 单片机的基本外围电路

单片机的基本外围电路:

复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根本无法工作。

出现这样的原因是由于RST引脚内含三极管,即便在截止状态时也会有少量截止电流,当R取的非常大时,微弱的截止电流通过就产生了高电平。

滤波电容

滤波电容分为高频滤波电容和低频滤波电容。

1、高频滤波电容一般用104容(0.1uF),目的是短路高频分量,保护器件免受高频干扰。普通的IC(集成)器件的电源与地之间都要加,去除高频干扰(空气静电)。

2、低频滤波电容一般用电解电容(100uF),目的是去除低频纹波,存储一部分能量,稳定电源。大多接在电源接口处,大功率元器件旁边,如:USB借口,步进电机、1602背光显示。耐压值至少高于系统最高电压的2倍。

阅读全文

与单片机外围器件实用相关的资料

热点内容
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:695
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275