单片机课程实验报告模板_(2).doc
单片机课程实验报告班 级:电子1011学 号:10304133 姓 名:杏杏指导杰目录实验一:单灯闪烁3实验目的3实验器材3软件程序3效果描述3操作截图3实验二:炮马灯设计4实验目的4实验器材4软件程序4效果描述4操作截图4实验一:单灯闪烁实验目的1. 熟悉单片机I/O接口的线路连接。2. 学习仿真器的使用方法。3.学习单片机I/O接口的控制方法。实验器材一个470欧姆的电阻,一个二极管,一个+5V电源,一个AT89C51。实验原理一个470欧姆的电阻,一个二极管,一个+5V电源,一个AT89C51,Keil uVision2软件,ISIS 7 Professional软件。软件程序ORG 0000HSTART P1.0 ACALL DELAY SETB P1.0 ACALL DELAY AJMP STARTDELAY: MOV R5,#4 D1: MOV R6,#200 D2: MOV R7,#123 NOP DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END硬件电路效果描述单片机的P1.0控制1只LED灯,实现其亮灭的变化,间隔0.2s.操作截图操作截图实验体会通过这次实验可以我们可以知道:(1)这是通过指令来实现的,如果使用了某条指令,CPU在执行该指令时就会完成相应的操作,通过指令能实现对单片机I/O接口或其他外部设备的控制。计入,P1.0表示从P1.0引脚输出高电平“1”,CLR P1.0表示从P1.0引脚输出低电平“0”.(2)随着电阻值的增大,灯泡变暗(3)发现问题要与时解决,不能拖延,可以请教老师和同学。实验二:炮马灯设计实验目的1. 进一步熟悉单片机I/O接口的线路连接。2. 学习数据传送指令和位移指令的应用。3. 学习单片机输出口的控制。4. 进一步熟悉仿真器的使用方法。5. 学习程序固化与系统脱机运行的方法。实验器材一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C51,Keil uVision2软件,ISIS 7 Professional软件。 实验原理1. 用单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1的循环闪烁,时间间隔0.2s。软件程序ORGSTART:MOV A,#3FHMAIN:RL A RL,A MOV P1,A ACALL DELAY AJMP MAINDELAY:MOV R5,#4 D1:MOV R6,#200 D2:MOV R7,#123 NOP DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END硬件电路效果描述1. 单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1的循环闪烁,时间间隔0.2s。操作截图实验体会1. 通过本次试验可以知道:只要保证每次从P1口送出的数据中有两个保持电平,就可以将相应的灯点亮。2. 单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1计进一步加深了。实验三:以循环方式实现流水灯实验目的:1. 进一步熟悉单片机I/O接口的线路连接。2. 学习循环的编程技术。实验器材一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C5,Keil uVision2软件, ISIS 7 Professional软件1。实验原理实验要求用单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7的一次单灯点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s;接着做P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0的一次点亮,间隔0.2s,接下来0000H灭一次,间隔0.2s,再从开始状态循环,8只LED灯呈现出流水灯的状态。软件程序ORG 0000HSTART: MOV A,#0 FFH MOV R0,#8 CLR CLOOP1: RLC A MOV P1,A ACALL DELAY DJNZ R0, LOOP1 MOV A,#0FFH MOV P1,A ACALL DELAY MOV A,#0FFH MOV R0,#8 CLR CLOOP2: RRC A MOV P1,A ACALL DELAY DJNZ R0,LOOP2 MOV A,#0FFH MOV P1,A ACALL DELAY AJMP STARTDELAY: MOV R5,#4 D1: MOV R6,#200 D2: MOV R7,#123 NOP DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END硬件电路效果描述单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7的一次单灯点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s;接着做P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0的一次点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s,再从开始状态循环,8只LED灯呈现出流水灯的状态。操作截图实验体会1.通过本次试验我更加熟悉了I/O接口的线路连接。2.学会了制作灯的循环点亮。3.我对本次实验有了更深层的理解。实验四:中断控制流水灯实验目的1. 学习外部中断的基本方法。2. 掌握中断处理程序的编制方法。3. 实验器材一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C51,Keil uVision2软件,ISIS 7 Professional软件。实验原理在程序正常运行时,P1口的8个LED灯座单灯左移8次之后单灯右移7次,如此循环;中断时(即I/N/T/O/)按键按下)P1口的8个LED灯闪烁3次(即全亮,全灭3次)。软件程序ORG 0000H LJMP START ORG 0003H LJMP INT_0 ORG 0100HSTART: MOV SP,#60H MOV IE,#81H SETB IT0L1: MOV A,#0FFH MOV R0,#8 CLR CL2: RLC A MOV P1,A ACALL DELAY DJNZ R0,L2 MOV R0,#7L3: RRC A MOV P1,A ACALL DELAY DJNZ R0,L3 AJMP L1DELAY: MOV R5,#4D1: MOV R6,#200D2: MOV R7,#123 NOP DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RETINT_0: PUSH PSW PUSH ACC SETB RS0 MOV A,#00H MOV R2,#6L4: MOV P1,A LCALL DELAY CPL A DJNZ R2,L4 POP ACC POP PSW RETI END硬件电路效果描述 程序正常运行后,P1口德8个LED灯做单灯左移8次,之后再做右移7次,如此循环;中断时即按下开关,P1的8个LED灯闪烁3次,即全亮全灭。操作截图实验体会1.中断控制流水灯的主要任务是8个LED灯循环左移,右移;在终端服务程序中完成的功能是8个灯闪烁3次。2.中控制流水灯的闪烁后,我对流水灯的理解进一步加深。对实训有了更大的兴趣。实验五:音乐门铃实验实验目的1. 掌握终端与定时/技术中和程序的设计方法。2. 学习音乐门铃的设计过程。实验器材一个+5V电源,一个喇叭,一个LM386,五个接地电源,一个470欧姆电阻和一个10K欧姆电阻,一个0.0047uF二极管,一个0.1uF二极管,一个10uF二极管,一个47uF二极管和一个AT89C51,Keil uVision2软件,ISIS 7 Professional软件。实验原理利用程序来控制单片机某个口线的高电平或低电平,则在该口上就能产生一定频率的方波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制干低电平的持续时间,就能改变输出频率,从而改变音调。软件程序ORG 0000H LJMP MAIN ORG 001BH LJMP TIM1 ORG 0100HMAIN:MOV TMOD,#10H MOV IE,#88HMAIN1:MOV 60H,#00HNEXT:MOV A,60H MOV DPTR,#TABLE MOVC A,A+DPTR MOV R1,A JZ STOP ANL A,#0FH MOV R6,A MOV A,R1 SWAP A ANL A,#0FH JNZ SING CLR TR1 AJMP DTSING:DEC A MOV 22H,A RL A MOV DPTR,#TABLE1 MOV TH1,A MOV 21H,A MOV A,22H RL A INC A MOVC A,A+DPTR MOV TL1,A MOV 20H,A SETB TR1DT: LCALL DELAY INC 60H AJMP NEXTSTOP:CLR TR1 AJMP MAIN1TIM1:PUSH ACC PUSH PSW MOV TH1,21H MOV TL1,20H CPL P1.0 POP PSW POP ACC RETIDELAY:MOV R5,#2D2: MOV R4,#187D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R5,D2 DJNZ R6,DELAY RETTABLE1: DW 64260,64400,64524,64580 DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217TABLE: ;1 DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H ;2 DB 82H,01H,81H,0F44H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB 00 END硬件电路效果描述 按下开关,即可弹奏出美妙的“生日快乐“歌曲。操作截图实验体会1.通过本次试验,我掌握了中断定时/技术综合程序的方法。2.更深一层的了解了音乐门铃的制作过程。实验六:交通路口读秒计时显示器实验目的1. 学习LED数码管的驱动方法。2. 掌握两位LED数码管的编制方法 3.掌握单片机基本I/O口的控制应用实验器材一个89C51,两个7447,四个+5V电源,十六个470欧姆的电阻。,两个SEG,Keil uVision2软件,ISIS 7 Professional软件。实验原理:利用两只共阳极的LED数码管模拟交通路口的读秒显示器,一60s为例。用AT89C51芯片的P1.0P1.3经7447扩展个位的七段显示器,P1.4P1.7经7447扩展个位的十段显示器。软件程序ORG 0000H AJMP MAIN ORG 0001HMAIN: MOV R4, #60HLOOP: MOV P1,R4 LCALL DELAY MOV A,R4 CLR C SUBB A,#01H AC,BCD MOV R4,A AJMP LOOPBCD: JC MAIN SUBB A,#06H MOV R4,A AJMP LOOPDELAY:MOV R5,#50D1: MOV R6,#50D2: MOV R7,#248 DJNZ R7,S DJNZ R6,D2 DJNZ R5,D1 RET END硬件电路效果描述按下开关,交通灯呈现出09的动态显示。操作截图实验体会我在本次实验中学习LED数码管的驱动方法,掌握两位LED数码管的编制方法, 以与单片机基本I/O口的控制应用。另外当实验顺利完成时我特别有成就感。实验七:矩阵式键盘的扩建实验目的1. 熟悉矩阵式键盘扫描的基本原理。2. 学习单片机基本I/O口真是键盘的电路设计方法。3. 学习矩阵式键盘程序设计基本方法。实验器材一个+5V电源,四个200欧姆的电阻,四个二极管,一个AT89C51,16个开关,Keil uVision2软件,ISIS 7 Professional软件。实验原理1.用P1口扩展4*4矩阵式键盘,简直分别为015,bingjiang P1口所读的键值(二进制数)从P2.0P2.3显示出来。2.四位发光二极管分别代表4位二进制数,二进制中的数码“1”用发光二极管亮来表示,数码“0”用发光二极管灭来表示。例如:若1号键被按下,则发光二极管L1亮,L2L4灭(0001B);若6号键被按下,则发光二极管L2和L3亮,L12和L4灭,依此类推,L4灭0001B),依此类推。软件程序 ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV R1,#00H MOV R2,#00H MOV R4,#04H MOV R5,#11111110B MOV A,R5LOOP: MOV P1,A ORL P1,#0F0H MOV A,P1 LCALL DELAY MOV R3,#04H MOV R2,#00H SETB CLOOP1:RLC A JNC DISPLAY INC R2 DJNZ R3,LOOP1 MOV A,R5 RL A MOV R5,A INC R1 DJNZ R4,LOOP LJMP MAINDISPLAY:MOV A,R1 MOV B,#04H MUL AB ADD A,R2 CPL A MOV P2,A LJMP MAINDELAY:MOV R6,#0C8H D1:MOV R7,#0A0H DJNZ R7,$ DJNZ R6,D1 RET END硬件电路效果描述若1号键被按下,则发光二极管L1亮,L2L4灭(0001B);若6号键被按下,则发光二极管L2和L3亮,L12和L4灭,依此类推,L4灭0001B),依此类推。操作截图(6号键被按下,L2和L3亮)(1号键被按下,L1亮,L2L4灭)实验体会1.通过本次试验,我熟悉了矩阵式键盘的基本原理。2.学习了单片机基本I/O口扩展矩阵式键盘的电路设计方法与矩阵式键盘程序设计的基本方法。3.另外,在实验中遇到不懂的地方要尽快的想方法解决,不能拖延。实验八:独立式案件实验目的:1.熟悉独立式按键程序设计的基本方法。2.学习单片机I/O接口的控制方法。实验器材:一个+5V电源,一个接地,三个470欧姆的电阻,三个二极管,一个AT89C51,三个开关,Keil uVision2软件, ISIS 7 Professional软件实验原理:软件程序void Delay(uint del)uint i,j;for(i=0; i<del; i+)for(j=0; j<1827; j+) ;void KEY()if(KEY1=0 | KEY2=0 | KEY3=0)Delay(2); if(KEY1=0 | KEY2=0 | KEY3=0)if(KEY1 = 0) LED1 = LED1;else if(KEY2 = 0)LED2 = LED2;else 硬件电路效果描述按下第一个键第一个灯亮。按下第二个键第二个灯亮。按下第三个键第三个灯亮。操作截图实验体会通过本次实验我熟悉独立式按键程序设计的基本方法,单片机I/O接口的控制方法,对单片机的掌握达到了更深一层的理解。实验九:小小显示屏实验目的:1学习8*8点矩阵显示器的使用。2熟悉单片机基本I/O扩展8*8点矩阵显示器的基本原理。3. 掌握基本I/O的功能与编程方法。实验器材:Keil uVision2软件, ISIS 7 Professional软件,AT89C51,显示屏。实验原理:用P1口扩展8*8点矩阵显示器的列线,用P2口控制8*8点矩阵显示器的行线,用一片8*8共阳极点点矩阵显示器显示心形图案。软件程序 ORG 0100HMAIN: MOV DPTR,#TAB MOV R3,#8 MOV R0,#11111110B N1: MOV P2,R0 CLR A MOVC A,A+DPTR MOV P1,A INC DPTR LCALL DELAY MOV A,R0 RL A MOV R0,A DJNZ R3,N1 AJMP MAIN TAB: DB 30H,48H,44H,22H,44H DB 48H,30H,00HDELAY:MOV R5,#1 D1: MOV R7,#248 DJNZ R7,$ DJNZ R5,D1 RET END硬件电路效果描述运行时,LED显示器呈现美丽的心型。操作截图ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV DPTR,#TAB MOV R3,#8 MOV R0,#11111110B N1: MOV P2,R0 CLR A MOVC A,A+DPTR MOV P1,A INC DPTR LCALL DELAY MOV A,R0 RL A MOV R0,A DJNZ R3,N1 AJMP MAIN TAB: DB 30H,48H,44H,22H,44H DB 48H,30H,00HDELAY:MOV R5,#1 D1: MOV R7,#248 DJNZ R7,$ DJNZ R5,D1 RET END实验体会通过本次试验,我了解到,在实验中于遇到不会的地方并不可怕,关键是要即使解决问题。小小显示屏实验给了我很大的收获,我不仅掌握了解决问题的方法,而且我的专业技能也大大提高。56 / 56