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

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

?? ds1302.c

?? 0809ADC轉換程序匯編
?? C
字號:
#pragma small
#include <reg52.h>
#define uchar unsigned char
/************************************引腳連接圖*****************************************/
sbit ds1302_clk=P1^0;
sbit ds1302_dat=P1^1;
sbit ds1302_rst=P1^2;

sbit ACC_0 = ACC^0;
sbit ACC_1 = ACC^1;
sbit ACC_2 = ACC^2;
sbit ACC_3 = ACC^3;
sbit ACC_4 = ACC^4;
sbit ACC_5 = ACC^5;
sbit ACC_6 = ACC^6;
sbit ACC_7 = ACC^7;

/*************************************函數說明******************************************/
void Read(void);								//寫DS1302操作
void Write(void);								//讀DS1302操作
uchar ReadRam_Byte(uchar address);    			//從Ram中讀出一個字節
uchar ReadRTC_Byte(uchar address);    			//從DS1302中讀出一個字節
uchar WriteRam_Byte(uchar address,uchar number);    	//向Ram中寫入一個字節
uchar WriteRTC_Byte(uchar address,uchar number);    	//向DS1302中寫入一個字節
void ReadRam(uchar data * buffer,uchar size);    		//從Ram中讀出多個字節
void ReadRTC(uchar data * buffer,uchar size);    		//從DS1302中讀出多個字節
void WriteRam(uchar data * buffer,uchar size);    		//向Ram中寫入多個字節
void WriteRTC(uchar data * buffer,uchar size);    		//向DS1302中寫入多個字節
uchar ReadSec(void);    						//從DS1302中讀出秒字節
uchar ReadMin(void);    						//從DS1302中讀出分字節
uchar ReadHr(void);    						//從DS1302中讀出時字節
uchar ReadDay(void);    						//從DS1302中讀出日字節
uchar ReadMonth(void);    					//從DS1302中讀出月字節
uchar ReadWeek(void);    						//從DS1302中讀出星期字節
uchar ReadYear(void);    						//從DS1302中讀出年字節
void WriteSec(uchar number);    					//向DS1302中寫入秒字節
void WriteMin(uchar number);    				//向DS1302中寫入分字節
void WriteHr(uchar number);    					//向DS1302中寫入時字節
void WriteDay(uchar number);    				//向DS1302中寫入日字節
void WriteMonth(uchar number);    				//向DS1302中寫入月字節
void WriteWeek(uchar number);    				//向DS1302中寫入星期字節
void WriteYear(uchar number);    				//向DS1302中寫入年字節
void WriteControl(uchar number);					//向慢速充電控制寄存器寫入控制字節
void EnableWP(void);    						//禁止寫保護
void DisableWP(void);    						//允許寫保護

void Write(void)					//寫DS1302操作
{
	ds1302_dat = ACC_0; 			//寫DS1302
	ds1302_clk = 1; 				//時鐘上升沿,發送數據有效
	ds1302_clk = 0;				//清零時鐘總線
    ds1302_dat = ACC_1; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_2; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_3; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_4; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_5; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_6; 
	ds1302_clk = 1; ds1302_clk = 0;
    ds1302_dat = ACC_7;
	ds1302_clk = 1; ds1302_clk = 0;
}

void Read(void)					//讀DS1302操作
{
    ACC_0 = ds1302_dat; 			//讀取DS1302數據
	ds1302_clk = 1; 				//時鐘上升沿,發送數據有效
	ds1302_clk = 0; 				//清零時鐘總線
    ACC_1 = ds1302_dat; 
	ds1302_clk = 1; ds1302_clk = 0;
    ACC_2 = ds1302_dat; 
	ds1302_clk = 1; ds1302_clk = 0;
    ACC_3 = ds1302_dat; 
	ds1302_clk = 1; ds1302_clk = 0;
    ACC_4 = ds1302_dat; 
	ds1302_clk = 1;ds1302_clk = 0;
    ACC_5 = ds1302_dat; 
	ds1302_clk = 1; ds1302_clk = 0;
    ACC_6 = ds1302_dat; 
	ds1302_clk = 1; ds1302_clk = 0;
    ACC_7 = ds1302_dat; 
	ds1302_rst = 0; ds1302_clk = 1;
}

uchar ReadRam_Byte(uchar address)   	//從RAM中讀出一個字節
{
    ds1302_rst = 0; 				//復位引腳為低電平,所有數據傳送中止
    ds1302_clk = 0; 				//清零時鐘總線
	ds1302_rst = 1;				//復位引腳為高電平,邏輯控制有效
	ACC = address;
   	Write();				//寫DS1302操作
    ds1302_dat = 1;
   	Read();				//讀DS1302操作
    return ACC;
}

uchar ReadRTC_Byte(uchar address)    			//從DS1302中讀出一個字節
{
    ds1302_rst = 0; 				//復位引腳為低電平,所有數據傳送中止
    ds1302_clk = 0; 				//清零時鐘總線
    ds1302_rst = 1;				//復位引腳為高電平,邏輯控制有效
    ACC = address;
    Write();				//對DS1302寫命令字和地址
	ds1302_dat = 1;
	Read();				//讀DS1302操作
    return ACC;					//返回讀取的數據
}

uchar WriteRam_Byte(uchar address,uchar number)    //向RAM中寫入一個字節
{
    ds1302_clk = 0; ds1302_rst = 0;ds1302_rst = 1;
    ACC = address;
	Write();				//對DS1302寫命令字和地址
    ACC = number;
	Write();				//對DS1302寫命令字和數據
    ds1302_rst = 0;
	ds1302_clk = 1;
    return ACC;
}

uchar WriteRTC_Byte(uchar address,uchar number)    //向DS1302中寫入一個字節
{
    ds1302_clk = 0;
    ds1302_rst = 0;ds1302_rst = 1;
    ACC = address;
    ACC |= 0x80;
    Write();				//對DS1302寫命令字和地址
    ACC = number;
	Write();				//對DS1302寫命令字和數據
    ds1302_rst = 0; ds1302_clk = 1;
    return ACC;
}

void ReadRam(uchar data * buffer,uchar size)    //從RAM中讀出多個字節
{
    register uchar a,b;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xff;					//命令字為FFH
	Write();				//對DS1302寫命令字和地址
    ds1302_dat = 1;
    for(a=0;a<size;a++)
    {
        ACC_0 = ds1302_dat;    
        ds1302_clk = 1; ds1302_clk = 0; ACC_1 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_2 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_3 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_4 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_5 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_6 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_7 = ds1302_dat;
        b = ACC;
        *(buffer+a)=b;
        ds1302_clk = 1; ds1302_clk = 0;
    }
    ds1302_rst = 0; ds1302_clk = 1;
}

void ReadRTC(uchar data * buffer,uchar size)    	//從DS1302中讀出多個字節
{
    register uchar a,b;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xbf;				//命令字為BFH
	Write();				//對DS1302寫命令字和地址
    ds1302_dat = 1;
    for(a=0;a<size;a++)			//讀出DS1302數據
    {
        ACC_0 = ds1302_dat;    
        ds1302_clk = 1; ds1302_clk = 0; ACC_1 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_2 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_3 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_4 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_5 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_6 = ds1302_dat;
        ds1302_clk = 1; ds1302_clk = 0; ACC_7 = ds1302_dat;
        b = ACC;
        *(buffer+a)=b;
        ds1302_clk = 1; ds1302_clk = 0;
    }
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void WriteRam(uchar data * buffer,uchar size)    //向RAM中寫入多個字節
{
    register uchar a;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xfe;				//命令字為FE
    Write();				//對DS1302寫命令字和地址
    for(a=0;a<size;a++)
    {
        ACC = *(buffer+a);
        Write();			//對DS1302寫數據
    }    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

void WriteRTC(uchar data * buffer,uchar size)    //向DS1302中寫入多個字節
{//注意:連續寫DS1302只能是8個字節一起寫
    register uchar a;
    ds1302_clk = 0;
    ds1302_rst = 0;
    ds1302_rst = 1;
    ACC = 0xbe;				//命令字為BEH
    Write();				//對DS1302寫命令字和地址
    for(a=0;a<size;a++)
    {
        ACC = *(buffer+a);
        Write();			//對DS1302寫數據
    }
    ds1302_rst = 0;
    ds1302_clk = 1;
}

uchar ReadSec(void)    			//從DS1302中讀出秒字節
{
    return ReadRTC_Byte(0x81);
}

uchar ReadMin(void)    			//從DS1302中讀出分字節
{
    return ReadRTC_Byte(0x83);
}

uchar ReadHr(void)    			//從DS1302中讀出時字節
{
    return ReadRTC_Byte(0x85);
}

uchar ReadDay(void)   			//從DS1302中讀出日字節
{
    return ReadRTC_Byte(0x87);
}

uchar ReadMonth(void)    			//從DS1302中讀出月字節
{
    return ReadRTC_Byte(0x89);
}

uchar ReadWeek(void)    			//從DS1302中讀出星期字節
{
    return ReadRTC_Byte(0x8B);
}

uchar ReadYear(void)    			//從DS1302中讀出年字節
{
    return ReadRTC_Byte(0x8D);
}

void WriteSec(uchar number)    		//向DS1302中寫入秒字節
{
    WriteRTC_Byte(0x80,number);
}

void WriteMin(uchar number)    		//向DS1302中寫入分字節
{
    WriteRTC_Byte(0x82,number);
}

void WriteHr(uchar number)    		//向DS1302中寫入時字節
{
    WriteRTC_Byte(0x84,number);
}

void WriteDay(uchar number)    		//向DS1302中寫入日字節
{
    WriteRTC_Byte(0x86,number);
}

void WriteMonth(uchar number)    	//向DS1302中寫入月字節
{
    WriteRTC_Byte(0x88,number);
}

void WriteWeek(uchar number)    	//向DS1302中寫入星期字節
{
    WriteRTC_Byte(0x8A,number);
}

void WriteYear(uchar number)    	//向DS1302中寫入年字節
{
    WriteRTC_Byte(0x8C,number);
}

void WriteControl(uchar number)    	//向慢速充電控制寄存器寫入控制字節
{
    WriteRTC_Byte(0x90,number);
}

void DisableWP(void)    			//禁止寫保護
{
    WriteRTC_Byte(0x8E,0);
}

void EnableWP(void)    			//允許寫保護
{
    WriteRTC_Byte(0x8E,0x80);
}

void main(void)					//主程序
{
    uchar sec,min,hr,day,month,week,year;
    uchar data buffer1[32] = 
{32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
    uchar data buffer2[8] = {45,45,15,13,3,2,01,0};
    ReadRTC(buffer2,8);
    DisableWP();				//禁止寫保護
    WriteControl(0xaa);			//向慢速充電控制寄存器寫入控制字節
    WriteRam(buffer1,31);			//寫DS1302RAM
    WriteRTC(buffer2,8);			//寫DS1302時鐘
    EnableWP();				//允許寫保護
    ReadRam(buffer1,31);			//讀DS1302RAM
    ReadRTC(buffer2,8);			//讀DS1302時鐘
    sec = ReadSec();				//讀秒
    min = ReadMin();				//讀分
    hr = ReadHr();				//讀小時
    day = ReadDay();				//讀日
    month = ReadMonth();			//讀月
    week = ReadWeek();			//讀星期
    year = ReadYear();			//讀年
    ACC = 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线一区二区| 精品国产亚洲在线| 老司机精品视频在线| 国产精品国产三级国产普通话蜜臀| 欧美日本在线看| 不卡的av在线播放| 国产一区二区在线看| 亚洲午夜精品久久久久久久久| 国产欧美日韩不卡| 日韩欧美美女一区二区三区| 欧美主播一区二区三区美女| 成人午夜激情在线| 国产伦精品一区二区三区视频青涩| 一区二区成人在线观看| 中文字幕不卡在线| 日韩欧美卡一卡二| 26uuu亚洲综合色| 欧美二区三区91| 色婷婷综合五月| aaa欧美大片| 不卡电影一区二区三区| 国产大片一区二区| 激情综合色丁香一区二区| 全国精品久久少妇| 日韩高清一区二区| 亚洲成a人v欧美综合天堂下载| 亚洲精品免费电影| 国产精品亲子乱子伦xxxx裸| 国产亚洲视频系列| 久久新电视剧免费观看| 精品国产99国产精品| 日韩视频在线永久播放| 欧美一级在线观看| 日韩精品在线网站| 日韩精品一区二区三区蜜臀 | 日韩经典中文字幕一区| 亚洲第一成人在线| 亚洲国产成人av| 日韩激情中文字幕| 久久9热精品视频| 国内精品视频一区二区三区八戒| 激情五月激情综合网| 国产伦精品一区二区三区免费迷| 国产一区在线视频| 国产91露脸合集magnet| 国产成人综合亚洲91猫咪| 成人国产亚洲欧美成人综合网| 成人av中文字幕| 色综合久久综合中文综合网| 欧美伊人久久久久久午夜久久久久| 色8久久精品久久久久久蜜 | 日韩欧美国产高清| 久久综合色一综合色88| 国产精品欧美一区二区三区| 中文字幕在线一区二区三区| 亚洲精品免费播放| 日韩中文字幕亚洲一区二区va在线| 免费成人你懂的| 国产999精品久久久久久| 91视频观看视频| 欧美在线观看视频在线| 日韩手机在线导航| 欧美国产精品v| 亚洲一区二区三区中文字幕在线| 免费在线观看视频一区| 欧美经典一区二区| 91精品视频网| 久久只精品国产| 亚洲天天做日日做天天谢日日欢 | 色综合久久综合网97色综合| 欧美日韩中文一区| 久久综合九色综合欧美98| 亚洲欧洲av一区二区三区久久| 亚洲在线中文字幕| 韩国av一区二区三区四区| www.激情成人| 日韩一级大片在线观看| 国产精品久久毛片| 五月激情综合色| 成人黄色一级视频| 欧美一区二区三区视频免费播放| 日本一区二区三区电影| 午夜一区二区三区在线观看| 激情文学综合网| 欧美揉bbbbb揉bbbbb| 久久久久久久久蜜桃| 亚洲国产精品一区二区久久恐怖片| 国产美女精品一区二区三区| 欧洲av在线精品| 国产欧美va欧美不卡在线| 日本午夜精品视频在线观看| 99热精品国产| 亚洲精品一线二线三线| 亚洲综合色在线| 成av人片一区二区| 欧美精品一区在线观看| 午夜精品福利一区二区蜜股av | 日精品一区二区| 99精品国产一区二区三区不卡| 精品国产乱子伦一区| 一区二区免费在线播放| 国产成人三级在线观看| 日韩欧美亚洲一区二区| 一区二区三区在线不卡| 成人av在线播放网站| 欧美精品一区二| 日韩福利电影在线观看| 一本色道a无线码一区v| 国产人成亚洲第一网站在线播放 | 99久久伊人网影院| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美丰满美乳xxx高潮www| 亚洲私人黄色宅男| 成人午夜电影网站| 国产亚洲成aⅴ人片在线观看| 奇米四色…亚洲| 91精品国产综合久久福利| 亚洲午夜日本在线观看| 在线观看亚洲专区| 亚洲精品乱码久久久久久 | 欧美一区二区国产| 视频一区欧美日韩| 欧美美女网站色| 亚洲高清免费一级二级三级| 91成人免费网站| 亚洲资源在线观看| 欧美三级中文字| 亚洲国产一区二区视频| 欧美日韩一区不卡| 天天av天天翘天天综合网色鬼国产 | 91麻豆swag| 亚洲精品免费看| 欧美怡红院视频| 三级精品在线观看| 欧美一二三区在线| 国产一区在线观看麻豆| 精品三级在线观看| 国产成人一级电影| 欧美国产激情二区三区| 91在线观看成人| 亚洲国产欧美在线| 欧美老女人第四色| 久久精品99国产精品日本| 久久夜色精品国产欧美乱极品| 国产一区二区福利| 中文字幕av资源一区| 91在线观看污| 亚洲福利一区二区三区| 日韩三级精品电影久久久| 国产福利精品一区二区| 国产精品毛片大码女人| 在线视频你懂得一区| 日本欧美韩国一区三区| 久久久精品国产免费观看同学| 成人晚上爱看视频| 亚洲一区在线观看免费| 日韩一区二区三区视频| 福利一区二区在线观看| 一区二区三区欧美日| 欧美一级免费大片| 成人高清视频在线| 亚洲aⅴ怡春院| 国产亲近乱来精品视频| 色一情一乱一乱一91av| 美女被吸乳得到大胸91| 中文字幕成人av| 在线播放中文一区| 高清在线不卡av| 香蕉久久一区二区不卡无毒影院| 2020国产精品自拍| 色哟哟一区二区| 国内精品伊人久久久久av一坑| 综合在线观看色| 日韩一二在线观看| 91在线porny国产在线看| 日韩电影网1区2区| 自拍偷拍亚洲激情| 日韩欧美国产三级电影视频| 色综合中文字幕| 久草在线在线精品观看| 亚洲丝袜制服诱惑| 精品国产髙清在线看国产毛片| 91免费视频网址| 久久精品国产成人一区二区三区| 亚洲男人天堂av网| 久久久久九九视频| 在线播放中文一区| 91蜜桃免费观看视频| 狠狠色2019综合网| 亚洲高清视频在线| 国产精品沙发午睡系列990531| 欧美电影影音先锋| 99国产精品久久久久久久久久 | 天堂一区二区在线| 中文字幕一区二| 久久久影院官网| 日韩精品在线看片z| 欧美性猛片aaaaaaa做受| 成av人片一区二区| 国产在线国偷精品产拍免费yy |