龙空技术网

不花费一分钱,实现跑马灯编程实验

小武哥编程 2722

前言:

现时你们对“走马灯效果的代码怎么写”可能比较讲究,我们都需要知道一些“走马灯效果的代码怎么写”的相关内容。那么小编也在网摘上汇集了一些对于“走马灯效果的代码怎么写””的相关内容,希望兄弟们能喜欢,各位老铁们快快来了解一下吧!

建立仿真工程

初学者学习单片机编程,并不需要去网上买个开发板才能开始编程做实验,若是想先了解,可以先用proteus仿真软件来做实验,Protues软件具有其它EDA工具软件的功能。这些功能是:

1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真

另外,它可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。下面用AT89C55单片机外部连接8个LED反光二极管,采用共阴极连接方法。当单片机管脚输出为0时,LED亮;当管脚输出为1时,LED灭。

链接方法

编程环境

使用Keil 开发编译环境,首先建立一个新工程,接着建立一个.C文件,如main.c,单片机运行程序入口main(),开始编写程序代码。

编程环境

跑马灯程序代码

跑马灯需要一个延时程序,延时子程序调用delay(),然后单片机管脚在不同时段输出控制LED发光二极管,进行跑马灯的控制。以下贴上本次实验代码。欢迎讨论留言!

#include <reg52.H>

#include <intrins.h>

typedef unsigned char uint08;

typedef unsigned short int uint16;

typedef unsigned long int uint32;

void delay_ms(uint16 ms)

{

uint16 i,j;

for(i=0;i<ms;i++)

{

for(j=0;j<255;j++)

{

_nop_();

}

}

}

// 0x01 0x02 0x04

uint08 display1[8] = {0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};

uint08 display2[8] = {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};

void main()

{

uint08 i;

uint08 temp;

uint08 ptemp;

// 初始化变量

P2 = 0xff;

ptemp = 0;

while(1)

{

if(ptemp>=8)

{

ptemp = 0;

}

temp = display1[ptemp]; // ÿ´ÎÏÔʾledÊýÁ¿¼Ó1µÄ×Ö¶ÎÂë

for(i=0;i<8;i++)

{

P2 = ~temp;

temp <<= 1;

delay_ms(200);

}

temp = display2[ptemp];// ÿ´ÎÏÔʾledÊýÁ¿¼Ó1µÄ×Ö¶ÎÂë

for(i=0;i<8;i++)

{

P2 = ~temp;

temp >>= 1;

delay_ms(200);

}

ptemp++;

}

}

效果图

标签: #走马灯效果的代码怎么写