- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安装USBASP下载线驱动 安装USBASP下载线驱动 使用progisp167下载软件 progisp167 是一个免费绿色软件,就在\AVR_DEV\progisp167目录下 双击progisp.exe就能运行软件 使用progisp167下载软件 (1) (2) (3) 依次选择好如图设置 ATmega16 USBASP usb 注意下载线另一头与单片机的连接 (MOSI)PB5 (MISO)PB6 (SCK)PB7 RESET VCC GND XTAL2 XTAL1 AREF GND AVCC PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 ATmega16 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 USBASP 下载头 插座(板子正面) GND VCC MOSI MISO SCK RESET +5V +5V 104 22pF 22pF 8MHz 4K7 + 10uF +5V RESET XTAL2 XTAL1 LED 1K 100 使用progisp167下载软件 点击 “调入Flash” (4) 点击 “打开” 使用progisp167下载软件 设置好编程方式,然后点击 “自动” (5) 使用progisp167下载软件 说明程序已经下载成功了! 为什么会这样? LED灯闪烁得很慢,好像根本不是1秒一次! 中间的4个LED灯根本就没有被点亮过! 设置ATmega16的熔丝位 原因很有可能出在“熔丝位”上! 设置ATmega16的熔丝位 新手可能根本就看不懂,下面点“向导方式” 设置ATmega16的熔丝位 钩选 不选 不选 设置ATmega16的熔丝位 设置好熔丝位,然后点击 “写入” 如果成功,这里会提示 所有的LED灯都按照1s的节拍闪烁起来! 端口初始化命令 DDRA = 0xF0; 对端口A初始化,高4位作为输出(1),低4位作为输入(0) 注:金黄色字体部分表示可以根据情况更改 写端口命令 PORTA = 0x0F; 将端口A的8个I/O口写为0000 1111,0表示I/O口拉低,1表示I/O口拉高。 注:只有在A口相应的I/O口位被定义为输出时才有实际作用 写端口命令 P = PINA ; 读出端口A的8个I/O口上的高低电平状态,1表示高电平,0表示低电平,将其赋给P,P是无符号字节型变量(unsigned char P;) 注:只有在A口相应的I/O口位被定义为输入时才有实际作用 I/O操作应用举例 LED指示灯 unsigned char P; P = PINB;//B口值给P PORTC = P; /*C口按照P的值输出。*/ PB0 PB1 PB3 PB5 PB7 PB2 PB4 PB6 DDRB = 0x00;//B口输入 DDRC = 0xFF;//C口输出 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 AVR ICC程序 I/O口的一种位操作实现方法 //输出端口位操作(1为拉高,0为拉低) #define set_bit(x,y) (x|=(1y)) //将x端口的第y位设置成1 /*例:*/ set_bit(PORTB,0) #define clr_bit(x,y) (x=~(1y)) //将x端口的第y位设置成0 /*例:*/ clr_bit(PORTB,0) I/O口的一种位操作实现方法 //输入端口位操作(1为高电平,0为低电平) #define get_bit(x,y) ((x(1y)) ? 1 : 0) //得到x端口第y位的数据 /*例:*/ if(get_bit(PINC,7)==1) program1(); 实验2:使用ATmega16的ADC 将ATmega16的PA7(ADC7)口与一个光电开关连接,打开A/D转换,并用LED指示灯指示转换的高八位结果。 实验2:使用ATmega16的ADC 电路连接(在第16张“最小系统”基础上) +5V ADC7 100 500 56K 与ADC相关的寄存器 Datasheet P7 Datasheet P203 Datasheet P205 与ADC相关的寄存器 Datasheet P206 新建一个工程 Project ?New 新建一个工程 建议先建立一个文件夹,如LED_test 新建一个工程 在建立的LED_test文件夹内建立LED_文件,如图点击“保存(S)” 在工程中建立一个LED.c文件 Fi
您可能关注的文档
最近下载
- 2021-2022学年江西省南昌市九年级(上)期中物理试卷(附答案详解).docx VIP
- 全自动氩气纯化器-四川普瑞净化设备有限公司.PDF VIP
- 山东科学技术版劳动实践指导手册六年级第3课家用器具使用与维护家用电器的使用科学使用电冰箱 教案.docx VIP
- 单式氩气纯化器技术参数要求.DOC VIP
- 央国企成立数科公司底层逻辑与相关定位.docx VIP
- (正式版)C-J-T 232-2006 薄壁不锈钢内卡式管材及管件.docx VIP
- 2025年医学检验实验室ISO15189认可评审介绍.pptx VIP
- 八个方向路线图.ppt VIP
- 优秀大学生职业生涯规划书经典PPT.pptx VIP
- GB50007-2011 建筑地基基础设计规范.docx
文档评论(0)