并行IO接口结构和具体应用_第1页
并行IO接口结构和具体应用_第2页
并行IO接口结构和具体应用_第3页
并行IO接口结构和具体应用_第4页
并行IO接口结构和具体应用_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 并行I/O接口结构和具体应用复习单片机和AVR的微处理器结构有什么不同?的内部时钟为( )MHZ是( )位单片机,采用( )指令集,51采用( )指令集4. ISP-( )5.开发板上使用( )接口编程。6.在线编程时,Codevision实现( ),AVR Studio实现( )AVR单片机控制发光二极管AVR单片机的并行I/O口结构并行I/O口控制程序设计AVR单片机控制蜂鸣器和继电器任务目的回顾实训程序/* 实训程序 */#include /包含语句#include /包含语句void main(void) /main主函数 DDRA=0 xff; /初始化PA口 while(1) P

2、ORTA=0 xff; /PA=11111111 delay_ms(1000); /延时1000ms PORTA=0 x00; /PA=00000000 delay_ms(1000); /延时1000ms 回顾实训程序/* 实训程序 */#include /包含语句#include /包含语句void main(void) /main主函数 DDRA=0 xff; /初始化PA口 while(1) PORTA=0 xff; /PA=11111111 delay_ms(1000); /延时1000ms PORTA=0 x00; /PA=00000000 delay_ms(1000); /延时10

3、00ms 主函数Main()一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main() 程序总是从main()函数开始执行。而不论其在程序中的位置如何。当主函数执行完毕时,亦即程序执行完毕。回顾实训程序/* 实训程序 */#include /包含语句#include /包含语句void main(void) /main主函数 DDRA=0 xff; /初始化PA口 while(1) PORTA=0 xff; /PA=11111111 delay_ms(1000); /延时1000ms PORTA=0 x00; /PA=000000

4、00 delay_ms(1000); /延时1000ms 51单片机控制发光二极管电路AVR单片机的I/O基本概念何谓“寄存器”寄存器就是RAM中的一些特殊单元,映射片上外设的特殊功能何谓“IO口”可以将“0”与“1”转换为电压信号的端口单片机中最常用的TTL电平:0V代表“0”,+5V代表“1”Mega16有4个IO口:PA,PB,PC,PD基本概念IO口的性能指标灌电流能力:能够流入IO口的最大电流拉电流能力:能够从IO口流出的最大电流上拉电阻:简单来说就是把电平拉高,通常用10K的电阻接到Vcc电源上,再接到需要拉高电平的节点上。 下拉电阻:则是把电平拉低,电阻接到GND地线上,再接到需

5、要拉低电平的节点上。 IO口的两种状态输入口模型输出口模型IO口的输出性能指标AVR的IO口灌电流能力与拉电流能力均达30mA51的拉电流能力100uA,灌电流能力10mA灌电流能力:能够流入IO口的最大电流拉电流能力:能够从IO口流出的最大电流IO口的输入性能指标AVR的IO口输入状态时可配置上拉电阻,值为100k数量级最大输入电压范围:能够承受的最大输入电压范围是否有上拉电阻AVR控制发光二极管电路I/O口结构每个并行端口有三个相关的I/O寄存器:数据方向寄存器DDRx数据寄存器PORTx端口输入引脚寄存器PINx(其中x对应A、B、C、D四个端口 )每个并行端口有一个相关的I/O寄存器:

6、 Px(其中x对应0、1、2、3四个端口 )AVR单片机51单片机I/O口结构I/O口PA口PB口PC口PD口数据方向寄存器DDRADDRBDDRCDDRD输出数据寄存器PORTAPORTBPORTCPORTD端口输入引脚PINAPINBPINCPIND4个双向I/O 端口都可以由指令设置为独立的输入或输出口当I/O口设置为输入方式时,引脚内部还配置有上拉电阻,这个内部上拉电阻可以通过编程设置为有效或者无效I/O口驱动能力非常强,直接驱动LED、数码管等发光I/O口结构SFIOR-特殊功能I/O寄存器第2位PUD为“禁用上拉电阻”位,高电平使能,I/O端口上拉电阻禁止I/O口结构芯片RESET

7、复位后,所有的I/O口的默认状态是为输入方式,上拉电阻无效,即I/O口为输入的三态状态。输入输出及上拉定义PA口配置为输出:DDRA=0 xff;PORTA=0 x55;PA口配置为不带上拉输入:DDRA=0 x00;PORTA=0 x00;i=PINA;PA口配置为带上拉输入:DDRA=0 x00;PORTA=0 xff;i=PINA;注意事项如果有引脚未被使用,建议这些引脚赋予一个确定电平。使能内部上拉电阻。如果刚定义了引脚的输入状态,就要立即回读,可以在回读前,插入一句 _nop()。系统复位时,DDR全部为0,PORT也全部为0,故上拉电阻在复位时会失效。任务1跑马灯设计一个灯逐渐从左

8、跑到右的程序设计流水灯程序的可移植性流水灯程序的可移植性/*51程序*/#include void main() unsigned char i,w; while(1) w=0 x01; for(i=0;i8;i+) P1=w; delay(20000); w=1; void delay(unsigned int i) unsigned int k; for(k=0;kI;k+); /*AVR程序*/#include #include void main() unsigned char i,w; /设置PA口为输出方向 DDRA=0 xff; while(1) w=0 x01; for(i=0

9、;i8;i+) PORTA=w; delay_ms(200); w=1; 流水灯程序的可移植性修改头文件 51: AVR: 修改I/O口及其设置 delay函数可以直接调用库函数该头文件中定义了ATmega16单片机中的寄存器sfrb PIND=0 x10;sfrb DDRD=0 x11;sfrb PORTD=0 x12;sfrb PINC=0 x13;sfrb DDRC=0 x14;sfrb PORTC=0 x15;sfrb PINB=0 x16;sfrb DDRB=0 x17;sfrb PORTB=0 x18;sfrb PINA=0 x19;sfrb DDRA=0 x1a;sfrb POR

10、TA=0 x1b;C语言与硬件环境的映射与寄存器同名的8/16位变量C语言函数:各个变量之间的互动108/16位寄存器高电平低电平I/O;UART;SPI;IIC;.+5V(+3.3V)0V目标代码硬件实现各个寄存器之间的互动各个硬件模块之间的互动编译器编译下载线下载编程器烧录Jtag仿真器目标仿真其他变量RAM中的数据RAM中的存储单元任 务 2单片机的PA连接的8个发光二极管led按照以下方式显示:8个灯快速闪动3次,再慢速闪动3次,然后再快速闪动3次,如此重复循环下去。C语言复习重中之重:选择结构和循环结构位操作单独使PA0口LED灯拼命闪!任务38个LED发光二极管左闪、右闪、拼命闪任

11、务4左闪、右闪、拼命闪#include #include void main(void)unsigned char i;PORTA=0 x00;/输出全部为低电平,关闭指示灯DDRA=0 xFF;/设置PA口全部为输出while (1) for(i=0;i5;i+) PORTA=0 xFF; /我闪!拚命闪! delay_ms(100); for(i=0;i8;i+) PORTA=1i; /我左闪! delay_ms(200); for(i=0;ii; /我右闪! delay_ms(200); 任 务 3按照要求实现霓虹灯,循环往复。Ox03Ox0cOx30oxc课后拓展任务拓展训练2:实现P

12、A口前4个灯亮、后4个灯灭;延时200ms后,前4个灯灭、后4个灯亮;再延200ms,实现PA口的8个灯间隔点亮;延时200ms后,亮灯改为灭灯,灭灯改为亮灯;再延时200ms如此反复。拓展训练1:左右两灯往里跑,跑至最中间后再往两边跑拓展训练3:1. 蜂鸣器、继电器操作课后拓展3任务提示有源蜂鸣器的控制 有源蜂鸣器内部有震荡器,只需要有一定的电压差(直流)加载蜂鸣器的正负极上,就可以发出单一的“滴”声音。 有源蜂鸣器类似于发光二极管,但是由于其所需要的驱动电流一般在10mA左右,所以有的单片机(例如51单片机)不能直接用I/O口控制。有源蜂鸣器的控制 用PNP型三极管来控制蜂鸣器,驱动其开和闭

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论