HOLTEK单片机HT48R05A-1内部结构原理大揭秘
|
HT48R05A-1是HOLTEK系列单片机中最简单的I/O型单片机,下面我们详细解析该单片机内部结构原理,供电子工程师及开发研究人员参考借鉴。HT48R05A-1是8位高性能单片机,专为多I/O口的产品而设计的OTP型号,可方便地应用于简单的控制系统。 程序存储器(PROM)
HT48R05A-1程序存储器容量为512x14位。程序存储器是用于存放要执行的指令代码的,包括中断向量、数据,可由程序计数器或表格指针来寻址。
在程序存储器中某几个地址被保留作为特殊用途。
· 地址000H
此地址保留给程序初始化之用,当系统复位时,程序会从000H地址开始执行。
· 地址004H
此地址保留给外部中断服务使用。当中断是开放的,且堆栈未满,则一旦INT端被下降沿触发,就能产生中断,程序从004H地址开始执行外部中断服务程序。
· 地址008H
此地址保留给定时/计数器中断服务使用。当中断是开放的,且堆栈未满,则一旦定时/计数器溢出时,就能产生中断,程序从008H地址开始执行中断服务程序。
· 表格地址
ROM中的任何地址都可被用来作为查表地址使用。查表指令为TABRDC[m]与TABRDL[m]。TABRDC[m]是查表当前页的数据[1页=256个字节(word)]。TABRDL[m]是查表最后一页的数据。[m]为数据存放的地址。在执行TABRDC[m]指令(或TABRDL[m]指令)后,将会传送当前页(或最后一页)的一个字节的低位字节到[m],而这个字的高位字节传送到TBLH(08H)。只有表格中的低位字节被送到目的地址中。而表格中的高位字节的其它位被传送到TBLH的低部位,剩余的二位作为0读出。TBLH为只读寄存器,而表格指针(TBLP:07H)是可以读写的寄存器,用来指明表格地址。在访问表格以前。通过对TBLP寄存器赋值来指明表格地址,TBLH只能读出而不能存储。如果主程序和ISR(中断服务程序)二者都使用查表指令,那么在主程序中的TBLH的内容可能被ISR中的查表指令改变而发生错误。应该避免在主程序和ISR中同时使用查表指令。但是,如果主程序和ISR二者都必须使用查表指令,那么中断应该在查表指令前被禁止,直到TBLH被备份好。查表指令要花两个指令周期来完成这一条指令的操作。按照用户的需要,这些区域可以作为正常的程序存储器来使用。
|
|||||||||||||||||||||||||||||||||||||||||||||||||
查看所有评论




世纪芯是一支由众多技术研发专家和科研企业结盟组成了技术服务型团队,自组建以来一直帮助政府、知名科研机构以及国内众多抄板企业攻克技术难题,10年来,我们专注反向技术研究并不断挑战大型疑难项目,目前已经成为国内抄板企业的中流砥柱。