已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的万年历的设计一、方案设计(一)电路方案的选取1单片机芯片的选择方案方案一:采用AT89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有AT89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,所以选择采用AT89C52作为主控制系统。2显示模块选择方案方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,与液晶相比,耗电及体积大与液晶相比,耗电及体积大,所以也不用此种作为显示。方案二:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。3电路设计最终方案决定综上各方案所述,对本次设计方案选定:采用AT89C52作为主控制系统;DS1302提供时钟;LCD液晶显示屏作为显示。电路设计框图如图2-1所示:LCD显示模块AT89C52主控制模块DS1822温度模块 DS1302时钟模块键盘模块图2-1系统原理图二、电路的硬件设计(一)系统硬件介绍本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS1822构成;显示部份由LCD液晶显示屏显示。1AT89C52单片机简介AT89C52是51系列的一个型号。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求 。AT89C52引脚分布如图2-2所示:图2-2 AT89C52引脚分布图(二)主要单元电路的设计1单片机主控制模块的设计AT89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。主控制系统如图2-3所示: 图2-3 主控制系统 2时钟电路模块的设计图2-4示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。DS1302的连接如图2-4所示: 图2-4 DS1302的连接图3时钟电路原理及说明(1) 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表2为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节:DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出命令字节的格式如表2-1所示:表2-1 命令字节格式 D7 D6 D5 D4 D3 D2 D1 D0 1 R/c A4 A3 A2 A1 A0 R/w(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。单字节传送操作格式如图2-5所示:图2-5 单字节传送操作格式多字节突发模式操作格式如图2-6所示:图2-6 多字节突发模式操作格式(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。DS1302片内各寄存器数据格式如表2-2所列:表2-2 DS1302片内各寄存器数据格式时钟/RAM 数 据 格 式 D7 D6 D5 D4 D3 D2 D1 D0 秒:0059 CH 10秒 秒 分:0059 0 10分 分 时:0023 0 0 10小时 小时 日:0131 0 0 10日 日 月:0112 0 0 0 10月 月星期:0107 1 0 0 0 0 星期 年:0107 10年 年 控制 WP 0 0 0 0 0 0 0RAM 030 X X X X X X X X4温度测量模块的设计DS1822是一种用一根信号线与一根返回线来实现互连通信的集成电路芯片。采用这种芯片构成的微型局域网系统具有建网速度快、成本低的特点,非常适合现场应用。一线数字温度计芯片DS1822就是DALLAS公司推出的系列一线总线产品之一,它支持DALLAS触摸接口,遵循一线协议,并可以与处理器进行双向数字通信,同时性价比也很高,是一种使用起来非常方便的经济型温度传感器。DS1822内部电路的核心是一个直接数字输出的温度传感器。它可将55125 范围内的温度值按9位、10位、11位、12位的分辨率进行量化,且以上的分辨率都包括一个符号位,因此对应的温度量化值分别是0.5、0.25、0.125、0.0625,即最高分辨率为0.0625,工作电压范围为3.05.5。(1) DS1822的测温原理用DS1822一线式数字温度芯片测量温度的原理如图所示。它没有采用传统的转换原理,如逐次逼近法、双积分式和算术等,而是运用了一种将温度直接转换为频率的时钟计数法,计数时钟由温度系数很低的振荡器产生,因而非常稳定;而计数的闸门周期则由温度系数很高(即对温度非常敏感)的振荡器来决定。温度测量的原理框图如图2-7所示: 斜坡累加器 预置 比较器 置顶低温度系统振荡器 计数器置1/清零 =0 温度寄存器 计数器高温度系统振荡器停止 =0图2-7 温度测量的原理框图计数器中的预置值以55时的计数值为基准,在闸门开放计数期间,每当计数值达到0,则温度寄存器就加,温度寄存器中的预置值也以55的测量值为基准。同时计数器的预置值还与斜坡累加器电路有关,该电路用于补偿振荡器对温度的抛物线特性,因此还要用时钟脉冲针对这个非线形校正预置值作计数操作,直至计数值达到0为止,如果此时闸门还未关闭,则再重复计数过程。斜坡累加器补偿了振荡器对温度的非线形特性,从而可以获得较高的温度测量分辨率,改变相对于测温量化级的计数量大小即可获得不同的分辨率。(2) DS1822的测温过程在测温时对DS1822进行操作的步骤如下:a初始化(READ ROM指令,代码33H),每次对DS1822进行操作之前都要对其进行初始化,主要目的在于确定温度传感器是否已经连接到单总线上。b查找DS1822(SEARCH ROM指令,代码FOH),该指令可使处理器通过排除法来辨别总线上的DS1822。c匹配DS1822(MACTH ROM指令,代码55H),只有完全符合64位ROM序列的DS1822才能响应其后的指令,当然,单点测温时可以使用SKIP ROM(CC H)指令来跳过这一步。d发送温度转换指令(CONVERT 指令代码44H),发送该指令后应查询总线上的电平,当电平为高时,温度转换完成。e读取温度值(READ SCRTCHPAD指令代码BE H),将该指令发出后,就可从总线上读取表示温度的两字节的二进制数。整个测温过程中的第45步才是DS1822进行测温并将结果进行数字化转换和输出的过程。DS1822接收到转换命令(44H)将立刻实施温度转换,并将结果存储到16位便笺式存储器中,数据格式为符号位扩展的二进制补码,然后用读便笺式存储器命令(BE H)将所得数据顺序置于总线上,最低位在前,最高位定义为符号位以表示温度的正负。DS1822温度与数字输出典型值的对照表如表2-3所列:表2-3 DS1822 温度与数字输出的典型值 温度() 数字输出(二进制) 数字输出|(十六进制) +1250000 0111 11011 0000 07D0 +850000 0101 0101 0000 0550 +25.6250000 0001 1001 0001 0191 +10.1250000 0000 1010 0010 00A2 +0.50000 0000 0000 1000 0008 00000 0000 0000 0000 0000 -0.51111 1111 1111 1000 FFF8 -10.1251111 1111 0101 1110 FF5E -25.6251111 1110 0110 1111 FE6F -551111 1100 1001 0000 FC90(3)温度测量模块的电路图设计如图2-8所示:图2-8 温度测量模块电路5显示模块的设计如图2-9为LCD显示模块。图2-9 LCD液晶显示屏显示模块6闹铃模块电路设计闹铃功能是可以设置多个闹铃的。闹铃的持续时间为一分钟。可以手动按键关闭闹铃。闹铃电路模块如图2-10所示:图 2-10 闹铃模块电路图三、电路的软件设计(一)程序流程框图当电路接入电源后,首先进行初始化。初始化完成后如果是反正实验显示屏会自动读取当前计算机时间,如果是实物电路则会却不显示零。这时通过按键进入子程序进行时间设置调整。主程序流程图如图3-1所示:开 始初 始 化显 示 子 程 序开关控制子程序时 间 修 改 程 序闹铃开关日期修改程序显 示 结 果返 回图3-1主程序流程图(二)子程序流程图子程序主要是对时间和闹铃时间进行设置调整。时间及闹铃程序流程图如图3-2所示.开 始控件有效,进入年调整程序等待按键程序加键有效年加一控件有效,进入月调整程序等待按键程序加键有效月加一控件有效,进入日调整程序等待按键程序加键有效日加一控件有效,进入星期调整程序等待按键程序加键有效星期加一控件有效,进入分调整程序等待按键程序加键有效分加一控件有效,进入小时调整程序等待按键程序加键有效时加一控制有效,跳出时间调整程序,进入主循环程序图3-2 时间及闹铃程序流程图四、万年历功能仿真(一)Proteus软件简介Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,20XX年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。1进入Proteus ISIS双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 7.1 Professional” “ISIS 7.1 Professional”,出现如图4-1所示图4-1 启动时的屏幕2基本操作(1)图形编辑窗口在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图采用了坐标系统ISIS中坐标系统的基本单位是10nm,主要是为了和Proteus ARES保持一致。但坐标系统的识别单位被限制在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。点状栅格与捕捉到栅格编辑窗口内有点状的栅格,可以通过View菜单的Grid命令在打开和关闭间切换。点与点之间的间距由当前捕捉的设置决定。实时捕捉(Real Time Snap):当鼠标指针指向管脚末端或者导线时,鼠标指针将会被捕捉到这些物体,这种功能被称为实时捕捉,该功能可以使你方便的实现导线和管脚的连接。可以通过Tools菜单的Real Time Snap 命令或者是TRL+S切换该功能。可以通过View菜单的Redraw命令来刷新显示内容,预览窗口中的内容也将被刷新。当执行其它命令导致显示错乱时可以使用该特性恢复显示。 (2)预览窗口(The Overview Window)该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编辑窗口的中显示的区域。 其他情况下,预览窗口显示将要放置的对象的预览。这种Place Preview特性在下列情况下被激活:l 当一个对象在选择器中被选中l 当使用旋转或镜像按钮时l 当为一个可以设定朝向的对象选择类型图标时当放置对象或者执行其他非以上操作时,place preview会自动消除l 对象选择器(Object Selector)根据图标决定的当前状态显示不同的内容。 (3)对象选择器窗口通过对象选择按钮,从元件库中选择对象,并置入对象选择器窗口,供今后绘图时使用。显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形。(4)图形编辑的基本操作包括:a.选中对象(Tagging an Object)用鼠标指向对象并点击右键可以选中该对象。该操作选中对象并使其高亮显示,然后可以进行编辑。 选中对象时该对象上的所有连线同时被选中。 要选中一组对象,可以通过依次在每个对象右击选中每个对象的方式。也可以通过右键拖出一个选择框的方式,但只有完全位于选择框内的对象才可以被选中。在空白处点击鼠标右键可以取消所有对象的选择。b删除对象(Deleting an Object)用鼠标指向选中的对象并点击右键可以删除该对象,同时删除所有连线。c拖动对象标签(Dragging an Object Label)许多类型的对象有一个或多个属性标签附着。可以很容易地移动这些标签使你的电路图看起来更美观。移动标签的步骤如下(To move a label):首先,选中对象;然后,用鼠标指向标签,按下鼠标左键。进而,拖动标签到你需要的位置。d调整对象大小(Resizing an Object)子电路(Sub-circuits)、图表、线、框和圆可以调整大小。当你选中这些对象时,对象周围会出现黑色小方块叫做“手柄”,可以通过拖动这些“手柄”来调整对象的大小。调整对象大小的步骤如下(To resize an object):首先选中对象;然后如果对象可以调整大小,对象周围会出现黑色小方块,叫做“手柄”。最后用鼠标左键拖动这些“手柄”到新的位置,可以改变对象的大小。在拖动的过程中手柄会消失以便不和对象的显示混叠。(二)按键功能介绍:1主界面按键功能由上而下依次为:1)设置时间;2)设置闹钟;3)闹铃开关;4)当闹铃触发时按下停止闹铃(否则会在一分钟后停止)2当设置时间和闹铃时按键功能介绍1)切换设置光标;2)设置光标对应处加1;3)保存设置信息返回主界面;4)不保存设置信息返回主界面。按键分布如图4-3所示:图4-3 按键分布(三)仿真结果显示1上电后后LED显示:此时电路初始化完毕,并读取了计算机时间,此时闹铃默认为关。电路初始化完毕后显示图如图4-4所示:图4-4 电路初始化完毕后显示图2调节分钟:按下时间设置键,首先显示分钟设置调整,按(2)键增加1。超过60则归零。调节分钟显示图如图4-5所示图4-5 调节分钟显示图3调节小时:设置分钟完成后继续按下时间设置键怎会进入小时调整,同理按(2)键加一超过23则归零。调节小时显示图如图4-6所示:图4-6 调节小时显示图4调节日期:同理设置日期,程序会根据月份进行归零。调节日期显示图如图4-7所示:图4-7 调节日期显示图5调节月份:同理调节月份,超过12则会归零。调节月份显示图如图4-8所示:图4-8 调节月份显示图6调节年份:年份显示会在初始化读取当前年份,按(2)键加一。调节年份显示图如图4-9所示:图4-9 调节年份显示图7点击闹铃开启键显示:在主程序下按(3)键,开启或关闭闹铃,按(2)键进图闹铃时间设置。闹铃时间设置如同程序数字钟时间设置,不再赘述。闹铃开启显示如图4-10所示:图4-10 闹铃开启显示总结是我们三年所学知识的综合运用,也是创新思维和设计能力相结合的过程。虽然再此之前也有过几次课程设计,但无论时间、精力还是从设计过程中得到的收获,都比不上。这次大大提高了我们对实际电路设计的熟练程度,同时激发了我们对本专业课程的兴趣。制作这次一切都是从零开始,从最简单的画流程图起步,这次课程设计可以圆满完成,跟单片机课程里面的课外作业是离不开的。这次从开始到仿真成功前后经历了一个学期。在整个设计过程中,充分发挥我的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了设计,达到了预期的目的,完成最初的设想。对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,和同学讨论,理清了思路,反而得心应手。在此次设计中,知道了做任何事都要有一颗平常的心,不要想着走捷径,一步一个脚印。也练就了我的耐心,做什么事都要有耐心。此次课程设计中学到了很多很多东西,这是最重要的。总之,此次课程设计使我的能力得到了全方位的提高,使我的操作能力和专业技能都有了很大的提高。这次使我明显的感觉到自身知识的缺乏,同时让我对电子设计所必须的知识产生了浓厚的兴趣,这必将激励我在今后的生活中更加努力的学习。由于本人知识能力有限,加上时间仓促,万年历定会存在各种不足,希望广大的读者和老师能多多修改更正。附录一:系统电路图附录二:仿真程序#include#include/*/#define uchar unsigned char #define uint unsigned int#define TIME (0X10000-50000)#define FLAG 0XEF /闹钟标志/*/全局变量及常量定义uchar i=20,j;uchar DataBuf16 = ;/日期uchar TimeBuf16 = ;/时间 uchar alarm2,time3;uchar code Day=31,28,31,30,31,30,31,31,30,31,30,31;/12个月的最大日期(非闰年) /闰年月星期表 const unsigned char WeekTab = (3 5) + 31,/1月 (6 5) + 29,/2月 (0 5) + 31,/3月 (3 5) + 30,/4月 (5 5) + 31,/5月 (1 5) + 30,/6月 (3 5) + 31,/7月 (6 5) + 31,/8月 (1 5) + 30,/9月 (4 5) + 31,/10月 (0 5) + 30,/11月 (2 5) + 31 /12月 ; /音律表uint code table1=64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217;/发声部分的延时时间uchar code table2=0x82,1,0x81,0xf4,0xd4,0xb4,0xa4,0x94,0xe2,1,0xe1,0xd4,0xb4,0xc4,0xb4,4,0;/闹钟中用的全局变量uchar th1,tl1;/*/LCD控制函数Enable(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灯光维保服务合同范本
- 网吧消防维保合同范本
- 滴胶用品寄售合同范本
- 设备转让安全合同范本
- 美甲学员合同协议范本
- 货物增加补充合同范本
- 烤串门店转让合同范本
- 灯具移装服务合同范本
- Unit 4 Shopping Day Period 4 Let's spell.(教学设计)-2024-2025学年人教新起点版英语五年级上 -
- 美的置业投资协议合同
- 2024年葫芦岛辅警协警招聘考试真题含答案详解ab卷
- 上海危险品从业资格证考试试题及答案
- 防渗漏监理实施细则
- 文第16课《诫子书》课件+2025-2026学年统编版语文七年级上册
- 2025年物流专员笔试题目及答案
- 艺术概论(云南艺术学院)
- 塔城地区出租车从业资格考试题库及答案解析
- 2025年入团积极分子团章知识题库(含答案)
- 广东省深圳市深圳实验学校2025-2026学年七年级上学期期中考试数学试卷(含答案)
- 教育局教育督导人员考核方案
- 2025年公安民警初级执法资格考试题库及答案
评论
0/150
提交评论