《单片机延时程序实验解析.docx》由会员分享,可在线阅读,更多相关《单片机延时程序实验解析.docx(4页珍藏版)》请在第一文库网上搜索。
1、实验一:单片机延时程序实验一、实验目的与要求:由于发光管亮灭变化频率为4Mhz,无法观察到1EDO的闪烁,而是以较低的亮度保持1EDO常亮,要求加入延时子程序能够看到1EDO的闪烁。二、实验内容:1 .硬件电路设计:Pic单片机的绝大部分引脚作为输出I/O端口时,能够提供25mA的电流,因此,本实验直接用PORTD的8个I/O端口驱动连接了限流电阻的发光二极管即可。为了TMRO定时计算方便,采用4MHz的外部晶体振荡器作为单片机的系统时钟,这样未经过预分频的TMRO内部计数时钟周期,就是指令周期1微秒。2 .软件设计思路:将小试牛刀出的实验运行得到结果代码如下:INC1UDEP16F877A.
2、INC;ORG0000H;NOP;BSFSTATUS,5;C1RFTRISDBCFSTATUS,5;C1RFPORTD;1OOPBCFPORTD,0;BSFPORTD1O;GOTO1OOP;END加入延时子程序后继续调试得到结果代码如下:#ine1udeP16F877A.inciEQU20H;定义寄存器ijEQ21H定义寄存器jORG0000H;NOP;BSFSTATS,5;C1RFTRISDBCFSTATS,5;C1RFPORTD;1OOPBCFPORTDfO;CA11DE1AYBSFPORTD,0;CA11DE1AYGOTO1OOP;DE1AYMOV1WD131;设置外部循环次数MOVWF
3、i;1OOP1MOV1WD50;设置内部循环次数MOVWFj;100P2DECFSZj,f;内部循环变量自减1,GOTO100P2;为O贝U四库专DECFSZi,f;外部循环变量自减1.GOTO1OOP1;为O则跳转RETURN返回主超?END三、实验步骤及结果:将小试牛刀实验在MP1ABIDEv8.8的软件中编译成功配置单片机的基本工作方式,由于PIC16F877A振荡器为4MHz,所以把处理器频率设置为4MHz;完成configure菜单下的configurebits菜单项,逐一设置窗口中提供的单片机配置连接ICD3和实验套件相连将ICD3和PC机用USB电缆线连接。将外接电源接通。通信配置ICD3,使PC与ICD3之间建立通讯连接。重新编译软件成功后烧到单片机中观察灯的变化。断开电路板电源拔掉ICD3的插头。结果:观察到1EDO一直保持常亮但是灯的亮度较低加入延时子程序到小试牛刀程序中,重复上述步骤观察实验结果:观察到1EDO灯不停地闪烁闪烁,过了几秒之后灯从闪烁变到了常,实现了两个子程序的助绥。四、实验心得:(主要是实验中遇到的问题,以及解决方案!