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

📄 numled._c

📁 详细介绍M8两版间通讯
💻 _C
字号:
/*  目标MCU:MEGA8   晶振:内部RC(INT) 8MHZ,该模块中使用了seg_table[16]数组
来表示LED的16个字符0~F,led_buff[4]表示4个LED的字符代码*/
#include<iom8v.h> 
#include <macros.h>
#define Vref 4995
const unsigned char seg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
/*LED Code:0,1,2,3,4,5
6,7,8,9,A,B,C,D,E,F*/
unsigned char led_buff[4]={0b01111111,0b01111111,0b01111111,0b01111111};//首位为点,其他没有显示
void ADCtoBCD(unsigned int temp)//16进制数值转换为BCD码,12精度
	 {unsigned char i;
	 temp=(unsigned int)(((unsigned long)((unsigned long)temp*Vref))/0xfff);
	 for(i=0;i<4;i++)
	 {led_buff[i]=seg_table[temp%10];
	 temp=temp/10;}
	 led_buff[3]&=0x7f;}
void led_init(void)
	 {DDRB|=0xff;//方向:输出
	  PORTB|=0xff;//LED数据-
	  DDRD|=0xf0;//D口高位输出,单只选通4个LED功能
	  PORTD|=0xf0;}//高位输出高电平,LED全部熄灭.低位输入,全部为高阻态,如果为1,则带上拉电阻
void spark(unsigned char num)
	 {DDRB|=0xff;//方向:输出
	  PORTB=led_buff[num];
	  PORTD=(1<<(num+4));}

⌨️ 快捷键说明

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