《AVR实验一.docx》由会员分享,可在线阅读,更多相关《AVR实验一.docx(38页珍藏版)》请在优知文库上搜索。
1、单片机与接口技术实验刘东卓西南大学电子信息工程学院姓名:肖旭学号:2223班级:4i三年级:2014仿JX器。Idir1.8,S10Idir1.9.$01;Idir17,OxOc;1.Oadconstantinr1.7Idir1.7,SOe:1.oadconstantinr!71.oop:addr1.8,r1.9:Addr2tor1.实验一实验环境熟悉实验目的,1,熟悉编译环境的安装使用,2,/斛汇端语言涮写程序的相关要点。实殴事理:编详器的安装和使用请见说明实验内航根据本电子文档的1、2、3的介绍,熟悉端详环境的安装使用,熟悉汇编语言编写程序的相关要点,连接好KMFRvrS1.Udi。%建立
2、汇涮语言新工程,翻写汇编语言程序.如下面所示:Decrementr1.7brne1.oop:Branchifr1.70nop;Continue(donothing)利川编译器里面的单步执行或全速运行,竹行存放器数据变化:!RegisterXI1.RO4-0x7BR05-0x9FRO6=OxADR07三OxEEROB三0xC9R09=0x63R1.O-0x7BR1.1.-OxCCR12-OxBER13-OxFDR1.4-0xD2R15三0xF4R1.6=0x00R17三0x00R180x1.RIK0x01R20-0xS2R21-0x7BR22-0x2AR23-0x9ER24三0x01R25三Ox
3、BED*5-CCO*?-CVCC运行完毕后,H8里面的值为0x1.e.5!c1.rr!8c1.rr1.9Idir174Idir1.6,$0Idir26,$61.oop:incr1.6nu1.r19tr16movr1.9,rmu1.rI8,r1.6movr1.81.raddr1.9.rimu1.r17,r16movr17,raddr1.8,r1.cpr16.r26bme1.oopretFrtMra;,u1.皿3nsat1.EI1.1.1.U1.1.IHm1.1.e1.t1.1.eua5H3WFCZO三IIMBHHMHHBHBaH0!Cu1Uwm.mmNoUMba“,x:zs,D1.UakM.p)
4、t三z1ggM11:”】:3jBaeeSI:X“SXM9mUEf8)X3SC8*iX1.:eg%og.1M9:8X:S:C8:80:CUXtacwshcte:Ca3CM,M8,:C020uii0*Idi一rR16,1;1.oop:mu1.R17,R16:IiiovR17,RO:nu1.R18,R16;movR18,RO:addR17,R1;nu1.R19,R16;movR19,RO;addR18,R1;incR16:cpiR16,11:brne1.oop;nop:Memorvukurmry(Dyt9*QV*nc:CrOCooaoooooooaooooooooo*row*-OuoI-.-3I.实
5、殴总副这是我第一次做AVR实验,因此有点难,虽然五的阶乘这个程序简单,但由于没有预习,上理论课时不太认真,对于设置存放微,各种运算符号不熟。所以这一次通过翻书向同学才做出来。实验二汇编语言程序设计实险目的,1.进一步熟悉编译环境的安袋使用.2、熟悉汇编语言编写程序.实验JK理,编译器的安装和使用请见说明实险内部根据本电子文档的1、2、3的介绍,进一步熟悉娘洋环境的使用,熟悉汇编语言编写程序,连接好仿真器.M开AVrSIUdi。4,建立汇编语言新工程,编写汇编语言程序,如卜面所示:Idir!6,32Idir1.7,$31Idir1.81Ox1.OIdir1.9,31.Idir20,$80100p
6、1.rmu1.sr1.9,r201oop2:mu1.r1.9,r201.oop3:addr17,r161oop4:subr1.7,r1.9decr1.8brne100P2nop利用维译器里面的单步执行或全速运行件看存放器数据变化:通过编译器编译,谕答更如下问即:1、如果外接品振为4比请问这段代码运行完毕所需要多长时间?2074.75us2、第6行运后RO、RkR19和R20里面的值是多少?R0-80.R1.=FF,R19-0UR20-803、第7行运完毕后RO、KkR19和R20里面的值是多少?R0=80.R1=00.R19=01.R20=804、全部运行完毕后RO、RKRI6、R1.7、RI
7、8、R19和R20里面的值是多少?R0=80.R1.=OO,R16=02,RI7=H,R18=00,R19=0bR20=805全部运行完毕后,1.x1.T4各执行多少次?1.ooPh1,1.OoP2:161.OOP3:161.OoPi16注:所有伯用16进制表示自主编写汇端程序进行遍试写出实脸报告.1!+2!3!+4!+5!=99sts$015,r20cirI8,6brne100p1.ret100pkincr1.8addr20,rjmpjiechengjiecheng:Idir16,S1.Idir!7301.p:incr1711u1.r16,r1.7movr1.6,rcpr!7.r!8brne
8、1.oopret实险总综这是第二次实聆,前面的答笑下列问时很简单,只皤把程序写了,河运行.但后面的自主编写,由于运算复杂,所以对我来说还是很难的。实验三根本的IO实验实验目的:1、熟悉IO的根本控制,初步了解IO口的使用,2,了耨AYR单片机的开发过程.实验JK理:原理图如K:程第R器为第4WCMi嚏“一连线:PAO-1.EDOPA1.-1.ED1.本程序位于D:avrvidemocodeIO文件夹,连接好仿真器,翎开AVrStUdi。4,下一程序,运行完程可看到两个1.ED闪烁。实验内容I实殴总纵这次实验涉及到I/O端口,通过这次实验我史/解0端口的设置.实验四把戏流水灯实验实险目的,I、进
9、一步熟悉IO11的控制,熟悉IO门的使用.2、掌楹AYR单片机的开发过程.3、了解移位算法的使用.实MK理:原理图如下:PSO(TOYPS1.(T1.)MP9,AZ)PBJ(AN)pw8s)P95(M06DPWOCSO)P0(Smwro0p)PD(INTO)PD3PD?(TOC2)(ADCO)PAO(ADQ)PA1.(ADC2)PA2(ADC4)PM(ADC5)PA5(ADC6)PM(ADCT)PA7KOSSFC5吕摩SFrAM7X1.A,(VCC连线:PA(A1.EDMPR口与1.ED一一对应连接实殴内容,依次闪烁Sinc1.udeinc1.udevoidBain(void)(unsigne
10、dcharpositin=O;IWTA=OxPT;DDRA=OxFF;whi1.e(1.)Iporta-(1.=8)position=0;de1.ayms(1000):):)种闪烁方式交替循环的灯inc1.udeSinc1.udeSdefine1.ed_portPORTSdefine1.ed_ddrDDRAvoidde1.ay(void)(unsignedchari.j;for(i=500:i0:i)for(j=500J0J-)voidaain(void)UnSiKnCdChiIrposition=0,c=0x7F,i=0:P0RTA=0xFF;DDRA=OxFF:vhiIe(I)(Porta
11、=OxFE:for(i-0:i1.6;i*)(PORTA=(1.7)DoSiIion=Q:dc1.ay:)P0RTA=0x7F:for(i=0;iposition);if+position”position=。;de1.ayO;)K)RTA=0xA:for(i=0i16:i+)(PORTA=(PORTA);de1.ay():)for(i=0;i%255:de1.ayO;)实殴总绦实物时行现成的程序,只需根据要求更改程序即可,但由于程序不足单纯的C谱音.所以有点难度.实验五蜂鸣器操作实验实验目的,1、继续熟悉IO口的使用2,了解AYR蝇鸣器的操作3、实验及理:原理图如下:丰ii至.i三三g8Ar
12、,三PBC黑连战:PDo-SPK本程序位于D:avridemocodebuzz文件夹,连接好仿真器,翻开AVrStUdi。4,下就程序,运行完毕可实现蜂鸣器循环一短一长两连续响.实险内部程序如下:inc1.ude#inc1.ude延时函数voidDe1.ay(void)(unsignedchari,j;for(i=200:i0:i)for(j=200:j0:j)主函数程序从这里开始运行voidainvoid)PORTD=0x01:DDRD=0x01;whi1.e1.实现效果,一短,一长,两连续循环,中间的延时时为了分开各次响出一短PORTD-0x01:0脚为高,响De1.ayO:延时PORTP=0x00;。脚为低,停止De1.ayO;De1.ayO:/一长PORTD0x01;De1.ayO:De1.ayO:De1.ayO:De1.ayO:MRT1.)=0x00:De1.ayO:De1.ayO:两连续PORTD=0x01:De1.ayO;PORTD=0x00:De1.ayO:K)R