流水灯
1.C语言流水灯代码
#include <reg51.h>
#include <intrins.h>
void delay_ms(int a)
{
int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<1000;j++) _nop_();
}
}
void main()
{
P1=0xFE;
while(1){
delay_ms(50);
P1 = (P1 << 1) | (P1 >> 7);
}
}
2.生成.hex文件
生成hex文件后,将edsim打开,观察闪烁时间与效果
之后我们再用PZ_ISP,把程序烧录进我们的开发板内。
3.程序下载
打开PZ_ISP后,点击打开文件,找到生生成的hex文件,最后点击程序下载,下载进度完成之后,接入开发板,打开开关,LED灯就会实现周期行的点亮
4.汇编语言
创建汇编语言的代码文件
ORG 0100H
MOV A,#0x7F
LOOP:
MOV P1,A
LCALL DELAY //调用延迟函数
RR A
AJMP LOOP
DELAY: //8*250*250*2=1000000us=1s,一秒的延时函数
MOV R7,#8
D1: MOV R6,#250
D2: MOV R5,#250
D3: DJNZ R5,D3
DJNZ R6,D2
DJNZ R7,D1
RET
之后打开edism进行观察,打开PZ_ISP对程序进行烧录,之后的和上述相同。
总结
1.通过实验,可以将课堂理论知识转化为具体的实际操作,更深入地理解和掌握所学知识。
2.实验过程中,需要亲自动手编写程序、调试硬件连接,从而提升了实践能力和动手能力。
3.学生可以锻炼编程逻辑思维能力,培养解决问题的能力,提高代码调试和优化能力。