毕业设计(论文)-基于PROTUES设计万年历.doc_第1页
毕业设计(论文)-基于PROTUES设计万年历.doc_第2页
毕业设计(论文)-基于PROTUES设计万年历.doc_第3页
毕业设计(论文)-基于PROTUES设计万年历.doc_第4页
毕业设计(论文)-基于PROTUES设计万年历.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要本文分析了传统的单片机教学中存在的诸多问题,提出了用proteus软件来进行单片机仿真教学的观点。介绍了用proteus软件进行单片机仿真教学的制作和演示过程,总结了用proteus软件进行单片机仿真教学的优点和不足。随着现代计算机技术的迅速发展,使用eda(电子设计自动化)软件进行的电路设计与仿真已经成为现代电子技术系统设计的必然趋势。文中应用proteus软件实现了单片机led(发光二极管)流水灯电路的设计与仿真,介绍了proteus的单片机软硬件实时动态仿真功能及仿真过程,并给出keil与proteus联合仿真的方法。此方法能加深学生对单片机原理的理解,也锻炼了学生进行软硬件综合开发的能力。实践证明,proteus仿真软件能够提高开发效率,降低开发成本,缩短开发周期。关键词:动态仿真、联合仿真、优点abstractthis paper analyzed the microcontroller existing problems in teaching, this paper presents a simulation software for scm proteus view of teaching. proteus software are introduced with the production and single-chip emulation teaching demonstration, proteus with mcu software simulation teaching advantages and disadvantages.along with the rapid development of modern computer technology, using eda (electronic design automation) software of circuit design and simulation has become the modern electronic technology system design is an inevitable trend. the application of scm proteus software realize the emitting diode (led) water light circuit design and simulation, introduces the hardware and software of the mcu proteus real-time dynamic simulation function and the process of simulation, and proteus keil and joint simulation method. this method can deepen students to understand, and the principle of microcontroller hardware exercise students comprehensive development ability. practice has proved, proteus simulation software to improve efficiency and reduce the development development costs, shorten the development cycle.key words:dynamic simulation, joint simulation,advantages目 录引言 11 系统电路任务.31.1 系统电路要求31.1.1 基本要求31.1.2 发挥部分31.2 系统电路分析.42 系统方案设计.52.1 控制电路核心模块方案设计52.1.1 单片机芯片的选择方案和论证.52.1.2 时钟芯片的选择方案和论证.52.2 显示电路方案设计.62.2.1 显示模块选择方案和论证63 程序流程框图.74 时间调整程序流程图85 星期的计算方法96 闰年的计算方法97 电路设计97.1 单片机主要控制模块.97.1.1 振荡器特性117.1.2 时钟控制寄存器ckcon.117.1.3 复位.117.1.4 定时器0和1的操作.117.2 时钟电路模块147.3 温度采集模块.167.3.1 ds18b20的主要特征.167.3.2 ds18b20引脚功能.167.3.3 ds18b20工作原理及应用167.3.4 控制器对18b20操作流程177.4 显示模块187.4.1 字符型液晶显示模块的基本特点.188 电路原理及说明.208.1 时钟芯片ds1302的工作原理.208.2 ds1302的控制字节.218.3 ds1302内部寄存器.219 protues的设计过程239.1 电路原理图的设计.249.2 proteus与keil相结合259.2.1 硬件电路的设计、组装、调试.269.2.2 应用软件的编制、调试.269.2.3 总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统.2610 软件测试2711 测试结果分析与结论2811.1 测试结果分析.2811.2 测试结论.2812 结论29谢辞.30参考文献.31附录 32引言随着科技的快速发展,人们对生活质量要求的不断提高,电子技术的不断发展,并不断的推出新的电子产品,以满足人们的需求。从观太阳、日晷仪、摆钟到现在的电子时钟。传统的电子时钟只能单一的显示时间,这逐渐的地被淘汰,之后被电子万年历所取代。二十一世纪时,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。美国dallas公司推出的具有涓细电流充电能的低功耗实时时钟电路ds1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且ds1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度(采用18b20)等信息,还具有时间校准等功能。该电路采用at89c51单片机作为核心,功耗小,能在3v的低压工作。现在的万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。电子万年历的出现给人们的生活带来了诸多方便。但传统的电子万年历除显示时间以外,功能较为单一,逐渐失去了市场。新型电子万年历的产生 更会带来更多方便,现在的发展方向以实用型,方便型,美观型,精巧型为主。电子万年历作为电子类小设计不仅是市场上的宠儿,也是单片机实验中一个很常用的题目。采用集成化的时钟芯片, 利用at89系列单片微机制成万年历电路,at89c51是由atmel公司推出的一种小型单片机,采用软件和硬件结合的方法,控制lcd液晶显示屏输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。电子万年历是采用独立芯片控制内部数据运行,以led夜光数码或液晶显示器显示日期、时间、星期、节气倒计,以及温度等日常信息,糅合了多项先进电子技术及现代经典工艺打造的现代数码计时产品。电子万年历有3类:1 以led显示方式:1.1 静态显示:静态的每一位数码管是一直处于通电状态,只需输入一个新的信号就会更新旧的数据并显示;1.2 动态显示:动态的每一位数码管在新数据输入之前是处于断电状态,当输入一个新的信号后再给所需点亮的数码管通电方能点亮显示,其他的数码管以同样的方式在短时间内依次扫描点亮。2 以时间显示方式:2.1 数字式:日期、时间、星期、节气倒计、温度等显示全部为led数码管;2.2 数字、指针混合式:日期、星期、节气倒计、温度等信息以led数码管显示,时间部分以指针显示3 以外观方式:3.1 全数码显示万年历:以led夜光数码显示日期、时间、星期、节气倒计,以及温度等日常信息,无附加信息;3.2 带画面电子万年历:除以led夜光数码显示日期、时间、星期、节气倒计,以及温度等日常信息,糅合了多项先进电子技术及现代经典工艺,带有艺术画面的产品。电子万年历正常工作的基本要求:(1) 工作电压:万年历在3v至5v的电压范围显示正常。(2) 工作温度:万年历在-1050的温度范围内不应停走,显示正常。1 系统电路任务 广泛查阅和收集资料,proteus设计万年历采用单片机设计应用系统,应考虑到在满足设计要求的情况下,硬件电路尽可能简单,最大限度地用设计完成系统的各项功能。这样做的目的有:一是为了节省硬件成本;二是缩短设计周期,便是系统今后的维护和升级。基于这个目的,电子万年历主要采用单片机at89c51芯片,实时时钟芯片ds1302及lcd液晶显示屏的设计实现。1.1 系统电路要求1.1.1 基本要求ds1302为系统提供精确的年、月、日、时、分、秒等实时的时间信息,星期则由编程的计算得到;设置3个按键,功能是分别为状态(确认)、加一、减一的操作。调整键可以对对万年历时间设置进行确认和移位,减一键则是对调整位进行减一操作(每按一次减一位),加一键则是对相应的调整位进行加一操作(每按键一次就加一操作一次)。存储器主要是对lcd点阵字库数据进行存储。显示采用lcd点阵显示屏1.1.2 发挥部分温度采集并显示在lcd显示屏上;添加闹铃部分,并可以语言闹铃;整点语言报时。1.2 系统电路分析对于要求系统电路可以使用单片机实现,电路设计框图如图一所示:at89c51(主控制模块)ds1302实时时钟芯片按键lcd液晶显示屏存储器温度采集图一本电路是由89c51单片机为控制核心,具有在线编程功能,低功耗,能在3v超低压工作;时钟电路由ds1302提供,它是一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个31*8的用于临时性存放数据的ram寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由ds18b20构成;显示部份采用lcd液晶显示屏。框图简要说明:(1) ds1302为系统提供精确的年、月、日、时、分、秒等实时的时间信息,星期则由编程的计算得到;(2) 设置3个按键,功能是分别为状态(确认)、加一、减一的操作。调整键可以对对万年历时间设置进行确认和移位,减一键则是对调整位进行减一操作(每按一次减一位),加一键则是对相应的调整位进行加一操作(每按键一次就加一操作一次);(3) 存储器主要是对lcd点阵字库数据进行存储;(4) 显示采用lcd液晶显示屏。2 系统方案设计2.1 控制电路核心模块方案设计对于所设计的系统进行分析并确定了几个方案,综合考虑了成本、电子器件实用性、工艺、可靠性。2.1.1 单片机芯片的选择方案和论证:方案一: 采用89c51或89c52芯片作为硬件核心,采用flash rom,内部具有4kb rom 存储空间,能于3v的超低压工作,而且与mcs-51系列单片机完全兼容,但是运用于电路设计中时由于不具备isp在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用at89s51或at89s52,片内rom全都采用flash rom;能以3v的超底压工作;同时也与mcs-51系列单片机完全该芯片内部存储器为8kb rom 存储空间,同样具有89c51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用at89s52作为主控制系统。2.1.2 时钟芯片的选择方案和论证: 方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用ds1302时钟芯片实现时钟,ds1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的ram做为数据暂存区,工作电压2.5v5.5v范围内,2.5v时耗电小于300na。2.2 显示电路方案设计 2.2.1 显示模块选择方案和论证:方案一:采用led液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中采用led液晶显示屏仿真。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用led数码管动态扫描,led数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。3 程序流程框图开始初始化读取年、月、日、星期、节气、温度、生肖显示子程序日期、时间、节气、温度、生肖修改子程序农历自动更新子程序定时闹铃子程序返回图二4 时间调整程序流程图开始按键有效,进入时调整程序等待按键程序加按键有效减按键有效时加1时减1按键有效,进入秒调整程序秒减1秒加1等待按键程序减按键有效加按键有效按键有效,进入月调整程序加按键有效等待按键程序减按键有效月加1月减1分减1分加1减按键有效加按键有效等待按键程序按键有效,进入分调整程序日减1日加1减按键有效加按键有效等待按键程序按键有效,进入日调整程序年减1年加1减按键有效加按键有效等待按键程序按键有效,进入年调整程序按键有效,跳出时间调整程序进入主循环程序图三5 星期的计算方法如何计算某一天是星期几? 蔡勒(zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(zeller)公式。即w=y+y/4+c/4-2c+26(m+1)/10+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日; 代表取整,即只要整数部分。(c是世纪数减一,y是年份后两位,m是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时c和y均按上一年取值。)算出来的w除以7,余数是几就是星期几。如果余数是0,则为星期日。 以2049年10月1日(100周年国庆)为例,用蔡勒(zeller)公式进行计算,过程如下: 蔡勒(zeller)公式:w=y+y/4+c/4-2c+26(m+1)/10+d-1 =49+49/4+20/4-220+26 (10+1)/10+1-1 =49+12.25+5-40+28.6 =49+12+5-40+28 =54 (除以7余5) 即2049年10月1日(100周年国庆)是星期5。6 闰年的计算方法公历的平年是365天,闰年是366天。置闰的方法是能被4整除的年份在 2月加一天,但能被100整除的不闰,能被400整除的又闰。因此,像1600、2000、2400 年都是闰年,而1700、1800、1900、2100年都是平年。公元前1年,按公历也是闰年。 因此,对于从公元前1年(或公元0年)12月31日到某一日子的年份y之间的所有整年 中的闰年数,就等于: (y-1)/4 - (y-1)/100 + (y-1)/4007 电路设计7.1 单片机主要控制模块p89c51x2 和p89c52x2/54x2/58x2 ,分别包含128 字节和256 字节ram 32 条i/o 口线,3 个16 位定时/计数器,6 输入4 优先级嵌套中断结构,1 个串行i/o 口可用于多机通信i/o 扩展或全双工uart以及片内振荡器和时钟电路。此外,由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0 ,可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结cpu, 但ram 定时器串口和中断系统仍然工作。掉电模式保存ram 的内容,但是冻结振荡器导致所有其它的片内功能停止工作,由于设计是静态的时钟可停止而不会丢失用户数据运行,可从时钟停止处恢复。p0.0-0.7 名称和功能 p0:口 ,p0 口是开漏双向口可以写为1, 使其状态为悬浮用作高阻输入p0 ,也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线此时,通过内部强上拉输出1。p1.0-1.7 名称和功能 p1:口 ,p1 口是带内部上拉的双向i/o 口向p1 口写入1时,p1 口被内部上拉为高电平,可用作输入口,当作为输入脚时被外部拉低的p1 口会因为内部上拉而输出电流(见dc 电气特性) p1:口。第2 功能,t2(p1.0) 定时/计数器2 的外部计数输入/时钟输出(见可编程输出),t2ex(p1.1) 定时/计数器2 重装载/捕捉/方向控制。p2.0-2.7 名称和功能 p2口 :p2 口是带内部上拉的双向i/o 口,向p2 口写入1时,p2 口被内部上拉为高电平可用作输入口。当作为输入脚时被外部拉低的p2 口,会因为内部上拉而输出电流(见dc 电气特性) 在访问外部程序存储器和外部数据时分别作为地址高位字节和16 位地址(movx dptr)。此时通过内部强上拉传送1 当使用8 位寻址方式(movri)访问外部数据存储器时,p2 口发送p2 特殊功能寄存器的内容。p3.0-3.7 名称和功能 p3 口p3 口是带内部上拉的双向i/o 口,向p3 口写入1时p3 口,被内部上拉为高电平可用作输入口。当作为输入脚时被外部拉低的p3 口会因为内部上拉而输出电流(见dc 电气特性) ,p3 口还具有以下特殊功能。rxd(p3.0) 串行输入口txd(p3.1) 串行输出口int0(p3.2) 外部中断0int1(p3.3) 外部中断t0(p3.4) 定时器0 外部输入t1(p3.5) 定时器1 外部输入wr(p3.6) 外部数据存储器写信号rd(p3.7) 外部数据存储器读信号rst 名称和功能 复位 :当晶振在运行中,只要复位管脚出现2 个机器周期高电平,即可复位内部有扩散电阻连接到vss, 仅需要外接一个电容到vcc ,即可实现上电复位。ale 名称和功能 地址锁存使能 在访问外部存储器时,输出脉冲锁存地址的低字节。在正常情况下,ale 输出信号恒定为1/6 振荡频率,并可用作外部时钟或定时。注意每次访问外部数据时,一个ale 脉冲将被忽略ale ,可以通过置位sfr 的auxlilary.0 ,禁止置位后ale 只能在执行movx 指令时被激活。psen 名称和功能 程序存储使能当执行外部程序存储器代码时,psen 每个机器周期被激活两次,在访问外部数据存储器时psen无效访问内部程序存储器时psen 无效。ea/vpp 名称和功能 外部寻址使能/编程电压,在访问整个外部程序存储器时,ea 必须外部置低。如果ea 为高时,将执行内部程序除非程序计数器包含大于片内flash 的地址,该引脚在对flash 编程时,接5v/12v 编程电压(vpp) ,如果保密位1 已编程ea 在复位时由内部锁存。xtal1 名称和功能 晶体1反相振荡放大器输入和内部时钟发生电路输入xtal2 名称和功能 晶体2 反相振荡放大器输出7.1.1 振荡器特性xtal1 和xtal2 为输入和输出可分别作为一个反相放大器的输入和输出此管脚可配置为使用内部振荡器要使用外部时钟源驱动器件时xtal2 可以不连接而由xtal1 驱动外部时钟信号无占空比的要求因为时钟通过触发器二分频输入到内部时钟电路但高低电平的最长和最短时间必须符合手册的规定。7.1.2 时钟控制寄存器ckcon该器件提供通过一个sfr 位ckcon 的x2 位和一个flash 位保密块中的fx2 控制选择时钟/12 时钟模式。当x2 置0 时12 时钟模式有效该位置1 时,系统切换到6 时钟模式。由于该功能是通过sfr 位实现的,因此可以随时访问并修改。需要注意的是,将x2 从0 改为1 将导致用户代码以两倍的速度执行,因为所有的系统时间间隔都变成原来的1/2 从6 时钟模式变为12 时钟模式会将运行代码的速度降低为1/2。flash 时钟控制位fx2 可通过并行编程器编程取代x2 位实现6 时钟模式。7.1.3 复位在振荡器工作时,将rst 脚保持至少两个机器周期高电平12 时钟模式为24 个振荡器周期,6 时钟模式为12 振荡器周期可实现复位。为了保证上电复位的可靠,rst 保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期。复位后,振荡器以12 时钟模式运行当已通过并行编程器设置为6 时钟模式时除外。7.1.4 定时器0 和1 的操作定时器0 和1定时和计数功能由特殊功能寄存器tmod 的控制位c/t 进行选择。这两个定时/计数器有4 种操作模式,通过tmod 的m1 和m0 选择,两个定时/计数器的模式0、 1 和2 都相同模式3 不同、如下所述:模式0将定时器设置成模式0 时类似8048 定时器,即8 位计数器带32 分频的预分频器。此模式下,定时器寄存器配置为13 位寄存器。当计数从全为“1 ”翻转为全为“0” 时定时器中断标志位tfn 置位。当trn=1 同时gate=0 或intn=1 时定。时器计数置位gate 时允许由外部输入intn控制定时器,这样可实现脉宽测量,trn 为tcon 寄存器内的控制位。该13 位寄存器包含thn 全部8 个位及tln 的低5 位。tln 的高3 位不定,可将其忽略置。位运行标志trn 不能清零此寄存器。模式0的操作对于定时器0 及定时器1 都是相同的。两个不同的gate 位tmod.7 和tmod.3 分别分配给定时器0 及定时器1。模式1模式1 除了使用了thn 及tln 全部16 位外,其它与模式0 相同。模式2此模式下定时器寄存器作为可自动重装的8 位计数器tln 。tln 的溢出不仅置位tfn,而且将thn 内容重新装入tln ,thn 内容由软件预置。重装时thn 内容不变。模式2 的操作对于定时器0及定时器1 是相同的。模式3在模式3 中,定时器1 停止计数,效果与将tr1 设置为0 相同。at89c51单片机为40引脚双列直插芯片,有四个i/o口p0,p1,p2,p3, mcs-51单片机共有4个8位的i/o口(p0、p1、p2、p3),每一条i/o线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,xtal1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,xtal2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,晶振采用24m。20引脚为接地端,40引脚为电源端。电路图如下图所示。图四7.2 时钟电路模块ds1302 是dallas 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态ram, 通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过am/pm 指示决定采用24 或12 小时格式。ds1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1、 res (复位);2 、i/o 数据线;3 sclk(串行时钟).时钟/ram 的读/写数据以一个字节或多达31 个字节的字符组方式通信。ds1302 工作时功耗很低保持数据和时钟信息时功率小于1mw。ds1302 是由ds1202 改进而来,增加了以下的特性:双电源管脚用于主电源和备份电源供应,vcc1 为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。下面将主要的性能指标作一综合(1) 实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力(2) 31 8 位暂存数据存储ram(3) 串行i/o 口方式使得管脚数量最少(4) 宽范围工作电压2.0 5.5v(5) 工作电流2.0v 时,小于300na(6) 读/写时钟或ram 数据时有两种传送方式单字节传送和多字节传送字符组方式(7) 8 脚dip 封装或可选的8 脚soic 封装根据表面装配(8) 简单3 线接口(9) 与ttl 兼容vcc=5v(10) 可选工业级温度范围-40 +85(11) 与ds1202 兼容(12) 在ds1202 基础上增加的特性对vcc1可选的涓流充电能力双电源管用于主电源和备份电源供应备份电源管脚可由电池或大容量电容输入附加的7 字节暂存存储器ds1302的引脚vcc1为后备电源,vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。ds1302由vcc1或vcc2两者中的较大者供电。当vcc2大于vcc1+0.2v时,vcc2给ds1302供电。当vcc2小于vcc1时,ds1302由vcc1供电。x1和x2是振荡源,外接32768hz晶振。rst是复位/片选线,通过把rst输入驱动置高电平来启动所有的数据传送。rst输入有两种功能:首先,rst(接89c51的p3.0/rxd)接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电时,在vcc大于等于2.5v之前,rst必须保持低电平中有在sclk 为低电平时,才能将rst置为高电平,i/o为串行数据输入端(双向)。sclk始终是输入端。时钟电路模块如下图所示。图五7.3 温度采集模块采用数字式温度传感器ds18b20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用p1.6与ds18b20连接,vcc接电源,gnd接地。7.3.1 ds18b20的主要特征: (1) 全数字温度转换及输出。 (2) 先进的单总线数据通信。 (3) 最高12位分辨率,精度可达土0.5摄氏度。 (4) 12位分辨率时的最大工作周期为750毫秒。 (5) 可选择寄生工作方式。 (6) 检测温度范围为55c +125c (67f +257f) (7) 内置eeprom,限温报警功能。 (8) 64位光刻rom,内置产品序列号,方便多机挂接。 (9) 多样封装形式,适应不同硬件系统。 7.3.2 ds18b20引脚功能: gnd 电压地 dq 单数据总线 vdd 电源电压 nc 空引脚7.3.3 ds18b20工作原理及应用: ds18b20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18b20的内部存储器资源。18b20共有三种形态的存储器资源,它们分别是: rom 只读存储器,用于存放ds18b20id编码,其前8位是单线系列编码(ds18b20的编码是19h),后面48位是芯片唯一的序列号,最后8位是以上56的位的crc码(冗余校验)。数据在出产时设置不由用户更改。ds18b20共64位rom。ram 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,ds18b20共9个字节ram,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户eeprom(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个eeprom的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的crc码。eeprom 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,ds18b20共3位eeprom,并在ram都存在镜像,以方便用户操作。7.3.4 控制器对18b20操作流程: (1) 复位:首先我们必须对ds18b20芯片进行复位,复位就是由控制器(单片机)给ds18b20单总线至少480us的低电平信号。当18b20接到此复位信号后则会在1560us后回发一个芯片的存在脉冲。 (2) 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560us后接收存在脉冲,存在脉冲为一个60240us的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18b20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3) 控制器发送rom指令:双方打完了招呼之后最要将进行交流了,rom指令共有5条,每一个工作周期只能发一条,rom指令分别是读rom数据、指定匹配芯片、跳跃rom、芯片搜索、报警芯片搜索。rom指令为8位长度,功能是对片内的64位光刻rom进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的id号来区别,一般只挂接单个18b20芯片时可以跳过rom指令(注意:此处指的跳过rom指令并非不发送rom指令,而是用特有的一条“跳过指令”)。rom指令在下文有详细的介绍。 (4) 控制器发送存储器操作指令:在rom指令发送给18b20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写ram数据、读ram数据、将ram数据复制到eeprom、温度转换、将eeprom中的报警值复制到ram、工作方式切换。存储器操作指令的功能是命令18b20作什么样的工作,是芯片控制的关键。 (5) 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18b20执行其指令,一般转换时间为500us。如执行数据读写指令则需要严格遵循18b20的读写时序来操作。数据的读写方法将有下文有详细介绍。 若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过rom指令、执行温度转换存储器操作指令、等待500us温度转换时间。紧接着执行第二个周期为复位、跳过rom指令、执行读ram的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。其它的操作流程也大同小异,在此不多介绍。dsl8b20数字温度计提供9位(二进制)温度读数,指示器件的温度,图如下所示图六7.4 显示模块显示部分采用的是lcd12864液晶显示屏,db0db7接上拉电阻.rs rs=“h”,表示db7db0为显示数据;rs=“l”,表示db7db0为显示指令数据。r/w r/w=“h”,e=“h”,数据被读到db7db0; r/w=“l”,e=“h变l”, db7db0的数据被写到ir或dr。e 使能信号。db7db0 三态数据线。vout lcd驱动电压输出端。v0 对比度(亮度)调整。cs 片选;rst 复位。7.4.1 字符型液晶显示模块的基本特点(1) 液晶显示屏是以若干个5 7/8或5 10/11点阵块组成的显示字符群,每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。(2) 主控制驱动ic为hd44780及其他公司全兼容ic如:nt3881 novatek ks0066 samsung splc78a01 sunplus。(3) 具有字符发生器rom,可显示192种字符,160个5 7点阵字符和32个5 10点阵字符。(4) 具有64个字节的自定义字符ram,可自定义8个5 8点阵字符或4个5 11点阵字符。(5) 具有80个字节的ram。(6) 标准的接口特性,适配m6800系列mpu的操作时序。(7) 模块结构紧凑轻巧装配容易。(8) 单+5v电源供电。(9) 低功耗、长寿命、高可靠性。图七图八8 电路原理及说明ds1302是串行时钟芯片,8脚dip。x1 x2 -32.768khz 晶振管脚gnd -地rst -复位脚i/o - 数据输入/输出引脚sclk -串行时钟vcc1,vcc2 -电源供电管脚8.1 时钟芯片ds1302的工作原理:ds1302在每次进行读、写程序前都必须初始化,先把sclk端置 “0”,接着把rst端置“1”,最后才给予sclk脉冲。下图为ds1302的控制字,此控制字的位7必须置1,若为0则不能把对ds1302进行读写数据。如下图所示:图九对于位6,若对程序进行读/写时ram=1,对时间进行读/写时,ck=0。如下图所示:图十位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。ds1302的 “ch”是时钟暂停标志位,当该位为1时,时钟振荡器停止,ds1302处于低功耗状态;当该位为0时,时钟开始运行。“wp”是写保护位,在任何的对时钟和ram的写操作之前,wp必须为0。当“wp”为1时,写保护位防止对任一寄存器的写操作。wp的位置如下图所示:图十一图十二8.2 ds1302的控制字节ds1302的控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入ds1302中,位6如果0,则表示存取日历时钟数据,为1表示存取ram数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。图如上图所示。8.3 ds1302内部寄存器ch是时钟停止位,ch=0时振荡器工作允许,ch=1时振荡器工作停止;wp是写保护位,wp=0时寄存器数据能够写入,wp=1时,寄存器数据不能写入:tcs是涓流充电选择,当tcs=1010时,使能涓流充电,tcs=其他的时,禁止涓流充电;ds1302的日历、时间寄存器的说明图如下所示:图十三图十四9 protues的设计过程protues的主要特点如下:(1)可以仿真、分析各种模拟器件和集成电路,其最大的特点就是可以支持许多单片机的仿真,该软件的单片机的仿真库里面有51系列、pic系列、avr系列、摩托罗拉的68mh11系列的等等。protues的仿真都是基于spice3f5的,因此它也是能像其他的eda软件那样进行电路分析,例如模拟分析、数字分析、混合信号分析、频率分析等等;(2)提供了虚拟示波器、逻辑分析仪、信号发生器、计数器。电表、virtual terminal(使用电脑的键盘和显示器通过串口与外部的单片机通讯)等虚拟仪器仪表供选择使用;(3) 能进行sch(原理图)与pcb(印制板)的设计;(4)能和keil、matlab等软件的整合使用,以求达到更好的效果。isis 智能原理图输入流程 设置编辑环境:用户可自定义图形外观,包括线宽、填充类型、字符等。 原理图连线:点击元件引脚或者先前连好的线,就能实现连线;也可使用自动连线工具连线; 建立网络表:网络表是电路板与电路原理图之间的纽带。建立的网表用于pcb制板。 报表输出:材料报表、erc报表等。 激励源n dc:直流电压源;n sine:幅值、频率、相位可控的正弦波发生器。n pulse:幅值、周期和上升/下降沿时间可控的模拟脉冲发生器。n exp:指数脉冲发生器。n sffm:单频率调频波信号发生器。n pwlin:任意分段线性脉冲、信号发生器。n file:file信号发生器。数据来源于ascii文件。n audio:音频信号发生器。n dstate:稳态逻辑电平发生器。n dedge:单边沿信号发生器。n dpulse:单周期数字脉冲发生器。n dclock:数字时钟信号发生器。n dpattern:模式信号发生器。proteus微处理器系统仿真 在基于微处理器系统的设计中,即使没有物理原型,proteus vsm也能够进行软件开发。 模型库中包含lcd显示、键盘、按钮、开关等通用外围设备。同时,提供的cpu模型有arm7、pic、atmel avr、motorola hcxx以及8051/8052系列。 单片机系统的仿真是proteus vsm的一大特色。同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并可容易的查看到用户对源程序修改后对仿真结果的影响。 vsm甚至能仿真多个cpu,它能便利处理两个或以上微控制器的联结与设计根据protues是这些特点,采用protues仿真,程序通过keil编译再读取到51芯片就可以了。9.1 电路原理图的设计运行isis 7 professional后如下所示图十五在上图的工具栏中左键“p”在category中找到micriprocessor ics,在右边的框找到a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论