banyai的笔记 https://bbs.21ic.com/?88351 [收藏] [复制] [RSS]

日志

TM57PE11学习笔记

热度 1已有 1174 次阅读2011-2-13 01:24 |系统分类:单片机| 单片机, 十速, TM57PE11, 笔记

         要做一个项目,功能很简单,就想到用一个最便宜的单片机,选来选去,用了十速的TM57PE11,真的很便宜,不到0.6元(2010年),把一些它的功能之类记录下来,以便自已和大家选用时有个参考。


      一、 TM57PE11是8位的微处理器,它的基本功能:


                1. ROM:1K X 14位 OTP 或者 512 X 14位 TTP(ROM可编程两次)。


                     这是比较特别的地方,也就是说,如果你的程序小于512 X 14位,那芯片可以编写两次。


               2. RAM:48 X 8位


               3. 堆栈:5级


               4. I/O口:可编程三次(最大6脚)


               5. 定时器计数器:带有1-256预分频的8位定时控制器,自增型,溢出中断。


               6. 看门狗/唤醒定时器:基于内部RC振荡,唤醒时间为20~160ms。


               7. 复位:电源复位,看门狗复位,低电压复位,外部复位


               8. 系统时钟模式:内部RC:4MHz, 外部RC


                    内部RC频率:Vdd=4.75~5.25V:3.85~4.15MHz(典型:4MHz),      


                                              Vdd=2.8~3.2V: 3.8~4.1MHz(典型:3.9MHz)。


               9. 工作电压:LV复位电压至5.5V


                                       LVR:2.2V,3.2V,不使能。


              10. 指令:36个


               11. 中断:两个管脚中断,定时器0中断和唤醒定时器中断。


               12. 支持省电模式,可以通过INT0,INT2,复位,看门狗/唤醒定时器唤醒。


    二、功能详述


            1. 管脚图:


                


          PA0~PA1:位编程I/O端口,可施密特触发输入,CMOS推挽输出或者伪开漏模式输出,上拉电阻由软件分配。


          PA2~PA4:位编程I/O端口,可施密特触发输入,CMOS推挽输出或者开漏输出,上拉电阻由软件分配。


          PA7:只能做施密特触发输入,nRESET时作复位输入,上拉电阻一直使能。


          Xrc:连接着系统时钟的外部RC振荡器。


          CLKO:用于内外部RC振荡模式的CPU指令时钟。


           INT0,INT2:外部中断输入。


           T0I:时钟输入到定时器0。


    2. 时钟配置和指令周期


         一个机器周期 Fic = 两个时钟周期 Fosc


         两个机器周期执行一条指令的预取或执行,又因为在上一条指令的执行时,可完成下一条指令的预取,所以可以认为 一个指令周期Fcpu = 两个机器周期 Fosc,所以 Fcpu = Fosc/4,当Fosc = 4MHz时,Fcpu = 1MHz。


      3.RAM分布


         TM57PE11有些特别,分R-Plane和F-Plane。


         R-Plane里的寄存器只能写入,并且只能通过"MOBWR“指令通过直接寻址方式把W寄存器里的常量放在R-Plane寄存器中。这部份只存在特殊功能寄存器,实现芯片的功能,一般初始化时进行赋值。


        F-Plane中,00H~1FH:SFR Bit Addressable,特殊功能寄存器,可以位操作。20H~3FH:SRAM Bit Addressable,用户自己定义的数据区,如果把数据存放在这里,就可以实现位操作。40H~4FH:SRAM,也是用户自己定义的数据区,但这部份不能进行位操作。F-Plane区可能直接或间接(INF)寻址。


         4.中断


             TM57PE11有5个中断源,但只有一个中断向量0x001(也就是说,所有的中断入口都是同一个中断向量),并且没有中断优先级及中断嵌套,每个中断源都有它自己的使能控制位和中断标志位。在中断触发时至少有一条指令在主程序执行着,在处理中断程序后,必须软件清除中断事件的中断标志位。


        5. 系统配置寄存器(SYSCFG)


            通过编程软件可以配置芯片的SYSCFG,包括:代码保护,程序重新写入,LVR复位模式,CLKS:时钟源选择位,XRESETE:外部管脚复位选择位,WDTE看门狗复位选择位,IRCF内部RC频率调整控制位。


         6. 可重复编程


              这是一个比较特别的功能,允许再次编程。当程序小于512时,第一次编程:nPROTECT=0和nREUSE=1,此时代码在程序存储器的上半部分,当第二次编程时,nREUSE=0,此时代码存在了程序存储器的下半部分了。


          7. 使用体会:


               a. 通过睡眠和唤醒,可以降低芯片的功耗。


               b. PAE=0,PAD=1时伪漏式输出模式,优点是输出上升时间可以大大快于纯漏式结构。


               c. 读引脚数据时:“读-修改-写”指令中(如BSF,BCF以及所有据F-Plane做目的地的指令),CPU实际上读取输出数据寄存器。在别的指令中,CPU读取引脚的状态,这时要注意的是:如果输出后立即读回,当指令周期太快时,可能因为引脚状态还没来得及改变而发生读取错误。


                d. nPAPU上拉电阻使能寄存器:0使用,不上拉的情形:1.PAD=0,2.PAE=1,3.管脚作外部RC振荡输入。


 三、开发工具:


            IDE:TMU&TM57IDE


            编程软件:TWR98


         

1

路过

鸡蛋

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)