Tianjin University of Technology and Education 课程设计学院:电子工程学院班级:应电1211班学生姓名:马登桂(01)张婵(20)李春鹏(22)指导教师:马宁梁彩凤2015年7月天津职业技术师范大学应电专业课程设计任务书电子工程学院应电1211 班学生:课程设计课题:一、课程设计工作日自 2015 年 7 月 6 日至 2015 年 7 月 24日二、同组学生:三、课程设计任务要求:要求全班同学每3人一组自由分组,每组在下列题目中任选2题,完成电路设计仿真、硬件焊接以及软件的编程与调试(统一采用AT89系列单片机):题目1:基于单片机的多功能计算器设计题目(显示设备采用1602液晶模块)基本要求:以4×4键盘作为输入,通过软件设计实现加减乘除计算功能,并显示;扩展功能:进一步实现乘方、开方、对数、阶乘等科学计算功能。
题目2:基于单片机的电子万年历设计(显示设备采用1602液晶模块)基本要求:通过软件设计实现年月日时间显示及时间设定等功能;扩展要求:进一步实现定时闹钟功能。
题目3:基于单片机的温度采集显示电路设计(显示设备采用4位数码管)基本要求:实现用DS18B20采集温度,并实时显示;扩展要求:进一步实现预设温度告警功能。
指导教师:梁彩凤、马宁目录1基于单片机的电子万年历设计1.1设计任务基本要求:通过软件设计实现年月日时间显示及时间设定等功能;扩展要求:进一步实现定时闹钟功能。
1.2 设计方案1.2.1总体方框图图1.1总体方框图1.2.2整体功能说明:本论文一主要研究基于单片机的万年历设计。
当程序执行后,LCD显示即时时间、年月日、星期、温度。
设置3个操作键:K1:设置键;K2:上调键;K3:下调键。
本设计的主要内容:1、了解单片机技术的发展现状,熟悉万年历各模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;4、分别在各自的模块中调试出对应的功能,在Proteus软件上进行仿真。
1.3电路设计与分析1.3.1设计要求1、具备在液晶上显示年、月、日、星期、时、分、秒的功能;2、具备年、月、日、星期、时、分、秒校准功能;3、具有与即时时间同步的功能;4、具有实现闹钟的功能。
1.3.2单片机芯片的选择方案和论证方案一:采用AT89S51芯片作为硬件核心,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,所以在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:采用STC89C52芯片,STC89C52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash存储器。
同样具有AT89S51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,因此选择采用STC89C52作为主控制系统核心。
1.3.3显示模块选择方案和论证方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。
方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。
方案三:采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。
所以在此设计中采用1602液晶显示屏。
1.3.4时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。
方案二:DS12C887 实时时钟芯片功能丰富,可 以用来直接代替 IBP 时钟日历芯片 DS12887,同时,它的管脚也和 MC146818B 、DS12887 相兼容。
由于 DS12C887 能够自动产生世纪、 年、月、日、时、分、秒等时间信息,其内 部又增加了世纪寄存器,从而利用硬件电路 解决子“千年”问题;DS12C887 中自带有锂电 池,外部掉电时,其内部时间信息还能够保 持 10 年之久;对于一天内的时间记录,有12 小时制和 24 小时制两种模式。
在 12 小时 制模式中,用 AM 和 PM 区分上午和下午; 时间的表示方法也有两种,一种用二进制数 表示,一种是用 BCD 码表示;DS12C887 中 带有 128 字节 RAM ,其中有 11 字节 RAM 用来存储时间信息,4 字节 RAM 用来存储 DS12C887 的控制信息,称为控制寄存器,113 字节通用 RAM 使用户使用;此外用户还 可对 DS12C887 进行编程以实现多种方波输 出,并可对其内部的三路中断通过软件进行 屏蔽。
1.3.5复位选择方案与论证方案一:1、复位电路的设计复位电路是使单片机的CPU 或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。
(1)单片机常见的复位电路通常单片机复位电路有两种:上电复位电路,按键复位电路。
上电复位电路:上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。
它利用的是电容充电的原理来实现的。
按键复位电路:它不仅具有上电复位电路的功能,同时它的操作比上电复位电路的操作要简单的多。
如果要实现复位的话,只要按下RESET 键即可。
它主要是利用电阻的分压来实现的 方案二:在此设计中,采用的按键复位电路。
按键复位电路如图1.2所示。
图1.2复位电路(2)复位电路工作原理上电复位要求接通电源后,单片机自动实现复位操作。
上电瞬间RESET 引脚获得高电平,随着电容的充电,RERST 引脚的高电平将逐渐下降。
RERST 引脚的高电平只要能保持足够的时间(2VCC个机器周期),单片机就可以进行复位操作。
上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作1.3.6晶振电路的方案论证晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。
单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图1.3中Y1、C1、C2。
可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
图1.3时钟振荡电路1.3.6 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用STC89C52作为主控制芯片,DS12C887时钟芯片计时,按键复位电路及晶振,LCD1602作为显示模块。
1.4整机电路图与仿真波形图图1.4电路图1.5焊接调试与性能检测1.5.1焊接调试电子万年历的电路系统比较复杂,焊接方面不可轻视,只要电路系统中出于一处的错误,就会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。
在本次电子万年历的设计调试中遇到了很多的问题。
回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:(1)对万年历修改时间或日期时,有时LCD液晶显示屏被屏蔽掉,造成不亮现象。
解决:根据仪器的测试,发现电路的驱动能力不足,最后在DS12C887时钟芯片的/CS、SCLK RET端接入5.1K的上拉电阻后,电路的驱动能力才能满足,即可解决不亮现象。
(2)烧入程序后,LCD液晶显示屏不显示或者亮度不好。
解决:不显示时首先使用万用表对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏的现象。
若无此问题查看烧写的程序是否正确无误,对程序进行认真修改。
当显示亮度不好时一遍旋转10K 欧的滑动变阻器,一遍观看LCD显示屏,直到看到合适的亮度为止。
经过多次的反复调试试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。
同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。
如下为硬件实物图:图1.5万年历硬件图1.5.2性能指标测试与记录图1.6性能测试结果1.5.3元器件清单表1—1元器件清单1.6设计总结通过本次课程设计我们组通过自己的实践对书本上的知识进行了与生活相关的运用。
在这个程序中主要运用了所学习的条件语句,循环语句,数组以及调用函数。
这些知识的运用使我对课本内容的认识得到加深。
在编写程序的过程中,也出现了很多的错误。
比如程序语句错误导致检测时连续报错;函数语句编写错误导致输出结果与实际不符等。
出现这些情况后,通过对教材的深入的理解和解读,我发现了自己的程序的问题所在并进行了改正。
最后得到正确的结果。
2 基于单片机的温度采集显示电路设计2.1 设计任务基本要求:实现用DS18B20采集温度,并实时显示;扩展要求:进一步实现预设温度告警功能。
2.2 设计方案2.2.1 总体方框图图2.1总体框图2.2.2 整体功能说明以MCS-51系列单片机为核心器件,组成一个数字温度计,本数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55°C至+125°C,最大分辨率可达0.0625°C。
DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点进行单点温度检测,检测精度为±0.1摄氏度。
温度显示采用LCD1602显示,两位整数,一位小数。
按照系统设计功能的要求,确定系统由三个模块组成:主控制器STC89C52,温度传感器DS18B20,驱动显示电路.2.3 电路设计与分析2.3.1方案论证(1)温度传感模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的,也不能满足测量范围。
在温度测量系统中,也常采用单片温度传感器,比如AD590,LM35等。
但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使测温系统的硬件结构较复杂。
另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。