文档详情

《单片机原理与应用》实验报告.doc

发布:2017-06-03约4.26千字共15页下载文档
文本预览下载声明
《单片机原理与应用》实验报告 学 院(部): 交通工程学院 专 业: 电子技术专业 学 生 姓 名: 刘信君 指 导 老 师: 欧 伟 明 班 级: 1402  学号 14401700627 2016年11月 目 录 实验一 存储器读写 3 实验二 I/O端口操作 4 实验三 定时中断 5 实验四 8位LED数码管动态扫描显示 6 实验五 外部中断 7 《单片机原理与应用》实验之目的: 初步掌握Keil C51软件的使用,包括单片机CPU源程序的编辑、编译、模拟调试; 了解Proteus软件的使用,初步掌握MCU应用系统的仿真调试,以学生自学为主; 了解Protel软件的使用,初步掌握电路原理图的绘制方法与技巧,以学生自学为主; 强化MCU知识点,MCU应用系统设计技巧。 实验一 存储器读写 一:实验目的 掌握汇编语言设计和实验步骤,掌握寄存器、存储器读写的汇编指令; 熟悉在Keil C51环境下观察MCU的内部RAM、外部RAM、I/O端口、程序存储器中内容的方法。 二:源程序清单: ORG 0000H SJMP start ;跳至start ORG 30H start: MOV R0,#07H ;07H这个立即数给R0 MOV R1,#0FEH ;0FEH这个立即数给R1 ADD A,R0 ;R0里的内容给A ADDC A,R1 ;R1和A的内容相加给A MOV DPTR,#2000H ;2000H这个立即数给DPTR MOVX @DPTR,A ;A的内容给DPTR内容对应地址 MOVX A,@DPTR ;DPTR内容对应地址的内容给A INC A ;A的内容加一 MOV P1,A ;A的内容给P1 END 三:实验结果 四:思考题 试用汇编语言编写一段程序,判断R1、R2、R3三个寄存器中存放的数据大小,并按从大到小的顺序重新存放到R1、R2、R3三个寄存器中。 源程序: ORG 0000H SJMP STRAT ORG 0030H START:MOV R1,#31H MOV R2,#30H MOV R3,#32H CLR C MOV A,R1 SUBB A,R2 ;比较R1与R2的大小 JC LOOP1;R1 ;R1小于R2时跳转 MOV A,R1 SUBB A,R3 ;比较R1与R3的大小 JC LOOP2 RET LOOP1:RET LOOP2:MOV A,R1 XCH A,R3; MOV R1,A MOV A,R2 SUBB A,R3 ;比较R2与R3的大小 JC LOOP3 RET LOOP3:MOV A,R2 XCH A,R3 MOV R2,A ;排序 RET 总结:了解储存器读写,并学会了实际操作。 实验二 I/O端口操作 一、实验目的 掌握I/O端口读写指令(汇编指令、C51指令); 掌握在Proteus仿真软件环境下,进行硬件电路设计、仿真、调试的基本操作方法。 实验电路原理图: 程序清单 #include reg52.h #include intrins.h #define DataPort P2 void delay(unsigned int x); main() { unsigned char i; while(1) { DataPort = 0xfe; for(i=0; i=7 ; i++) { delay(1000); P2 =(P21)| 0x01; } } } void delay (unsigned int x) {unsigned int idata i,j; for(i=0;ix ; i++ ) { for(j=0 ;j255 ; j++) _nop_(); } 四:仿真结果 五:思考题 9不妨设单片机应用系统的晶振频率为12MHz,试计算延时子程序的延时时间。 DELAY:MOV R1,#50 DELAY1:MOV R2,#100 HERE:DJNZ R2,HERE DJNZ R1,DELAY1 RET 总结:掌握了I/O端口读写指令,掌握了在Proteus仿真软件环境下,进行硬件电路设计、仿真、调试的基本操作
显示全部
相似文档