导航:首页 > 操作系统 > 单片机外围接口电路与工程实践

单片机外围接口电路与工程实践

发布时间:2023-06-03 15:09:05

单片机及外围电路的关系

不是学这一行就最好不要转(即不要认为把它学会后就可以用它找到比机械更好工作什么的),因为做单片机的也没成就感,比如以前我也是我做机械的,市面上面曾有许多流行烂大待的手机结构我曾开发过,许多小孩子手中的玩具我也开发过,当年的流行的快译通有几个MODEL我也做过,不过,成就感也不觉得有啊。。。况且,就普遍性来说(仅指普遍性),搞结构的机械工程师的工资要比电子工程师、软件工程师要高,在东莞,深圳都差不多,如果你曾在那边的公司工程部工作过。。。。
话说回头,如果你真的是为以后做打算,比如搞什么机电硕士,那也是机电类的,本质上是和单片机是不太着边的。。机电类的,机电一体化,做研究生那专业就更精细了。。。。不过倒可以把模电数电搞得更清楚。。。
本人以前从事机械十多年,学单片机是迫不得已的事,因为后来工作不干了回家搞创业,不得已,要生活啊,没钱啊。。所以很多事就得自已来。。。其实不用猜测,如果你真的在工厂里做过,比如我之前我在的公司工程部里,手下就有机械、电子、软件工程师,当然就很了解这些东西。基本上嘛。。。做个产品的流程就是这样:一张美工原型图,可以是手绘也可以是外观效果图,然后机械类的进行结构开发,基本上结构出来PCB的大小尺寸样子也就出来了;软件工程师根据功能设计要求,简单的控制如按钮啊显示啦等等,那就是写软件的干活;但是产品中若碰到有难度或更高的比如有高频发射什么的,就是硬件(电路)工程师的干活;然后就是电子工程师的Layout,也就是电路原理图来合理的布线(也有的公司有专门的布线员,就像机械的有绘图员一样),最后PCB样办回来,焊板也是电子工程师的干活。。。。然后就是调试啦,软件调软的,电子工程师调电子部份的,最后和机械类开好的模具塑胶壳,套上去送板,然后试产,量产,最后批量生产,再最后上市场。。。。。
你问的问题,十有八九在上面里可以悟得到:不过最后说一下,简单的控制类的产品,基本上是软件与电路同一人完成,包括所有的调试,如果涉及到上位机,那么你有本事的话一样一个人可以完成,再如果你了精通机械设计,那么还是一个人可以完成,对于我来说,简单点的东西我就是可以一个人把所有的东西全部完成,美工,结构,电子,软件,上位机。。。可那有什么用?其实搞产品的,在于你个人的想法,碰到不会的,那么你就得学。。。所以说不是固定的什么实际中是否同一个人什么的。。具体工作具体定。。。比如说做个LED的控制器吧。。。流程可以这样:根据功能要求单片机选型,然后设计外围电路,晶振、瓷片电容,上拉电阻(如果说需要的话),输出的I/O口,单片机电源部份(一般是现成的),然后是驱动电路,比如说三极管,功能IC什么的,驱动电源部份;完成电路设计后,即开始焊板,用实验板(也称洞洞板)把你设计的电路焊起来,然后写软件,写完后下载到单片机里,开始调试修改,包括硬件软件,最后觉得OK,再用市面流行的Protel或pads进行布线,布完线后发给线路板工厂制作PCB,拿到PCB样办后把电路需要的元件一一焊接PCB上,然后再下载你的程序调试PCB,如OK,之后你即可以做最后的验证,比如接上大批量的灯,进行最终性能测试,最后,全部OK!即可以生产线路板,当然,这时候你的外壳什么的做好后,直接装在外壳里,打上螺丝或超声波焊接外壳,贴上你的面板标签或丝印,喷漆等外观处理,至此,产品全部完成。。。模电、数电的深刻理论你是不需要懂太多嘀,但最少也得要基础,太深的东东,交给专业的模块公司去完成吧。。。。

㈡ 如何学习单片机中外围电路设计

1、充分了解各方的设计需求,确定合适的解决方案
启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。
2、原理图设计中要注意的问题
原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。
电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。
时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。
芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。
3、PCB设计中要注意的问题
PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。
A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。
4、检查和调试
当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。
5、一些总结的话
现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。
一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。
还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后事业有所小成。

㈢ 一个单片机工程师需学习哪些内容

1、对单片机应用场合有充分的了解,能够在应用项目中选择合适的单片机和外围芯片的型号;能够根据系统指标很快的设计出一个应用系统的体系结构;在深圳,一个项目的时间只有一个星期左右,因为这些东西谁都能做,主要看谁能够做的又快又好;
2、熟练使用ASM和C等相应的单片机语言,有良好的编程风格和一定的编程技巧;
3、能够进行简单的PCB版图设计,至少能够设计出有一定抗干扰能力的单片机电路板; 4、对控制、信号系统有所了解,知道必要的算法
5、熟悉计算机方向的简要开发,能够使用计算机做一些简单的主机端软件;
6、对模拟、数字电路、总线等比较熟悉,能够使用它们进行单片机的外围接口。

㈣ 单片机外围接口电路与工程实践的基本信息

单片机外围接口电路是指单片机通过外接其他电路或器件,实现与外部环境的信息交换。常见的外围接口包括数字输入输出口、模拟输入输出口、串行通信接口、并行通信接口等。在工程实践中携手,单片机外围接口电路的设计与实现是非常重要的。根据猛启具辩知嫌体应用场景和需求,需要进行电路设计、模拟仿真、PCB设计、软件编程等工作。此外,还需要对接外部传感器、执行器等元件,进行信号采集、控制输出等操作。在实践中,需要注意单片机与外围接口电路之间的电气特性匹配,如电平、电流、阻抗等参数。同时,还要考虑系统的可靠性、抗干扰性、可维护性等因素。

㈤ 单片机的基本外围电路

单片机的基本外围电路:

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

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

滤波电容

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

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

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

㈥ 单片机通过USB接口与计算机通讯电路图

如图所示:需要单片机51,温度传感器18B02。USB转RS485的转串口线。直接用serialport控件,设置通讯参数,然后向串口发数据。

比如发1,然后使用事件触发接收单片机的数据,如果两侧通讯没问题,电脑会收到2,然后把它显示出来或者做喊旦中其他处理。


(6)单片机外围接口电路与工程实践扩展阅读:

控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:

(1) 从内存中迟谨取出一条指令,并指出下一条指令在内存中的位置。

(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。

(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。

微郑山处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。

外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。

㈦ 单片机芯片的地是接模拟地还是数字地,~还有连单片机接口的外围电路的地是接什么

几乎绝大部分的单片机系统都是模拟地,关于外围电路就是震荡电路喽,接个晶体再加一些电源什么的就是最小单片机系统了。。。。望采纳

㈧ 毕业论文 单片机应用研究方面的 一定要长, 最好上万字

试题: A甲1025

参赛试题:
点阵电子显示屏(A题)

参赛学生:冯元伟 物理与微电子学院
关童 物理与微电子学院
田立志 材料学院包装工程
参赛学校:山东大学
指导老师:陈延俊 秦峰 王延伟 仪维

2006年9月11日

目 录

第一部分
摘要 ……………………………………………………...3
第二部分
1.设计任务………………………………………………..4
1.1基本要求………………………………………………………….........4
1.2发挥部分……………………………………………………………….4
1.3创新部分……………………………………………………………….4
2.方案论证与比较………………………………………5
2.1 显示部分……………………………………………………………….5
2.2 数字时钟……………………………………………………………….5
2.3 温度采集部分………………………………………………………….6
2.4 芯片选择……………………………………………………………….6
2.5 闹铃方式的选择……………………………………………………….6
2.6 止闹方式的选择……………………………………………………….6
2.7 串口通讯芯片的选择………………………………………………….6
3. 总体方案……………………………………………….7
3.1 工作原理……………………………………………………………….7
3.2 总体设计……………………………………………………………….7
4.系统硬件设计…………………………………………7
4.1 AT89S52单片机最小系统…………………………………………...8
4.2 温度测量模块………………………………………………………...8
4.3 时钟模块……………………………………………………………..8
4.4 键盘模块……………………………………………………………..9
4.5 LED点阵显示模块………………………………………………….10
4.6 电源的选择………………………………………………………….11
4.7 PC机通讯……………………………………………………………12
4.8 整体电路…………………………………………………………….12
5.系统软件设计………………………………………….7
5.1 主程序流程………………………………………………………….13
5.2 扫描子程序………………………………………………………….14
5.3 时间程序…………………………………………………………….15
5.4 PC机串口通讯程序…………………………………………………15
5.5 亮度调节程序………………………………………………………16
5.6 温度程序…………………………………………………………….17
6.测试与结果分析……………………………………...17
6.1 基本部分测试与分析……………………………………………….17
6.2 发挥部分测试与分析……………………………………………….18
6.3 创新部分测试与分析……………………………………………….18
7.设计总结……………………………………………...18
8.参考资料……………………………………………...18
附录……………………………………………………………18
例程…………………………………………………………......................................18

摘要 LED大屏幕显示系统,以AT89S52单片机为核心,由键盘显示、录放音模块、光电开关、温度采集、定时闹铃、LED大屏幕显示等功能模块组成。基于题目基本要求,本系统对时间显示和大屏幕显示进行了重点设计。此外,扩展单片机外围接口、温度采集、非接触式止闹、滚动屏幕显示、语音报时等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。
关键字:单片机 LED大屏幕 滚屏显示
Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional moles : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell,
According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on.
Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable ,
The design achieved and even exceeded all the required basic technical indexes
Key words: chip microcomputer large screen display system
scroll screen display
1任务设计
1.1 基本要求:设计并制作LED电子显示屏和控制器。
1.1.1 自制一台简易16行*32列点阵显示的LED电子显示屏;
1.1.2 自制显示屏控制器,扩展键盘和相应的接口实现多功能显示控制,显示屏显示数字和字母亮度适中,应无闪烁。
1.1.3 显示屏通过按键切换显示数字和字母;
1.1.4 显示屏能显示4组特定数字或者英文字母组成的句子,通过按键切换显示内容;
1.1.5 能显示4组特定汉字组成的句子,通过按键切换显示内容。
1.2发挥部分:
1.2.1自制一台简易16行*64列点阵显示的LED电子显示屏;
1.2.2 LED显示屏亮度连续可调。
1.2.3 实现信息的左右滚屏显示,预存信息的定时循环显示;
1.2.4 实现实时时间的显示,显示屏数字显示: 时∶分∶秒(例如 18∶38∶59);
1.2.5增大到10组(每组汉字8个或16个数字和字符)预存信息,信息具有掉电保护;
1.2.6实现和PC机通讯,通过PC机串口直接对显示信息进行更新(须做PC机客户程序);
1.3 创新部分
1.3.1 室温的测量
1.3.2 定时闹铃
1.3.3 整点报时
1.3.4 非接触止闹
2、方案论证
2.1 显示部分:
显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:
方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。
方案二:动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。
鉴于上述原因, 我们采用方案二
2.2.数字时钟
数字时钟是本设计的重要的部分。根据需要,可利用两种方案实现。
方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
方案二:本方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
2.3 温度采集部分
能进行温度测量是本设计的创新部分,由于现在用品追求多样化,多功能化,所以我们决定给系统加上温度测量显示模块,方便人们的生活,使该设计具有人性化。
方案一:采用热敏电阻,可满足 40 摄氏度至 90 摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于 1 摄氏度的信号是不适用的。
方案二:采用温度传感器DS18B20。DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18b20的以上优点,我们决定选取DS18b20来测量温度。
2.4 芯片的选择
方案一:采取并口输入,占用大量I/O口资源
方案二:选取串口输入,使用较少。所以我们选用串口输入。串口输入我们可以选用芯片有74HC595、74LS164、TPIC6B595。但是74HC595和74LS164两种芯片必须加驱动才能驱动LED,而TI 公司的DMOS 器件TPIC6B595 , 除具有TTL 和CMOS 器件中移位寄存器595 的逻辑功能外, 其最大的特点是驱动功率大, 可直接用作LED的驱动。
综合以上比较,我们选取TPIC6B595来驱动LED点阵。
2.5 闹铃方式的选择
方案一:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。
方案二:采用录音放音芯片1420闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。采用录放音电路铃声可以自己预先设定一段自己喜欢的音乐,符合电器设备人性化的要求。且1420芯片可以分段录音,还具有语音报时功能。
基于录音放音芯片1420的以上优点,我们决定采用录放音设备闹铃。
2.6 止闹方式的选择
一般钟表都具有闹钟功能,到设定时间,便自动启动闹钟,发出音乐提醒人们,再由人按下止闹按钮停止闹钟工作。 一般每天只能设置一次闹钟、并要由人按下按钮止闹,使用不是很方便。
智能处理器应用可改变这种状况,一天可按自己需要设置闹钟的开关、多次闹钟设置并可用非接触方式止闹。
方案一:采取远程红外遥控止闹,遥控器发出特定红外信号时,单片机接受到信号,向发音设备发出停止信号止闹。红外遥控止闹控制距离远,但是价格昂贵,增加了制造成本。
方案二:采取光电传感器,当用一物体遮挡光电传感光电传感器向单片机接口送出一个低电平,单片机立即向发音设备发出停止信号止闹。光电传感器价格便宜,线路简单,易于控制。
基于以上比较我们决定采用光电传感器止闹。
2.7 串口通讯芯片的选择
AT89S52串行口采用的是TTL电平,因此必须的有电平转换电路,可以选择1488,1489,MAX232A.
方案一:采用1488或1489芯片实现电平转换,但在使用中发现这两种芯片可靠性不高,且需要正负12V电源,使用麻烦。
方案二:采用单电源电平转换芯片MAX232A可以使电路变得简单,可靠。
基于以上分析,我们选用方案二,选用芯片MAX232A
2.8 电源模块
方案一:采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。
方案二:采用200W/5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠
基于以上分析,我们决定采用方案二
3、总体方案
3.1 工作原理:
利用单片机AT89S52单片机作为本系统的中控模块。单片机可把由DS18B20、DS1302读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示。点阵LED电子显示屏显示器为主要的显示模块,把单片机传来的数据显示出来,并且可以实现滚动显示。利用光电传感器来实现非接触止闹功能。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
3.2 总体设计
设计总体框图如图1

4、系统硬件设计(单元电路设计及分析)
4.1 AT89S52单片机最小系统:
最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89S52单片机的最小系统。

4.2 温度测量模块:
温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式, CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3所示。

图3 DS18B20测量电路

4.3 时钟模块
时钟模块采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW,其接线电路如图4

图4 时钟电路
4.4 键盘模块
键盘、状态显示模块:为了使软件编程简单,本设计利用可编程芯片8255。接法如表1所示。PA口接按键,PC口则用于控制状态显示所用LED点阵。每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮LED点阵。模块电路如图5

4.5 LED显示模块
点阵数据串行输入, 器件为 移位寄存器TPIC6B595595, 门控和扫描信号常以16 点阵为一行进行并行处理。在点阵显示中以4×8个L ED 点阵构成一个L ED 显示单元, 采用行共阳列共阴的编排方式。其驱动分为行列两部分, 分别来自于行、列移位寄存器, 行数据是扫描数据, 16 行中每次只有一行被驱动, 采用逐行扫描方式, 列数据则为汉字的点阵码。。对于字符和图形显示也可以用点阵处理, 其显示原理和方法相同.电路如图6

图6 LED显示电路

4.6电源选择:
200W/5V的直流稳压电源更加安全电路图如图7

图7 电源电路

4.7 PC机通讯
MAX232是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输入口RXD(第3脚)、串行输出TXD(第2脚)和地线(第7脚)。MAX232逻辑电平的规定如表2.
表 2 逻辑电平表
逻辑值 电平幅值 (v)
0 3+~+15
1 3-~-15

图8 串口通讯
4.8整体电路

系统整体电路如下:

图9 整体电路
5、系统软件设计
5.1主程序如图10

5.2显示子程序流程如图 11

5.3 显示时间子程序流程如图12

图12 时间子程序流程图

5.4 与PC串口通讯程序

5.5 LED亮度调节

图 14 LED亮度调节
5.6温度测量流程图如图15
图15 温度测量程序流程图
6、测量及其结果分析
6.1 基本部分测试与分析
6.11 测试仪器:
秒表 、温度表、万用电表、WAVE仿真器
6.12基本要求部分的测试与分析:
(1)系统上电后,全屏点亮,没有暗点。接着显示时间。按“#”键后时扫描键盘,当有1~10键按下时,分别显示十段设定的数字、英文或汉字。
(2)显示时间时通过与秒表对比,测试的系统时间准确。
6. 2 发挥部分测试与分析:
(1) 当按下#后在按下进入亮度调节,按下“+”键时,亮度增加。按下“—”键时,亮度变弱。
(2) 可以实现文字左右移动
(3) 按下“设置时间”键,观察到“钟表” 二极管点亮,此时可对时间进行设置。按下“时间设置“进入时调试,按“+”键时间加。在按下“切换”键时,进入分调整模式,按下“+”键,分增加。按下“选择”键时,分调整模式改为秒调整模式,按下“+”键秒增加。经测试该步可以很好的实现。调整时间完毕后,再按一下“闹钟设置”进入闹铃设置状态,按下“+”键设定“时”增加,在按下“选择”键进入分的设置,按下“+”键设定“分”增加。在按下“选择”键进入秒设置模式,按“+”键秒增加。
(4)系统可以显示10组,每组8个汉字,完成要求

6.3 创新部分测试与分析
(1)温度测量: 键盘切换现场环境温度显示:按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表1所示。

表1 与标准温度计测量值比较表
温度计示值(摄氏度) 10.3 25.2 49.7 70.1 85.5
温度输出(摄氏度) 10 25 50 70 86
由测试知,数字钟的输出与温度计值基本上相等,误差不大于0.5度。
(2) 当到设定时间时,开始访一段音乐,完成定时闹铃功能。
(3)当用手遮挡光电传感器后,停止放音。手拿开后,不再放音,直到到设定时间。完成非接触止闹功能
7、设计总结
全心准备了整整一个酷暑,9月8日我们终于拿到了试题,我们一致选择控制类题目A(LED点阵),从基本方案的制定,在到硬件电路的选择,到制作电路制作,最后进行程序调试。在此期间我们遇到很多困难,几乎没有说过一次好觉,尽管很艰苦,但是我们各自分工,相互协作,一次又一次品尝到了解决问题的喜悦,最终完成了要求的全部功能,并加入了一些创新的部分。在竞赛中我们发现了自己知识的不足,通过四天三夜的奋斗,也可以说四天三夜的学习,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。在以后的时间里面我们会用这种精神去学习,更上一层楼。
8、参考资料
[1]《基于单片机结构的智能系统设计与实现》 沈红卫 编 电子工业出版社
[2]《单片机原理与接口技术》 黄惠媛 编 海洋出版社
[3]《单片机应用技术》 周平 伍云辉 编 电子科技大学出版社
[4]《8051单片机实践与应用》 吴金戌 沈金阳 郭庭吉 编 清华大学出版社
[5]《电子设计竞赛赛题解析》 黄正谨等编 东南大学出版社

附录:
例:整屏四个字一起显示的程序
SER EQU P1.0 ; TPIC6B595 第3脚
OE EQU P1.1;TPIC6B595 第8脚
RCK EQU P1.2;TPIC6B595 第12脚
MR EQU P1.3;TPIC6B595 第9脚
SRCLK EQU P1.4;TPIC6B595 第13脚
ORG 0000H
LJMP MAIN
ORG 0100H
;**************************主程序**********************************
MAIN: MOV SP,#70H
SETB OE
MOV 2BH,#00H
MOV 27H,#00H
START: ;初始化寄存器RAM单元
MOV R0, #30H
MOV R1,#64H ;30H~6FH单元清零
MOV A, #00H
ST: MOV @R0,A
INC R0
DJNZ R1,ST
;2Dh------寻址偏址 ;整屏四个字一起显示
LOOP:MOV DPTR,#TAB;赋查表初值
MOV R3,#56
PLAY: MOV 2DH,#00H
MOV 2FH,#10H
GG: LCALL LINE16;扫描显示一次
MOV 2DH,#00H
DJNZ 2FH,GG
MOV A,DPL
CLR C
ADD A, #16
MOV DPL ,A
MOV A, DPH
ADDC A ,#00H
MOV DPH, A
DJNZ R3,PLAY
SJMP START
LINE16: MOV 2BH,#16;扫16行,2BH放后还剩几行
FF: LCALL LINE1;扫描显示一行子程序
DJNZ 2BH,FF;扫描行直到16行扫完再转
RET
LINE1:LCALL MSTR;将显示的内容移入内存单元
LCALL SEND;发送串口子程序
LCALL XH;选通行子程序
RET
MSTR: ;显示内容移入内存单元
MOV R0,#30H
MOV R4,#9
MOV A,2DH;
BB: MOVC A,@A+DPTR
MOV @R0,A
INC R0
MOV A,2DH
ADD A,#16;加16移到下一行
MOV 2DH,A
DJNZ R4,BB
MOV A,2DH
SUBB A,#143
MOV 2DH,A
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$发送数据到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$
SEND:MOV R0,#30H
MOV R5,#8 ;一行有8个字节,如每次显示字数不同要作相应改动
SETB OE
SETB MR
CLR SRCLK
CLR RCK
SETB P1.6
SETB P1.7

LQ: CLR C
MOV R2,#8
MOV A,@R0
; CPL A ;TPIC6B595应该不用这一步
LCALL DD1;调用显示一个字节的子程序
INC R0;指向下一个显示单元
DJNZ R5,LQ
RET
DD1: CLR SRCLK;清串行CP端
RLC A;
MOV SER,C
SETB SRCLK ;触发串行CP端
DJNZ R2,DD1;每个字节移8次够了向下执行
RET
;选通行子程序
XH: CLR RCK ;将输出CP变成低电平为上升沿做准备
NOP
SETB RCK
CLR P1.6
;CLR P1.7
MOV A,27H
MOV P0,A
CLR OE
LCALL DE25MS
INC A
SETB OE
SETB P1.6
MOV A,27H
ANL A,#0F0H
SWAP A
ADD A,#01H
SWAP A
MOV 27H,A
CLR MR
SETB MR
RET
DE25MS: MOV R5,#09H
DEL2: MOV R6,#0FH
DEL3: MOV R7,#01H
DJNZ R7,$
DJNZ R6,DEL3
DJNZ R5,DEL2
RET
TAB:
字库
END

阅读全文

与单片机外围接口电路与工程实践相关的资料

热点内容
云服务器宕机概率 浏览:227
在线买药用什么app知乎 浏览:810
ubuntu解压xz文件 浏览:674
宏杰加密时电脑关机 浏览:388
自己写单片机编译器 浏览:598
单片机按键闪烁 浏览:380
为什么icloud总是显连接服务器失败 浏览:888
如何设置域控服务器 浏览:738
想在上海租房子什么app好 浏览:184
编译程序各部分是必不可少的吗 浏览:885
编程不超过十行 浏览:763
数电编译器的作用 浏览:337
时间算法与现在有什么区别 浏览:163
7zip解压后没文件夹 浏览:903
为什么安卓送玫瑰ios收不到 浏览:8
美篇文章加密是什么意思 浏览:82
ilasm编译dll 浏览:39
呼吸灯单片机程序 浏览:954
linux域socket 浏览:250
qq分身怎么样才能加密 浏览:457