91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

protues仿真完好通過,程序代碼適合初學者,lcd采用1602,對于學習液晶和DS1302有很好的幫助

資源截圖

代碼片段和文件信息

/***************************************************/?
#include?????//包含單片機寄存器的頭文件
#include???//包含_nop_()函數定義的頭文件
#define?uchar?unsigned?char
#define?uint??unsigned?int
uchar?tempcount=0;
/***********************************************************************
以下是DS1302芯片的操作程序
************************************************************************/
uchar?code?digit[10]={“0123456789“};???//定義字符數組顯示數字
uchar?*digit1[]={“SUN““MON““TUS““WEN““THU““FRI““SAT“};?//周日,周一到周六
sbit?DATA=P3^7;???//位定義1302芯片的接口,數據輸出端定義在P1.1引腳
sbit?RST=P3^5;????//位定義1302芯片的接口,復位端口定義在P1.1引腳
sbit?SCLK=P3^6;???//位定義1302芯片的接口,時鐘輸出端口定義在P1.1引腳
sbit?key1=P3^0; ??//停止按鈕
sbit?key2=P3^1; ??//開始按鈕
sbit?add=P2^4; ??//加值
sbit?subtract=P2^5;//減值
sbit?tiaoshi=P3^4;?//定位
/*****************************************************
函數功能:延時若干微秒
入口參數:n
***************************************************/?
void?delaynus(uchar?n)
{
?uchar?i;
?for(i=0;i??????;
}

/*****************************************************
函數功能:向1302寫一個字節數據
入口參數:x
***************************************************/?
void?Write1302(uchar?dat)
{
??uchar?i;?
??SCLK=0;???????????? //拉低SCLK,為脈沖上升沿寫入數據做好準備
??delaynus(2);??????? //稍微等待,使硬件做好準備
??for(i=0;i<8;i++)?????? //連續寫8個二進制位數據
????{
????DATA=dat&0x01;???? //取出dat的第0位數據寫入1302
delaynus(2);????????//稍微等待,使硬件做好準備
SCLK=1;?????????????//上升沿寫入數據
delaynus(2);?????? //稍微等待,使硬件做好準備
SCLK=0;??????????? //重新拉低SCLK,形成脈沖
dat>>=1;?????????? //將dat的各數據位右移1位,準備寫入下一個數據位
??}

?}
/*****************************************************
函數功能:根據命令字,向1302寫一個字節數據
入口參數:Cmd,儲存命令字;dat,儲存待寫的數據
***************************************************/?
void?WriteSet1302(uchar?Cmduchar?dat)
?{
????RST=0;???????????//禁止數據傳遞
????SCLK=0;??????????//確保寫數居前SCLK被拉低
RST=1;???????????//啟動數據傳輸
delaynus(2);?????//稍微等待,使硬件做好準備
Write1302(Cmd);??//寫入命令字
Write1302(dat);??//寫數據
SCLK=1;??????????//將時鐘電平置于已知狀態
RST=0;???????????//禁止數據傳遞
?}
/*****************************************************
函數功能:從1302讀一個字節數據
入口參數:x
***************************************************/?
?uchar?Read1302(void)
?{
??? uchar?idat;
delaynus(2);???????//稍微等待,使硬件做好準備
for(i=0;i<8;i++)???//連續讀8個二進制位數據
?{
??? dat>>=1;???????//將dat的各數據位右移1位,因為先讀出的是字節的最低位
if(DATA==1)????//如果讀出的數據是1
?dat|=0x80;????//將1取出,寫在dat的最高位
?SCLK=1;???????//將SCLK置于高電平,為下降沿讀出
?delaynus(2);??//稍微等待
?SCLK=0;???????//拉低SCLK,形成脈沖下降沿
?delaynus(2);??//稍微等待
??} ?
?? return?dat;????????//將讀出的數據返回
}??
/*****************************************************
函數功能:根據命令字,從1302讀取一個字節數據
入口參數:Cmd
***************************************************/?
uchar??ReadSet1302(uchar?Cmd)
?{
??uchar?dat;
??RST=0;?????????????????//拉低RST
??SCLK=0;????????????????//確保寫數居前SCLK被拉低
??RST=1;?????????????????//啟動數據傳輸
??Write1302(Cmd);????????//寫入命令字
??dat=Read1302();????????//讀出數據
??SCLK=1;????????????????//將時鐘電平置于已知狀態
??RST=0;?????????????????//禁止數據傳遞

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-30?13:27??LCD數字時鐘\
?????文件???????94333??2013-03-29?14:55??LCD數字時鐘\Last?Loaded?lcd數字時鐘.DBK
?????文件???????17303??2013-03-30?13:27??LCD數字時鐘\LCDtimer.c
?????文件???????28353??2013-03-30?13:25??LCD數字時鐘\LCDtimer.LST
?????文件???????25469??2013-03-30?13:25??LCD數字時鐘\LCDtimer.OBJ
?????文件???????97607??2013-03-30?13:27??LCD數字時鐘\lcd數字時鐘.DSN
?????文件?????????935??2013-03-30?13:27??LCD數字時鐘\lcd數字時鐘.PWI
?????文件???????21555??2013-03-30?13:25??LCD數字時鐘\數字時鐘
?????文件????????5183??2013-03-30?13:25??LCD數字時鐘\數字時鐘.hex
?????文件??????????48??2013-03-30?13:25??LCD數字時鐘\數字時鐘.lnp
?????文件???????30721??2013-03-30?13:25??LCD數字時鐘\數字時鐘.M51
?????文件????????9072??2013-03-30?13:25??LCD數字時鐘\數字時鐘.plg
?????文件???????56284??2013-03-30?13:27??LCD數字時鐘\數字時鐘.uvopt
?????文件???????13253??2013-03-29?13:53??LCD數字時鐘\數字時鐘.uvproj
?????文件???????55777??2013-03-29?14:55??LCD數字時鐘\數字時鐘_uvopt.bak
?????文件???????????0??2013-03-29?10:04??LCD數字時鐘\數字時鐘_uvproj.bak

評論

共有 條評論