AT89C55WD 单片机原理及应用

发布者:冰山火影1977最新更新时间:2015-04-20 来源: eechina关键字:AT89C55WD  单片机 手机看文章 扫描二维码
随时随地手机看文章
AT89C55WD 是一个低电压,高性能CMOS 8 位单片机,片内含有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口 
· 256x8 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 








  
4.辅助功能寄存器1 AUXR1(0A2H): 

SFR 的地址A2H 
复位值xxxxxxx0B   

bit   
DPS 








  
双数据指针 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相同。
关键字:AT89C55WD  单片机 引用地址:AT89C55WD 单片机原理及应用

上一篇:基于层次模型的USB2.0接口芯片IP核固件的设计
下一篇:AT89S51单片机原理与应用

推荐阅读最新更新时间:2024-03-16 13:58

基于MSP430F149单片机为核心的展馆人员登记与录入系统设计
文章主要阐述了一种运用视频图像分析技术进行人员登记与录入系统的设计。通过红外线采集人们入馆和出馆的信号并将其送入单片机MSP430F149中,单片机对信号进行处理统计入馆、出馆人数并在LCD12864液晶显示屏上显示出来,同时对进出馆的人进行拍照并存储。通过人员登记与录入系统可以及时得到馆内准确的人数和照片,有利于博物馆更高效的组织工作,它可与第三方软件系统进行集成,为科学决策提供数据支持。 人数统计系统在不同的应用场合可以发挥不同的作用。它可以为商场或零售点获取商场内部按不同时段分布的人数统计、人群流动方向等信息,有利于评估商品对于顾客的吸引力,以及评估商场选址是否适当;对于大型建筑,管理者可利用人数统计系统了解人群的行
[单片机]
基于MSP430F149<font color='red'>单片机</font>为核心的展馆人员登记与录入系统设计
基于51单片机和CPLD的数字频率计的设计
引言 在传统的控制系统中,通常将单片机作为控制核心并辅以相应的元器件构成一个整体。但这种方法硬件连线复杂、可靠性差,且在实际应用中往往需要外加扩展芯片,这无疑会增大控制系统的体积,还会增加引入干扰的可能性。对一些体积小的控制系统,要求以尽可能小的器件体积实现尽可能复杂的控制功能,直接应用单片机及其扩展芯片就难以达到所期望的效果。 复杂可编程逻辑器件(CPLD)具有集成度高、运算速度快、开发周期短等特点,它的出现,改变了数字电路的设计方法、增强了设计的灵活性。基于此,本文提出了一种采用Altera公司的CPLD(ATF1508AS) 和Atmel公司的单片机(AT89S52)相结合的数字频率计的设计方法。该数字频率计电路简洁,软件潜
[单片机]
基于51<font color='red'>单片机</font>和CPLD的数字频率计的设计
LINUX下使用简单的中断程序使单片机精确计时
在程序开始时需要对定时器及中断寄存器做初始化设置: 对TMOD——定时器/计数器工作方式寄存器赋值,以确定T0和T1的工作方式。 计算初值,并将初值写入TH0,TL0或TH1,TL1。 对IE——中断允许寄存器的EA和ET0或ET1赋值,打开T0或T1。 使TR0或TR1置位,启动定时器/计数器定时或计数。 详细说明如下 一、TMOD是工作方式寄存器,D0~D3是定时器T0,D4~D7是定时器T1。D0~D3含义如下: D0:M0。 D1:M1——M0和M1的四种组合方式决定了定时器/计数器的4种工作方式。当M1=0,M0=1时是16位定时器/计数器。 D2:C/T——定时器模式和计时器模式选择位,1为计数器模式,
[单片机]
对编译器的选择
一般来说,单片机的使用要从基础的汇编语言开始讲起,即使使用C语言进行开发,也必须对内部的机器码实现非常熟悉,才能应付设计和调试中可能出现的各种情况。WINAVR是个免费的AVR 开发程序集,它以著名的自由软件GCC 为C/C++编译器。之所以选用WINAVR,是因为它是一组开放源代码的程序集,也是目前最好的自由软件之一。 下面是关于WINAVR的使用要点,更详细的情况建议参考芯艺的《AVR 单片机GCC 程序设计》。开发工具: 更适合采用高级语言开发是AVR 单片机最初设计时的目的之一。目前AVR 单片机高级语言发发工具主要有IAR C、WINAVR、ICCAVR、CodeVision、BASCOM-AVR(BASIC 语言)。
[单片机]
基于C8051F单片机的移动式音乐喷泉设计
摘 要: 音乐喷泉作为一种观赏性较高的艺术水景已经得到了越来越广泛的应用。论述了一个以C8051F单片机为核心的适于室内使用的小型移动式音乐喷泉控制系统,给出了单片机控制电路,水泵控制电路,彩灯控制电路及部分单片机I/O口初始化程序。喷泉水型随音乐的高低旋律发生变化,再辅以LED彩灯的亮灭,便于移动,实用性强,适宜家庭和室内观赏。    关键词: C8051F单片机;音乐喷泉;单片机控制   目前在公共场所喷泉一般只是将音乐和喷泉高低简单配合, 无法真正体现音乐的旋律、节奏;或者是采用了高成本复杂的控制系统,搭建复杂的外围电路实现功能;并且多数只能在现场观赏,不能进入家庭。本文介绍基于C8051F单片机控制的小型室内移动式音
[单片机]
基于C8051F<font color='red'>单片机</font>的移动式音乐喷泉设计
51单片机STC89C52驱动一个数码管显示0~9,A~F
程序源码 /*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 /*-----------------------数据类型定义区域-----------------------*/ typedef unsigned char u8; //定义类型unsigned char别名为u8 typedef unsigned int u16; //定义类型unsigned int别名为u16 /*-----------------------用户自定义数据区域---------------------*/
[单片机]
51<font color='red'>单片机</font>STC89C52驱动一个数码管显示0~9,A~F
单片机用 Qt for MCUs 2.6 发布:降低 ROM 等性能要求、引入 Quick Ultralite 新 API
11 月 13 日消息,Qt for MCUs 目前已经推出了正式版本 2.6,此版本以“性能改进”为基础,号称可以改善相关单片机中的性能情况。 MCU 芯片即单片机,Qt for MCUs 便是为这些单片机设计的嵌入式框架,可以以较低的性能执行一系列功能。 官方介绍称,Qt for MCUs 2.6 引入了一系列代码生成优化,从而减少 C++ 代码中的冗余,进而降低总体 ROM 要求,具体而言,Qt for MCUs 2.6 主要更新了以下内容: Qt Quick Ultralite 的新 QML API 开发者通过添加直接从 Qt 改编的新 QML API,扩展了 Qt Quick Ultralite 的核心功能,以简化
[半导体设计/制造]
【PIC单片机的学习】在MAPLAB X IDE中加入printf函数
当调试单片机时,通过串口打印变量的值来调试代码是一种很好的调试方式,本文将讲述如何在PIC单片机使用printf函数。使用的开发环境是MAPLAB X IDE V5.20,单片机的型号为PIC24F32JGA002。 首先要调用stdio.h头文件,然后写入以下两个函数 void putch(unsigned char byte) { while(!TXIF) continue; TXREG = byte; } 目的是为了将串口跟 printf() 联系起来即重定向printf
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved