任务13STC89C52单片机的初步认识资料.docx
- 文档编号:24403975
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:13
- 大小:942.73KB
任务13STC89C52单片机的初步认识资料.docx
《任务13STC89C52单片机的初步认识资料.docx》由会员分享,可在线阅读,更多相关《任务13STC89C52单片机的初步认识资料.docx(13页珍藏版)》请在冰豆网上搜索。
任务13STC89C52单片机的初步认识资料
任务1.3STC89C52单片机的初步认识
1.3.1STC89C52单片机简介
本教程中使用的单片机(STC89C52)是由国产IC厂商宏晶科技生产的STC系列单片机中的一款,指令代码完全兼容9051单片机。
打开公司网站(),可以在主页上看到这样的描述:
8051单片机全球第一品牌,全球最大的8051单片机设计公司。
从网站主页上下载STC89C52的datasheet,在datasheet的1.1节中是关于STC89C52系列单片机的简介,内容如下:
1、增强型51单片机,6时钟每机器周期和12时钟每机器周期可任意选择,指令代码完全兼容传统8051。
2、工作电压:
STC89C52系列工作电压:
5.5V-3.8V(5V单片机)
STC89LE52系列工作电压:
3.6V-2.4V(3V单片机)
3、工作频率:
0~35MHz,相当于普通8051的0~70MHz,实际工作频率可达42MHz。
4、片内Flash程序存储器:
4K/8K/12K/14K/16K/32K/40K/48K/56K/62K字节。
5、片上结成1025字节或512字节的RAM。
6、通用IO口(35/39个),复位后:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口);P0口是开漏输出,作为总线扩展用时,不需要加上拉电阻,作为I/O口用时,需要加上拉电阻。
7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器。
可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。
8、有E2PROM功能。
9、看门狗。
10、内部集成MAX810专用复位电路,外部晶振20M以下时,可省外部复位电路,复位脚可直接接地。
11、共3个16位定时器/计数器,其中定时器0还可当成2个8位定时器来用。
12、4路外部中断,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒。
13、通用异步串行口(UART),还可以用定时器软件实现多个UART。
14、工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)。
15、封装:
LQFP-44,PDIP40,PLCC-44,PQFP-44,强烈推荐选择LQFP-44贴片封装。
对于初学者来说,这些专业的词汇过于晦涩,有些头昏脑涨的感觉。
下面各小节是对STC89C52系列单片机的特性按照几个方面进行较为详细的解释(即使看完了后面的解释,估计也会迷糊)。
1.3.2STC89C52的工作温度范围和封装
1、工作温度范围
简介(STC89C52的简单介绍)的第14点中提到STC89C52的工作温度范围,实际上,所有的集成芯片的datasheet中都会提及到这个词。
集成芯片的工作温度范围分为三个等级:
商业级、工业级和军工级。
商业级集成芯片的工作温度范围为0℃~70℃,工业级集成芯片的温度温度范围为-40℃~85℃,军工级集成芯片的工作温度范围为-55℃~125℃。
商业级集成芯片的工作温度范围最窄,由其制作的产品大多用于室内环境;军工级集成芯片工作温度范围最宽,由其制作的产品大多用于在恶劣的的环境;工业级集成芯片则介于商业级和军工级之间。
STC89C52有商业级和工业级两种工作温度范围。
很显然,军工级集成芯片工作温度范围最宽,但其价格也比商业级和工业级贵得多,所以我们在选择集成芯片时,在满足工作环境温度的前提下,还要把价格降到最低。
2、STC89C52的封装形式
封装是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接,封装形式是指安装集成芯片用的外壳。
STC89C的封装主要分为DIP双列直插和SMD贴片封装两种。
从结构方面,封装经历了最早期的晶体管TO(如TO-89、TO92)封装发展到了双列直插封装,随后由PHILIP公司开发出了SOP小外型封装,以后逐渐派生出各种贴片封装。
从材料介质方面,包括金属、陶瓷、塑料、塑料,很多高强度工作条件需求的电路如军工和宇航级别仍有大量的金属封装。
STC89C52RC单片机提供四种形式的封装,常用的有PIDP40(双列直插封装)和LQFP-44(贴片封装),图1.3.1是这两种封装的样子。
(a)PIDP40封装(b)LQFP-44封装
图1.3.1STC89C52的两种常用封装
PDIP40封装的STC89C52共有40个引脚,双列直插,每列20个引脚,引脚从电路板的顶层放入,在底层焊接。
起始引脚靠近芯片顶层上的半圆形小坑,逆时针排列。
PDIP封装体积较大,占地方多,多用于初学者学习,教程中使用的STC89C52单片机是PDIP封装。
LQFP封装的STC89C52有44个引脚,引脚自然伸直看,起始引脚靠近芯片顶层的小坑,逆时针排列,引脚直接焊接在电路板顶层。
1.3.3PDIP40封装的STC89C52的引脚分布
STC89C52的PDIP40封装也有2个版本,分别为90C版本和HD版本,通过查询单片机表面文字最下面一行最后几个字母,最后几个字母为90C,则该单片机为90C版本,最后几个字母为HD,则该单片机为HD版本,教程中使用的是90C版本。
90C版本的引脚分布如图1.3.2所示。
图1.3.290C版本的STC89C52引脚分布
初学者可能会问这样的问题:
这么多引脚怎么可能一下子记住呢?
不要去刻意背一些东西,看多了自然会记住的。
下面是这40个引脚按功能来划分的解释:
1、最小系统引脚
单片机最小系统是指让单片机工作所必需的配置,构成STC89C52最小系统的单片机引脚包括电源引脚(20脚GND,40脚VCC)、复位引脚(9脚RST)和晶振引脚(18脚XTAL2和19脚XTAL1)。
2、输入输出引脚(简称I/O口)
单片机作为控制核心,既能接收外界输入信号,又能输出信号控制外围设备,这些离不开I/O的的功劳。
传统8051单片机共有32个I/O口,这32个I/O分成四组,它们的名字分别为P0、P1、P2和P3,而每一组中又包含了8个I/O口(类比,一个班32名同学,分成4个宿舍,每一个宿舍8个人)。
29脚、30脚和31脚,在传统8051单片机中不能作为I/O来使用,它们的名称分别是PSEN(29脚)、ALE(30脚)和EA(31脚),用来扩展外部存储器,STC89C52的HD版本保留这个功能(这也是90C版本和HD版本的区别)。
随着单片机内部存储器的容量越来越大,外部扩展存储器已经没有很大必要性了,所以90C版本的STC89C52把这3个引脚改成了普通I/O,分别是29脚P4.4、30脚P4.5和31脚P4.6。
1.3.4STC89C52的最小系统
图1.3.3是STC89C52单片机的最小系统图。
最小系统配置分三部分,分别是电源、晶振和复位。
(1)电源
图1.3.3STC89C52最小系统图
1、电源
集成芯片要工作都离不开电源,电源就像我们人体中的血液一样必不可少。
目前主流单片机从供电电源上来分有5V供电和3.3V供电,目前3.3V供电是主流,电压越低,功耗越小。
从STC89C52官方datasheet的第2点可以看到,STC89C52系列单片机工作电压:
5.5V-3.8V,属于5V单片机。
开发板使用电脑的USB供电,USB接口提供的标准电压是5V,对外输出的最大电流不超过500mA。
STC89C52的20脚接地,40脚接VCC(5V)。
在这里需要重点说明的是,在电路设计中,集成芯片的电源入口处一定要加去耦电容,
标配是一大一小2个电容:
10uF和104(100nF),就算为了降低成本,那至少也得加个104,大电容(10uF)滤除低频杂波,小电容(104)滤除高频杂波。
2、晶振
我们的校园里上万个人在一起上课,不同的地点,不同的教师和学生,但整个校园的秩序井井有条,上课铃声响了我们开始上课,下课铃声响了,我们下课休息。
这一切全依赖于我们的铃声,铃声是我们校园的节拍器,单片机内的指令语句多的时候上万行,哪一条先执行,哪一条后执行,什么时候执行,所以单片机也需要一个像铃声一样的节拍器。
这个节拍器称为“时钟”。
单片机内所有的动作都依赖于时钟沿的跳变,如果把电源看成我们人体中的血液,那么晶振提供的时钟信号可以看成心脏提供的脉搏。
简介的第2点中指出,STC89C52单片机的工作频率范围为0~35MHz,开发板配置的是无源直插12M晶,晶振的两个引脚分别接单片机的18脚和19脚,另外在晶振的两个引脚处各接了一个pF级别的小电容(开发板中使用22pF贴片电容,晶振频率越高,配置的电容容量应越小,具体参考datasheet),电容的另一引脚接地,如图1.3.3所示。
小电容的作用是用来帮助晶振起振,并维持时钟信号的稳定。
图1.3.4是开发板上电后,用示波器测量晶振引脚18脚的波形图,从图上看,晶振产生的波形是一个正弦波,波峰3.2V左右,波谷0.8V左右,19引脚也是正弦波,但波峰在2V左右,波谷1.2V左右;从图片上也可以看到示波器的右下角测量的频率值为11.9989M。
图1.3.4示波器测量18脚波形
晶振给单片机提供时钟,这个时钟的周期是多少呢?
周期和频率呈倒数关系,12M的晶振产生的时钟周期=1/12×10-6ms。
初学者首先需要建立一个在单片机里的时间概念:
我们生活里,1s是最小单位,但在单片机里1s是一个很长的时间单位,比秒还要小的单位有ms和us,它们的关系是:
1s=1000ms=1000,000us
我们在表示信号的频率时,用Hz来表示,其关系是:
1MHz=1000KHz=1000,000Hz。
很显然1M的晶振产生的时钟周期是10-6s=1us,12M的晶振产生的时钟周期,用us来表示,则为1/12us。
除了时钟周期,在单片机里还有机器周期和指令周期等重要概念,我们在后面的章节里有详细的介绍。
3、复位电路
复位是单片机芯片本身的硬件初始化操作,例如,单片机在在上电开机时都需要复位,以使内部功能器件都处于一个确定的初始状态,并从这个初始状态工作。
除了系统上电的正常复位初始化外,当系统程序在运行中出现错误或者受到电源的干扰出现错误时,也可以通过外接按键手动复位,或者由芯片内部看门狗定时器自动复位,当系统电源波动,低于门槛电压时,也会引起单片机的复位,称之为低电压复位。
我们先看一下基本的上电复位和按键手工复位,图1.3.5是这两种复位的电路。
(a)上电复位电路(b)按键手动复位
图1.3.5RC复位电路
上电复位和按键手动复位都是通过RC电路给单片机9脚一个复位信号,来引起单片机复位。
这个复位信号是怎样一个信号呢?
STC89C52的datasheet是这样规定的:
复位信号是一定宽度的复位脉冲,将RST复位管脚拉高并维持至少24个时钟周期再加10us后,单片机会进入复位状态,将RST复位管脚拉回到低电平后,单片机结束复位状态并从用户程序区的0000H处开始工作。
对于12M的晶振而言,1个时钟周期是1/12us,24个时钟周期则为2us,为了保险起见,再加10us,所以我们需要给单片机复位引脚至少提供12us以上的高电平脉冲。
上电复位和按键手动复位的电路中的基本单位都是RC充放电电路,按键手动复位比上电复位多了一个按键。
图1.3.5(a)中的上电复位电路中,上电瞬间,电容C1的正极板电压变为电源电压(5V),由于电容两个极板之间的电压瞬间不能突变的原理,负极板在上电瞬间电压也是电源电压,9脚复位引脚在上电瞬间为高电平,之后电容的负极板通过电阻R1对地放电,最终电容的负极板电压变为0V,9脚复位脚从高电平变为低电平,单片机完成复位。
图2是手动复位电路,手动复位电路比上电复位电路多了一个按键,当按键按下时,复位引脚变成高电平,电容负极板也变成高电平,按键释放后,负极板放电,复位脚最后又回到低电平,单片机完成复位。
在图1.3.5的上电复位电路中,R取值10KΩ,C取值10uF。
图1.3.6是上电瞬间,STC89C52复位脚电压波形图。
上电之后,复位脚瞬间被拉高到高电平,然后电容通过电阻放电,复位脚电压慢慢变小,经过100ms左右的时间,复位引脚的电压小于1.5V。
在复位脚内部有整形电路,复位脚电压超过1.5V视为高电平,否则为低电平,这样就产生了脉冲宽度超过12ms的高电平脉冲。
图1.3.6上电复位,复位引脚波形图
1.3.5存储器
简介的第4点、第5点和第8点分别提到了程序存储器(Flash)、数据存储器(SRAM)和EEPROM,这些都是STC89C52内部的存储器,下面是这些存储器的简单解释。
1、程序存储器(Flash)
单片机能根据我们的要求完成指定功能,那么我们是怎么控制单片机实现的呢?
在后续的课程中,我们可以看到首先是程序员在电脑上编些程序,然后通过下载器下载到单片机中就可以了。
单片机内部有一个空间用来存放我们程序代码,这个空间就是程序存储器。
程序存储器经过了几代的发展,Flash存储器以其可重复擦除擦写且容量大成本低的优点成为现在绝大多数单片机的程序存储器。
对于单片机来说,Flash存储器最大的特点是断电后数据不丢失,这个特点类似于我们电脑的硬盘,我们保存了电影、文档、音乐等文件,把电源关掉后,下次重新开电脑,所有的文件都还照样存在。
STC89C52的Flash存储器的容量为8K字节,在STC89C52系列中,属于小容量。
同一系列里的STC89C514单片机,其Flash存储器的容量高达56K字节。
另外需要说明的是,Flash存储区不仅可以存放程序,也可以存放一些不会在程序运行期间被修改的数据,具体使用方法见下一单元。
2、数据存储器(SRAM)
数据存储器SRAM是用来保存程序在运行期间的工作变量和临时数据的。
SRAM的特点有些类似于我们考试用的验算纸,中间结果写在演算纸上,答案写在试卷上,考试完后演算纸丢弃。
SRAM掉电后,临时存储的结果也被丢弃。
Flash存储器里的程序不可以随时修改,掉电后不丢失,SRAM中的数据可以随时修改,但掉电后数据丢失。
STC89C52单片机的SRAM容量为512字节,这512个字节又分成两部分:
内部RAM(256字节)和内部扩展RAM(256字节)。
3、EEPROM
什么是EEPROM呢?
举个例子,去银行办理一张新卡,要求输入密码,那么这些密码是保存到Flash中还是保存到SRAM中呢?
仔细考虑一下,两者都不符合要求。
Flash存储器不能在线写入,RAM可以在线写入,但掉电后丢失。
EEPROM兼有这两者的优点,既可以在线写入,又可以掉电不丢失,长久保存。
1.3.6片上资源(I/O口、中断、定时器/计数器、和串口)
随着技术的发展,单片机内部集成了越来越多的资源。
除了最基本I/O,中断、定时/计数器、串口外,有些高档单片机内部还继承了用于串行通信的接口,如I2C串行通信、SPI串行通信、USB通信等,一些专用功能器件如A/D、D/A、模拟比较器、液晶显示接口等。
STC89C52单片机资源相对简单一些,具有I/O口、中断、定时/计数器、串口等资源。
1、I/O口
I/O口承载着单片机最基本的功能,STC89C52的90C版本(开发板上的单片机就是90C),除了传统的8051单片机32个I/O口之外,还把用于扩展存储器的3个专用引脚改成了普通I/O口,I/O口的内部构成和使用方法在单元二“流水灯的设计”中详细介绍。
2、中断
“中断”顾名思义,就是打断的意思。
举个例子,我是一名教师,本学期每周二的上午1、2节课,给**班学生上单片机课,突然接到领导电话,说下周二去**学校开专业调研会。
接下来我先去请假,申请周二的课延期,然后去开会,回来之后,再补课。
开会这个突发事件打断了正常上课的任务,这就是中断(停下手头的工作,处理临时重要的工作)。
稍微复杂点的设计中,单片机执行的任务肯定不只一个,有的任务像“上课”这种流水账,有的任务像“开会”这种突发事件,中断的存在,很大程度上保证了多任务中突发事件得到实时执行。
STC89C52单片机有6个中断,其中包含2个外部中断,3个定时器中断和1个串口中断。
关于中断的概念和使用方法,将在后续的章节中详细介绍。
3、定时/计数器
试想一下这样一个场景:
我开始上课,45分钟后下课,怎样计算这45分钟呢?
我可以通过计数的方式,1秒钟计数一个,计45*60-2700个数,正好是45分钟,然后下课。
事实上,傻瓜才这么做,我们通常借助于铃声、手机上的时钟或者手表等计时工具来替我们计时,我可以专心上课,到了下课时间,计时工具会提醒我。
在单片机里,也存在着这样一个计时工具:
定时/计数器。
定时/计数器可以完成精确的延时、定时、计数,也可以用它来测量信号的周期、脉宽,也可以产生精确的波形(如PWM波等),但更重要的意义是,它是独立于CPU的,它的存在让CPU脱离了计数这样低级趣味的工作,而专注于更重要的工作。
STC89C52单片机有3个定时/计数器,具体使用方法在单元三“简易数字钟-模块篇”中详细介绍。
4、串口
在台式电脑中(笔记本电脑已经取消了该接口)依然可以找到如图1.3.7所示的接口,这个接口是异步串行通信接口,简称“串口”。
图1.7.3台式电脑串口
串口出现的初期是为了实现连接计算机外设的目的,也可用于两台计算器(设备)之间的互联,随着USB的发展,串口在计算及其外围设备中已很少使用,但在工控和测量设备中仍占有一席之地,例如在基于单片机的设备中,仍然是通信的重要接口之一。
STC89C52单片机有1个通用异步串行口,关于串口的基本概念和使用方法将在单元6“摇摇棒和串口通信”中详细介绍。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任务13 STC89C52单片机的初步认识资料 任务 13 STC89C52 单片机 初步 认识 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)