




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.JINGCHU UNIVERSITY OF TECHNOLOGY扩展时钟系统实验原理及分析报告学 院 计算机工程学院专 业 计算机科学与技术年级班别 10计算机科学与技术2班学 号 2010404010234学生姓名 曹志成指导教师 李 永 日期:2012 年 12月 目 录一 实验目的2 二 实验内容2三 实验器材2四 实验原理2五 接线图案6六 程序框图6七 实验步骤6八 实验程序7九 实验现象分析15十 总结15一、实验目的:掌握MCS51单片机扩展时钟电路的设计方法;了解DS12887的工作原理。二、实验内容:编程实现下列功能:程序第一次运行后,初始化时间显示为00:00:00,即6
2、位数码管显示为00.00.00。通过键盘MON设定小时为07,通过键盘LAST设定分钟为08,通过键盘NEXT设定秒为09,两分钟后即在7.10.09时关掉电源,等待2分钟后再打开电源,这时时间应为7.12.09,即停电后DS12887中的时钟不会停止运行。 三、实验器材:1、超想-3000TC综合实验仪1台 2、KEIL仿真器1台 3、连线若干 根 4、计算机1台四、实验原理:在很多应用场合要求单片机系统不仅能够准确地采集数据,而且还需要了解产生这些数据的时刻,为单片机系统增加日历时钟是一项非常有用的技术,掌握这项技术便是本实验的目的。实验中使用DALLAS公司生产的日历、时钟加RAM芯片D
3、S12887。它具有接口简单,使用方便等特点,曾被用在586计算机中。其引脚分布如图所示,内部有128字节的非易失SRAM,具体分配也如图所示。14BYTE000DFF00SECONDS01SECODES ALARM02MINUTES114BYTE03MINUTES ALARM04HOURS05HOURS ALARM06DAY OF THE WEEK07DAY OF THE MONTH08MONTH09YEAR0AREGISTER A0BREGISTER B0CREGISTER C0DREGISTER D引脚分布图存储器分布图通过对寄存器A、B、C、D的编程可以控制DS12887的工作方式。寄
4、存器AD7 D6 D5 D4 D3 D2 D1 D0UIPDV2DV1DV0RS3RS2RS1RS0UIP位当其为0时指示更新在244S内不会发生;DV2 DV1 DV0当其为010时,打开晶振,并允许时钟开始计时;RS3 RS2 RS1 RS0用于选择周期中断或输出方波频率,当其分别为0111、1000、1001、1011、1101、1110、1111时,对应频率为512Hz、256Hz、128Hz、64Hz、32Hz、16Hz、8Hz、4Hz、2Hz。寄存器BD7 D6 D5 D4 D3 D2 D1 D0SETPIEAIEUIESQWDM12/24DSESET位为0时,每秒计数一次,置1后
5、,更新转换被禁止;PIE、AIE、UIE位当它们为1时,分别允许周期中断、报警中断和时钟数据更新结束中断,为0时,禁止中断产生;SQWE位当其为1时,按以寄存器A中由RS3 RS2 RS1 RS0设定的频率从SQW引脚输出方波,当其为0时,SQW为低电平;当DM为1时选用二进制数据格式,反之为BCD数据格式;12/24位为1时,指定24小时时间格式,否则为12小时时间格式;DSE为1时允许夏时制发生。寄存器CD7 D6 D5 D4 D3 D2 D1 D0IRQFPFAFUF0000寄存器C的内容是周期中断标志位PF、报警中断标志位AF、更新结束中断标志位UF和中断请求标志位IRQF,它们之间的
6、关系为IRQF=PF*PIE+AF*AIE+UF*UIE,只要IRQF为1,/IRQ引脚输出就保持低电平,读寄存器C将清除所有标志。寄存器DD7 D6 D5 D4 D3 D2 D1 D0VRT0000000寄存器D中仅D7有定义,读时应总为1,若为0则说明内部锂电池已耗尽。为防止锂电池在芯片装入系统前被耗尽,DS12887在出厂时先关掉了其内部的晶振,编程时必须首先给寄存器A的DV2 DV1 DV0位写入010以打开晶振,然后读寄存器D以检查内部锂电池是否有效;接着根据需要对寄存器A、B进行设置。当需要修改日历时钟时,需要先使SET位置1,当需要读日历时钟数据时,必须先查询寄存器A中的UIP位
7、,只有当其为0时,才能进行读取数据。五、接线图案:74LS138YS7开 始8155初始化DS12887初始化读秒、分、时拆字后送显示缓冲器调用显示子程序调用键扫子程序有键按下吗?是NEXT键?是LAST键?是MON键?调整秒位调整分位调整时位NNYNYNYNYNNNNNNN六、程序框图:七、实验步骤: 1、设定仿真模式程序空间在仿真器上,数据空间在用户板上。2、从“接线图案”中看出,DS12887的/CS脚已连接U17译码器的YS7脚,于是可知DS12887的地址空间为0FE00H-0FFFFH。3、硬件调试:因为DS12887内部有114个内部RAM,在系统中的地址空间为:0FE0EH-0
8、FE7FH,所以,可通过查看这一区域的数据读写来判断硬件是否有故障。超想-3000TC+KEIL仿真器,在WINDOWS调试环境下打开数据存贮器区,在0FE10H开始的地址上写入一串55H,然后按右键,弹出一窗口,点击“刷新”,如写入的的一串55H未被修改,则硬件无故障。4、设计程序并进行调试。八、实验程序: ;按“NEXT”键,调整秒位;按“LAST”键,调整分位;按"MON"键,调整时位;OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)IN
9、 equ 0e103h ; 键盘读入口LEDBuf: equ 60h ; 显示缓冲 ljmp StartLEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h db 00HDelay: ; 延时子程序 mov r7, #00DelayLoop: djnz r7, DelayLoop djnz r6, Delay retDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, #00000001b
10、; 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 mov a, r0 mov B, #8 ; 送164DLP: rlc a mov r3, a mov acc.0, c mov dptr, #DAT164 anl a,#0fdh movx dptr, a mov dptr, #CLK164 orl a,#02h movx dptr, a anl a,#0fdh movx dptr, a mov a, r3 djnz B, DLP mov dptr, #OUTBIT mov a, r2 movx dptr, a ;
11、显示一位八段管 mov r6, #1 call Delay mov a, r2 ; 显示下一位 rl a mov r2, a inc r0 djnz r1, Loop retTestKey: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 输出线置为0 mov dptr, #IN movx a, dptr ; 读入键状态 cpl a anl a, #0fh ; 高四位不用 retKeyTable: ; 数字键码定义 db 00h, 01h, 04h, 07h db 0fh, 02h, 05h, 08h db 0eh, 03h, 06h, 09h db 0d
12、h, 0ch, 0bh, 0ah db 10H,11H,12H,13H,14H db 15H,16H,10H,10H,10HGetKey: MOV 13H,#06H MOV 12H,#20HKey2: MOV A,12H CPL A MOV R7,A MOV DPTR,#0E101H MOV A,R7 MOVX DPTR,A MOV A,12H CLR C RRC A MOV 12H,A MOV DPTR,#0E103H MOVX A,DPTR MOV R7,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ANL A,#0FH MOV 14H,A DEC 13H MOV
13、R7,13H MOV A,R7 JZ Key1 MOV A,14H JZ Key2Key1 : MOV A,14H JZ GetKey6 MOV A,13H ADD A,ACC ADD A,ACC MOV 13H,A MOV A,14H JNB ACC.1,GetKey1 INC 13H SJMP GetKey3GetKey1: MOV A,14H JNB ACC.2,GetKey2 INC 13H INC 13H SJMP GetKey3GetKey2: MOV A,14H JNB ACC.3,GetKey3 MOV A,#03H ADD A,13H MOV 13H,AGetKey3: MO
14、V DPTR,#0E101H CLR A MOVX DPTR,AGetKey4: MOV R7,#0AH LCALL Delay LCALL TestKey MOV A,R7 JNZ GetKey4 MOV R7,13H MOV A,R7 MOV DPTR,#KeyTable MOVC A,A+DPTR MOV R2,A RETGetKey6: MOV R2,#0FFH RETWaitRelease: mov dptr, #OUTBIT ; 等键释放 clr a movx dptr, a mov r6, #10 call Delay call TestKey jnz WaitRelease m
15、ov a, r2 retStart: mov r6,#02h call delay mov 20h,#00h mov 21h,#00h mov 22h,#00h mov sp, #40h mov dptr,#0e100h mov a,#03h movx dptr,aStart1: mov dptr,#0fe0ah movx a,dptr anl a,#70h cjne a,#20h,start2 ;判断晶振打开否? sjmp start3start2: mov dptr,#0fe0bh ;设置SET=0,芯片正常工作.24/12=1,选24小时制. mov a,#82h movx dptr,a
16、 mov r0,#06h mov dptr,#0fe00h ;时分秒清零 mov a,#00hretun0: movx dptr,a inc dptr djnz r0,retun0 mov dptr,#0fe0ah mov a,#27h movx dptr,a ;打开晶振,输出方波。 inc dptr mov a,#5ah movx dptr,astart3: mov dptr,#0fe0ah movx a,dptr jnb acc.7,loop12 mov r5,#4dh djnz r5,$loop12: mov dptr,#0fe0bh mov a,#5ah movx dptr,aloop
17、13: mov dptr,#0fe00h ;读秒,分,时 mov r1,#60h mov r0,#03hloop11: movx a,dptr lcall Ptreg ;读取的值,进行拆字后送显示缓冲器60H-65H inc dptr inc dptr djnz r0,loop11 mov dptr,#0fe0bh call DisplayLED ; 调用显示子程序 call TestKey ; 有键入? jz loop12 ; 无键入, 继续显示 call GetKey ; 有键入,读入键码 cjne a,#14h,keep0 sjmp keep1 ;是NEXT键,调整秒位keep0: cj
18、ne a,#15h,keep2 sjmp keep3 ;是LAST键,调整分位keep2: cjne a,#16h,start1 sjmp keep5 ;是MON键,调整时位keep1: mov dptr,#0fe0bh mov a,#0dah movx dptr,a mov a,20h lcall Hbcd cjne a,#60h,loop20 ;秒位不能超过60秒 mov 20h,#00h sjmp loop13loop20:mov dptr,#0fe00h movx dptr,a inc 20h sjmp loop13keep3: mov dptr,#0fe0bh mov a,#0dah
19、 movx dptr,a mov a,21h lcall Hbcd cjne a,#60h,loop21 ;分位不能超过60分 mov 21h,#00h sjmp loop13loop21:mov dptr,#0fe02h movx dptr,a inc 21h sjmp loop13keep5: mov dptr,#0fe0bh mov a,#0dah movx dptr,a mov a,22h lcall Hbcd cjne a,#24h,loop22 ;时位不能超过24小时 mov 22h,#00h sjmp loop13loop22:mov dptr,#0fe04h movx dptr,a inc 22h sjmp loop13Ptreg: push dph ;拆字子程序 push dpl push acc push b mov b,a anl a,#0fh mov dptr,#LEDMAP movc a,a+dptr orl a,#80h mov r1,a inc r1 mov a,b swap a anl a,#0fh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园保安门岗管理制度
- 校园垃圾存放管理制度
- 校园宿舍卫生管理制度
- 校园文明就餐管理制度
- 校园用电用火管理制度
- 校园超市安全管理制度
- 校园食堂成本管理制度
- 2024年工程救险车项目投资申请报告代可行性研究报告
- 2024年戊二酮苯项目资金需求报告代可行性研究报告
- 负载优化调度策略-洞察及研究
- 2025年中国铁路西安局招聘高校毕业生第二批(102人)笔试参考题库附带答案详解
- 浙江国企招聘2025杭州地铁科技有限公司招聘51人(第一批)笔试参考题库附带答案详解
- 北京市2025年第一次普通高中学业水平合格性考试地理试题(含答案)
- 人工智能导论智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 线槽灯安装施工工法
- 自由公差对照表(共3页)
- 约克YS螺杆式冷水机组_《操作手册》6-3
- WPS表格基础教程ppt课件
- 妇幼保健目标考核评分细则
- 小学美术下册课件---7.19--圆柱体的装饰-沪教版-(共13张PPT)ppt课件
- GB∕T 40097-2021 能源路由器功能规范和技术要求
评论
0/150
提交评论