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

📄 lcd_shumaguan.c

📁 PIC16F877A动态数码管扫描C程序
💻 C
字号:
//本实验目的在于熟悉七段数码管的使用
//采用七段带点共阴极数码管
//试验依次动态显示0~13。
//动态扫描全显0.~6.。

//--------头文件及配置--------------
#include<pic.h>             
 __CONFIG(0x3f39);
 
 //芯片配置字,看门狗关,上电延时开,掉电检测关,
 //低压编程关,加密,4M晶体XT振荡
 
//--------函数申明及数据定义-----------
void delay();        //延时函数
void delay1();       //延时函数1
void init();         //I/O初始化函数
unsigned char shuma1[10]={0x88,0x9f,0xa4,0x85,0x93,0xc1,0Xc0,0X8F,0X80,0X81};
	                 //0~9不带点的数码管源码
unsigned char shuma2[10]={0X08,0X1F,0X24,0X05,0X13,0X41,0X40,0X0F,0X00,0X01};
	                 //0~9带点的数码管源码
	                 
//--------主函数--------------
void main()
{
	while(1)               //死循环,让数码管一直点
	{
		int i;             //定义整型变量
	    init();            //调用端口初始化函数
		PORTC=shuma1[0];   //C口输出第一个数据0
		PORTA=0X3D;        //点亮第一个数码管
		delay1();           //延时一段时间,保证数码管亮度
		
		PORTC=shuma1[1];   //c口输出第二个数据1
		PORTA=0X3E;        //点亮第二个数码管
		delay1();           //延时一段时间,保证数码管亮度
		
		PORTC=shuma1[2];    //c口输出第三个数据
		PORTA=0X37;         //点亮第三个数码管
		delay1();            //延时一段时间,保证数码管亮度
		
		PORTC=shuma1[3];    //一下的说明部分同上
		PORTA=0x3B;
		delay1();
		
		PORTC=shuma1[4];
		PORTA=0X1F;
		delay1();
		
		PORTC=shuma1[5];
		PORTA=0X2F;
		delay1();
		
		
		
	for(i=200;i>0;i--)
		{
			PORTC=shuma2[1];    //动态扫描全显1.~6.
			PORTA=0X3D;
			delay();
			
			PORTC=shuma2[2];
			PORTA=0X3E;
			delay();
			
			PORTC=shuma2[3];
			PORTA=0X37;
			delay();
			
			PORTC=shuma2[4];
			PORTA=0x3B;
			delay();
			
			PORTC=shuma2[5];
			PORTA=0X1F;
			delay();
			
			PORTC=shuma2[6];
			PORTA=0X2F;
			delay();
			}
		}
		}
					
//-----------子函数程序--------------------------
		
 void delay()              //延时程序
    {
     int a;                 //定义整形变量
     for(a=50;a>0;a--);     //延时
    }
void delay1()               //延时函数1
	{ 
	 int j,k;
	 for(j=1000;j>0;j--)
	 {
	 for(k=20;k>0;k--);
	 }
	 
	 }
void init()                 //I/O口初始化函数
   {
    TRISA=0X00;             //设置A0输出,其他输入
    TRISC=0X00;             //设置D口输出
    ADCON1=0X07;            //设置A口为普通I/O口
    PORTA=0xff;             
    PORTC=0xff;             //先熄灭所有显示
   }

⌨️ 快捷键说明

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