- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多功能智能钟.doc
多功能智能钟
程序清单如下:
;*******************************************************************
;写字节子程序WMAX
;占用寄存器ACC
;*******************************************************************
DIN EQU P1.6
CLK EQU P1.4
WMAX: JB E7,W7 ;判是否为1
LCALL WM0 ;不是,则调用写“0”子程序
LJMP N7
W7: LCALL WM1 ;是,则调用写“1”子程序
N7: JB E6, W6
LCALL WM0
LJMP N6
W6: LCALL WM1
N6: JB E5, W5
LCALL WM0
LJMP N5
W5: LCALL WM1
N5: JB E4, W4
LCALL WM0
LJMP N4
W4: LCALL WM1
N4: JB E3, W3
LCALL WM0
LJMP N3
W3: LCALL WM1
N3: JB E2, W2
LCALL WM0
LJMP N2
W2: LCALL WM1
N2: JB E1, W1
LCALL WM0
LJMP N1
W1: LCALL WM1
N1: JB E0, W0
LCALL WM0
LJMP N0
W0: LCALL WM1
N0: CLR CLK
CLR DIN
RET
;*******************************************************************
;写“1”子程序
;*******************************************************************
WM1: CLR CLK
SETB DIN ;送出“1”
NOP
SETB CLK ;产生 CLK的上升沿
NOP
NOP
CLR CLK ;产生 CLK的下降沿
RET
;*******************************************************************
;写“0”子程序
;*******************************************************************
WM0: CLR CLK
CLR DIN ;送出“0”
NOP
SETB CLK ;产生 CLK的上升沿
NOP
NOP
CLR CLK ;产生 CLK的下降沿
RET
2.X25045的初始化及读写子程序
;X25045引脚定义如下
SCK EQU P2.3 ;串行时钟输入
SI EQU P2.4 ;串行数据输入
SO EQU P2.6 ;串行数据输出
CS EQU P2.7 ;片选输入
;其中写保护输入WP始终接高电平
;状态寄存器及各命令字节定义
STATUS_REG EQU
;上述状态寄存器中的WD1=0,WD0=1,即看门狗周期为600ms
;另外,BL1=0,BL0=0
READ_INST EQU
WRITE_INST EQU
RDSR_INST EQU
WREN_INST EQU
WRSR_INST EQU
WRDI_INST EQU
;*******************************************************************
;写 1字节数据到 X25045中的子程序WRONE
;数据在 A中,地址在 DPTR中
;占用寄存器:ACC,DPTR
;*******************************************************************
WRONE: PUSH ACC ;待写数据保护
LCALL WREN ;WRITE ENABLE.
CLR SCK ;X25045的 SCK置低
CLR CS ;片选 CS置低,选中
MOV A, WRITE_INST
MOV B, DPH
MOV C, B.0
MOV ACC.3, C ;DPH的最低位 (A8)送 ACC.3
LCALL OUTBYT ;送含地址高位的写命令
MOV A, DPL
LCA
文档评论(0)