ATmega16单片机端口讲解新.ppt
上传人:天马****23 上传时间:2024-09-15 格式:PPT 页数:58 大小:2.8MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

ATmega16单片机端口讲解新.ppt

ATmega16单片机端口讲解新.ppt

预览

免费试读已结束,剩余 48 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2篇端口设计目录2.1、端口结构介绍2.2、端口寄存器讲解2.3、端口实例讲解2.1、端口结构介绍图2-1下图2-3为AVR系列单片机端口结构示意图,每组IO口配备三个8位特殊功能寄存器,它们分别是方向控制寄存器DDRx(x代表A~D),数据寄存器PORTx,和输入引脚寄存器PINx。例如端口A的特殊功能寄存器为DDRA、PORTA和PINA。图2-3AVR系列单片机端口结构通过这组寄存器,我们可以使每个端口实现双向数字IO通道或双向模拟量通道功能。ATmega16单片机的大部分端口具有除基本IO功能外的第二功能,关于第二功能的使用这里不作介绍。下面说明端口的基本IO输入输出和模拟量输入输出的工作过程。①同步数字输出。作为输出时,总线给方向寄存器D触发器F9写1,三态门F1打开,总线来的数据经D触发器F10到达输出端Pxn,此时上拉电阻是关断的。②数字输入。作为输入时,总线给方向寄存器D触发器F9写0,三态门F1关断,上拉电阻根据需要由PUD选择是否导通,在休眠信号SLEEP无效时,模拟开关M1打开,MOS管T2截止,从Pxn来的输入信号经整形电路F7和同步锁存器进入三态门F4成为同步输入信号。③模拟量输入输出。在模拟量输入输出模式下,通过设置使上拉电阻、三态门F1和模拟开关M1都处于关断状态,管脚Pxn直接连通单片机内部相关模拟量输入输出单元,为单片机内部模拟比较器、A/D转换器及D/A转换器等功能单元提供与外围连接的通道。2.2、端口寄存器讲解位[7:0]:PA口输出缓冲器的值。0:该位输出为0。1:该位输出为1。2.3、端口实例讲解2.3.1、流水灯设计发光二极管的参数与普通二极管大致相同,我们要掌握的是它的开启电压和工作电流。电流太大容易烧毁,太小亮度不够。以磷化钾做成的LED为例:开启电压:工作电流:允许最大电流:如图所示:可以求出限流电阻的取值范围。设计任务:硬件设计:顺时针设计算法:逆时针设计算法:2.3.2、数码管设计①、数码管的分类②、数码管的判别③、数码管的驱动④、数码管的字型码①、数码管的分类:共阳数码管是指将所有发光二极管的阳极接到一起形成共阳极(COM)的数码管。共阴数码管是指将所有发光二极管的阴极接到一起形成共阴极(COM)的数码管。②、数码管的判别:③、数码管的驱动:动态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,我们常用74LS164/74HC595来驱动数码管。动态显示驱动动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。④、数码管的字型码:数码管的字型码——共阳极:数码管的字型码——共阴极:74ls164引脚图和真值表:74ls164工作时序:2、设计任务:3、硬件设计:数码管显示程序:2.3.3、单一按键设计1、单一按键原理通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且判别到键释放稳定后再作处理。硬件消抖在键数较少时可用硬件方法消除键抖动。RS触发器为常用的硬件去抖,由于需要增加硬件设备,增大了系统的复杂性,所以硬件消抖一般不常用。软件消抖如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms~10ms