欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机实习报告电子万年历.张.doc

    • 资源ID:42284720       资源大小:627KB        全文页数:33页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机实习报告电子万年历.张.doc

    电子设计总结报告-电子万年历班级: 100404: 淇瑞学号: 20101407 29 / 33摘要在当代繁忙的工作与生活中,时间与我们每一个人都有非常亲密的关系,每个人都收到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。该电子万年历主要采用AT89S52单片机作为主控核心,由DS1302时钟芯片提供时钟、LCD动态扫描显示屏显示,AT89S52单片机具有功耗小,片ROM全都采用FlashROM:能以3V的超低电压工作,同时也与MCS-51系列单片机完全兼容,该芯片部存储器为8KB ROM存储空间,同时具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。DS1302时钟芯片是美国DALLAS公司推出的具有涓流电流充电功能的低功耗实时时钟芯片,它可以对年、月、日等进行计时,还有闰年补偿等功能,而且使用寿命长,误差小,数字显示是采用的LCD液晶显示,可以同时显示各种需要的信息。此外,该电子万年历还具有时间校准等功能。目 录1 绪论11.1选题背景11.2 选题目的11.3设计意义22 设计要求与方案论证32.1 设计要求32.2 系统基本方案选择和论证32.2.1单片机芯片的选择和方案论证32.2.2显示模块选择方案和论证32.2.3时钟芯片的选择方案和论证32.2.4温度传感器的选择方案与论证42.3最终方案确定43 系统的硬件设计与实现53.1 系统硬件概述53.1.1系统设计框图53.1.2系统硬件需求介绍532系统硬件各模块作用63.2.1 控制系统的设计63.2.2时钟电路模块的设计63.2.3 温度采集模块设计83.2.4闹钟(蜂鸣器电路模块)93.2.5 按键部分93.2.6 液晶显示模块概述103.2.7 USB和外部电源供电电路104 系统的软件实现124.1程序流程框图125 设计总结与心得体会156 参考文献167 致词168 附录17附录一:17附录二:171 绪 论1.1 选题背景在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。智能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,机以与程控玩具、电子宠物等等,这些都离不开单片机。图 1-1 万年历 图1-2 智能手机图1-3数码相机所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。也成就了一批又一智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。1.2 选题目的随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆和摆轮游丝的机械表或钟。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到了秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到了百万分之一秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示式,直观明了,并增加了全自动日期、星期、温度以与其他日常附属信息的显示功能,他更符合消费者的生活需求,因此,电子万年历的出现带来了钟表计时业跨越性的进步。1.3 设计意义(1)在学习了模拟数字技术和数字电子技术和单片机原理课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验并接触专用时钟芯片DS1302,并会用DS1302芯片开发时钟模块,应用到其他系统中去。熟悉protues 和 kiel软件调试程序和仿真。(2)通过实验提高对单片机的认识。(3)通过实验提高焊接、布局、电路检查能力。(4)通过实验提高软件调试能力。(5)进一步熟悉和掌握单片机的结构与工作原理。(6)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。(7)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(8)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应的工作打下坚实的基础。2 设计要求与方案论证2.1 设计要求(1)具有年、月、日、星期、时、分、秒等功能。(2)时间与阴、阳历能够自动关联。 (3)具有温度显示功能和温度报警功能。(4)具备年、月、日、星期、时、分、秒校准功能。2.2 系统基本方案选择和论证2.2.1 单片机芯片的选择和方案论证方案一:采用89C51芯片作为硬件核心,部具有4KB ROM存储空间,能于3V的超低电压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次查吧会对芯片造成一定的损坏。 方案二: 采用AT89C52片ROM全都采用FlashROM:能以3V的超低电压工作,同时也与MCS-51系列单片机完全兼容,该芯片部存储器为8KB ROM存储空间,同时具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。 综上所述,所以采用AT89C52作为主控系统。2.2.2 显示模块选择方案和论证方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机相连接时,占用的单片机口线少,但所需要的数码管数量太多,焊接困难极易出错,所以不采用LED数码管作为显示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如果用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见。综上所述,我们应该选取LCD液晶显示屏。2.2.3 时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒技术,采用此种方案虽然减小芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以与闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压2.5V-5.5V围,2.5V时耗电小于300Ma。综上所述,我们采用DS1302时钟芯片实现时钟。2.2.4 温度传感器的选择方案与论证方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量围广等优点。综上所述,我们采用数字式温度传感器DS18B20。2.3 最终方案确定核心控制体:AT89C52单片机实时时钟芯片:DS1302数字式温度传感器:DS18B20LCD液晶显示屏总共设有四个按键,为节约资源考虑,每个按键都有多种功能。每个按键分别标号为A,B,C,D.第一次按下B,C,D都没有反应,首先按下A键可选择指针位置,B,C键为加减键,D键为闹钟设置键。B同时又是闹钟报警消除键。操作简单,按键灵活。3 系统的硬件设计与实现3.1 系统硬件概述本电路是由AT89S52单片机作为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒等进行计时,具有闰年补偿功能,工作电压为2.5V-5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302部有一个用于临时存放数据的RAM寄存器。可产生年、月、日、时、分、秒等,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成,显示部分为LCD液晶显示屏,能够实现字符与数字同时显示的功能。3.1.1 系统设计框图主控模块时钟模块温度检测模块1602显示模块键盘扫描模块报警模块图2 系统组成框图图3.1.2 系统硬件需求介绍AT89C52单片机一片,DS1302实时时钟芯片一个,DS18B20数字式温度传感器一个,+5V无源蜂鸣器二个,12MHZ晶振一个,多个按键和开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个,USB母口一个。3.2 系统硬件各模块作用3.2.1 控制系统的设计图3 主控制系统图3为单片机最小电路,其中晶振频率可以根据自己需要进行选择,围在0-24MHZ,常用12MHZ。复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。还有其P0部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。P0口有两个作用,一个接上DS1302的AD0-AD7(双向地址/数据复用总线),控制着DS1302的8位并行数据的地址和数据的传输,另接上液晶的DB0-DB7(数据总线)控制着向液晶发送8位并行数据。P1.7接上DS1302的单数据线,发送并接受数据,地址的操作。P3.0到P3.3作为独立按键口。P2.4口为液晶的数据/命令选择端,1为数据,二为命令,P2.5口控制液晶读/写选择端,1为读命令,0为写操作,P2.6口控制液晶使能信号。对DS1302:P2.0口控制DS1302的片选信号的输入(CS),P2.1口控制地址选通输入(AS),P2.2口为读写输入(R/W),P2.3控制着数据选通或读输入(DS)。P3.2(外部中断0)接reset管脚,当闹钟时间到时便由此触发外部中断0,进入到外部中断0程序中。P1.0和P1.1口分别控制着蜂鸣器的报警,当温度、时间到达限定值时会发出高低电平脉冲,以至发出报警声音。3.2.2时钟电路模块的设计图4示出DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源,在主电源关闭的情况下,也能保持时钟的连续运行,DS1302由VCC1或VCC2两者中的较大者供电,当VCC2大于VCC1+0.2V时,VCC2给DS1302供电,当VCC2小于VCC1时候VCC1供电。X1和X2是振荡源,外接32.768KHz晶振,RST是复位片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段,当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作,如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态,上电运行时,在VCC大于等于2.5V之前,RST必须保持低电平,中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端,SCLK始终是输入端。时钟电路芯片DS1302引脚图如图4所示:图4 DS1302的引脚图 工作原理如下:(1) 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出表1 DS1302的控制字格式RAM RD1 A4 A3 A2 A1 A0 / CK /WR(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如图5所示: 图5 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器与其控制字见表2。表2 DS1302的日历、时间寄存器此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器与与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 3.2.3 温度采集模块设计如图6所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。当系统在正常显示状态下需要进行调整时,按一下切换键进入按键处理中断程序,并且此时默认的是调整年,在液晶显示器上显示N,此时按加或减按钮可以进行加减调整,若再按一下切换键,则跳到月上显示Y,同样可以调整加减,同样的道理,进入日(R)、时(S)、分(F)、秒(M)的调整,最后再按一下切换键时退出中断程序,星期系统自动的调整过来。图6 温度传感器部分3.2.4 闹钟(蜂鸣器电路模块)闹钟模块的接线如图7所示,蜂鸣器用CS9013三极管驱动,蜂鸣器用5V的无源蜂鸣器,并接一个发光二极管作为指示灯,同时在发光二极管前串接个限流电阻,数据端口分别接P1.0,P1.1(由单片机的P1.0,P1.1直接输出驱动)。图7 蜂鸣器部分3.2.5 按键部分按键部分如图8所示,本设计总的用了四个按扭开关作为键盘,其中一个是复位键,另三个中的其中两个是调整时间增加、减少的键,第三个是切换年、月、日与时、分、秒的显示状态并在所切换的显示状态下配合加减两个键调整时间。图8 按键部分3.2.6 液晶显示模块概述液晶显示模块如图9所示,字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,本设计采用16列*2行的字符型LCD1602带背光的液晶显示屏。图9 液晶显示部分3.2.7 USB和外部电源供电电路USB和外部电源供电电路部分如图10所示。图10 USB和外部电源供电电路部分这种设计使得万年历可以接插USB口,从而获取电源,也可外部供给+5V电源。此电路图最大优点就是可以连接多个VCC和GND,方便电路连接。有发光二极管做电源指示灯,方便操作。4 系统的软件实现4.1程序流程框图开始初始化读、写日期、时间和温度分离日期时间温度显示值显示子程序农历自动更新子程序日期、时间修改子程序闰月子程返回定时闹铃子程序图11 主程序流程图图12计算阳历程序流程图图13 阴历程序流程图 图14 时间调整程序流程图5 设计总结与心得体会本系统以AT89C51为核心部件,使用串行时钟芯片DS1302,实现时间和闹钟的功能设置。通过键盘和液晶显示屏可方便地校对时钟和设置闹钟时间,本系统基本完成了实用电子钟的功能,尽量做到了硬件电路简单稳定,减少电磁干扰和其他环境干扰。在该系统设计,调试完成之后,对最后的成功进行分析,同时结合在调试过程中出现的错误进行综合分析,总结在实际系统设计和调试过程中的宝贵经验。在系统硬件设计之前,要结合当前系统的发展趋势和现状对系统功能进行定位,使系统在实际应用中具有竞争力。该系统最大的特点就是界面友好,走时准确,和现在使用LED显示数据的万年历相比,体积更小,可以作为轿车车载显示装置,系统采用液晶显示器,可以使系统应用到更加现代化的地方系统具有温度检测功能,可以作为工业温度检测装置,同时可提供温度报警,系统的按键输入功能,可以读取决策,我们可以通过按键发送指令,控制工业现场机器的动作,实现远程控制。可见,该系统本身不仅具有很大的灵活性,友好的界面,方便的可扩展性,同时,在其基础上的系统市场需求也很客观,工业控制的很多场合对时间要求比较严格,在实际系统中,系统各装置按照预定的时间动作,本系统可以很好的满足这些系统的要求。通过本次课程设计让我很好的理解了电子万年历的组成部分和工作原理,也更加的激发了我学习单片机的兴趣,使我明白了只有自己亲自动手才能真正地深刻理解并掌握课本上的理论知识,把理论付诸于实践才能牢牢的把课本上的知识变成自己的。本次课程设计也使我认识到了认真、仔细的态度在现在的学习和以后的工作中是多么的重要,“细节决定成败”,因此,从现在开始就要逐步培养自己的认真负责的心态,并养成注重细节的良好习惯。6 参考文献1 勇 数字电路 电子工业 20042 正振 电子电路设计与制作 交通职业技术学院信息工程系 20073 子文 单片机原理与应用 电子科技大学 20064 王法能 单片机原理与应用 科学 20045 全利 单片机原理与接口技术 高等教育 20096 王为青 邱文勋 51单片机应用开发案例精选 人民邮电 20077 鹏 王雪梅 单片机原理与应用实例教程 海洋 20087 致词感学院给我们提供了一个展现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。很多课本上的知识了解了不一定能够理解,所以只有在实践中去亲自动手操作的才能够真正的掌握,在本次课程设计确实面临了很多的困难与挫折,但是只要我们能够静下心来慢慢分析、慢慢学习,通过向老师的请教和与同学的探讨,终究能够解决困难。 在做作品的日子里得到了老师的悉心指导,在此向我们的指导教师致以诚挚的意。感提供相关技术帮助的老师和同学,是你们给了我很多无私的支持和帮助,正是由于你们的支持和鼓励才能让我对这次的作品完成有了信心和动力,我在此深表意。8 附录附录一:电路图附录二:参考程序(1)DS18B20温度子程序CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RETCHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RETRDTEMP: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H LCALL WRITE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MOV TEMPH,A RETRESET:LA: SETB DAT MOV 52H,#200LB: CLR DAT DJNZ 52H,LB SETB DAT MOV 52H,#30LC: DJNZ 52H,LC CLR C ORL C,DAT JC LB MOV 58H,#80LD: ORL C,DAT JC LP DJNZ 58H,LD SJMP LALP: MOV 52H,#250LF: DJNZ 52H,LF RETWRITE111: MOV 53H,#8W51HA: SETB DAT MOV 54H,#8 RRC A CLR DATW52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30W53HA: DJNZ 54H,W53HA DJNZ 53H,W51HA SETB DAT RETERAD111: CLR EA MOV 58H,#8RD1A: CLR DAT MOV 54H,#6 NOP SETB DATRD2A: DJNZ 54H,RD2A MOV C,DAT RRC A MOV 55H,#30RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET(2)读、写DS1302子程序;写1302程序WRITE: CLR SCLK NOP SETB RST NOP MOV A,32H MOV R4,#8WRITE1: RRC A ;送地址给1302 NOP NOP CLR SCLK NOP NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE1 CLR SCLK NOP MOV A,31H MOV R4,#8WRITE2: RRC A NOP ;送数据给1302 CLR SCLK NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4,WRITE2 CLR RST RET;读1302程序READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8READ1: RRC A ;送地址给1302 NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP NOP CLR SCLK NOP NOP DJNZ R4,READ1 MOV R4,#8READ2: CLR SCLK NOP ;从1302中读出数据 NOP NOP MOV C,IO NOP NOP NOP NOP NOP RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4,READ2 MOV 31H,A CLR RST RET系统程序清单CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H month DATA 65H week DATA 64H day DATA 63H hour DATA 62H mintue DATA 61H second DATA 60H ORG 0000H LJMP START ORG 001BH LJMP INTT1START: ;初值 LCALL ZJ SETB EA MOV SCON,#00H ; 串行输出,方式0 MOV TMOD,#10H ;计数器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EH MOV 31H,#00H ;允许写1302 LCALL WRITE MOV 32H,#90H MOV 31H,#0A6H ;1302充电,充电电流1.1MA LCALL WRITE ;主程序MAIN1: MOV 32H,#8DH ;读出年 LCALL READ MOV year,31H MOV 32H,#8BH ;读出星期 LCALL READ MOV week,31H MOV 32H,#89H ;读出月 LCALL READ MOV month,31H MOV 32H,#87H ;读出日 LCALL READ MOV day,31H MOV 32H,#85H ;读出小时 LCALL READ MOV hour,31H MOV 32H,#83H ;读出分钟 LCALL READ MOV mintue,31H MOV 32H,#81H ;读出秒 LCALL READ MOV second,31H ;分离缓存 MOV R0,year ;年分离,送显示缓存 LCALL DIVIDE MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,week MOV 48H,week MOV R0,month ;月分离,送显示缓存 LCALL DIVIDE MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 MOV R0,day ;日分离,送显示缓存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,hour ;小时分离,送显示缓存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2 MOV R0,mintue ;分钟分离,送显示缓存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,second ;秒分离,送显示缓存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 CLR EA LCALL TOUTOU SETB EA LCALL DISPLAY LCALL GENGXIAN ;更新农历程序 JNB P0.1,SETG111 JNB F0,SSS setb P0.4 ;非闰月,则p0.4清零,指示灯亮 LJMP MAIN1SETG111: LJMP SETGSSS: clr P0.4 ;闰月,则p0.4置位,指示灯不亮 LJMP MAIN1; 温度TOUTOU: LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL ANL A,#11110000B MOV TEMPL,A MOV A,TEMPH ANL A,#00000111B ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RETCHUSHI: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RETRDTEMP: LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H LCALL WRITE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MOV TEMPH,A RETRESET:LA: SETB DAT MOV 52H,#200LB: CLR DAT DJNZ 52H,LB SETB DAT MOV 52H,#30LC: DJNZ 52H,LC CLR C ORL C,DAT JC LB MOV 58H,#80LD: ORL C,DAT JC LP DJNZ 58H,LD SJMP LALP: MOV 52H,#250LF: DJNZ 52H,LF RETWRITE111: MOV 53H,#8W51HA: SETB DAT MOV 54H,#8 RRC A CLR DATW52HA: DJNZ 54H,W52HA MOV DAT,C MOV 54H,#30W53HA: DJNZ 54H,W53HA DJNZ 53H,W51HA SETB DAT RETERAD111: CLR EA MOV 58H,#8RD1A: CLR DAT MOV 54H,#6 NOP SETB DATRD2A: DJNZ 54H,RD2A MOV C,DAT RRC A MOV 55H,#30RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET;公历设置程序SETG : SETB TR1 SETB ET1 MOV 32H,#8EH MOV 31H,#00H ;允许写1302 LCALL W

    注意事项

    本文(单片机实习报告电子万年历.张.doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开