AT89S52快速入手.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT89S52快速入手

At89S52快速入手 ——屈召贵 一、特性 与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz~33Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 特性描述 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 二、C51中较特殊存储变量 ⑴一般变量的定义。变量定义语句,与C语言一致但有扩展(注意行后的分号),一般格式是: [存储种类] 数据类型说明 [存储器类型] 变量名1[=值],变量名2[=值],……; 举例:auto unsigned char bdata flag=0x45;data 8 00H-7FH 位寻址片内RAM bdata 8 20H-2FH 间接寻址片内RAM idata 8 00H-FFH 分页寻址片外RAM pdata 8 00H-FFH 寻址片外RAM xdata 16 0000H-FFFFH 寻址ROM code 16 0000H-FFFFH ④变量名1 [=值]: 注:存储模式,解决变量的默认存储类型和参数传递区 ⑵ C51中两种位变量定义(特殊形式的变量定义): ①bit位变量的定义: bit bdata bflag; //在bdata区中定义位变量bflag,在哪个具体位地址?用户无权决定,由C51编译器安排。 ②sbit位变量的定义: 4条位变量定义语句sbit P03=P0^3;sbit P12=0x80^2;P13=0x93;我们认为bit是不可指定位地址的位变量关键字;sbit是必须指定位地址的位变量关键字,一般用于特殊功能位变量,所以冠以“s”。#include absacc.h ”这样的预处理命令行引入了这个头文件,就引入了下列特殊的带参数的关键字: DBYTE[有效地址] PBYTE[有效地址 ] XBYTE[有效地址] CBYTE[有效地址 ] DWORD[有效地址] PWORD[有效地址] XWORD[有效地址] CWORD[有效地址] 注意所谓有效地址,必须是与关键字中的“Data”、“Pdata”、“Xdata”、“Code”这些存储器类型相应的地址。 以宏名DBYTE[区内有效地址值]的名义访问data区中该地址所指的字节单元: 比如:x=DBYTE[0X40]; 读取data区中地址为0x40的byte(字节)单元内容并赋值给变量x DBYTE[0X40]=x; 读取变量的值并赋值给(写入)xdata区中地址为0x40的byte(字节)单元 以宏名XBYTE[区内有效地址值]的名义访问xdata区中该地址所指字节单元: 比如: x=XBYTE[0X2000]; 读取xdata区中地址为0x2000的字节单元内容并赋值给变量x XBYTE[0X2000]=x; 读取变量的值并赋值给xdata区中地址为0x2000的字节单元 以宏名XWORD[区内有效地址值]的名义访问xdata区中该字地址所指字单元(word): 比如: x=XWORD[0x2000];读取xdata区中字地址为0x2000的字单元内容并赋值给变量x。 XWORD[0x2000]=x;读取变量x的值赋值给xdata区中字地址为0x2000的字单元。 三、at89s52内部模块的应用 (一)I/O的应用 At89s52单片机有4个8位的并行输入/输出接口:P0、P1、P2、和P3口。这4组共计32位既可以并行输入或输出8位数据,又可以按位方式操作。 应用举例: 检测矩阵键盘按键号码,并将号码通过一位数码管显示器显示出来。电路如图所示。 1、矩阵键盘操作分为两种:一种叫查询方式、一种叫中断方式 以查询方式为例进行说明: 横线:P1.0、P1.1、P1.2、P1.3 列线:P1.4、P1.5、P1.6、P1.7 方法是纵模两线取两次求交点: (1)先给P1=0x0F 高四位为0,低四位为1,检测P1的状态,看有没有变化,如果P10x0F,说明有按键按下,保存当前的P1口的值,因为还无法判断是哪个按键被按下去了。比如说P1.0为

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档