单片机
返回首页

51单片机实习-数码管动态显示4399(模块化编程)

2022-03-14 来源:eefocus

 

#include

sbit wei0=P1^0;

sbit wei1=P1^1;

sbit wei2=P1^2;

sbit wei3=P1^3;

int zxm[]={0x98,0x98,0xb0,0x99};

void delay(int i)

{

while(i--)

{

int j=0;

for(;j<115;j++);

}

}

 

void display()

{

int i;

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

{

switch(i)

{

case 0:

wei0=0,wei1=1,wei2=1,wei3=1;break;

case 1:

wei0=1,wei1=0,wei2=1,wei3=1;break;

case 2:

wei0=1,wei1=1,wei2=0,wei3=1;break;

case 3:

wei0=1,wei1=1,wei2=1,wei3=0;break;

}

P0=zxm[i];

delay(1);

  P0=0xFF;

}

}

int main()

{   

    while(1)

  display();

return 0;

}


模块化编程


4399.c


#include

#include'shumaguang.h'

int main()

{   

    while(1)

  display();

return 0;

}

shumaguang.c


#include

#include'shumaguang.h'

 

sbit wei0=P1^0;

sbit wei1=P1^1;

sbit wei2=P1^2;

sbit wei3=P1^3;

int zxm[]={0x98,0x98,0xb0,0x99};

 

void delay(int i)

{

while(i--)

{

int j=0;

for(;j<115;j++);

}

}

void display()

{

int i;

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

{

switch(i)

{

case 0:

wei0=0,wei1=1,wei2=1,wei3=1;break;

case 1:

wei0=1,wei1=0,wei2=1,wei3=1;break;

case 2:

wei0=1,wei1=1,wei2=0,wei3=1;break;

case 3:

wei0=1,wei1=1,wei2=1,wei3=0;break;

}

P0=zxm[i];

delay(1);

  P0=0xFF;

}

}

 


shumaguang.h      变量定义不要放头文件里


#ifndef _SHUMAGUANG_H_

#define _SHUMAGUANG_H_

 

#include

void delay(int i);

void display();

 

#endif


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 基于IC555的可变PWM振荡器电路

  • 优化电路板布局的简单方法

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章