STC90c516RD-使用详解简介.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STC90c516RD+使用详解 其实,STC大部分的单片机都是51内核或是52内核的。所以在选芯片的 时候,只要选一款51体系的芯片就可以。我们用STC的时候,选的都是89C51的 芯片。 但有一个问题要注意的就是: 在KEIL 仿真的时候,要注意区别,什么 可以仿真,什么不可以仿真,这个就要求对51体系很懂。但如果你的水平足够 高,可以通过分析程序和借助串口来判断,就没事。不要求仿真。、 还有一个问题就是。大部分的STC的芯片,虽是51体系,但在51基础上做了 很大的改动。比如说,指令系统,虽没有增减指令个数,但是,在时序上改动 特别大。有些指令1个系统时针就完成了。这在延时,和外围的接口,方面都 要特别注意。一定要仔细看宏晶官网的资料。 当然,官网上提供的资料,有些示例程序,不一定就是最好的。很的程 序,都写得很一般。甚至说很烂。不过,思路是对是。所以,示例程序,只是 对你起一个指导做用。如果想写出好的程序,大部分的功能,最好是都要经过 测试。 刚看了一下STC90c516RD+ 这芯片的功能并不是很强,只是FLASH达到了 61K。当然,如果用到它增强方面的功能的话。就必须会定义特殊功能寄存 器。下面附带了。 二, reg51.头文件剖析 我们平时写单片机应用程序的时候,所使用的头文件大多都是用的的 reg51.h或是用reg52.h。会写C51的人都会用,但对其头文件内部的定义有所 了解的人确并不多。 下面对其内部做详细解释,方便读者作进一步的了解,并能运用各类型号的单 片机。因为增强型号的单片机的增强功能都是通过特殊功能寄存器控制。 打开 reg52.h 头文件,会发现是由大量的 sfr ,sbit的声明组成,甚至于 还有sfr16.其实这样的声明都是与单片机内部功能寄存器(特殊功能寄存器) 联系起来的,下面对其做出详细解释 sfr: 声明变量 SFR 声明一个变量,它的声明与其它的C变量声明基本相同,唯一的区别, SFR在声明的同时为其指定特殊功能寄存器作为存储地址,而不同于C变量声明 的整型,字符型等等由编译器自动分配存储空间。 如reg52.h头文件,第一条声明就是sfr P0 = 0x80; 此处声明一个变量P0,并指定其存储地址为特殊功能寄存器0x80;,在加入 reg52.h头文件后。编写应用程序时P0就可以直接使用而无需定义,对P0的操 作就是,对内部特殊功能寄存器(0x80对应用MCU的P0口)的操作,可进行读 写操作。 如果将第一条声明改为sfr K0 = 0x80; 那么,如果要把单片机的P0口全部 第 1 页 STC90c516RD+使用详解 拉低,则不能写P0=0x00;而应保存后再在应用程序中写成K0=0x00;否则编译器 会提示“P0为未定义标识符” 使用方法: sfr [variable] = [address] //为变量分配一个特殊功能寄存 器。 1 等号右边,只能是十进制,十六进制整型的数据常量,,不允许带操作符 的表达式 经典的8051内核支持的SFR地址从0x80H~0xFF 飞利浦80C51MX系列 0x180H~0x1FF 2 SFR不能声明于任何函数内部,包括main函数。只能声明于函数外。 3 用SFR声明一个变量后,不能用取地址运算符获取其地址, 编译无法 通过,编译器会提示非法操作。 4 有一点须特别注意,51内核0x80~0xff,为特殊功能寄存器地址区间,但 并不是所有的地址都有定义,如果说你所用的MCU芯片上对于某个地址没有定 义,那么用sfr在定义变量的时候,不要把变量的地址分配到未定义的特殊功 能寄存器上,虽然编译时能通过,用KEIL仿真时貌似是没有问题,但下载到芯 片里运行时,是会出问题的。比如说,向一个未定义的特殊功能寄存器执行读 操作,读出来的就是一个未知的数。(读者可自行测试,先把串口通信调通, 然后做一个简单的人机交互。读出一个数后,再发给计算机,用串口调试助手 或是串口监控查看。这用方法在仿真的时候很有用。)所以具体那些特殊功能 寄存器能够用,就要查看你使用的芯片手册。 5 若遇到增强性的单片机,只要知道其扩展的特殊功能寄存器的地址, 用SFR定

您可能关注的文档

文档评论(0)

sunache + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档