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

📄 7segled.c

📁 键盘操作 键盘扫描 用的是单片机mega16
💻 C
字号:
/************************************************
文件:7segled.c
用途:七段数码管驱动程序
注意:外部7.3728M晶振
创建:2008.1.26
修改:2008.1.26
Copy Right  (c)  www.avrvi.com  AVR与虚拟仪器
************************************************/
#include "..\config.h"
#pragma data:code
const unsigned char Seg7_Data[]={0x3F,0x06,0x5B,0x4F,0x66,             //0,1,2,3,4
                         0x6D,0x7D,0x07,0x7F,0x6F,             //5,6,7,8,9
						 0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};  //a,b,c,d,e,f
#pragma data:data
volatile unsigned char Seg7_Led_Buf[4];
void Seg7_Led_Init(void)
{
 Seg7_Data_Ddr=0xff;
 Seg7_Data_Port=0x00;
 Seg7_Bitselect_Port&=~((1<<Seg7_Bit0)|(1<<Seg7_Bit1)|(1<<Seg7_Bit2)|(1<<Seg7_Bit3));
 Seg7_Bitselect_Ddr|=((1<<Seg7_Bit0)|(1<<Seg7_Bit1)|(1<<Seg7_Bit2)|(1<<Seg7_Bit3));
 Seg7_Led_Buf[0]=16;
 Seg7_Led_Buf[1]=16;
 Seg7_Led_Buf[2]=16;
 Seg7_Led_Buf[3]=16;
}

void Seg7_Led_Update(void)
{
 Seg7_Data_Port=Seg7_Data[Seg7_Led_Buf[0]];
 Seg7_Bit0_En();
 Delay100us(60);
 Seg7_Bit0_Dis();
 Seg7_Data_Port=Seg7_Data[Seg7_Led_Buf[1]];
 Seg7_Bit1_En();
 Delay100us(60);
 Seg7_Bit1_Dis();
 Seg7_Data_Port=Seg7_Data[Seg7_Led_Buf[2]];
 Seg7_Bit2_En();
 Delay100us(60);
 Seg7_Bit2_Dis();
 Seg7_Data_Port=Seg7_Data[Seg7_Led_Buf[3]];
 Seg7_Bit3_En();
 Delay100us(60);
 Seg7_Bit3_Dis(); 
}

void Seg7_Led_display(unsigned int data)
{
 Seg7_Led_Buf[3]=data/1000;
 Seg7_Led_Buf[2]=(data%1000)/100;
 Seg7_Led_Buf[1]=(data%100)/10;
 Seg7_Led_Buf[0]=data%10;
 Seg7_Led_Update();
}



⌨️ 快捷键说明

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