微机原理与应用 实验报告.doc

上传人:苏美尔 文档编号:5738831 上传时间:2020-07-28 格式:DOC 页数:29 大小:878.50KB
返回 下载 相关 举报
微机原理与应用 实验报告.doc_第1页
第1页 / 共29页
微机原理与应用 实验报告.doc_第2页
第2页 / 共29页
微机原理与应用 实验报告.doc_第3页
第3页 / 共29页
微机原理与应用 实验报告.doc_第4页
第4页 / 共29页
微机原理与应用 实验报告.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《微机原理与应用 实验报告.doc》由会员分享,可在线阅读,更多相关《微机原理与应用 实验报告.doc(29页珍藏版)》请在三一文库上搜索。

1、微机原理与应用实验报告姓名:郭爽学号:2014012468年级:2014专业:电子2016年春季学期实验一.熟悉单片机开发环境1.功能要求在 P1 端口接8 个LED,并编程依次循环点亮。要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。2.硬件原理3.程序清单 ORG 0000H LJMP START ORG 0030HSTART: MOV R2,#8 MOV A,#01HLOOP1: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP1 MOV R2,#8 RR ALOOP2: MOV P1,A LCALL DELAY RR A DJN

2、Z R2,LOOP2 LJMP STARTDELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END 4.实验心得 首次接触开发板,通过实验1加强了对单片机的了解,学会使用仿真软件,学会搭线的各种技巧,并且掌握了LED亮灭的原理。实验二.并行口输入输出实验循环彩灯控制1.功能要求P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。用5 个开关K0K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1

3、K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方向(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度;(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。当K0 没有引发中断时,保持上一次的循环方式。2.硬件原理3. 程序清单DELAY2: MOV R0,#200D4: MOV R1,#200D5: MOV R2,#10D6: DJNZ R2,D6 DJNZ R1 ,D5 DJNZ R0,D4 RETINTERRUPT: MOV 20H , P1 JB P1.0,WORK1 JNB P1.0,W

4、ORK2WORK1: JB P1.1,WAY1 JNB P1.1,WAY2WORK2: JB P1.1,WAY3 JNB P1.1,WAY4WAY1: MOV A,#01H RETIWAY2: MOV A,#03H RETIWAY3: MOV A,#07H RETIWAY4: MOV A,#0FH RETI END ORG 0000H LJMP MAIN ORG 0003H LJMP INTERRUPT ORG 0030HMAIN: SETB EX0 SETB IT0 SETB EA MOV A,#01HA1: MOV P0,A JB 20H.2,B1 JNB 20H.2,B2A2: JB 2

5、0H.3,LOOP11 JNB 20H.3,LOOP22B1: LCALL DELAY1 LJMP A2B2: LCALL DELAY2 LJMP A2LOOP11: RL A LJMP A1LOOP22: RR A LJMP A1 ORG 0600HDELAY1: MOV R0,#100D1: MOV R1,#100D2: MOV R2,#10D3: DJNZ R2,D3 DJNZ R1,D2 DJNZ R0 ,D1 RET4.实验心得 开始熟悉开发板,通过实验2加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。实验三.七段 LED 数码管控制实验

6、1. 功能要求首先用万用表判断所用数码管是共阴极还是共阳极数码管,并测出各引脚功能,画出引脚分布图。实验采用4 位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线,自主选择驱动芯片,设计实现电路,并实现以下功能:(1)当开关K0 接低电平时,第一位依次显示0,然后第二位、第三位、第四位,再循环回第一位。(2) 当开关K0 接高电平时,四位动态显示“HELP”。2. 硬件要求3. 程序清单 SETB P2.2 MOV P0,#0C7H LCALL DLAY2 CLR P2.2 SETB P2.3 MOV P0,#8CH LCALL DLAY2 CLR P2.

7、3 LJMP STARTDELAY:MOV R7,#30 D1: MOV R6,#40D2: MOV R5,#248 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RETDLAY2:MOV R7,#10D3: MOV R6,#10D4: MOV R5,#20 DJNZ R5,$ DJNZ R6,D4 DJNZ R7,D3 RETTAB1: DB 0FFH,8EH,86H,0A1H,0C6H,83H,88H,90H DB 80H,0F8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0HTAB2: DB 0FFH,08H,04H,02H,01H END ORG 0

8、000H LJMP START ORG 0030HSTART:JB P3.0 ,LOPP JNB P3.0 ,LOOP2LOPP: MOV R1,#4LOOP1:MOV R3,#16LOP1: MOV P0,#0FEH MOV DPTR,#TAB2 MOV A,R1 MOVC A,A+DPTR MOV P2,A JNB P3.0 ,LOOP2 MOV DPTR,#TAB1 MOV A,R3 MOVC A,A+DPTR MOV P0,A LCALL DELAY DJNZ R3,LOP1 DJNZ R1,LOOP1 LJMP LOPPLOOP2:SETB P2.0 MOV P0,#89H LCAL

9、L DLAY2 CLR P2.0 SETB P2.1 MOV P0,#86H LCALL DLAY2 CLR P2.1 4.实验心得 开始掌握单片机,通过实验3加强了对单片机的理解,学会查表程序的书写方法,学会244芯片的工作原理,并且掌握了数码管工作的原理。实验四.定时器中断实验1. 功能要求 实现一个4 位秒表:(1)用开关K0 模拟秒表的启动、停止、清零功能,K0 触发外部中断INT0,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。(2)定时采用T0 定时器中断完成,最低位按1/10 秒计数,依次计数单位为1 分、10 秒、1 秒、1/10 秒。(3) 要求外部中断INT0

10、 的优先级高于T0 的优先级2. 硬件要求3. 程序清单 ORG 0000H LJMP START ORG 0003H LJMP ITRU0 ORG 000BH LJMP ITRU1 ORG 0030HSTART: MOV TMOD,#01H MOV IP, #01H SETB ET0 SETB IT0 SETB EX0 SETB EALOPP: SETB P1.2 MOV R0,#0 MOV R4,#0 MOV R5,#0 MOV R6,#0 MOV R7,#0 MOV R1,#4LOP1:MOV DPTR,#TAB2 MOV A,R1 MOVC A,A+DPTR MOV P2,A MOV

11、P0,#0C0H DJNZ R1,LOP1 JB P1.0 ,LOPP SETB TR0 CIRCLE: SETB P2.3 MOV DPTR,#TAB3 MOV A,R4 MOVC A,A+DPTR MOV P0,A LCALL DELAY CLR P2.3SETB P2.2 MOV DPTR,#TAB4 MOV A,R5 MOVC A,A+DPTR MOV P0,A LCALL DELAY CLR P2.2W1: INC R4 CJNE R4,#10 ,W2 MOV R4,#0 INC R5 CJNE R5,#10,W2 MOV R5,#0 INC R6 CJNE R6,#6,W2 MOV

12、 R6,#0 INC R7 CJNE R7,#10,W2 W2: RETI ENDSETB P2.1 MOV DPTR,#TAB3 MOV A,R6 MOVC A,A+DPTR MOV P0,A LCALL DELAY CLR P2.1SETB P2.0 MOV DPTR,#TAB4 MOV A,R7 MOVC A,A+DPTR MOV P0,A LCALL DELAYCLR P2.0 JNB P1.0,CIRCLE CLR TR0 JNB P1.2,LOPP LJMP CIRCLETAB3: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HTAB

13、4: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10HTAB2: DB 0FFH,08H,04H,02H,01HDELAY: MOV R2,#200 D1: DJNZ R2,D1 MOV R2,#200 D2: DJNZ R2,D2 RETITRU0: INC R0CJNE R0,#3,W3CLR P1.2LJMP W4W3: CPL P1.0 W4: RETIITRU1: MOV TH0,#(65536-50000) / 256 MOV TL0,#(65536-50000) MOD 256 CPL P1.5 JNB P1.5 ,W1 LJMP W2 4.实

14、验心得 开始掌握单片机,通过实验4加强了对单片机的理解,学会定时程序的书写方法,如何进行计算精度,使定时器更加精确。实验五.脉冲宽度与周期测量实验1. 功能要求 已知某被测脉冲频率为1KHz 左右: 自主设计测量方法,编程连续测量输入脉冲宽度,并用七段LED 显示结果。 自主设计测量方法,编程连续测量输入脉冲周期,并用七段LED 显示结果。 自主设计测量方法,同时测量脉冲宽度和周期,由开关K0 选择显示脉冲宽度还是显示脉冲周期。2. 硬件要求3. 程序清单 ORG 0000H LJMP MAIN ORG 000BH LJMP T0X ORG 0030HMAIN: MOV TMOD,#0AH ;

15、使用定时器0的方式2,自动赋值类型 MOV TH0,#156 ;针对12M晶振赋值,如果为11.0192M晶振,重新赋值164 MOV TL0,#156 SETB EA SETB ET0 MOV DPTR,#TAB MOV A,#0 MOV R0,#0 MOV R1,#0 MOV R2,#0 MOV R3,#0 MOV R4,#0 JB P1.0,M1 ;通过对P1,0的查询选择测量周期或者脉宽M0: JB P3.2,$ ;利用查询的方式开启定时器 SETB TR0 JNB P3.2,$ JB P3.2,$ JNB P3.2,$ JB P3.2,$ CLR TR0 LJMP LOOPM1: J

16、B P3.2,M1 SETB TR0 JNB P3.2,$ JB P3.2,$ CLR TR0LOOP: MOV A,TL0 SUBB A,#156 MOV B,#10 DIV AB MOV R1,B MOV R2,A MOV A,R0 MOV B,#10 DIV AB MOV R3,B ADD A,#10 MOV R4,A;最后给R4加10,让其读后10位的表SHOW: MOV P2,#01H;共阳极数码管 MOV A,R1 LCALL SHOW1 LCALL SHOW2 MOV P2,#02H MOV A,R2 LCALL SHOW1 LCALL SHOW2 MOV P2,#04H MOV

17、 A,R3 LCALL SHOW1 LCALL SHOW2 MOV P2,#08H MOV A,R4 LCALL SHOW1 LCALL SHOW2 LJMP MAINSHOW1:MOVC A,A+DPTR MOV P0,A RETSHOW2:MOV R7,#200 MOV R6,#200 DJNZ R6,$ DJNZ R7,$ RETT0X: INC R0 ;每100微妙进1 RETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;前10位无小数点 DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H

18、 ;后10位有小数点 END4.实验心得 通过实验5加强了对单片机的理解,学会利用单片机进行脉冲宽度和周期的测量,并且掌握了十六进制转换为十进制的技巧。实验六.串行通信实验1.功能要求(1)利用串行口方式0 实现一个七段数码管的显示控制,轮流显示0十个数码。(2)两人一组,利用异步通信功能将一方的个按键的高低电平状态传到另一方,并利用另一方的个LED 显示其开关状态,要求双向通信,互相显示。 要求2 ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV SCON,#50H MOV TMOD,#20H MOV PCON,#80H MOV TL1,#0F4H MOV TH1

19、,#0F4H SETB RI SETB TR1SEND: MOV A,P2 MOV SBUF,A JNB TI,$ CLR TI REVE: JNB RI,REVE MOV A,SBUF MOV P1,A CLR RI LJMP SEND END2. 程序清单 要求1 ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV SCON,#00H CLR ESLED: MOV P2,#01LOOP: MOV R3,#10LOP1: MOV DPTR,#TAB MOV A,R3 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI LCALL DEL

20、AY DJNZ R3,LOP1 LJMP LEDDELAY:MOV R7 ,#40W2: MOV R6 ,#40W1: MOV R5 ,#150 DJNZ R5,$ DJNZ R6, W1 DJNZ R7, W2 RETTAB: DB 00H,03H,9FH,25H,0DH DB 99H,49H,0C1H,1FH,01H,09H END 实验七 .RAM 扩展与读写控制实验1.功能要求(1)利用74LS573 进行总线扩展。(2)连接两片62256,并用74LS138 完成地址分配。(3)将一片62256 前10 个字节的内容加1 后,存入另一片62256 中,并读出用8 个LED 显示。2.

21、硬件要求3. 程序清单DELAY:MOV R6,#200W1: MOV R5,#200W2: MOV R4,#100 DJNZ R4,$ DJNZ R5,W2 DJNZ R6,W1 RET END ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV R7,#0 MOV R0,#0 MOV DPTR,#0000HWRITE:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR CJNE R0,#10,WRITEREAD: MOV DPTR,#8000H MOV P2,#00H MOV R0,#00H MOV R7,#00HLOOP: MOVX A,R

22、0 INC A MOV P1,A LCALL DELAY MOVX DPTR,A INC R7 INC R0 INC DPTR CJNE R7,#10,LOOP LJMP MAIN4.实验心得 开始精通单片机,通过实验7加强了对单片机的理解,学会单片机拓展外部数据存储器程序的书写方法,学会部分数据存储器芯片芯片的工作原理。实验八 LED 点阵显示控制实验1. 功能介绍控制两个LED 点阵模块动态地显示自设字符或图形2. 硬件要求3.程序清单 ORG 0000H LJMP START ORG 000BH LJMP T0X ;通过定时器控制扫描时间 ORG 0030HSTART: MOV R0,#

23、00H MOV R1,#00H MOV R2,#00H MOV TMOD,#01H ;选择定时器方式1 MOV TH0,#(65536-4000)/256 :;设置4毫秒的时间 MOV TL0,#(65536-4000) MOD 256 SETB TR0 SETB ET0 SETB EA SJMP $T0X: MOV TH0,#(65536-4000)/256 MOV TL0,#(65536-4000) MOD 256 MOV DPTR,#TAB MOV A,R1 MOVC A,A+DPTR MOV P2,A MOV DPTR,#DIGIT MOV A,R2 MOV B,#8 MUL AB ;

24、通过相乘的方式进行选数字 ADD A,R1 MOVC A,A+DPTR MOV P1,A INC R1 CJNE R1,#8,NEXT MOV R1,#00HNEXT: INC R0 MOV A,R0 CJNE A,#250,NEX ;控制每个数字出现的时间 MOV R0,#00H INC R2 CJNE R2,#10,NEX MOV R2,#00HNEX: RETITAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00H DB 00H,00H,00H,00H,21H,7F

25、H,01H,00H DB 00H,00H,27H,45H,45H,45H,39H,00H DB 00H,00H,22H,49H,49H,49H,36H,00H DB 00H,00H,0CH,14H,24H,7FH,04H,00H DB 00H,00H,72H,51H,51H,51H,4EH,00H DB 00H,00H,3EH,49H,49H,49H,26H,00H DB 00H,00H,40H,40H,40H,4FH,70H,00H DB 00H,00H,36H,49H,49H,49H,36H,00H DB 00H,00H,32H,49H,49H,49H,3EH,00H END4.实验心得做完了本学期最后一个单片机实验,受益颇多,算是入门了吧,希望下学期能够继续在单片机的海洋里遨游。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1