⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led-8-2._c

📁 16个单片机c语言实验程序
💻 _C
字号:
//数码管显示程序
#define uchar unsigned char 
#define uint unsigned int 
#include<iom16v.h>
//7段译码
#include"encoder.h"    
//写74hc595
#include"ch595.h"
#define ls138a 7
#define ls138b 6
#define ls138c 5
#define ls138en 4

unsigned long a1,a2,a3,a4,a5,a6,a7,a8;

//按10进制分解各个位
void disa(unsigned long data)
{
a8=data/10000000;
a7=(data-a8*10000000)/1000000;
a6=(data-a8*10000000-a7*1000000)/100000;
a5=(data-a8*10000000-a7*1000000-a6*100000)/10000;
a4=(data-a8*10000000-a7*1000000-a6*100000-a5*10000)/1000;
a3=(data-a8*10000000-a7*1000000-a6*100000-a5*10000-a4*1000)/100;
a2=(data-a8*10000000-a7*1000000-a6*100000-a5*10000-a4*1000-a3*100)/10;
a1=(data-a8*10000000-a7*1000000-a6*100000-a5*10000-a4*1000-a3*100-a2*10);
}


//主函数
main()
{
unsigned  long aa=0;
uint bb=0;
DDRA=0xff;      //初始化端口A
PORTA=0xff;
while(1)
     {
	  disa(aa);          //提取aa的各位
      sendbyte(a1);//数码管1
	  PORTA&=~(1<<ls138a);
	  PORTA&=~(1<<ls138b);
	  PORTA&=~(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a2);//数码管2
	  PORTA|=(1<<ls138a);
	  PORTA&=~(1<<ls138b);
	  PORTA&=~(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a3);//数码管3
	  PORTA&=~(1<<ls138a);
	  PORTA|=(1<<ls138b);
	  PORTA&=~(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a4);//数码管4
	  PORTA|=(1<<ls138a);
	  PORTA|=(1<<ls138b);
	  PORTA&=~(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a5);//数码管5
	  PORTA&=~(1<<ls138a);
	  PORTA&=~(1<<ls138b);
	  PORTA|=(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a6);//数码管6
	  PORTA|=(1<<ls138a);
	  PORTA&=~(1<<ls138b);
	  PORTA|=(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a7);//数码管7
	  PORTA&=~(1<<ls138a);
	  PORTA|=(1<<ls138b);
	  PORTA|=(1<<ls138c);
	  s_ms(600); 
	  sendbyte(a8);//数码管8
	  PORTA|=(1<<ls138a);
	  PORTA|=(1<<ls138b);
	  PORTA|=(1<<ls138c);
	  aa++;
	 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -