注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 |
首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 |
选择分类:当前分类——电子入门 相关联或者相类似的文章: 电池的充电方法 (527) 印制电路板设计原则和抗干扰措施(527) BA1404立体声调频发射套件制作说明(526) 29. 两点间温度控制(526) 28. 数字电压表(526) BA1404立体声调频发射电路(526) 25. 点阵式LED“0-9”数字显示技术(526) 真存在“魔鬼三角”吗 (526) 20. 数字钟﹝★﹞(525) 点阵汉字显示原理 (524) 晶体管放大器是一种交流与直流共存的电路(524) 歪公司设招聘陷阱 今天收钱明天辞退(524) 超声波移动物体检测装置(523) 测判三极管的口诀(523) Mon51仿真器(523) 《弟子规》(523) 《新三字经》(522) 微型停电应急灯(522) 用TC9148遥控MCS-51单片机(521) 世界鸟类跑得最快的鸟(521) 首页 前页 后页 尾页 本站推荐: | STC单片机简介 摘要:MCS51单片机是目前国内实用最广泛的一种单片机型,全球各单片机生产厂商在MCS51内核基础上,派生了大量的51内核系列单片机,极大地丰富了MCS51的种群。其中,STC公司推出了了STC89系列单片机,增加了大量的新功能,提高了51的性能,是MCS51家族中的佼佼者。文章主要介绍了该单片机种与MCS51的不同之处,并根据笔者的实践,提出了一些需要注意的地方。 关键词 MCS51 单片机 ISP IAP 引言 随着电子技术的迅速发展,单片机技术的出现给现代工业测控领域带来了一次新的技术革命。目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,洗衣机、空调等,到处都可见到单片机的踪影。 在单片机家族的众多成员中,MCS51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。世界各大单片机厂商都在MCS51上投入了大量的资金和人力,围绕51内核,衍生出许多品种,增强51单片机的各种功能。MCS51家族是目前在单片机领域发展最快的一个品种。 这里要向大家推荐的是新近由STC公司推出的高性价比的STC89系列单片机。 STC89系列单片机的性能 STC89系列单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。下表是STC89系列单片机资源一览表。 80C51核心处理器单元; 3V/5V工作电压,操作频率0~33MHz(STC89LE516AD最高可达90MHz);5V工作电压,操作频率0~40MHz; 大容量内部数据RAM:1K字节RAM; 64/32/16/8kB片内Flash程序存储器,具有在应用可编程(IAP) ,在系统可编程(ISP),可实现远程软件升级,无需编程器; 支持12时钟(默认)或6时钟模式; 双DPTR数据指针; SPI(串行外围接口)和增强型UART ; PCA(可编程计数器阵列),具有PWM的捕获/比较功能; 4个8位I/O口,含3个高电流P1口,可直接驱动LED; 3个16位定时器/计数器; 可编程看门狗定时器(WDT); 低EMI方式(ALE禁止); 兼容TTL和COMS逻辑电平; 掉电检测和低功耗模式等。 下面主要介绍STC89系列单片机有特色之处及需要注意的地方。 一、 1k bit片内RAM(数据存储器) 普通8051系列单片及片内RAM只有128(8051)或256(8052)字节, 1、低128字节(地址:00H~7FH),可直接或间接寻址; 2、高128字节(地址:80H~FFH),只可间接寻址; STC89系列单片机另外增加了768字节的片内扩展RAM,以解决众多技术人员在编程时的RAM资源严重缺乏的问题。 768字节的片内扩展RAM(地址:000H~2FFH)与外部扩展RAM地址重叠,单片机可通过软件设置AUXR.1,决定是否使用片内扩展RAM,以防止可能的与外部扩展RAM的冲突,默认为使用片内扩展RAM。 片内扩展RAM的访问采用间接寻址,可通过 ①、MOVX? A,@DPTR 或 MOVX? @DPTR ,A 指令访问片内扩展RAM(00H~2FFH,共768字节); ②、MOVX? A,@Ri 或 MOVX? @Ri,A 指令访问片内扩展RAM(00H~FFH,共256字节)。 当DPTR≥300H时,系统访问外部扩展RAM。 注意:在使用第二种指令时,特别要注意是使用MOV还是MOVX,MOV访问的是片内RAM,MOVX访问的是片内扩展RAM,刚刚接触此类单片机的技术人员最容易在这里犯错误。 二、 64/32/16/8K片内Flash(程序存储器)与ISP功能 STC89系列单片机按芯片型号分别有64/32/16/8K片内Flash,分为2个Flash存储块:Block0和Block1。2个Flash存储块在物理上Block0在前,Block1在后。通过REMAP功能可以将Flash块重定位。下图显示的是STC89C58的程序存储器结构 使用过SST89系列单片机的用户要注意与STC89区别: ①、Block1大小不同; ②、Block扇区大小不同; ③、指令及SFR的不同。 STC89有2个配置位SC0,SC1控制上电复位/外部复位后程序是从Block0还是Block1启动。 ①对于STC89C58,SC0,SC1同时起作用: SC1,SC0=0,0 程序是从Block0启动; SC1,SC0=1,1 程序是从Block1启动,这时Block1物理上在后8K(E000H~FFFFH),逻辑上又影象到前8K(0000H~1FFFH),Block0前8K对于PC指针不可见。 ②对于STC89C16,只有SC0起作用: SC0=0 程序是从Block0启动; SC0=1 程序是从Block1启动,这时Block1逻辑上影象到前8K(0000H~1FFFH),将Block0前8K单元覆盖。
ISP主要应用于在线(或远程)升级,通过执行ISP引导码改写用户程序,无须编程器,无须亲临现场。STC89系列单片机在出厂时,片内已经烧录有ISP引导码,占用Block1的程序空间前2K字节,并设置为从Block1启动。启动时,首先执行ISP引导码,确认是程序下载,还是正常启动。无论是程序下载还是正常启动,ISP引导码最后总是将REMAP取消,恢复Block0在前8K的地址空间,进而执行Block0中的用户程序,即用户程序总是放在Block0的00H开始的单元,除非用户自行修改了ISP引导码。 三、STC89系列单片机IAP技术 IAP功能就是在应用可编程,利用该功能,就可将本不具有EEPROM的单片机具有相当于EEPROM的功能,而且存储空间远大于EEPROM。IAP不能对自身所在的Block编程,即当程序运行在Block0时,可编程的是Block1;当程序运行在Block1时,可编程的是Block0。根据这个特点,通过REMAP功能可设置在应用编程的Flash的大小。对STV89C58来说, ①、当程序运行于Block0时,可拥有6~8k的Flash EEPROM(一般使用); ②、当程序运行于Block1时,可拥有近32k的Flash EEPROM(需要技巧或更改ISP引导码); 技巧:对于想使用32K的Flash EEPROM,又不想更改ISP引导码的用户,可以这样设计程序,在用户程序开始处,通过REMAP功能将Block1影象到前8K,并将影象指令之后的程序烧录在Block1中即可。程序流程定位:Block1(ISP引导码) à Block0(用户程序REMAP部分)à Block1(用户程序) 要使用IAP功能,必须启用IAP功能。STC89的超级Flash配置存储器SFCF的bit6位用来开关IAP功能,0关闭,1开启,程序启动时默认关闭。 IAP功能所涉及到的SFR有: SFCF DATA 0B1H ;超级Flash配置存储器 SFCM DATA 0B2H;超级Flash命令存储器 SFAL DATA 0B3H ;超级Flash地址低字节存储器 SFAH DATA 0B4H ;超级Flash地址高字节存储器 SFDT DATA 0B5H ;超级Flash数据存储器 SFST DATA 0B6H ;超级Flash状态存储器 (一)、IAP的主要功能有: (1)片擦除。命令格式: ORL SFCF,#040H ;启动IAP MOV SFDT,#55H MOV SFCM,#01H ;写入命令字 ;查询SFST.2,等待芯片擦除结束, (2)块擦除。命令格式: ORL SFCF,#040H ;启动IAP MOV SFAH,#0F0H/#00H ;擦队block0/block1 MOV SFDT,#55H MOV SFCM,#0DH ;写放命令字 ;查询SFST.2,等待芯片擦除结束, (3)扇区擦除。命令格式: ORL SFCF,#040H ;启动IAP MOV SFAH,区段地址高字节 MOV SFAL,区段地址低字节 MOV SFCM,#0BH ;写入命令字 ;查询SFST.2,等待芯片擦除结束, (4)字节编程。命令格式: ORL SFCF,#040H ;启动IAP MOV SFAH,要编程地址高字节 MOV SFAL,要编程地址低字节 MOV SFDT,要编程的数据 MOV SFCM,#0EH ;写放命令字 ;查询SFST.2,等待芯片擦除结束, (5)字节校验。命令格式: ORL SFCF,#040H ;启动IAP MOV SFAH,要校验数据的地址高字节 MOV SFAH,要校验数据的地址低字节 MOV SFCM,#0CH ;写放命令字 NOP MOV A,SFDT ;A保存规定单元地址读出的内容 (二)、使用IAP需要注意: 1、启动IAP请使用ORL指令,尽量不要使用MOV指令,否则(尤其对初次使用本单片机者)及易造成系统软件复位、程序存储器REMAP等; 2、IAP编程的数据读出,请使用字节校验指令,避免使用MOVC指令。MOVC指令在IAP中较数场合(尤其是有地址重叠的地方)不能读出正确的数值; 3、IAP编程不要忘记打开IAP功能(数据读出时也需要)。 (三)、IAP功能的用途: ①、通过IAP功能可以不需编程器就可做单片机实验。这对初次学习单片机的人们,尤其对学校单片机的教学带来极大的方便,是一种最低成本的单片机开发手段。 ②、可以对产品的软件进行升级。不需外加监控芯片,只是通过串行口便可将PC机内的产品升级软件下载到产品中去,而实现产品软件升级换代。在自己的实验室便可通过Modem对远方的产品进行软件升级。这将是以后电子产品的必然趋势。 ③、还可以在线对产品参数进行修改。可实现在线对现场历史数据的存储、曲线参数校正等功能。适用于一些需经常改变数据的应用产品(如计费器、门禁系统及需要升级的产品等)及需远距离改变设备参数的产品(遥控设备等)。 四、 可编程计数器阵列 8051单片机片内有2个定时器/计数器,8052则有三个,满足一般拥护的需求,但在某些特殊场合却略显资源紧张,STC89额外提供了一个可以无须CPU参与、独立工作的可编程计数器阵列(PCA)。 STC89的可编程计数器阵列(PCA)是一个16比特的定时器,拥有5个16比特捕捉/比较模块,每个模块均可有以下几种模式: 上升沿和/或下降沿捕捉; 软件定时器; 高速输出; 看门狗定时器(仅模块4); 脉宽调制器(PWM) 可编程计数器阵列的时钟可如下选择: 可编程计数器阵列在很少的CPU开销下比普通的定时器/计数器提供了更多的定时功能。它的优点包括减少软件开销及提高精度。 PCA可提供除波特率发生器外,T0,T1,T2定时器所能提供的功能。 PCA捕捉功能可以同时捕捉输入脉冲的上升沿及下降沿,非常适合用来检测脉冲宽度和频率;在软件解码PT2262时,具有相当好的表现,省却了大量的CPU管理时间。 由于具有上升沿捕捉功能,PCA还可以用作上升沿的中断,以弥补8052只有下降沿中断的缺陷,在8052中有时你不得不另加一个反相器以符合MCS51的要求。 PWM功能可用于控制电动机调速等。 五、 复位电路 STC89在8051基础上增加了多个复位功能,以提高单片机的抗干扰能力。 1、上电复位:基本同8051相似,但同时增加了一项功能,就是软件可编程在复位时从REST脚输出32个复位脉冲,去复位外部设备,保证外部设备的同步,省却外部复位电路; 2、软件复位:8051没有软件复位功能,技术人员一般需要自行设置较多SFR值,模拟软件复位,STC89只需改变一个位状态即可完成软件复位,减少软件开销。 3、欠压检测与复位 8051没有欠压检测功能,在遭遇欠压时,单片机无法正常工作,端口状态不定,极易造成外围设备的损坏。STC89的欠压检测与复位可在一定程度上避免此类事件发生。STC89在检测到欠压条件时产生一个中断通知或产生一个复位信号,复位单片机。欠压中断通知是一个很实用的功能,由于掉电通知到掉电还有以段时间,它可以让程序在即将掉电时,及时保存那些必要的参数,避免以写不必要的损失。 结束语: STC89的优点不是三言两语就能说的清楚的,更多的信息可参考STC89数据手册。 STC89在8051基础上增加了许多功能,极大地提高了MCS51家族的性能。STC89由美国设计,在台湾生产,是目前在相同性能条件下价格最优的一个品种。STC89的高性能、低价格,必定能为使用MCS51家族产品的技术人员带来相当的技术和经济的效益。当然,对于一个新的品种,它的新特性、新功能和可靠性还有待于我们去实践、去发掘。 1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。 2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! |
本站协议 |
版权信息 |
关于我们 |
本站地图 |
营业执照 |
发票说明 |
付款方式 |
联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389 |