您的位置 首页 IC

AT89C55WD 单片机原理及使用

AT89C55WD是一个低电压,高性能CMOS8位单片机,片内含有20KB的可重写快速闪存存储器和只读程序和256bytes的随机存取数据存储器(RAM

AT89C55WD 是一个低电压,高性能CMOS8 位单片机,片内含有20KB的可重写快速闪存存储器和只读程序和256 bytes的随机存取数据存储器(RAM),器材选用ATMEL公司的高密度、非易失性存储技能出产,兼容规范MCS-51指令体系,引脚兼容工业规范89C51和89C52芯片,选用通用编程办法,片内置通用8位中央处理器和Flash存储单元,内置功用强大的微处理器的AT89C52可为您供给许多高性价比的解决方案,适用于大都嵌入式运用体系。

AT89C55WD有40个引脚,32个外部双向输入/输出(I/O)端口,一起内含2个外中止口,2个16位可编程守时计数器,2个全双工串行通信口,2个读写口线,片内时钟电路,AT89C55WD选用两种软件操控其进入省电睡觉方式的静态逻辑作业搁置办法规划,能够用RAM、守时/计数器、串行口和外部中止唤醒睡觉状况而继续作业,在睡觉方式下,RAM被冻住,其他功用悉数中止,直至下个外中止触发或硬件复位方可开端运转。特别是可重复擦写的Flash存储器可有效地下降开发本钱。

AT89C55WD有具有PLCC、PDIP和TQFP三种封装方式,以习惯不同产品的需求。

1. 主要功用特性:

· 兼容MCS51指令体系
· 20k可重复擦写(>1000次)Flash ROM
· 32个双向I/O口
· 256×8 bit 内部RAM
· 3个16位可编程守时/计数器中止
· 时钟频率0-33MHz
· 2个串行中止
· 硬件看门狗(WDT)
· 2个外部中止源
· 可编程串行通道
· 2个读写中止口线
· 3级加密位
· 片内时钟电路
· 低功耗睡觉功用
· 4-5.5V作业电压规模
· 软件设置睡觉外中止唤醒功用

2. 看门狗守时器( WDT):

WDTRST的地址为: 0A6H
WDT 在 CPU 落入软件运转失控的情况下可作为一种康复的办法。 WDT 包括一个 13 位计数器和看门狗 守时器复位 SFR ( WDTRST )。 WDT 在上电时被制止。若想使能 WDT , 用户必须将 01EH 和 0E1H 顺次写入 WDTRST 地址( 0A6H )。 当 WDT 使能后,在振荡器运转的情况下每过一个机器周期加 1 。 尔后无法制止 WDT , 除非经过复位(硬件复位或许 WDT 溢出复位)。当 WDT 溢出时它会在 RST 脚发生一个复位脉冲。

运用 WDT

要使能 WDT , 用户必须将 01EH 和 0E1H 顺次写入 WDTRST 。 当 WDT 使能后,用户需求守时将 01EH 和 0E1H 顺次写入 WDTRST 以防止 WDT 。 溢出 13 位计数器在抵达 8191 ( 1FFFH ) 后溢出并将芯片复位。 当 WDT 使能后,在振荡器运转的情况下每过一个机器周期加 1 。 这意味着用户必须在 8191 个机器周期内 至少复位 WDT 一次。要想复位 WDT , 用户必须将 01EH 和 0E1H 顺次写入 WDTRST 。 WDTRST 是一个 只写寄存器。复位脉冲继续 98 × Tosc ( 6 时钟方式)( 12 时钟方式下为 196 ) 此处 Tosc=1/fosc 。

下面给出一个例程:

将看门狗守时器放在T1中,每中止一次,需50ms,当计数器,计满1秒给R19加1。当主程序或子程序在10秒之内还未对R19清0,阐明程序或许“跑飞”,这看门狗使能,将AT89C55WD复位,从地址0000H处开端履行。

R19 DATA 13H ;
R23 DATA 17H ;ms计数器
T1int: ;守时(计时)器
MOV TH1, #4CH
MOV TL1, #00H ;计满重装初值(约50ms)
INC R23 ;(20次*50ms)=1000ms=1s
MOV A,R23
CJNE A,#20,T1int_01 ;计满1s向下
INC R19 ;用于看门狗守时
MOV A,R19
CLR C
SUBB A,#10
JC T1int_01 ;10秒到向下,复位
CLR EA
MOV WDTRST,#01EH ;WDT使能,13bit
MOV WDTRST,#0E1H ;TOSC=1/FOSC.
JMP $
T1int_01: RETI

3.辅佐功用寄存器 AUXR(08EH):

SRF 的地址 8EH
复位值 XXX00XX0B
bit
WDIDLE
DISRTO
DISALE
7
6
5
4
3
2
1
0

4.辅佐功用寄存器1 AUXR1(0A2H):

SFR 的地址A2H
复位值xxxxxxx0B

bit
DPS
7
6
5
4
3
2
1
0

双数据指针 DPTR 结构:

双DPTR数据指针,经过对AUXR1 的DPS 位编程可完成两个DPTR 寄存器的切换。
此处,DPS 为AUXR1 的位0,用于切换指针DPTR0 和DPTR1。

挑选数据指针:

DPS=0,选取DP0L,DPOH,即挑选DPTR0,如 (MOV AUXR1,#00H);
DPS=1,选取DP1L,DP1H,即挑选DPTR1,如 (MOV AUXR1,#01H)。
当切换DPTR0 和DPTR1 时应当经过软件来保存DPS。

DPTR 指令

DPTR 指令依据当时AUXR1 位0的值,可作为数据指针,下面是运用DPTR 的6 个指令:

INC DPTR ;数据指针加1
MOV DPTR,#data16 ;DPTR 装载16 位常数
MOV A,@A+DPTR ;将与DPTR 相关的代码字节送入ACC
MOVX A,@DPTR;外部RAM 16 位地址的内容装入ACC
MOVX @DPTR,A;把ACC 的内容送到外部RAM 16 位地址
JMP @A+DPTR;直接跳转到与DPTR 相关的地址
能够经过寻址SFR 的低字节或高字节来寻址数据指针。
AT89C55WD其它寄存器功用与设置和AT89C52相同。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/254342.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部