




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
并行I/O接口结构及应用复习1.51单片机和AVR的微处理器结构有什么不同?2.AVR的内部时钟为()MHZ3.AVR是()位单片机,采用()指令集,51采用()指令集4.ISP----()5.开发板上使用()接口编程。6.在线编程时,Codevision实现(),AVRStudio实现()AVR单片机控制发光二极管AVR单片机的并行I/O口结构并行I/O口控制程序设计AVR单片机控制蜂鸣器和继电器任务目的回顾——实训程序/*实训程序*/#include<mega.h> //包含语句#include<delay.h> //包含语句voidmain(void) //main主函数{DDRA=0xff; //初始化PA口
while(1)
{PORTA=0xff; //PA=11111111delay_ms(1000); //延时1000msPORTA=0x00; //PA=00000000delay_ms(1000); //延时1000ms
}}回顾——实训程序/*实训程序*/#include<mega.h> //包含语句#include<delay.h> //包含语句voidmain(void) //main主函数{DDRA=0xff; //初始化PA口
while(1)
{PORTA=0xff; //PA=11111111delay_ms(1000); //延时1000msPORTA=0x00; //PA=00000000delay_ms(1000); //延时1000ms
}}主函数Main()一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main()
程序总是从main()函数开始执行。而不论其在程序中的位置如何。当主函数执行完毕时,亦即程序执行完毕。回顾——实训程序/*实训程序*/#include<mega.h> //包含语句#include<delay.h> //包含语句voidmain(void) //main主函数{DDRA=0xff; //初始化PA口
while(1)
{PORTA=0xff; //PA=11111111delay_ms(1000); //延时1000msPORTA=0x00; //PA=00000000delay_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口流出的最大电流上拉电阻:简单来说就是把电平拉高,通常用4.7-10K的电阻接到Vcc电源上,再接到需要拉高电平的节点上。下拉电阻:则是把电平拉低,电阻接到GND地线上,再接到需要拉低电平的节点上。IO口的两种状态输入口模型输出口模型IO口的输出性能指标AVR的IO口灌电流能力与拉电流能力均达30mA51的拉电流能力<100uA,灌电流能力10mA灌电流能力:能够流入IO口的最大电流拉电流能力:能够从IO口流出的最大电流IO口的输入性能指标能够承受的最大输入电压范围是否有上拉电阻AVR的IO口输入状态时可配置上拉电阻,值为100k数量级最大输入电压范围:-0.5V~Vcc+0.5VAVR控制发光二极管电路I/O口结构每个并行端口有三个相关的I/O寄存器:数据方向寄存器DDRx数据寄存器PORTx端口输入引脚寄存器PINx(其中x对应A、B、C、D四个端口)每个并行端口有一个相关的I/O寄存器:
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复位后,所有的I/O口的默认状态是为输入方式,上拉电阻无效,即I/O口为输入的三态状态。输入输出及上拉定义PA口配置为输出:DDRA=0xff;PORTA=0x55;PA口配置为不带上拉输入:DDRA=0x00;PORTA=0x00;i=PINA;PA口配置为带上拉输入:DDRA=0x00;PORTA=0xff;i=PINA;注意事项如果有引脚未被使用,建议这些引脚赋予一个确定电平。使能内部上拉电阻。如果刚定义了引脚的输入状态,就要立即回读,可以在回读前,插入一句_nop()。系统复位时,DDR全部为0,PORT也全部为0,故上拉电阻在复位时会失效。任务1跑马灯设计——一个灯逐渐从左跑到右的程序设计流水灯——程序的可移植性流水灯——程序的可移植性//**************51程序***********//#include<reg51.h>voidmain(){ unsignedchari,w; while(1){w=0x01; for(i=0;i<8;i++){
P1=~w;
delay(20000);w<<=1;}}}voiddelay(unsignedinti) {unsignedintk;for(k=0;k<I;k++);}//**************AVR程序**********//#include<mega16.h>#include<delay.h>voidmain(){ unsignedchari,w;
//设置PA口为输出方向
DDRA=0xff;while(1){w=0x01; for(i=0;i<8;i++){
PORTA=w;
delay_ms(200);w<<=1;}}}流水灯——程序的可移植性修改头文件
51:<reg51.h>AVR:<mega16.h>修改I/O口及其设置delay函数可以直接调用库函数mega16.h该头文件中定义了ATmega16单片机中的寄存器
…… sfrbPIND=0x10; sfrbDDRD=0x11; sfrbPORTD=0x12; sfrbPINC=0x13; sfrbDDRC=0x14; sfrbPORTC=0x15; sfrbPINB=0x16; sfrbDDRB=0x17; sfrbPORTB=0x18; sfrbPINA=0x19; sfrbDDRA=0x1a; sfrbPORTA=0x1b; ……C语言与硬件环境的映射与寄存器同名的8/16位变量C语言函数:各个变量之间的互动‘1’‘0’8/16位寄存器高电平低电平I/O;UART;SPI;IIC;...+5V(+3.3V)0V目标代码硬件实现各个寄存器之间的互动各个硬件模块之间的互动编译器编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度数字经济投资入股协议书
- 二零二五年度个人手房车位产权转让及车位使用权及车位租赁合同
- 2025形婚协议书模板与婚后共同生活纠纷调解服务合同
- 二零二五年度海洋资源开发项目终止合作备忘录
- 二零二五年度户外休闲用品区域独家代理合作协议
- 2025年度股权内部转让与公司风险控制协议
- 二零二五年度夫妻共同生活费用分担协议
- 个人运输合同书(2025年度跨境物流)
- 2025年度知识产权居间许可合同
- 2024年六年级英语上册模拟考试
- 专题强化七 圆周运动的临界问题
- 施工应急预案及安全防控措施
- 个人兼职合同格式大全
- 2024年中国新经济企业top500发展报告
- 脑梗塞取栓护理
- 课题开题报告:教育数字化促进乡村教育资源均衡配置研究
- 虚拟实验技术发展-深度研究
- 2025版成人心肺复苏流程指南
- 5.1《水经注》序课时练-【中职专用】高二语文同步(高教版2023拓展模块下册)
- 2025年中央一号文件高频重点考试题库150题(含答案解析)
- 2024江苏盐城市交通投资建设控股集团有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论