2020/2/241HOLTEK单片机基础时间:3小时2020/2/242內容提纲(二)HT48MCU内部功能单元说明(三)Datasheet中技术参数讨论(四)Q&A(一)HOLTEK单片机介绍2020/2/243HOLTEK公司介绍盛群半导体为国内专业微控制器IC设计领导厂商,营业范围主要包括微控制器IC及其周边组件之设计、研发与销售。自1998年成立以来,公司不断致力于新产品的研发及技术的创新,加上对市场趋势的掌握,期能提供广大电子市场最具竞争力之IC产品。产品范围包括:泛用型与专用型微控制器(MCU),除一般应用领域外,更涵盖语音、通讯、计算机外设、家电、医疗、车用及安全监控等各专业领域,并提供各种电源管理及非易失性内存等微控制器外围组件,提供客户更具竞争能力的完整解决方案。2020/2/244(1.1)什么是MCUMicro-ControllerUnit(微控制器)(1.2)何谓单片机单片机:就是将微处理器,RAM,ROM及I/O口,定时器/计数器等电路集成在一块芯片上的微型控制器,单片机、微控器实际是一回事.单片机分类2020/2/245单片机分类(a)从MCU的结构分:RISC(ReducedInstructionSetComputer)例如:HT系列,PIC系列等CISC(ComplexInstructionSetComputer)例如:Intel51系列,W78系列(b)从MCU的ALU位元长度分:4位机,8位机,16位机32位机…...(c)从MCU的应用类型分:I/O型,LCD型,AD型……2020/2/246HOLTEK单片机介绍中央处理单元:指令解码单元、执行控制单元、算术逻辑单元程序存储器数据存储器总线(BUS):数据总线、控制总线、地址总线输出/输入端口其他功能单元(STACK、INT、OSC、Reset、Timer、WDT、LCD、A/D、TimeBase、LVR...)sim48x30_1v200.pdf2020/2/247HOLTEK单片机分类(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)HT48xAx\HT49xAx系列Remote(遙控器用)型(6)HT95R2x\HT95R3x系列Phone(+LCD)(7)HT45R3x\BS28xx\BS26xx系列Touch型(8)Flash型(HT46Fxx\HT48Fxx\HT66Fxx\HT68Fxx)(9)TinyPower型(HT56R2x,HT56R6x,HT56R6xx)(10)Keyboard/Mouse系列,USBAudio系列,Voice/Music系列,VFD系列……..2020/2/248HOLTEK单片机内部基本功能单元系统结构存储器基本I/O外部中断定时/计数器中断振荡器看门狗定时器和节电模式LCD驱动A/D功能基本电路参考/技术参数2020/2/249Holtek单片机的系统结构时钟生成器系统RC/X‘tal振荡指令译码器指令寄存器看门狗振荡数据存储器地址译码器存储器指针MUXACC查表寄存器看门狗时钟RESET和LVR电路定时计数器蜂鸣器驱动I/O端口设备编程电路选项配置程序存储器地址译码器堆栈堆栈指针程序计数器查表指针程序存储器ALUShifterMUX内部RC振荡中断电路配置寄存器配置寄存器配置寄存器配置寄存器时钟生成器系统RC/X‘tal振荡指令译码器指令寄存器看门狗振荡数据存储器地址译码器存储器指针MUXACC查表寄存器看门狗时钟RESET和LVR电路定时计数器蜂鸣器驱动I/O端口设备编程电路选项配置程序存储器地址译码器堆栈堆栈指针程序计数器查表指针程序存储器ALUShifterMUX内部RC振荡中断电路配置寄存器配置寄存器配置寄存器配置寄存器时钟生成器系统RC/X‘tal振荡指令译码器指令寄存器看门狗振荡数据存储器地址译码器存储器指针MUXACC查表寄存器看门狗时钟RESET和LVR电路定时计数器蜂鸣器驱动I/O端口设备编程电路选项配置程序存储器地址译码器堆栈堆栈指针程序计数器查表指针程序存储器ALUShifterMUX内部RC振荡中断电路配置寄存器配置寄存器配置寄存器配置寄存器2020/2/2410时序和流水线结构图1-2系统时序和流水线取指令(PC)执行指令(PC-1)取指令(PC+1)执行指令(PC)取指令(PC+2)执行指令(PC+1)PCPC+1PC+2振荡时钟(系统时钟)时钟相位T1程序计数器时钟相位T2时钟相位T3时钟相位T4运行流程取指令(PC)执行指令(PC-1)取指令(PC+1)执行指令(PC)取指令(PC+2)执行指令(PC+1)PCPC+1PC+2振荡时钟(系统时钟)时钟相位T1程序计数器时钟相位T2时钟相位T3时钟相位T4运行流程2020/2/2411时序和流水线结构(续)图1-3子程序调用流水线的情况取指令1执行指令1取指令2清除流程123456DELAY:MOVA,[12H]CALLDELAYCPL[12H]::NOP执行指令2取指令3取指令6执行指令6取指令7取指令1执行指令1取指令2清除流程123456DELAY:MOVA,[12H]CALLDELAYCPL[12H]::NOP执行指令2取指令3取指令6执行指令6取指令72020/2/2412程序计数器表1-3程序计数器不同模式下的改变注:(1)PC12~PC8:目前程序计数器位(2)@7~@0:PCL位(3)#12~#0:指令码位(4)S12~S0:堆栈寄存器位模式程序计数器b12b11b10b9b8b7b6b5b4b3b2b1b0复位0000000000000外部中断0000000000100定时/计数器0中断0000000001000定时/计数器1中断0000000001100写入PCL寄存器PC12PC11PC10PC9PC8@7@6@5@4@3@2@1@0跳转或调用子程序#12#11#10#9#8#7#6#5#4#3#2#1#0由子程序返回S12S11S10S9S8S7S6S5S4S3S2S1S02020/2/2413堆栈图1-4堆栈与堆栈指针/程序计数器ALU所提供的功能与其相关指令码如下:算术运算:ADD、ADDM、ADC、ADCM、SUB、SUBM、SBC、SBCM、DAA逻辑运算:AND、OR、XOR、ANDM、ORM、XORM、CPL、CPLA移位:RRA、RR、RRCA、RRC、RLA、RL、RLCA、RLC增加和减少:INCA、INC、DECA、DEC分支判断:MP、SZ、SZA、SNZ、SIZ、SDZ、SIZA、SDZA、CALL、RET、RETI程序计数器第1层堆栈第2层堆栈第3层堆栈第N层堆栈程序存储器栈顶堆栈指针栈底程序计数器第1层堆栈第2层堆栈第3层堆栈第N层堆栈程序存储器栈顶堆栈指针栈底2020/2/2414存储器程序存储器数据存储器2020/2/2415程序存储器图1-5盛群半导体I/O型单片机程序存储器结构HT48R10A-1HT48C10-1000H004H初始化向量外部中断向量定时/计数器中断向量HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1008H00CH未使用16bits15bits14bits14bits3FFH400H7FFH800HFFFH1000H1FFFH初始化向量初始化向量初始化向量外部中断向量外部中断向量外部中断向量定时/计数器中断向量定时/计数器0中断向量定时/计数器0中断向量定时/计数器1中断向量定时/计数器1中断向量HT48R10A-1HT48C10-1000H004H初始化向量外部中断向量定时/计数器中断向量HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1008H00CH未使用16bits15bits14bits14bits3FFH400H7FFH800HFFFH1000H1FFFHHT48R10A-1HT48C10-1000H004H初始化向量外部中断向量定时/计数器中断向量HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1008H00CH未使用16bits15bits14bits14bits3FFH400H7FFH800HFFFH1000H1FFFH初始化向量初始化向量初始化向量外部中断向量外部中断向量外部中断向量定时/计数器中断向量定时/计数器0中断向量定时/计数器0中断向量定时/计数器1中断向量定时/计数器1中断向量2020/2/2416数据存储器第一部分是特殊功能寄存器,有固定的地址且与单片机的正确操作密切相关。大多特殊功能寄存器都可在过程控制下直接读取和写入,但有些被保留用于未来扩展功能而不开放。第二部分通用数据存储器是留给用户使用的,都可在过程控制下进行读取和写入。图1-6数据存储器RAM的特点:掉电数据丟失.特殊功能寄存器00H20H7FH/FFH1FH通用数据存储器不同芯片容量不同特殊功能寄存器00H20H7FH/FFH1FH通用数据存储器不同芯片容量不同2020/2/2417通用数据存储器图1-7通用数据存储器的结构HT48R10A-1HT48C10-1HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1:未用读出为0020H7FH40H20H60H7FH20HFFH20HFFH通用数据存储器HT48R10A-1HT48C10-1HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1:未用读出为0020H7FH40H20H60H7FH20HFFH20HFFHHT48R10A-1HT48C10-1HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1:未用读出为0020H7FH40H20H60H7FH20HFFH20HFFH通用数据存储器2020/2/2418特殊功能寄存器图1-8专用寄存器的结构IARMPACCPCLTBLPTBLHWDTSSTATUSINTCTMRTMRCPAPACPBPBCPCPCCIAR0MP0IAR1MP1ACCPCLTBLPTBLHWDTSSTATUSINTCTMR0TMR0CTMR1HTMR1LTMR1CPAPACPBPBCPCPCCPDPDCPGPGC00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH10H11H12H13H14H15H16H17H18H19H1AH1BH1CH1DH1EH1FHIARMPACCPCLTBLPTBLHWDTSSTATUSINTCTMRTMRCPAPACPBPBCPCPCCPGPGCIAR0MP0IAR1MP1ACCPCLTBLPTBLHWDTSSTATUSINTCTMR0HTMR0LTMR0CTMR1HTMR1LTMR1CPAPACPBPBCPCPCCPDPDCPEPECPFPFCPGPGC:未用读出为00HT48R10A-1HT48C10-1HT48R30A-1HT48C30-1HT48R50A-1HT48C50-1HT48R70A-1HT48C70-1特殊功能寄存器IARMPACCPCLTBLPTBLHWDTSSTATUSINTCTMRTMRCPAPACPBPBCPCPCCIAR0MP0IAR1MP1ACCPCLTBLPTBLHWDTSSTATUSINTCTMR0TMR0CTMR1HTMR1LTMR1CPAPACPBPBCPCPCCPDPDCPGPGC00H01H02H03H04H05H06H07H08H09H0A