- 0
- 0
- 约6.38千字
- 约 33页
- 2026-01-22 发布于广东
- 举报
6.1I/O端口
从这部分开始,将结合C语言编程练习和单片机外围元器件与电路,来详细了解ATmega8A单片机硬件的各种功能资源。首先要学习的是单片机中最简单但又很重要的I/O端口,即输入/输出端口,它们是单片机与外部设备进行数据交换或输出控制信号的通道。ATmega8A单片机有三组I/O端口,分别是PORTB、PORTC(7位)和PORTD,共21路通用I/O接口,分别对应单片机芯片上的21个引脚。ATmega16A单片机有32个I/O口,而ATmega64A有48个I/O口,ATmega128A则有53个I/O口。它们的结构、原理与使用方法基本相同,可以根据实际应用的I/O口需要,选择不同型号AVR单片机。ATmega8A中所有这些I/O口都是两功能或三功能复用的。其第一功能都是作为通用数字I/O口使用,而复用功能则分别用于诸如外部中断、定时/计数器、SPI、USART、TWI和ADC等应用。下一页返回
6.1I/O端口
作为通用数字I/O口使用时,所有AVR单片机I/O端口都具有真正的读—修改—写功能。输出缓冲器具有对称的驱动能力,可以输出或吸收20mA电流,能直接驱动LED等小功率外围器件。图6.1为I/O口引脚等效原理图。所有的端口引脚都有与电压无关的上拉电阻Rpu,并有保护二极管与VCC和地相连。编程时,对每个端口的使用都需要通过3个I/O寄存器来完成,它们分别是:①数据寄存器—PORTx;②数据方向寄存器—DDRx;③端口输入引脚寄存器—PINx。其中,小写的“x”表示端口的序号,对ATmega8A其取值为B、C、D。而后面要遇到的小写的“n”代表位的序号,通常取值为0~7,如PORTB.3表示端口B的第3位。上一页下一页返回
6.1I/O端口
数据寄存器PORTx用于向端口输出数据,或者从端口输入数据。数据方向寄存器DDRx用于控制端口数据传输方向,I/O端口在使用之前,要明确其是用于输入还是输出。端口输入引脚寄存器PINx用于输入实时的端口引脚电平。数据寄存器和数据方向寄存器为读/写寄存器,而端口输入引脚寄存器为只读寄存器。但是需要注意的是,对PINx寄存器某一位写入逻辑“1”将造成数据寄存器相应位的数据发生“0”与“1”的交替变化。当寄存器SFIOR的上拉禁止位PUD置位时,所有端口引脚的上拉电阻都被禁止。端口引脚在使用之前都应按需要进行相应的配置,即要对3个I/O端口寄存器以及相应的寄存器位进行设置。单片机程序在执行时对所有寄存器的操作,都是通过引用其地址来实现的。但是,如果在编程时也引用寄存器地址,则很不方便,且程序的可读性也不好。所以,在CVAVR中事先已经把所有的寄存器地址通过宏定义赋予了一个有意义的名字,而编程时对寄存器的操作,直接引用这个名字即可。上一页下一页返回
6.1I/O端口
如PORTB、DDRC和PIND等,都是相应寄存器地址的宏定义名字。而寄存器中的某一位,则是通过PORTB.n这样的形式来引用的。DDRx用来选择引脚的输入/输出方向,如果令DDRx=0xFF,则对应的PORTx所有引脚均配置为输出;若DDRx=0x00,则PORTx所有引脚均配置为输入。当然,也可以任意设置端口的某些位为输入,某些位为输出。如DDRB.0=1,只是设置了B口的第0位为输出,而不管其他位如何。当端口设置为输出时,例如DDRB=0xFF,并且有PORTB=0xFF,则表示在端口B所有引脚都输出了高电平,若有PORTB=0x00,则是在端口B所有引脚都输出了低电平。当端口设置为输入时(或输出时),可以通过读取PINx寄存器来获得引脚的实时电平。此外,当端口设置为输入状态时(DDRx=0x00),通过对应的PORTx的值,可控制使用或禁用端口内部的上拉电阻。有时为了不影响其他电路,需要把端口设置为高阻态,其设置方法为:{DDRx,PORTx}=0x00。表6.1为I/O口引脚配置情况。上一页下一页返回
6.1I/O端口
除了通用数字I/O口功能之外,大多数端口引脚都具有第二功能。1.端口B的第二功能(见表6.2)(1)XTAL2/TOSC2—端口B,bit7。使用外部晶振时,PB7作为芯片时钟振荡器引脚2。当作为时钟引脚时,不能同时再作为I/O引脚使用。若PB7作为时钟引脚使用,DDRB.7、PORTB.7及PINB.7的读出值为“0”。(2)XTAL1/TOSC1—端口B,bit6。PB6可用作芯片时钟振荡器引脚1,适用于所有芯片时钟源(片内标定RC振荡器除外)。当作为时钟引脚时,不能同时再作为I/O引脚使用。若PB6作为时钟引脚
您可能关注的文档
最近下载
- 山桐子种植加工、旅游项目可行性研究报告商业计划书.docx VIP
- 山桐子种植及种苗培育种植加工可行性研究报告申请备案.doc VIP
- 和田地区2026年度地直机关公开遴选公务员、事业单位公开选聘工作人员备考题库及完整答案详解1套.docx VIP
- 山桐子合作种植协议合同.docx VIP
- 2025年香氛未来趋势报告-英敏特.docx VIP
- 报告正文2014年太阳绿宝.pdf VIP
- 2025年高考:云南物理--试题及答案.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
- (2025)山桐子产业开发生产建设项目可行性研究报告(一).docx VIP
- 2024-2025学年广东省东莞市统编版三年级上册期末考试语文试卷.pdf VIP
原创力文档

文档评论(0)