holtek单片机怎么样_holtek单片机有什么特点.doc

上传人:白大夫 文档编号:3252454 上传时间:2019-08-06 格式:DOC 页数:12 大小:39KB
返回 下载 相关 举报
holtek单片机怎么样_holtek单片机有什么特点.doc_第1页
第1页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《holtek单片机怎么样_holtek单片机有什么特点.doc》由会员分享,可在线阅读,更多相关《holtek单片机怎么样_holtek单片机有什么特点.doc(12页珍藏版)》请在三一文库上搜索。

1、holtek单片机怎么样_holtek单片机有什么特点holtek盛群半导体为台湾省专业微控制器IC设计领导厂商,营业范围主要包括微控制器IC及其周边组件之设计、研发与销售。自1998年成立以来,公司不断致力于新产品的研发及技术的创新,加上对市场趋势的掌握,期能提供广大电子市场最具竞争力之IC产品。holtek bs84c12A 单片机开发开发环境搭建编辑编译调试是官方的HT-IDE3000,仿真器用的Elink,单片机的程序用C开发,使用代理商提供的触摸按键库。(这些资料后面都整体好提供下载)。软件的安装什么就不说了,直接就讲怎么和自己的硬件连接,进行在线调试。开发环境使用关于IDE3000

2、的使用,安装好后可以在软件的帮助部分,查看一些V3进行C语言编程的对应内容; ELink的话有个Elink仿真器使用说明,关键就是“”BS84C12A_20150807_LIBV413-V3“”这个软件包,后续的开发都在这个软件包的基础上进行(触摸按键调用这个软件包提供的库就方便实现按键功能),具体怎么使用这个软件包,可以看他对应的使用手册。关于使用Elink在线仿真,要注意就是 要使用对应的支持在线调试的芯片, 比如选的BS84C12A 对应的仿真芯对应的EV芯片。关于编程使用上面提到的软件包进行编程,其实就是已经帮搭建好了框架,void USER_PROGRAM_INITIAL()这个函数

3、里面就是硬件初始化,void USER_PROGRAM()函数就是单片机程序需要循环执行的内容。自己开发过程中编程时候遇到的问题主要如下:1,堆栈溢出。解决,查数据手册可以知道,选的BS84C12A是硬件堆栈5层,调用的触摸按键库,它的手册上已经说明软件包占用了2层的堆栈,因此留给自己用的堆栈只有3层。比如的程序,自己使用定时器中断占用了一层,那么 USER_PROGRAM()之后,自己的代码只能再调用一层函数。 再进行函数调用的话,就会导致堆栈溢出而死机。2,ROM不足解决,优化代码功能开启来编译器选项中,同时关键的变量都带上volatile,相同功能的代码就复用起来,尽量合理用数组来减少代

4、码量。后面自己发现,程序里面要是进行了乘法,乘以0.55,ROM的使用量居然多出8%,而且还容易堆栈溢出,所以尽量不要用乘法吧。3,RAM不足bank0是编译器自动分配的,bank1 ,bank2,好像是需要自己手动指定。 就是当编译器出错说RAM不足, 你就一些数组放到bank1中。下面就是程序中的定义方式 0X1B4, 0X1代表BANK1,B4代表地址,数据手册上有写bank1的地址是0x800XFFstatic volatile unsigned int uiKeyTimeCnt8 _attribute_ (at(0x1b4); /按键去抖动延时计数器static volatile u

5、nsigned int uiKeyCtntyCnt8 _attribute_ (at(0x1c4); /按键连续触发的间隔延时计数器static volatile unsigned char ucKeyLock8 _attribute_ (at(0x1d4); /按键触发后自锁的变量标志holtek单片机是由盛群半导体设计开发,盛群半导体为国内专业微控制器IC设计领导厂商,营业范围主要包括微控制器IC及其周边组件之设计、研发与销售。自1998年成立以来,公司不断致力于新产品的研发及技术的创新,加上对市场趋势的掌握,期能提供广大电子市场最具竞争力之IC产品。产品范围包括:泛用型与专用型微控制器(

6、MCU),除一般应用领域外,更涵盖语音、通讯、计算机外设、家电、医疗、车用及安全监控等各专业领域,并提供各种电源管理及非易失性内存等微控制器外围组件,提供客户更具竞争能力的完整解决方案。holtek单片机分类(1) HT48系列 I/O 型( + LCD)(2) HT49系列 I/O + LCD 型(3) HT46系列 I/O+AD 型( + LCD)(4) HT47系列 I/O+RC-F(AD)+LCD+IR型(5) HT48xAxHT49xAx系列 Remote (遙控器用)型(6) HT95R2xHT95R3x系列Phone( + LCD)(7) HT45R3xBS28xxBS26xx系

7、列 Touch型(8) Flash 型(HT46FxxHT48FxxHT66FxxHT68Fxx)(9) TIny Power 型(HT56R2x, HT56R6x, HT56R6xx )(10) Keyboard/Mouse系列,USB Audio系列,Voice/Music系列,VFD系列。HOLTEK单片机系统结构Holtek单片机的系统结构时序和流水线结构子程序调用流水线的情况程序计数器lALU所提供的功能与其相关指令码如下:算术运算 :ADD、ADDM、ADC、ADCM、SUB、SUBM、SBC、SBCM、DAA逻辑运算 :AND、OR、XOR、ANDM、ORM、XORM、CPL、C

8、PLA移位 :RRA、RR、RRCA、RRC、RLA、RL、RLCA、RLC增加和减少:INCA、INC、DECA、DEC分支判断 :MP、SZ、SZA、SNZ、SIZ、SDZ、SIZA、SDZA、CALL、RET、RETI堆栈与堆栈指针/程序计数器HOLTEK单片机存储器(程序存储器/数据存储器)盛群半导体I/O型单片机程序存储器结构第一部分是特殊功能寄存器,有固定的地址且与单片机的正确操作密切相关。大多特殊功能寄存器都可在过程控制下直接读取和写入,但有些被保留用于未来扩展功能而不开放。第二部分通用数据存储器是留给用户使用的,都可在过程控制下进行读取和写入。数据存储器通用数据存储器的结构专用

9、寄存器的结构特殊功能寄存器:间接寻址寄存器 IAR, IAR0, IAR1间接寻址指针 MP, MP0, MP1累加器 (数据存储器地址:05H) ACC程序计数器低字节寄存器(数据存储器地址:06H) PCL表格寄存器(数据存储器地址:07、08H) TBLP, TBLH看门狗定时寄存器(数据存储器地址:09H) WDTS状态寄存器(数据存储器地址:0AH) STATUS中断控制寄存器(数据存储器地址:0BH) INTC定时/计数器寄存器 (数据存储器地址:0CH11H)输入/输出端口和控制寄存器HOLTEK单片机基本I/O上图:输入/输出端口硬件图上拉电阻(配置选项设置 or 软件设置)唤

10、醒功能(配置选项设置 or 软件设置)输入/输出端口控制寄存器外部中断输入外部中断外部中断是通过端口上由高到低的电平转换来触发,之后相应中断请求标志位(EIF;INTC的第4位)被置位。当中断允许,堆栈未满且外部中断产生时,会调用地址04H的子程序,中断请求标志位EIF将被清零,且EMI位将被清零来屏蔽其它中断。l中断控制寄存器(一个定时/计数器)中断控制寄存器(两个定时计数器)不同中断的允许位、请求标志优先级注意:在图中,T0F和T1F中断请求标志位与ET0I和ET1I中断允许位提供给HT48R70A-1/ HT48C70-1和HT48R50A-1/HT48C50-1使用,因为它们拥有两个定

11、时/计数器。HT48R10A-1/ HT48C10-1和HT48R30A-1/HT48C30-1只有一个定时/计数器,定时/计数器0代表唯一的定时/计数器TMR,拥有中断请求标志位TF和中断允许位ETI。HOLTEK单片机定时/计数器中断当定时/计数器溢出,会置位定时/计数器中断请求标志位,定时/计数器中断发生。在只有一个定时/计数器的单片机中,此位是INTC寄存器的第5位即TF,而在有两个定时/计数器的单片机中,定时/计数器0中断请求标志位是INTC的第5位即T0F,而定时/计数器1中断请求标志位是INTC的第6位即T1F。当主中断位被打开、堆栈未满且相关内部中断允许位打开,定时/计数器溢出

12、时会发生内部中断。对于只有一个定时/计数器的单片机将调用地址08H的子程序。对于有两个定时/计数器的单片机,定时/计数器0中断将调用地址08H的子程序,而定时/计数器1中断将调用地址0CH的子程序。内部中断发生时,中断请求标志位TF、T0F或T1F被清零,且EMI位将被清零来屏蔽其它中断 。中断优先级注意:此表应用于HT48R70A-1/HT48C70-1和HT48R50A-1/HT48C50-1,它们拥有两个定时/计数器,即为TMR0和TMR1。而HT48R10A-1/HT48C10-1和HT48R30A-1/HT48C30-1只有一个定时/计数器,定时/计数器0代表唯一的定时/计数器,即T

13、MR。8位定时/计数器结构16位定时/计数器结构定时/计数器的相关寄存器(续)定时/计数控制寄存器 TMRC,TMR0C,TMR1C配置定时/计数器输入时钟源定时/计数寄存器TMR, TMR0, TMR0L/TMR0H, TMR1L/ TMR1H定时器模式事件计数模式可编程分频器(PFD)和蜂鸣器的应用TIMER应用举例:TMR是向上计数的寄存器l在定时或计数时,当计数到OFFH时,再來一个CLK,计数器就会溢出(在中断开启且堆栈未满时,就会发生TIMER中断),计数器重新装载初始值,并从此初始值开始重新计数。寄存器TMR或者TMR0L/TMR0H写入初始值控制寄存器TMRC设置工作模式、时钟

14、、触发条件,开关。TMRC控制寄存器TIMER定时模式TIMER定时模式时时间计算(以上面程序为例)条件: OSC : Crystal = 4 MHzTimer source: system clock计算每次发生中断的时间间隔T=?PSC2 PSC1 PSC0 = 000f INT = fsys/2 =2MHZt = 1/ f INT = 0.5usT= (256-96)* t=160*0.5us= 80usTIMER 计数模式a) 將TMRC中 设置为TM1 TM0 = 01定时器就工作于定时模式 ,计数模式和定时模式原理相同,只是计数器的时钟源选择不同。b) 计数器的时钟源由芯片的TMR

15、腳输入。c) TE= 0 上升沿计数 /1 下降沿计数TIMER 脉宽測量模式(a) TMRC中设置 TM1,TM0=11TE= 0 脉宽下降沿开始计数/1 脉宽上升沿开始计数TO=1 脉宽测量启动,測量完一次会被清0,再次測量必須重新设置此位(b) 如果TO,TE=1, TMR腳上脉冲上升沿开始计数,下降沿停止计数。測量结果存放在TMR中。编程注意事项当定时/计数器运行在定时器模式时,定时器的时钟源是使用内部系统时钟或RTC,与单片机所有运算都能同步。在这个模式下,当定时器寄存器溢出时,单片机将产生一个内部中断信号,使程序进入相应的内部中断向量。对于脉冲宽度测量模式,计数器的时钟源也是使用内

16、部系统时钟或RTC,但定时器只有在正确的逻辑条件出现在外部定时/计数器输入引脚时才执行动作。当这个外部事件没有和内部定时器时钟同步时,只有当下一个定时器时钟到达时,单片机才会看到这个外部事件,因此在测量值上可能有很小的差异,需要程序设计者在程序应用时加以注意。在定时器配置为外部事件计数模式时,它的时钟来源是外部事件,和内部系统时钟或者定时器时钟不同步。holtek单片机振荡器l三种系统时钟可供选择:看门狗定时器也有多种时钟源选择,另外还有实时时钟RTCl三种方法产生系统时钟:使用外部晶体/陶瓷振荡器、外部RC电路或是内部RC时钟源晶体/陶瓷振荡器外部RC振荡器三种振荡电路RTC振荡器如果选择R

17、TC作为定时/计数器的时钟源,则即使单片机工作在暂停即HALT时,定时/计数器依然有效工作,当定时器溢出时,还会发出正常的内部中断信号,此信号使单片机从HALT状态下被唤醒,并且继续正常工作直到下一个“HALT”指令被执行。看门狗定时振荡器WDT振荡器是一种完全独立在芯片上自由动作的RC振荡器,它在5V条件下的周期时间典型值是65us周期,且不需外部的器件搭配。当单片机进入暂停模式时,系统时钟将停止动作,但WDT振荡器继续自由动作且保持看门狗有效。某些应用中为降低功耗,可通过掩膜选项来关闭WDT振荡器。系统的暂停和唤醒暂停模式是通过“HALT”指令实现且造成如下结果:系统振荡器将被关闭在RAM

18、芯片和寄存器上的数据保持不变假如WDT时钟源是来自WDT振荡器,WDT和WDT预分频器(Prescaler)将被清零然后再重新计数所有输入/输出端口状态保持不变PDF标志位被置位而TO标志位被清零holtek单片机看门狗定时器和节电模式看门狗定时器用于程序防止单片机死机,或进入死循环。一般用在环境比较恶劣的情況下。看门狗定时器WDT预分频器看门狗定时器的操作:以HT48R30A-1为例WDT的时钟源可选择:a) WDTOSC(12Kz)b) T1(system clock/4)c) RTCOSC(32看门狗清除:方式一: CLR WDT方式二: CLR WDT1CLR WDT2配置选项选择清除

19、方式,必须在WDT计数器溢出之前清除,否则将发生WDT溢出Reset 系统。配置选项:基本电路参考/技术参数基本应用电路HT48 I/O单片机技术参数:技术特性:高性能RISC结构、低功率完全静态CMOS设计工作电压:在4MHz下,由2.2V到5.5V,在8MHz下,由3.3V到5.5V,功率损耗:在5V/4MHz下,典型值为2 mA/1.5mA(Enhanced I/O)不使用看门狗定时器和RTC时,3V下静态(standby)电流小于1uA温度范围:工作温度-40-85度(工业级规格),储存温度-50-125度内核特性:程序存储器l1K14 OTP/Mask ROM (HT48R10A-1

20、/HT48C10-1)l2K14 OTP/Mask ROM (HT48R30A-1/HT48C30-1)l4K15 OTP/Mask ROM (HT48R50A-1/HT48C50-1)l8K16 OTP/Mask ROM (HT48R70A-1/HT48C70-1)数据存储器l648 SRAM (HT48R10A-1/HT48C10-1)l968 SRAM (HT48R30A-1/HT48C30-1)l1608 SRAM (HT48R50A-1/HT48C50-1)l2248 SRAM (HT48R70A-1/HT48C70-1)周边特性:从8个到56个具有上拉功能的双向输入输出口PA口具有唤醒功能外部中断输入事件计数输入具有预分频器(Prescaler)及中断功能的定时器看门狗定时器(WDT)暂停与唤醒特性可以节省功耗PFD/蜂鸣器驱动输出芯片内置晶体及电阻电容振荡电路具有低电压复位特性32768Hz的实时时钟(RTC)功能具有低电压复位(LVR)特性具有烧录电路接口及程序代码保护功能Mask版单片机适用于大量生产提供高效的软硬件支持工具表格读取功能多层硬件堆栈直接和间接数据寻址模式位操作指令63条强大的指令大多数指令执行时间只需要一个指令周期引脚分配:HT48R30A-1/HT48C30A-1引脚分配

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1