已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
片机万年历汇编闹钟时间可调程序(lcd1602,ds18b20,ds1302,max810l)说明:0 该程序全部是用汇编语言编写1 该程序附带有温度显示,并且带有闹铃功能2 正常时间和闹钟时间都可以用键盘设置3 该程序是使用lcd1602显示年月日,格式为time xx-xx-xx xx,由于屏幕的关系,所以就不显示周的数据,其中闹铃调整的上界面是“bell adjust”4 该程序的时间是由时钟芯片ds1302提供的,据说很精准,目前看起来确实是这样的,刚开始我是使用定时器计时的,但是不怎么精准,可能是我的汇编技术有限才导致,所以本人就把这个版本呈上,希望诸位多多斧正5 该程序的温度是通过ds18b20提取的,这个模块是我从别人那里copy过来的,o(_)o,显示是肯定没问题的6 该程序也有用max810l的复位功能,但是好像这一点还没被体现出来7 烧程序我使用的是max232外加几个极性电容,还有一个rs232,不幸的是我的pcb板的rs232的封装画错啦!(_) 8 该万年历是由五个按键控制的,sw5复位,sw1调时间,调年月日时分秒,除秒可以加减调节之外其余的调节都是只能加不能减(自我觉得如果增加减的功能会觉得程序复杂,所以免!), sw4 是用来调节闹钟的时分秒的,和sw1按键不同的是时分秒都能加减,当闹钟设置的时间和正常显示时间的时分秒相同时,闹铃十秒钟,期间你可以按sw4键终止响铃,sw2 和sw3 分别是用来加减时间的!9 说了这么多,最后说说自我认为的缺陷,行家应该都一眼就看出一些破绽了,那就是按键消抖的问题,这个我觉得有点麻烦所以本人就把这个问题留给阅览资料的你吧!10 废话说了这么多,最后把我的程序,orcad电路原理图,pads软件的pcb图,以及一张实物图献上,希望你能喜欢,页脚有我的email(),欢迎随时交流! 程序:;* ;* rs bit p2.7;p2.5 rw bit p2.6;p2.6 e bit p2.5;p2.7 su bit p2.1;p1.6 ;1302串行口数据端 rst bit p3.7;p1.5 clk bit p3.6;p1.7 alarm bit p1.2;p2.3 jian bit p1.0;p2.2 ;减 jia bit p1.3;p2.1 ;加 moshi bit p1.1;p2.0 ;模式 dq bit p1.4;p1.0 sound bit p3.4;p1.3 nian equ 7fh yue equ 7dh day equ 7ch hhh equ 7eh shi equ 7bh fen equ 7ah miao equ 79h ashi equ 78h afen equ 77h amiao equ 76h gew equ 75hcount equ 74h a_bit equ 70h ;18b20 b_bit equ 6fh flag equ 6eh ds1302_addr equ 6dh ds1302_data equ 6ch org 0000h ljmp start org 0030h ;* ; 初始化开机时间 & 初始化闹铃时间 ;* start: mov dptr,#tab mov shi,#16h mov ashi,#17 mov fen,#58h mov afen,#30 mov miao,#00h mov amiao,#00 mov nian,#11h mov yue,#12h mov day,#13h mov hhh,#00h ;* ; 初始化lcd1602 & 初始化ds1302 ;* mov p0,#01h ; 显示清屏 数据指针清零 所有显示清零 lcall wr_code mov p0,#02h ; 显示回车 数据指针清零 lcall wr_code mov p0,#38h ;设置16*2显示 5*7 点阵 8位数据接口 lcall wr_code mov p0,#06h ; 当写或写一个数据时地址指针自动加一 光标自动加一 lcall wr_code mov p0,#0ch ; 开显示 不显光标 0fh开显示开光标 光标闪烁 lcall wr_code lcall wr_ds1302 lcall xianshi lcall xian1 ;* ; 主函数(这个大家都懂的) ;* main: lcall rd_ds1302 lcall xianshi lcall key lcall akey lcall re_temp lcall conver lcall display_int ljmp bellring ;*; 读1302子程序;*rd_ds1302: mov ds1302_addr,#8dh ;读ds1302中的年 lcall read ;调用读ds1302子程序 mov nian, ds1302_data ;把读出的年数据存入年寄存器中 mov ds1302_addr,#89h ;读ds1302中的月 lcall read mov yue, ds1302_data ;把读出的月数据存入月寄存器中 mov ds1302_addr,#87h ;读ds1302中的天 lcall read mov day, ds1302_data ;把读出的天数据存入天寄存器中 mov ds1302_addr,#85h ;读ds1302中的小时 lcall read mov shi, ds1302_data ;把读出的天数据存入小时寄存器中 mov ds1302_addr,#83h ;读ds1302中的分钟 lcall read mov fen, ds1302_data ;把读出的天数据存入分钟寄存器中 mov ds1302_addr,#81h ;读ds1302中的秒钟 lcall read mov miao, ds1302_data ;把读出的天数据存入秒钟寄存器中 ret ;* ;写1302子程序 ;* wr_ds1302: mov ds1302_addr, #8eh ;写ds1302控制指令 mov ds1302_data, #00h ;写数据到ds1302的8e控制寄存器中,允许对其进行写操作 lcall write ;调用写ds1302子程序 mov ds1302_addr,#8ch ;写ds1302中的年 mov ds1302_data , nian ;把写出的年数据存入年寄存器中 lcall write mov ds1302_addr,#88h ;写ds1302中的月 mov ds1302_data ,yue ;把写出的月数据存入月寄存器中 lcall write mov ds1302_addr,#86h ;写ds1302中的天 mov ds1302_data ,day ;把写出的天数据存入天寄存器中 lcall write mov ds1302_addr,#84h ;写ds1302中的小时 mov ds1302_data , shi ;把写出的天数据存入小时寄存器中 lcall write mov ds1302_addr,#82h ;写ds1302中的分钟 mov ds1302_da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买游艇融资合同范本
- 购销月结付款合同范本
- 跨境电商文件合同范本
- 轮胎产品采购合同范本
- 运营管理销售合同范本
- 进料垫资三方协议合同
- 酒吧椅子转让合同范本
- 酒店用品采购合同范本
- 2025及以后5年中国汽车铝轮毂行业深度调研与发展趋势研究报告(定制版)
- 酒店茶楼出租合同范本
- 2023初中化学课程标准(2022年版)考试题库及答案
- 山西水利职业技术学院单招《职业技能测试》参考试题库(含答案)
- 采购部供应商评审与筛选标准
- 早餐券模板可编辑
- 车联网技术与应用PPT完整全套教学课件
- 医患沟通技能评价量表(SEGUE)
- 如何识别与消除七大浪费演示文稿
- 第四章-集成运算放大电路
- 病毒性肝炎的免疫学检查
- 第一章(诱发电位概论)+第二章(体感诱发电位)(2013年)
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
评论
0/150
提交评论