35芯片中的基本输入输出课程.ppt

《单片机技术基础》 3.5 芯片基本的输入输出端口 1 本讲的目标 明白芯片基本I/O的作用 掌握基本I/O的使用 2 基本输入输出端口的作用 人体的五官、四肢、皮肤:这些是人体的感官,是一种高级的I/O设备。人体与外界的交互就是靠它们完成的。 芯片的输入输出端口:I/O端口有如人体的感官,芯片获取外部的信息、控制外界的部件,就是依赖它们完成的。 人体感官与芯片输入输出端口的区别:人体感官的功能比较复杂,不仅负责了信号的输入输出,而且还有知觉、动作,可以说是一种顶级的传感器,而I/O端口只负责芯片电信号的输入输出。 3 MC68HC08JL3中的I/O端口 输入口?Input, 简称I,输出口?Output, 简称O, MC68HC08单片机与其它型号的单片机有所不同,它有多个并行I/O端口,但是依据封装形式不同和引脚不同,有些I/O脚并没有引到片外。 MC68HC08JL3型号的芯片有以下I/O端口:   3.1 PORTA的寄存器 并行口A有7个端口,每个口可以作为普通的I/O口,除此之外,A口还可以作为键盘接口。 PORTA作为一种并行口,负责着数据的输入和输出,数据放在哪里?芯片如何知道PORTA作为输入还是输出? 这些属性由PORTA的三个寄存器进行设置。 3.1.1 PORTA、DDRA A口数据寄存器 PORTA $0000 3.1.2 A口上拉寄存器PTAPUE A口上拉寄存器 PTAPUE $000D 3.1.3 I/O端口内部结构图 3.1.4 内部工作原理的分析 每一端口的数据有两路流向:  1、从内部数据总线到数据寄存器,再到缓冲     门1,到I/O引脚,为数据输出方向;  2、从I/O引脚到缓冲门2,到内部数据总线,   数据输入。 当方向寄存器输出0,缓冲门1关闭,缓冲门2打开,所以I/O引脚电平直接输入到内部总线; 当方向寄存器输出1,缓冲门1 、3打开,缓冲门2关闭,数据由内部数据总线送到数据寄存器,再通过缓冲门1输出,且数据可以回读。 如果该端口是用作输入,则可以选择是否需要用内部上拉电阻,由上拉控制寄存器控制(PTAPUE),PTAPUEn输出1,则缓冲门3输入1,场效应管导通,上拉电阻接上;如果是输出,则上拉电阻自动断开(图中没有表现出来)。 为什么要用上拉电阻?如果输入引脚接集电极开路(OC)的逻辑电路,就要接内部上拉电阻,否则,可不接,因此,根据具体电路而定。 3.1.5 怎样设置PTA口的工作方式? 假如想把PORTA的PTA5、PTA0设置为输入,且有5K上拉,其他口设置为输出,应该如何设置? 答案: MOV #DDRA MOV #PTAPUE 数据输出时,直接将数据送到A口数据寄存器即可; 如: STA PORTA 数据输入时,直接从数据输入口读数据即可。 如:LDA PORTA 3.1.6 PTA口的第二功能 PTA口除了普通的I/O口功能外,还有特殊的第二功能。 PTA0~6口可作键盘接口。对于像家电这样的产品,其键盘是行列交叉的一个键盘矩阵,通过输出行扫描,获得对应的列按键信号,并产生中断。(其它厂家的单片机并行接口也可以用作键盘的行列扫描,但不能产生中断,会使软件编程复杂。所以这一功能是MOTOROLA公司的特殊设计) 在后面的键盘扫描章节将详细说明。 3.2 PORTB口(PTB) 并行口B也有8个端口,每个口可以作为普通的I/O口,除此之外,B口还可以作为A/D变换的输入口。 控制端口B的寄存器如下: 可见端口B内部无上拉电阻。 PTB和DDRB寄存器的使用同PORTA口 3.3 关于ADC的说明 MC68HC08内部只有一个ADC转换模块,和多路转换开关,外部接12通道ADC输入(PTB0~7, PTD0~3,共12路),究竟转换哪一路,由程序选通其中的某一通道进行转换。 转换完成后,由程序读走被转换的数据。 (关于这部分内容在后面的章节中说明。) 3.4 PORTD并行口 PORTD并行端口也有8个口,每个口可作为普通的输入/输出端口,除此之外,还有第二功能。 PTD0~3 作ADC输入通道; PTD4(TCH0)、PTD5(TCH1)引脚可作为定时器输入/输出。 PTD2、3、6、7具有LED驱动能力,PTD6、7有25mA大电流驱动和5k上拉电阻。 3.4.1 PORTD寄存器 方向控制寄存器DDR和数据寄存器PTD同A口 3.4.2 PD口控制寄存器 SLOWDx:设置PTD6、PTD7位缓慢沿变化大电流驱动能力。 1=Slow 对应管脚为漏极开路大电流输出 0=Slow 对应管脚为推挽输出 PTDPUx:上拉允许位,控制PTD7、PTD6是否使用上

文档评论(0)

1亿VIP精品文档

相关文档