




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/5/20,1,单片机片上开发方法(ATmega16为例),王浩98ID:wootE-mail:wanghao,SOC,2020/5/20,2,2020/5/20,3,你现在有这些麻烦吗?,我根本不知道怎么把单片机用在机器人上我在自学,而且找了书在看,但越看越乱我看了一些方案的实例,对机械部分和电路部分有感觉了,但就是不知道他们是怎样工作的我只会用仿真器,到现在还不知道如何把写好的程序“烧”进一片真实的单片机中只要和单片机有一点关系的电路我们就不敢设计,这让我们在写方案的过程中阻力很大。我学过C,但是不会用它写单片机的程序我到底是用汇编还是用C,2020/5/20,4,要解决麻烦,首先假设你,会使用电脑(比如安装WindowsXP的PC)已经学过或对C语言有一定的了解能看得懂一些简单的电路和元器件符号充满激情和渴望,而且有毅力和敢于动手,2020/5/20,5,我去电子市场买来一片单片机!,我能且只能这样看着它数数它的腿,瞅瞅它上面的印字!,40引脚DIP封装,ATmega16L-8,ATmega16-16,或,2020/5/20,6,从DATASHEET中了解更多,ATMEL公司为他的所有单片机产品都提供了一份超级详细的datasheet说明书,而且对常用的系列进行了中文翻译,这将是我们接下来进行各种实验环节的第一手资料!,2020/5/20,7,从DATASHEET中了解更多,现在很多单片机内部有三种存储器:FlashEEPROMSRAM/RAM,存放程序和静态数据,单片机在工作过程中一般不能修改,一般不会使用,使用时通过特殊的命令读写,其特点是掉电不丢失,存放变量,特点是掉电丢失,2020/5/20,8,其实你还需要很多,最起码(如果想完成这里的最少一个实验的话),你还需要准备:一支电烙铁、电烙铁架子、一小卷含铅的0.8mm焊锡和一块足够大的万用焊接电路板一些单芯带绝缘皮的镀锡铜导线一个40DIP插座和几根杜邦排针8只1K的电阻和8只LED灯一根AVR的下载线(比如USBASP线)最好还有一个万用表,2020/5/20,9,USBASP下载线,CC98上有人在做:8/dispbbs.asp?boardID=251PORTC=0 xFF;voiddelay_us(unsignedinttime)dotime-;while(time1);voiddelay_ms(unsignedinttime)while(time!=0)delay_us(1000);time-;voidmain(void)InitPorts();delay_ms(50);while(1)PORTC=0 x00;delay_ms(500);PORTC=0 xFF;delay_ms(500);,2020/5/20,48,LED灯闪烁程序解释,#include/此头文件包含了ATmega16的口位定义等#include/此头文件包含了AVR系列通用口位定义等#include/*此头文件是C语言的标准头文件,在这里不写是没关系的*/,2020/5/20,49,LED灯闪烁程序解释,/端口初始化函数voidInitPorts()/*76543210*/DDRC=0 xFF;/PC口定义为输出PORTC=0 xFF;/PC口置1(也叫“拉高”)/11111111,2020/5/20,50,LED灯闪烁程序解释,/*8MHz晶振下*/微秒级延时函数voiddelay_us(unsignedinttime)dotime-;while(time1);/毫秒级延时函数voiddelay_ms(unsignedinttime)while(time!=0)delay_us(1000);time-;,2020/5/20,51,LED灯闪烁程序解释,voidmain(void)/主程序InitPorts();/端口初始化delay_ms(50);/延时一下,保证外部电路稳定while(1)/进入一个死循环PORTC=0 x00;/C口的LED灯点亮delay_ms(500);/延时500msPORTC=0 xFF;/C口的LED灯熄灭delay_ms(500);/延时100ms,2020/5/20,52,编译,BuildProject,2020/5/20,53,编译,成功,2020/5/20,54,编译后的文件,2020/5/20,55,把程序写入mega16单片机,安装USBASP下载线驱动使用USBASP给mega16下载写好的程序,2020/5/20,56,安装USBASP下载线驱动,设置USBASP下载线的跳线跳线说明:+5V:连接时将通过USB接口为目标板供电。updata:连接时可以给USBasp进行固件升级(一般不使用)。这里我们连接+5,断开updata,+5V,updata,2020/5/20,57,安装USBASP下载线驱动,给USBASP插上下载排线黑色插头有突起的一侧对着板子上有白色方框的这一侧插入,2020/5/20,58,安装USBASP下载线驱动,先下载USBasp驱动:可以在CC98代理处下载8/uploadfile/2008/9/26/2064585665.rar也可以在AVR_DEVprogisp167USB-Drive下找到驱动不能直接双击安装,先把USBASP下载线插入电脑的USB口,2020/5/20,59,安装USBASP下载线驱动,电脑显示屏自动弹出下列提示框,用鼠标点击选择“是,仅这一次(Y)”,然后点击“下一步(N)”,2020/5/20,60,安装USBASP下载线驱动,当计算机屏幕显示下列提示框后,点击选择“从列表或指定位置安装(高级)(S)”,再点击“下一步(N)”,2020/5/20,61,安装USBASP下载线驱动,屏幕出现下列提示框,点击“浏览(R)”选择USBASP驱动文件所在的文件夹(USBasp-Drive),然后点击“下一步(N)”,2020/5/20,62,安装USBASP下载线驱动,2020/5/20,63,安装USBASP下载线驱动,2020/5/20,64,安装USBASP下载线驱动,2020/5/20,65,使用progisp167下载软件,progisp167是一个免费绿色软件,就在AVR_DEVprogisp167目录下,双击progisp.exe就能运行软件,2020/5/20,66,使用progisp167下载软件,(1),(2),(3),依次选择好如图设置,ATmega16,USBASP,usb,2020/5/20,67,注意下载线另一头与单片机的连接,(MOSI)PB5(MISO)PB6(SCK)PB7RESETVCCGNDXTAL2XTAL1,AREFGNDAVCCPC7PC6PC5PC4PC3PC2PC1PC0,USBASP下载头,插座(板子正面),GND,VCC,MOSI,MISO,SCK,RESET,+5V,+5V,104,22pF,22pF,8MHz,4K7,+10uF,+5V,RESET,XTAL2,XTAL1,LED,1K,100,2020/5/20,68,使用progisp167下载软件,点击“调入Flash”,(4),点击“打开”,2020/5/20,69,使用progisp167下载软件,设置好编程方式,然后点击“自动”,(5),2020/5/20,70,使用progisp167下载软件,说明程序已经下载成功了!,2020/5/20,71,为什么会这样?,LED灯闪烁得很慢,好像根本不是1秒一次!中间的4个LED灯根本就没有被点亮过!,2020/5/20,72,设置ATmega16的熔丝位,原因很有可能出在“熔丝位”上!,2020/5/20,73,设置ATmega16的熔丝位,新手可能根本就看不懂,下面点“向导方式”,2020/5/20,74,设置ATmega16的熔丝位,钩选,不选,不选,2020/5/20,75,设置ATmega16的熔丝位,设置好熔丝位,然后点击“写入”,如果成功,这里会提示,2020/5/20,76,所有的LED灯都按照1s的节拍闪烁起来!,2020/5/20,77,端口初始化命令,DDRA=0 xF0;对端口A初始化,高4位作为输出(1),低4位作为输入(0),注:金黄色字体部分表示可以根据情况更改,2020/5/20,78,写端口命令,PORTA=0 x0F;将端口A的8个I/O口写为00001111,0表示I/O口拉低,1表示I/O口拉高。,注:只有在A口相应的I/O口位被定义为输出时才有实际作用,2020/5/20,79,写端口命令,P=PINA;读出端口A的8个I/O口上的高低电平状态,1表示高电平,0表示低电平,将其赋给P,P是无符号字节型变量(unsignedcharP;),注:只有在A口相应的I/O口位被定义为输入时才有实际作用,2020/5/20,80,I/O操作应用举例,LED指示灯,unsignedcharP;P=PINB;/B口值给PPORTC=P;/*C口按照P的值输出。*/,DDRB=0 x00;/B口输入DDRC=0 xFF;/C口输出,AVRICC程序,2020/5/20,81,I/O口的一种位操作实现方法,/输出端口位操作(1为拉高,0为拉低)#defineset_bit(x,y)(x|=(1y)/将x端口的第y位设置成1/*例:*/set_bit(PORTB,0)#defineclr_bit(x,y)(x/ADC结果左对齐ADCSRA|=(1ADPS2)|(0ADPS1)|(1ADPS0);/ADC时钟=clk/32ADCSRA|=(1ADEN);/ADC使能voidADC_work(void)/8路共需要0.8ms左右unsignedchari=0;for(i=0;i8;i+)ADMUX/读取本路转换结果,只读高8位,2020/5/20,88,实验3:使用ATmega16的PWM(上),使用ATmega16的PWM对电机进行调速,2020/5/20,89,L298N电机控制电路,PB4PB5PB6PB7,OC0OC2,2020/5/20,90,L298N真值表(以一个H桥为例),2020/5/20,91,ATmega16与PWM相关的寄存器,DatasheetP7,TCCR0OCR0TCCR2OCR2,DatasheetP78,DatasheetP80,DatasheetP119,DatasheetP121,TCCR1ATCCR1BOCR1AOCR1B,DatasheetP102,DatasheetP105,DatasheetP106,DatasheetP106,2020/5/20,92,ICC程序(PWM上),voidpwm02_init(void)/PWM初始化/*OC0的PWM初始化*/TCCR0=0 x00;TCCR0|=(1WGM01)|(1WGM00);/选择快速PWM方式TCCR0|=(1COM01)|(0COM00);/PWM左对齐TCCR0|=(0CS02)|(1CS01)|(1CS00);/clk/64分频OCR0=0;/OCR0的值:0255用来控制占空比,初值为0/*OC2的PWM初始化*/TCCR2=0 x00;TCCR2|=(1WGM21)|(1WGM20);/选择快速PWM方式TCCR2|=(1COM21)|(0COM20);/PWM左对齐TCCR2|=(0CS22)|(1CS21)|(1CS20);/clk/64分频OCR2=0;/OCR2的值:0255用来控制占空比,初值为0,完整程序见备注,2020/5/20,93,实验4:使用ATmega16的PWM(下),使用ATmega16的PWM控制舵机,|黄|红|黑|PWMVccGND,OC1A,2020/5/20,94,舵机控制原理,2020/5/20,95,ICC程序(PWM下),voidpwm1_init(void)/PWM初始化/控制寄存器设置TCCR1A=0 x00;TCCR1B=0 x00;TCCR1B|=(0WGM13)|(1WGM12);TCCR1A|=(1WGM11)|(1WGM10);/选择成10位快速PWM模式TCCR1A|=(1COM1A1)|(0COM1A0);/PWM1A左对齐TCCR1A|=(1COM1B1)|(0COM1B0);/PWM1B左对齐TCCR1B|=(0CS12)|(1CS11)|(1CS10);/clk/64分频,Fpwm=0 x7AOCR1A=197;/比较匹配1A赋初值,让右舵机回到初始状态OCR1B=175;/比较匹配1B赋初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源企业数字化转型中的政策环境分析报告
- 2025年中国隔音耳罩行业市场全景分析及前景机遇研判报告
- 农业土地租赁合同提前终止及作物补偿协议
- 教育园区空场地租赁与教育培训合作协议
- 离婚协议共同债务处理与房产分割执行方案
- 物业管理公司员工加班费及调休制度合同
- 2025年二类驾驶考试试题及答案
- 2025年护师考试题型及答案
- 2025年新能源汽车电池市场区域竞争格局分析报告
- 2025担保借款房屋买卖合同模板
- 《机械制图》机械工业出版社 第一章 制图基本知识与技能 章节过关卷(原卷版)
- 公安接警面试题及答案
- 动力电池回收网络设计-洞察及研究
- 中国心血管病一级预防指南解读
- 贝壳融合训acn试题及答案
- 鸿蒙试题及答案
- 2025合肥市辅警考试试卷真题
- 贷款转移协议书
- 企业资金流动管理的试题及答案
- 中国休闲发展报告2023-2024(精简)
- 《面诊与面诊图谱》课件
评论
0/150
提交评论