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

📄 hearder.h

📁 这是我在学校做电子钟留下的资料 希望能给你带来帮助
💻 H
字号:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char 
#define bit_control P1 //位输出
#define seg_control P0 //段输出
uchar data count = 200;	//定时控制变量200*5000为一秒
uchar code bit_code[] = {0xee, 0xde, 0xbe, 0x7e};	//位码
uchar code seg_code[] = {0xC0,/*0*/					//段码
    				    0xF9,/*1*/
     				    0xA4,/*2*/
        				0xB0,/*3*/
        				0x99,/*4*/
        				0x92,/*5*/
        				0x82,/*6*/
        				0xF8,/*7*/
        				0x80,/*8*/
        				0x90,/*9*/
};

uchar idata sbuf[] = {0, 0, 0, 0};	//输出缓冲区
uchar data minute = 60;				//显示时间 时分秒
uchar data seconds = 60;
uchar data hour = 0;
uchar data nowbitno = 0;			//当前闪烁位
bit bdata now = 0;					//记数起停控制
uchar idata nowstatue = 0xff;		//当前按扭状态
uchar idata laststatue = 0xff;		//上次按扭状态
uchar bdata nowyouxiaostatue = 0x0e;//当前按扭有效状态
uchar bdata lastyouxiaostatue = 0x0e;//上次按扭有效状态

sbit s1 = nowyouxiaostatue ^ 1;		 //按扭1
sbit s2 = nowyouxiaostatue ^ 2;		 //按扭2
sbit s3 = nowyouxiaostatue ^ 3;		 //按扭3


uchar idata shangshuopinnv = 200;	 //闪烁频率控制
uchar idata shangshuocontrol = 0xff; //闪烁控制
uchar idata bitshangshuocontrol = 0xff;//闪烁位码控制

uchar idata s1buttoncount; //按扭1按下次数
uint idata timercount = 400; //按扭1按下时间长度进入定时时间
bit bdata s1lastshow = 1;	//按扭1上次状态
bit bdata s1nowshow = 1;	//按扭1当前状态

bit bdata timercontrol = 0;	//进入定时控制
bit bdata timercontrolsbuf = 0; //允许退出定时恢复正常时间
uint idata timertime = 0;   //定时时间
uchar idata backseconds;	//记录正常时间 时分秒
uchar idata backminute ;
uchar idata backhour ;


bit bdata bellcontrol = 0; //响铃控制




sbit sound = P1 ^ 0;  //音乐输出
uint to_jishu_chuzhi;
uint g_ucSoundLongCNT;
#ifndef _MUSIC_H
#define _MUSIC_H

/**************************************************************************/

#define TEMP0 8

#define _1		TEMP0*4
#define _1d		TEMP0*6
#define _2		TEMP0*2
#define _2d		TEMP0*3
#define _4		TEMP0*1
#define _4d		TEMP0*3/2
#define _8		TEMP0*1/2
#define _8d		TEMP0*3/4
#define _16		TEMP0*1/4
#define _16d	TEMP0*3/8
#define _32		TEMP0*1/8
#define _end	TEMP0*5

#define _2DO		1000000/(131*2)
#define _2DOr		1000000/(139*2)
#define _2RE		1000000/(147*2)
#define _2REr		1000000/(156*2)
#define _2MI		1000000/(165*2)
#define _2FA		1000000/(175*2)
#define _2FAr		1000000/(185*2)
#define _2SO		1000000/(196*2)
#define _2SOr		1000000/(208*2)
#define _2LA		1000000/(220*2)
#define _2LAr		1000000/(233*2)
#define _2TI		1000000/(247*2)
#define _1DO		1000000/(262*2)
#define _1DOr		1000000/(277*2)
#define _1RE		1000000/(294*2)
#define _1REr		1000000/(311*2)
#define _1REr		1000000/(311*2)
#define _1MI		1000000/(330*2)
#define _1FA		1000000/(349*2)
#define _1FAr		1000000/(370*2)
#define _1SO		1000000/(392*2)
#define _1SOr		1000000/(415*2)
#define _1LA		1000000/(440*2)
#define _1LAr		1000000/(466*2)
#define _1TI		1000000/(494*2)
#define _DO		    1000000/(523*2)
#define _DOr		1000000/(554*2)
#define _RE			1000000/(587*2)
#define _REr		1000000/(622*2)
#define _MI			1000000/(659*2)
#define _FA			1000000/(698*2)
#define _FAr		1000000/(740*2)
#define _SO			1000000/(784*2)
#define _SOr		1000000/(831*2)
#define _LA			1000000/(880*2)
#define _LAr		1000000/(932*2)
#define _TI			1000000/(988*2)
#define _DO1		1000000/(1047*2)
#define _DO1r		1000000/(1109*2)
#define _RE1		1000000/(1175*2)
#define _RE1r		1000000/(1245*2)
#define _MI1		1000000/(1319*2)
#define _FA1		1000000/(1397*2)
#define _FA1r		1000000/(1480*2)
#define _SO1		1000000/(1568*2)
#define _SO1r		1000000/(1978*2)
#define _DO2r 1000000/(2217*2)
#define _RE2  1000000/(2349*2)
#define	_RE2r 1000000/(2489*2)
#define _MI2  1000000/(2637*2)
#define _FA2  1000000/(2749*2)
#define _FA2r 1000000/(2960*2)
#define _SO2  1000000/(3136*2)
#define _SO2r 1000000/(3322*2)
#define _LA2  1000000/(3520*2)
#define _LA2r 1000000/(3729*2)
#define _TI2  1000000/(3951*2)
#define _DO3  1000000/(4186*2)
#define _DO3r 1000000/(4435*2)
#define _RE3  1000000/(4699*2)
#define _RE3r 1000000/(4978*2)
#define _MI3  1000000/(5274*2)
#define _FA3  1000000/(5587*2)
#define _FA3r 1000000/(5919*2)
#define _SO3  1000000/(6271*2)
#define _SO3r 1000000/(6645*2)
#define _LA3  1000000/(7040*2)
#define _LA3r 1000000/(7459*2)
#define _TI3  1000000/(7902*2)




#define   MODERAT0    60000/114  //中板
#endif


/***************: Happy birthday ************/
uchar code SOUNDLONG1[] = {_8d, _16, _4,  _4, _4, _2 ,
_8d, _16, _4,  _4, _4, _2,_8d, _16, _4,  _4, _4, _4,  _4, _8d, _16, _4,  _4, _4, _2, 0 };
 
uint code SOUNDTONE1[] = {_RE, _RE, _MI,  _RE, _SO, _FAr ,
_RE, _RE, _MI,  _RE, _LA, _SO,_RE, _RE, _RE1,  _TI, _SO, _FAr,  _MI, _DO1, _DO1, _TI,_SO, _LA, _SO, 0};

⌨️ 快捷键说明

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