您现在的位置是:首页 > 单片机

HT48R05A-1输入输出端口

2019-12-28 18:15:17

输入输出口

    HT48R05A-1单片机提供13个双向输入输出口,标号为PA到PC,其分别对应RAM中的[12H]、[14H]、[16H]。所有的I/O口都可作为输入或输出用,就输入而言,这些端口不具备锁存功能,即输入数据必须在“MOV A,[m]”(m=12H、14H、16H)指令的T2上升沿准备好,对输出而言,所有的数据被锁存并保持不变,直到输出锁存器重新被改写。

    每个I/O口都有其自己的控制寄存器(PAC、PBC和PCC),用来控制输入/输出的设置。使用控制寄存器,可对CMOS输出或斯密特触发输入在软件下动态地进行改变,要设置为输入功能,相应的控制位必须写“1”。信号源的输入也取绝决于控制寄存器,如果控制寄存器的某位为“1”,那么输入信号是读取自这个引脚(PAD)的状态,但是如果控制寄存器的某位的值为“0”,那么锁存器的内容将会被送到内部总线,后者,可以在“读—修改—写”指令中发生。

    对于输出功能,只能设置为CMOS输出。这些控制寄存器是对应于RAM的13H、15H和17H。

    芯片复位后这些输入/输出口都会是高电平或浮空状态(取决于是否选择了上拉电阻),每一个输入/输出锁存位都能被SET [m].i或CLR [m].i指令置位或清零,(m=12H、14H和16H)。

    某些指令会首先输入数据然后进行输出操作。例如,SET [m].i,CLR [m].i,CPL [m]和CPLA [m]指令,读取输入口的状态到CPU,执行这个操作(位操作),然后将数据写回到锁存器或累加器。

    PA的每一个口都具有唤醒系统的功能,PC口的高6位和PB口的高5位在物理上是不存在的,读这些位将返回“0”,而写这些位的结果为无效操作。

    所有的I/O口都可以有上拉电阻的选择,一旦选择上拉电阻,所有的I/O口都具有上拉电阻,必须注意的是:没有上拉电阻的I/O口工作在输入模式会产生浮空现象。

    PB0和PB1分别与BZ和BZ(非)共享引脚,如果BZ和BZ(非)的选项被选择,PB0和PB1在输出模式时的输出信号将是由定时/计数器的溢出信号产生的PFD信号,在输入模式时,始终保持它的原来功能,一旦BZ和BZ(非)的选项被选择,蜂鸣器的输出信号只受PB0数据寄存器的控制,PB0和PB1的I/O功能如下表所示:

 HT48R05A-1 PB0,PB1的I/O功能
PB0 I/O I I I I O O O O O O
PB0 I/O I O O O I I I O O O
PB0/PB1模式 X C B B C B B C B B
PB0 数据 X X O 1 D 0 1 D0 O 1
PB1数据 X D X X X X X D1 X X
PB0 Pad状态 I I I I D 0 B D0 O B
PB1 Pad状态 1 D 0 B 1 1 1 D1 0 B

    注:I:输入,O:输出,D、D0,D1:数据
    B:蜂鸣器选项,BZ或BZ(非),X:任意值
    C:CMOS输出


    PC0,PC1分别是INT和TMR共享引脚。
HT48R05A-1输入输出口结构


    为了避免在浮空状态下功耗过大,建议将未使用的或没有连结到外部的I/O口由软件指令设置成输出引脚。

    掩膜选项

    下表示出了这种单片机的各种掩膜选项,为了满足系统的功能,所有的掩膜选项必须正确定义。

 HT48R05A-1 掩膜选项
编号 选项
1 WDT时钟源,WDTOSC fTID
2 WDT允许/禁止:允许/禁止
3 LVD允许/禁止:允许/禁止
4 CLR WDT指令:一条或两条清除WDT指令
5 系统振荡器:RC或石英晶体
6 上拉电阻(PA-PC):选择有上拉电组或无上拉电阻
7 BZ选项:允许/禁止
8 PA0-PA7唤醒功能:允许/禁止
9 锁定:不锁定/锁定
HT48R05A-1应用电路