亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 3208_v4.01.00.c

?? 《愛上單片機》配書光盤
?? C
?? 第 1 頁 / 共 4 頁
字號:
/********************************************************************************************
//3208點陣屏電子鐘
//作者:杜洋
//V4.01.00 2007-5-29
//MCS-51 12MHZ C語言
//接口說明:DS1302、DS18B20
//注意:V4.1適合于V2.0/V3.0的硬件升級到V4.0則請使用V4.1正式版。
//源自:http://www.doyoung.net (DoYoung.net 杜洋個人空間)

修改日志:  
V2.0	NO.1-20051215 完成LED驅動、顯示切換、時鐘溫度讀取
V2.1	NO.2-20051216 完成整點報時、填加注釋信息
V2.2	NO.3-20051220 完成了調時、按鍵音等所以的功能(沒有鬧鐘)
V2.3	NO.3-20051221  增加了十位為0時的消隱功能
V3.0	NO.4-20070529  增加鬧鐘功能并進一步完善系統(1,完成菜單界面)
		NO.5-20070530  增加鬧鐘項目,完成基本程序,開始測試功能
		NO.6-20070602  修改了鬧鐘小時值=59的一處失誤
		NO.7-20070617  修改了整點報時處的一處錯誤,該錯誤使報時不準
		NO.8-20070617  將MODE最大值由7改為6,設置時7是沒有用的,編程的失誤
		NO.9-20070703  修改了手動停止鬧鐘會再響的一處BUG
/*-------------------------------------------------------------------------------------------
V4.0	NO.1-20080123  開始進行V4.0的升級。
		NO.2-20080125  完成流動顯示功能及流動速度調整功能。鬧鐘改為6路。
		NO.3-20080126  解決了鬧鈴時不能閃爍顯示鬧鈴時間的問題。
		NO.4-20080228  繼續進行升級。
		NO.5-20080228  完成時間校準功能及顯示模式功能。
		NO.6-20080303  修改了切換顯示模式后可能會有一屏的亂碼情況。
		NO.7-20081103  修改了初始化黑屏現象。
		NO.8-20081103  將oC改小,加入“周”字顯示。
		NO.9-20081103  重新優化排版和注釋。
V4.1	NO.1-20081103  驅動改為適合原來V2.0和V3.0版本的硬件電路升級。
		NO.2-20081103  加入匯編的數據反轉程序。
		NO.3-20081103  修改顯示版本號為V4.1
-------------------------------------------------------------------------------------------*/

/*********************************************************************************************/
//0- 此鬧鐘獨立關閉,1- 此鬧鐘鳴響一次后自動關閉,2- 此鬧鐘常響,3- 此鬧鐘周一~五鳴響周六、日除外
//4- 此鬧鐘周一~六鳴響,5- 此鬧鐘周六、日鳴響,6- 此鬧鐘周日鳴響 
/*********************************************************************************************/

/**********************************************************************************************/	
#include <reg51.h>//定義頭文件 MCS-51單片機
/**********************************************************************************************/	
//------------------------------定義縮寫字符
#define  uchar unsigned char
#define  uint  unsigned int
//------------------------------定義揚聲器接口,低電平使能
sbit Bell_Out  = P1 ^ 5;//揚聲器驅動
//------------------------------定義DS18B20溫度傳感器數據接口
sbit DQ        = P1 ^ 6;//ds1820data(單總線)
//------------------------------定義DS1302時鐘接口
sbit clock_clk = P3 ^ 5;//ds1302_clk(時鐘線)
sbit clock_dat = P3 ^ 6;//ds1302_dat(數據線)
sbit clock_Rst = P3 ^ 7;//ds1302_Rst(復位線)
//-----------------------------定義數據口
#define Led_13     P0  //第1、3屏數據口
#define Led_24     P2  //第2、4屏數據口
#define Led_E      P1  //74HC154的BCD列驅動(P1.0~P1.4)
sbit Led_EA    =   P1 ^ 4;//顯示列驅動器(74HC154)使能
//-----------------------------獨立鍵盤定義
sbit Add_Key   = P3 ^ 1;//前位加1鍵
sbit Add2_Key  = P3 ^ 0;//后位加1鍵
sbit OK_Key    = P3 ^ 2;//確定鍵
sbit int_Key   = P3 ^ 3;//中斷入口
//-----------------------------定義累加器A中的各位
sbit a0   = ACC ^ 0;
sbit a1   = ACC ^ 1;
sbit a2   = ACC ^ 2;
sbit a3   = ACC ^ 3;
sbit a4   = ACC ^ 4;
sbit a5   = ACC ^ 5;
sbit a6   = ACC ^ 6;
sbit a7   = ACC ^ 7;
//------------------------------------定義全局變量
uchar DL (uchar);//2和4屏數據反轉(用DL的匯編實現)
uchar MENU,v;//定義標志位
bit BEEP_bit;//鬧鐘開關標志
uchar bn;//掃描映射全局變量
uchar hour_renew;//定義靜態小時更新用數據變量
static uchar timecount = 0;//定義靜態軟件計數器變量

uchar disbuf_flag=1;
uchar left_move_time=0;
uchar ty = 0;//定義溫度寄存器變量
//-----------------------------定義顯示緩沖寄存器(32個字節全局變量)
data uchar Ledplay [32];//data和idata用來解決內存溢出的問題!!!!!!
//-----------------------------定義待顯緩沖寄存器(80個字節全局變量)
idata uchar Ledplay_buf [80];//
/**********************************************************************************************/	
uchar code no[][10]={//-定義字符數據表單(二維數組)
//-----------------------------------數字字符表 
{0x7E,0xFF,0x81,0x81,0xFF,0x7E,0},//0
{0x82,0xFF,0xFF,0x80,0}, //1
{0xC6,0xE7,0xB1,0x99,0x8F,0x86,0},//2
{0x42,0xC3,0x89,0x89,0xFF,0x76,0},//3
{0x30,0x28,0xA6,0xFF,0xFF,0xA0,0},//4
{0x4F,0xCF,0x89,0x89,0xF9,0x71,0},//5
{0x7E,0xFF,0x89,0x8B,0xFB,0x70,0},//6
{0x03,0x03,0xF9,0xFF,0x07,0},//7
{0x76,0xFF,0x89,0x89,0xFF,0x76,0},//8
{0x0E,0xDF,0xD1,0x91,0xFF,0x7E,0},//9
//-----------------------------------星期字符表
{0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0},//一10
{0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x40,0},//二
{0x82,0x92,0x92,0x92,0x92,0x92,0x82,0x80,0},//三
{0xFE,0xA2,0x9E,0x82,0x9E,0xA2,0xFE,0},//四
{0x80,0x89,0xFF,0x89,0x89,0x89,0xF9,0x80,0},//五
{0x88,0x68,0x38,0x0E,0x38,0x68,0x88,0},//六
{0xFE,0x92,0x92,0x92,0xFE,0},//日			10+6
//-----------------------------------特殊字符表
{0x6C,0x6C,0},//“:”								17
{0x18,0x18,0x18,0x18,0},//“-”						  18
{0x01,0x0E,0x0A,0},//“oC”	19
{0x24,0x3b,0x2a,0xfe,0x2a,0x22,0},//“年”(在調時時表示年)20
{0x80,0x7E,0x15,0x15,0x95,0xFF,0},//“月”21
{0xFE,0x92,0x92,0x92,0xFE,0},//“日”22
{0xff,0x75,0x5f,0x75,0xFF,0},//“周”23
{0x7c,0x54,0x7c,0x04,0x94,0xFF,0x04,0},//“時”24
{0x08,0x94,0x52,0x30,0x93,0xF4,0x08,0},//“分”25
};
/**********************************************************************************************/	
uchar code Mode[]={//”-顯示“Mode”
0x7F,0x02,0x0C,0x02,0x7F,0, // -M-
0x3E,0x41,0x41,0x41,0x3E,0, // -O-
0x7F,0x41,0x41,0x41,0x3E,0, // -D-
0x7F,0x49,0x49,0x49,0x41,0, // -E-
0x99};
/**********************************************************************************************/	
uchar code Time[]={//”-顯示“Time”
0x01,0x01,0x7F,0x01,0x01,0, // -T-
0x41,0x7F,0x41,0x00, // -I-
0x7F,0x02,0x0C,0x02,0x7F,0, // -M-
0x7F,0x49,0x49,0x49,0x41, // -E-
0x99}; 
/**********************************************************************************************/	
uchar code T[]={//”-顯示“T”
0x01,0x01,0x7F,0x01,0x01,0, // -T-
0x14,0, // -:-
0x99}; 
/**********************************************************************************************/	
uchar code Pp[]={//”--顯示“P”
0x7F,0x09,0x09,0x06,0, // -P-
0x14,0, // -:-
0x99}; 
/**********************************************************************************************/	
uchar code POINT[]={//”-顯示“POINT”
0x7F,0x09,0x09,0x09,0x06,0, // -P-
0x3E,0x41,0x41,0x41,0x3E,0, // -O-
0x41,0x7F,0x41,0x00, // -I-
0x7F,0x04,0x08,0x10,0x7F,0, // -N-
0x01,0x01,0x7F,0x01,0x01, // -T-
0x99}; 
/**********************************************************************************************/	
uchar code V30[]={//”顯示“V4.0”
0,0,0,0,0,0,
0x1F,0x20,0x40,0x20,0x1F,0, // -V-
0x18,0x14,0x12,0x7f,0x10,//-4-
0x00,0x40,0x00,// -.-
0x02,0x7f, // -1-
0x99
};
/**********************************************************************************************/	
uchar code ALARM[]={//”-顯示“ALARM”
0xFc,0x22,0x22,0xfc,0,//“A”24
0xFe,0x80,0x80,0,//“L”24
0xFc,0x22,0x22,0xfc,0,//“A”24
0xFe,0x12,0x32,0xcc,0,//“R”25
0xFe,0x04,0x08,0x04,0xFe,0,//“M”25
0x99
};
/**********************************************************************************************/	
uchar code A[]={//”--顯示“A:”即ALARM,表示鬧鐘設置
0x7C,0x12,0x11,0x12,0x7C,0, // -A-
0x14,0, // -:-
0x99
};
/**********************************************************************************************/	
uchar code Aoff[]={//-顯示“A:off”即鬧鐘關
0x7C,0x12,0x11,0x12,0x7C,0, // -A-
0x14,0, // -:-
0x3E,0x41,0x41,0x41,0x3E,0, // -O-
0x7F,0x09,0x09,0x09,0x01,0, // -F-
0x7F,0x09,0x09,0x09,0x01, // -F-
0x99
};
/**********************************************************************************************/	
uchar code Aon[]={//”顯示“A:on”即鬧鐘開
0x7C,0x12,0x11,0x12,0x7C,0, // -A-
0x14,0, // -:-
0x3E,0x41,0x41,0x41,0x3E,0, // -O-
0x7F,0x04,0x08,0x10,0x7F,// -N-
0x99
};
/**********************************************************************************************/	
uchar code ONOFF[]={//顯示“ON/OFF”是設置項,表示總鬧鐘的開關設置
0x3E,0x41,0x41,0x41,0x3E, // -O-
0x7F,0x04,0x08,0x10,0x7F,0, // -N-
0x36,0x49,0x56,0x20,0x50,0, // -&-
0x3E,0x41,0x41,0x41,0x3E, // -O-
0x7F,0x09,0x09,0x09,0x01, // -F-
0x7F,0x09,0x09,0x09,0x01, // -F-
0x99
};
/**********************************************************************************************/
uchar code SPEED[]=//顯示“SPEED”即速度設置字樣
{
	0x26,0x49,0x49,0x49,0x32,0,//S
	0x7F,0x09,0x09,0x09,0x06,0,//P
	0x7F,0x49,0x49,0x49,0x41,0,//E
	0x7F,0x49,0x49,0x49,0x41,0,//E
	0x7F,0x41,0x41,0x41,0x3E,//D
 	0x99
};
/**********************************************************************************************/
uchar code LEVEL[]=//顯示"LEVEL"
{
	0xFE,0x80,0x80,0x00,//L
	0xFE,0x92,0x92,0x82,0x00,//E
	0x7E,0x80,0x80,0x7E,0x00,//V
	0xFE,0x92,0x92,0x82,0x00,//E
	0xFE,0x80,0x80,0,0,//L
 	0x99
};
/**********************************************************************************************/
uchar code TIMEADJ[]=//顯示"TIMEADJ"即時鐘精度調整
{
	0x01,0x01,0x7F,0x01,0x01,0x00,//T
	0x7F,0x00,//I
	0x7F,0x02,0x04,0x02,0x7F,0x00,//M
	0x7F,0x49,0x49,0x41,0x00,//E
	0x7E,0x11,0x11,0x7E,0x00,//A
	0x7F,0x41,0x41,0x3E,0x00,//D
	0x41,0x7F,0x01,//J
 	0x99
};
/**********************************************************************************************/
uchar code VAL_INC[]=//顯示"VAL+"
{
	0x7E,0x80,0x80,0x7E,0x00,//V
	0xFC,0x22,0x22,0xFC,0x00,//A
	0xFE,0x80,0x80,//L
	0x10,0x10,0x7C,0x10,0x10,0,//+
 	0x99
};
uchar code VAL_DEC[]=//顯示"VAL-"
{
	0x7E,0x80,0x80,0x7E,0x00,//V
	0xFC,0x22,0x22,0xFC,0x00,//A
	0xFE,0x80,0x80,//L
	0x10,0x10,0x10,0x10,0x10,0,//-
 	0x99
};
/**********************************************************************************************/
uchar code DISMODE[]=//顯示"DISMODE"即顯示方式設置
{
	0x7F,0x41,0x41,0x3E,0x00,//D
	0x7F,0x00,//I
	0x26,0x49,0x49,0x32,0x00,//S
	0x7F,0x02,0x04,0x02,0x7F,0x00,//M
	0x3E,0x41,0x41,0x3E,0x00,//O
	0x7F,0x41,0x41,0x3E,0x00,//D
	0x7F,0x49,0x49,0x41,//E
 	0x99
};
/**********************************************************************************************/
uchar code DIS[]=//顯示"DIS."
{
	0xFE,0x82,0x82,0x82,0x7C,0x00,
	0x82,0xFE,0x82,0x00,
	0x4C,0x92,0x92,0x92,0x64,0x00,
	0xC0,0xC0,0x00,
 	0x99
};
/**********************************************************************************************/	
uchar code DoYoung[]={//-開機畫面,顯示“DoYoung”
0xfe,0x82,0x82,0x7c,0,//D
0x78,0x84,0x78,0,//o
0x02,0x0c,0xF0,0x0c,0x02,//Y
0x78,0x84,0x78,0,//o
0x7c,0x80,0x80,0x7c,0,//u
0xf8,0x04,0x04,0xf8,0,//n
0x98,0xa4,0xa4,0x78,//g
0x99
}; 
/**********************************************************************************************/	
void key_off (void){//-等待所有鍵放開(通用)
while(OK_Key == 0 || int_Key == 0 || Add_Key == 0 || Add2_Key == 0);//等待鍵放開
}
/**********************************************************************************************/	
void Delay(int num){//--延時函數 2uS/次
	for (;num>0;num--);
}
/**********************************************************************************************/	
void DelayM(unsigned int a){//-延時函數 1MS/次	
	unsigned char i;
	while( --a != 0){		
		for(i = 0; i < 125; i++);  //一個 ; 表示空語句,CPU空轉。
	}   				   //i 從0加到125,CPU大概就耗時1毫秒
}
/******************************************************************************/
void Init_DS18B20(void)//初始化ds1820溫度傳感器
{
	unsigned char x=0;
	DQ = 1;    //DQ復位
	Delay(8);  //稍做延時
	DQ = 0;    //單片機將DQ拉低
	Delay(80); //精確延時 大于 480us
	DQ = 1;    //拉高總線
	Delay(14);
	x=DQ;      //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
	Delay(20);
}
/******************************************************************************/
unsigned char ReadOneChar(void)//讀一個字節(DS18B20驅動)
{
	unsigned char i=0;
	unsigned char dat = 0;
	for (i=8;i>0;i--)
	{
		DQ = 0; // 給脈沖信號
		dat>>=1;
		DQ = 1; // 給脈沖信號
		if(DQ)
		dat|=0x80;
		Delay(4);
	}
	return(dat);
}
/******************************************************************************/
void WriteOneChar(unsigned char dat)//寫一個字節(DS18B20驅動)
{
	unsigned char i=0;
	for (i=8; i>0; i--)
	{
		DQ = 0;
		DQ = dat&0x01;
		Delay(5);
		DQ = 1;
		dat>>=1;
	}
}
/******************************************************************************/
unsigned int ReadTemperature(void)//讀取溫度(DS18B20驅動)
{
	unsigned char a=0;
	unsigned char b=0;
	unsigned int t=0;
	float tt=0;
	Init_DS18B20();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区在线| 青青草国产精品亚洲专区无| 一区二区在线观看免费 | 久久久精品综合| 亚洲狼人国产精品| 国产成人一区二区精品非洲| 欧美日韩午夜精品| 1024亚洲合集| 国产一区二区不卡| 日韩一级免费一区| 亚洲成在人线免费| 国产精品自拍网站| 在线观看国产精品网站| 国产精品系列在线| 国内精品写真在线观看| 欧美一区二区在线视频| 亚洲电影一区二区三区| 色综合一个色综合| 亚洲色图20p| 国产成人免费视频一区| 日韩美女一区二区三区四区| 午夜精品一区在线观看| 欧美性生活久久| 亚洲女子a中天字幕| 成人国产在线观看| 中文一区一区三区高中清不卡| 蜜臀久久99精品久久久画质超高清| 国产剧情一区二区| 老汉av免费一区二区三区| 亚洲一区免费观看| 色屁屁一区二区| 中文字幕在线观看不卡视频| 成人小视频在线观看| 久久久三级国产网站| 国产伦理精品不卡| 久久综合网色—综合色88| 美女视频一区在线观看| 精品少妇一区二区三区在线视频| 日韩av一区二区在线影视| 51久久夜色精品国产麻豆| 午夜婷婷国产麻豆精品| 欧美丰满高潮xxxx喷水动漫| 天天综合色天天综合色h| 91精品欧美久久久久久动漫| 图片区小说区区亚洲影院| 91麻豆精品国产91久久久| 蜜桃视频在线观看一区| 久久综合九色欧美综合狠狠| 国产成人免费视频一区| 中文字幕亚洲视频| 欧美无砖专区一中文字| 日韩精品乱码免费| 久久久噜噜噜久噜久久综合| 大白屁股一区二区视频| 亚洲视频狠狠干| 欧美日韩午夜在线视频| 免费精品99久久国产综合精品| 精品国产百合女同互慰| 99久久精品免费看国产| 午夜视频在线观看一区二区| 久久亚洲一区二区三区四区| av一区二区三区黑人| 亚洲成a人片综合在线| 精品久久五月天| 91在线你懂得| 日本sm残虐另类| 国产精品久久久久久亚洲伦| 欧美日产在线观看| 国产精品18久久久久久久久| 亚洲精品综合在线| 久久香蕉国产线看观看99| 91丨porny丨首页| 精品一区二区免费在线观看| 中文字幕在线免费不卡| 日韩欧美中文字幕公布| 91看片淫黄大片一级| 蜜桃视频在线一区| 亚洲激情av在线| 国产日产欧美一区二区三区| 欧美日韩高清一区| 99久久婷婷国产综合精品| 男女男精品网站| 亚洲免费观看高清在线观看| 日韩欧美第一区| 欧美视频一区二区在线观看| 成人va在线观看| 激情综合网最新| 亚洲成人av一区二区三区| 中文字幕亚洲电影| 精品av综合导航| 91精品国产91热久久久做人人| bt欧美亚洲午夜电影天堂| 韩国av一区二区三区四区| 午夜伦欧美伦电影理论片| 亚洲桃色在线一区| 欧美国产视频在线| 26uuu国产电影一区二区| 4438x成人网最大色成网站| 日本韩国精品一区二区在线观看| 国产99久久久国产精品潘金 | 国产精品影视网| 精品伊人久久久久7777人| 三级影片在线观看欧美日韩一区二区 | 一区二区三区日本| 国产精品沙发午睡系列990531| 2023国产精华国产精品| 精品美女在线播放| 欧美成人女星排行榜| 欧美精品第1页| 欧美精品1区2区3区| 欧美视频三区在线播放| 在线观看免费视频综合| 色偷偷久久一区二区三区| k8久久久一区二区三区| av一区二区三区四区| 99国产精品99久久久久久| 99re热这里只有精品免费视频 | 在线视频国内一区二区| 91免费在线播放| 日本高清视频一区二区| 欧美三级电影网| 6080yy午夜一二三区久久| 欧美乱妇一区二区三区不卡视频| 欧美精品在线观看一区二区| 337p亚洲精品色噜噜狠狠| 欧美电影影音先锋| 日韩一区二区三区高清免费看看| 日韩欧美一级精品久久| 久久久久国产精品人| 国产精品少妇自拍| 一区二区三区不卡视频在线观看| 亚洲一区二区三区不卡国产欧美 | 亚洲乱码国产乱码精品精可以看 | 91国产精品成人| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩精品一区二区三区蜜桃 | 另类中文字幕网| 国产麻豆视频一区二区| 成人动漫一区二区| 欧美亚洲综合一区| 日韩三级高清在线| 中文字幕欧美区| 亚洲一级二级三级在线免费观看| 婷婷久久综合九色国产成人| 精品一区二区久久久| 成人亚洲一区二区一| 欧美亚男人的天堂| 日韩免费高清av| 成人欧美一区二区三区黑人麻豆 | 久久久91精品国产一区二区精品| 亚洲国产精品成人久久综合一区| 一区二区三区欧美激情| 麻豆国产精品一区二区三区 | 在线不卡一区二区| 国产日韩精品久久久| 亚洲综合男人的天堂| 国产在线精品一区二区夜色| 色哟哟一区二区三区| 日韩一区二区三区高清免费看看| 国产精品成人在线观看| 日韩成人伦理电影在线观看| 不卡一二三区首页| 日韩一区二区免费在线电影| 国产精品色哟哟网站| 蜜臀av性久久久久av蜜臀妖精| 91网上在线视频| 久久精品人人做人人爽人人| 午夜久久久影院| 99久久综合狠狠综合久久| 精品欧美乱码久久久久久1区2区| 亚洲美女区一区| 成人亚洲一区二区一| 精品久久人人做人人爽| 五月婷婷综合网| 色综合欧美在线| 国产精品丝袜一区| 国产在线国偷精品免费看| 制服丝袜亚洲精品中文字幕| 亚洲欧美国产三级| 懂色中文一区二区在线播放| 精品国精品国产| 免费欧美在线视频| 91精品国产一区二区| 亚洲精品久久久蜜桃| 成人av在线资源网站| 国产免费成人在线视频| 激情综合网天天干| 欧美白人最猛性xxxxx69交| 午夜精品久久久久久久99樱桃| 色美美综合视频| 18欧美亚洲精品| av成人动漫在线观看| 国产精品视频一二三区| 大白屁股一区二区视频| 国产亚洲精品精华液| 国产99精品视频| 亚洲国产精品高清| 99久久精品国产精品久久| 国产精品免费人成网站| jlzzjlzz亚洲女人18|