单片机实习报告.docx
- 文档编号:24248229
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:39
- 大小:552.73KB
单片机实习报告.docx
《单片机实习报告.docx》由会员分享,可在线阅读,更多相关《单片机实习报告.docx(39页珍藏版)》请在冰豆网上搜索。
单片机实习报告
一、、设计要求:
利用51系列单片机、并行电子时钟电路DS12887和数码管等器件,设计一个电子时钟。
该电子钟具有如下功能:
(1)自动计时。
由4位LED显示器显示“时分”或“分秒”或“年月”,采用24小时计时格式,显示“时分”或“年月”时,由“:
”的闪烁表示秒。
初始化时显示“时分”方式。
三种显示方式可以由开关S3选择。
S3操作次序与显示内容的关系如下:
(2)具备校准功能。
可以对年、月、日、时、分、秒、星期进行校正。
为实现该功能,系统必须设置3个功能键,即:
S1—设置、S2—对高位进行修改、S3(与上述显示选择键S3可以共用)—对低位进行修改。
系统通过S1的操作次序确定当前的显示和校正内容,由S2和S3进行调整。
S1可以有8种状态,对应调整内容见下表:
S1的操作次序
调整内容
0
正常显示
1
年
2
月
3
日
4
时
5
分
6
秒
7
星期
二、总体方案
此系统由DS12887、AT89S52、显示与调控(开关控制)四大模块构成,DS12887是并行时钟芯片,AT89S52是主控电路,通过它,读取DS12887里面的时间,再将其传送给显示部分,而该做怎样的调整,要看开关的调控。
三、原理框图
图1
四、系统模块详细设计与调试
4.1模块分析
1、DS12887并行时钟芯片
其性能:
1)内含锂电池,断电情况下运行十年以上不丢失数据
2)计秒、分、时、天、星期、日、月、年,并有闰年偿功能
3)二进制数码或BCD码表示时间、日历和定闹
4)12小时或24小时制,12小时某事带有PM和AM指示,有夏令时功能
5)Motorola和Intel总线时序选择
6)有128字节RAM单元与软件接口,其中14字节为时钟单元和控制状态寄存器,114字节为通用RAM,可由用户使用,所有RAM单元数据都具有掉电保护功能
引脚说明:
1)GND、VCC:
直流电源,其中VCC接+5V输入,GND接地
2)MOT:
模式选择脚DA12C887有两种工作模式,即Motorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND图2时选用用的是Intel模式。
3)AD0-AD7:
总线接口,可以传递数据和地址信息
4)AS:
地址锁存输入引脚,下降沿时,地址被锁存,紧接着的上升沿来到时地址被清除
5)NC:
悬空引脚
6)R/W:
读/写输入引脚,在Motorola模式下,高电平,进行读操作,低电平时进行写操作,在Intel下,相当于/WE
7)DS:
在Motorola模式下,为数据锁存引脚,在Intel下,为输出使能信号
8)/CS:
片选引脚,低电平时有效
DS12887初始化程序:
MOVDPTR,#0B0AH
MOVA,#70H
MOVX@DPTR,A
INCDPTR
MOVA,#82H
MOVX@DPTR,A
MOVDPL,#00H
MOVA,#10H
MOVX@DPTR,A
MOVDPL,#02H
MOVA,#02H
MOVX@DPTR,A
MOVDPL,#04H
MOVA,#04H
MOVX@DPTR,A
MOVDPL,#06H
MOVA,#06H
MOVX@DPTR,A
MOVDPL,#07H
MOVA,#05H
MOVX@DPTR,A
INCDPTR
MOVA,#01H
MOVX@DPTR,A
INCDPTR
MOVA,#11H
MOVX@DPTR,A
INCDPTR
MOVA,#26H
MOVX@DPTR,A
INCDPTR
MOVA,#1AH
MOVX@DPTR,A
RET
2、74HC595
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在CP的上升沿输入,在ST的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(SIN),和一个串行输出(SOT),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE(为低电平),存储寄存器的数据输出到总线。
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。
引脚说明:
D0-D7(15/1-7):
并行数据输出
14脚:
串行数据输入口
9脚:
串行数据输出口
11脚:
移位寄存器时钟输入
12脚:
存储器寄存器时钟输入
13脚:
输出有效(低电平时有效)
图310脚:
低电平复位端
4个74HC595连接起来,把32个数据全部送完之后,给ST一个上升沿,寄存器中的数据即置入锁存器,此时如果EN为低电平,数据即从并口D0-D7输出,把D0-D7与LED的8段相接,LED就可以实现显示了。
清除子程序:
CLRDISP:
MOVR2,#32
CLRBIT:
CLRCP
CLRC
MOVDIN,C
SETBCP
DJNZR2,CLRBIT
RET
显示子程序:
(如最基本的时分显示)
SFXSH:
MOVR0,#50H
DISP1:
CLRST
MOVR3,#4
MOVA,@R0
MOVDPTR,#TAB_NU
MOVCA,@A+DPTR
MOVR2,#8
DISP2:
CLRCP
RLCA
MOVDIN,C
SETBCP
DJNZR2,DISP2
INCR0
DJNZR3,DISP1
SETBST
RET
TAB_NU:
DB24H,0F5H,1CH,94H,0C5H,86H,06H,0F4H,04H,84H
DB20H,0F1H,18H,90H,0C1H,82H,02H,0F0H,00H,80H
3、AT89S52
其为此系统的主控电路,实现DS12887与显示处的连接,从DS12887
取出时间,并传给显示处,如果通过外部改变了时间,也可将值写入DS12887中,修改其中的时间
图4
4、开关控制处
自动计时功能:
初始时显示,按S3键
能循环显示“时分”、“年月”、“分秒”
调整功能:
按S1键能循环调整年、月、日、时、分、秒、星期,S2、S3分别
图5调整高、低位
4.2模块调试
1、双击打开WAVE,进入韦福编辑器
图6
2、仿真器设置
图7
3、设置完后,新建文件,并保存,以“.ASM”为后缀
4、输入程序,并点击保存
图8
5、进行编译
图9
6、编译无误后,就可以下载进行调试
(1)双击打开PROGISP
图10
(2)调入程序,点击“自动”后即可观察现象
图11
(3)根据现象将程序进行调整,直至现象符合要求为止
五、设计总结
此次实习让我最深的就是从大到小,从小到大,逐步抓起的思路,写一个程序应该先写出主程序,这也就是帮自己弄清要求,理清思路,所有的子程序只是对其的一个补充,把主要思路把握清楚后,再开始一个子程序的完成,而且可以分布的进行调试,暂不需要的程序,可以用分号将其隔开,这样就会跳过不进行调用。
在调试的过程中遇到过很多问题。
调试显示时,数据显示不出来,其实是刚开始时未给SP另指空间,导致数据重复赋值,这样的问题很简单,但又无处不在,在用开关调整时,先前调整的值被后来的赋值所覆盖,导致不能达到调整的目的,此外,这次的实习让我知晓了查表法的使用,了解了芯片12887、74HC595等。
总之,这此的实习受益良多。
六、参考文献
1、51单片机应用开发案例精选人民邮电出版社
2007.8第一版
2、51单片机开发入门与典型实例人民邮电出版社
2009.10第二版
3、单片机原理及应用实验指导书2010版
七、附件材料
附件一:
硬件图
图12
图13
附件二:
程序清单
LJXHEQU98H;与计算机通信,联机信号
DS12887ADATA0B00AH
DS12887BDATA0B00BH
DS12887CDATA0B00CH
SJRQSZDATA48H;时间及日期首地址
MJCQDATA2EH;秒寄存器
XSDBZEQU00H;小数点标志
CPEQUP1.2
DINEQUP1.3
STEQUP1.4
S1EQUP1.5
S2EQUP1.6
S3EQUP1.7
ORG0000H
START:
MOVSP,#60H
CALLD1S;开始延迟1秒
CALLCLRDISP
CALLDS12887CSH;DS12887初始化,显示初始化
CALLD12887DS
LOOP1:
CALLD200MS
CALLD12887DS
CALLSFXSH
JNBS3,LOOP2;判断S3是否右键按下
JNBS1,XG1;
LJMPLOOP1
XG1:
LCALLXGCX
LJMPLOOP1
LOOP2:
CALLD200MS
CALLD12887DS
CALLNYXSH
JNBS3,LOOP3;判断S3是否有2次按下
JNBS1,XG2
LJMPLOOP2
XG2:
LCALLXGCX
LJMPLOOP2
LOOP3:
CALLD200MS
CALLD12887DS
CALLFMXSH
JNBS3,LOOP1;判断S3第三次建按下
JNBS1,XG3
LJMPLOOP3
XG3:
LCALLXGCX
LJMPLOOP3
XGCX:
MOVDPTR,#0B00AH
MOVA,#70H
MOVX@DPTR,A
INCDPTR
MOVA,#82H;寄存器B的SET位置1,禁止更新周期结束中断
MOVX@DPTR,A
N:
CALLD200MS;修改年
JNBS1,Y
JNBS2,L1
JNBS3,L2
MOV48H,#0AH
MOV49H,#0AH
LCALLXGNXSH
SJMPN
L1:
JNBS2,L1
INC4AH
MOVA,4AH
CJNEA,#10,L3
MOV4AH,#0
LJMPL3
L2:
JNBS3,L2
INC4BH
MOVA,4BH
CJNEA,#10,L3
MOV4BH,#0
LJMPL3
L3:
LCALLXG12887
MOV48H,#0AH
MOV49H,#0AH
LCALLXGNXSH
SJMPN
Y:
CALLD200MS;修改月
JNBS1,R
JNBS2,L4
JNBS3,L5
LCALLXGYXSH
SJMPY
L4:
JNBS2,L4
INC4CH
MOVA,4CH
CJNEA,#2,L6
MOV4CH,#0
LJMPL6
L5:
JNBS3,L5
INC4DH
MOVA,4DH
CJNEA,#10,L6
MOV4DH,#0
LJMPL6
L6:
LCALLXG12887
LCALLXGYXSH
SJMPY
R:
CALLD200MS;修改日
JNBS1,S
JNBS2,L7
JNBS3,L8
LCALLXGRXSH
SJMPR
L7:
JNBS2,L7
INC4EH
MOVA,4EH
CJNEA,#4,L9
MOV4EH,#0
LJMPL9
L8:
JNBS3,L8
INC4FH
MOVA,4FH
CJNEA,#10,L9
MOV4FH,#0
LJMPL9
L9:
LCALLXG12887
LCALLXGRXSH
SJMPR
S:
CALLD200MS;修改时
JNBS1,F
JNBS2,L10
JNBS3,L11
LCALLXGSXSH
SJMPS
L10:
JNBS2,L10
INC50H
MOVA,50H
CJNEA,#3,L12
MOV50H,#0
LJMPL12
L11:
JNBS3,L11
INC51H
MOVA,51H
CJNEA,#10,L12
MOV51H,#0
LJMPL12
L12:
LCALLXG12887
LCALLXGSXSH
SJMPS
F:
CALLD200MS;修改分
JNBS1,M
JNBS2,L13
JNBS3,L14
LCALLXGFXSH
SJMPF
L13:
JNBS2,L13
INC52H
MOVA,52H
CJNEA,#7,L15
MOV52H,#0
LJMPL15
L14:
JNBS3,L14
INC53H
MOVA,53H
CJNEA,#10,L15
MOV53H,#0
LJMPL15
L15:
LCALLXG12887
LCALLXGFXSH
SJMPF
M:
CALLD200MS;修改秒
JNBS1,Q
JNBS2,L16
JNBS3,L17
LCALLXGMXSH
SJMPM
L16:
JNBS2,L16
INC54H
MOVA,54H
CJNEA,#7,L18
MOV54H,#0
LJMPL18
L17:
JNBS3,L17
INC55H
MOVA,55H
CJNEA,#10,L18
MOV55H,#0
LJMPL18
L18:
LCALLXG12887
LCALLXGMXSH
SJMPM
Q:
CALLD200MS;修改星期
JNBS1,K
JNBS3,L19
MOV57H,#0AH
MOV58H,#0AH
MOV59H,#0AH
LCALLXGQXSH
SJMPQ
L19:
JNBS3,L19
INC56H
MOVA,56H
CJNEA,#7,L21
MOV56H,#0
LJMPL21
L21:
LCALLXG12887
LCALLXGQXSH
SJMPQ
K:
JNBS1,K
MOVDPTR,#0B00AH
MOVA,#26H
MOVX@DPTR,A
INCDPTR
MOVA,#1AH;更新正常,允许更新中断
MOVX@DPTR,A;时钟开始运行
RET
DS12887CSH:
MOVDPTR,#0B0AH;DS12887的初始化
MOVA,#70H
MOVX@DPTR,A
INCDPTR
MOVA,#82H
MOVX@DPTR,A
MOVDPL,#00H;2011年1月5日星期一3时8分0秒
MOVA,#00H
MOVX@DPTR,A
MOVDPL,#02H
MOVA,#08H
MOVX@DPTR,A
MOVDPL,#04H
MOVA,#03H
MOVX@DPTR,A
MOVDPL,#06H
MOVA,#01H
MOVX@DPTR,A
MOVDPL,#07H
MOVA,#05H
MOVX@DPTR,A
INCDPTR
MOVA,#01H
MOVX@DPTR,A
INCDPTR
MOVA,#11H
MOVX@DPTR,A
INCDPTR
MOVA,#26H
MOVX@DPTR,A
INCDPTR
MOVA,#1AH;更新正常,允许更新中断
MOVX@DPTR,A;时钟开始运行
RET
修改DS12887子程序
XG12887:
MOVDPTR,#0B00BH
MOVA,#82H;寄存器B的SET位置1,禁止更新周期结束中断
MOVX@DPTR,A;BCD码表示,24小时模式
MOVP2,#0A0H
MOVR0,#09H
MOVR1,#SJRQSZ+2
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;年
DECR0
INCR1
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;月
DECR0
INCR1
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;日
DECR0
DECR0
DECR0
INCR1
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;时
DECR0
DECR0
INCR1
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;分
DECR0
DECR0
INCR1
MOVA,@R1
SWAPA
MOVB,A
INCR1
MOVA,@R1
ORLA,B
MOVX@R0,A;秒
MOVR0,#06H
INCR1
MOVA,@R1;星期
INCA
CJNEA,#7,XIUG1
MOVA,#1
XIUG1:
MOVX@R0,A
MOVDPTR,#0B00AH;A寄存器
MOVA,#2FH;时钟频率32.768KHz,中断周期500MS
MOVX@DPTR,A
MOVDPTR,#0B00CH;清状态寄存器C
MOVXA,@DPTR
INCDPTR
MOVXA,@DPTR;D寄存器的URT位置1
MOVDPTR,#0B00BH;初始化寄存器B
MOVA,#0AH
MOVX@DPTR,A
RET
;读DS12887子程序
D12887DS:
PUSHPSW
PUSHACC
PUSHDPL
PUSHDPH
SETBPSW.3
SHJDCH:
SETBP3.3
MOVDPTR,#0B00AH
MOVXA,@DPTR
JBCACC.7,SHJDCH
SETBXSDBZ
MOVR1,#SJRQSZ+13
MOVDPTR,#0B000H;读时标值
MOVXA,@DPTR
CJNEA,MJCQ,BZCL1
JMPBZCL2
BZCL1:
CPLXSDBZ
MOVMJCQ,A
BZCL2:
ANLA,#0FH;秒个位
MOV@R1,A
DECR1
MOVXA,@DPTR
INCDPTR
INCDPTR
SWAPA
ANLA,#0FH;秒十位
MOV@R1,A
DECR1
MOVXA,@DPTR
ANLA,#0FH;分个位
MOV@R1,A
DECR1
MOVXA,@DPTR
INCDPTR
INCDPTR
SWAPA
ANLA,#0FH;分十位
MOV@R1,A
DECR1
MOVXA,@DPTR
CJNEA,#24H,XGSHB
XGSHB:
JCXGSHB2
ANLA,#0FH
CJNEA,#04H,XGSHB3
XGSHB3:
JCXGSHB4
MOVXA,@DPTR
SUBBA,#24H
JMPXGSHB5
XGSHB4:
MOVXA,@DPTR
SUBBA,#29H
XGSHB5:
MOVX@DPTR,A
XGSHB2:
ANLA,#0FH;时个位
MOV@R1,A
DECR1
MOVXA,@DPTR
INCDPTR
INCDPTR
SWAPA
ANLA,#0FH;时十位
MOV@R1,A
DECR1
INCDPTR
MOVXA,@DPTR
CJNEA,#32H,XGRB1
XGRB1:
JCXGRB2
ANLA,#0FH
CJNEA,#01H,XGRB3
XGRB3:
JCXGRB4
MOVXA,@DPTR
SUBBA,#31H
JMPXGRB5
XGRB4:
MOVXA,@DPTR
SUBBA,#36H
XGRB5:
MOVX@DPTR,A
XGRB2:
ANLA,#0FH;日个位
MOV@R1,A
DECR1
MOVXA,@DPTR
INCDPTR
SWAPA
ANLA,#0FH;日十位
MOV@R1,A
DECR1
MOVXA,@DPTR
CJNEA,#13H,XGYB1
XGYB1:
JCXGYB2
ANLA,#0FH
CJNEA,#02H,XGYB3
XGYB3:
JCXGYB4
MOVXA,@DPTR
SUBBA,#12H
JMPXGYB5
XGYB4:
MOVXA,@DPTR
SUBBA,#17H
XGYB5:
MOVX@DPTR,A
XGYB2:
ANLA,#0FH;月个位
MOV@R1,A
DECR1
MOVXA,@DPTR
INCDPTR
SWAPA
ANLA,#0FH;月十位
MOV@R1,A
DECR1
MOVXA,@DPTR
ANLA,#0FH;年个位
MOV@R1,A
DECR1
MOVXA,@DPTR
SWAPA
ANLA,#0FH;年十位
MOV@R1,A
MOVDPTR,#0A006H
MOVR1,#SJRQSZ+14
MOVXA,@DPTR
ANLA,#0FH
CJNEA,#1,DSHZH2
MOVA,#7
DSHZH2:
DECA
MOV@R1,A;星期
MOVDPTR,#0A00CH;清中断标志寄存器C
MOVXA,@DPTR
MOVR1,#SJRQSZ
MOVA,#2
MOV@R1,A
INCR1
CL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实习 报告