前言:
现时你们对“走马灯效果的代码怎么写”可能比较讲究,我们都需要知道一些“走马灯效果的代码怎么写”的相关内容。那么小编也在网摘上汇集了一些对于“走马灯效果的代码怎么写””的相关内容,希望兄弟们能喜欢,各位老铁们快快来了解一下吧!建立仿真工程
初学者学习单片机编程,并不需要去网上买个开发板才能开始编程做实验,若是想先了解,可以先用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++;
}
}
标签: #走马灯效果的代码怎么写