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

  • 大小: 0.07M
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-14
  • 語言: 其他
  • 標簽: 其他??

資源簡介

DS1302_8位數碼管_仿真.zip

資源截圖

代碼片段和文件信息

/*
51單片機:DS1302+數碼管?Proteus?仿真程序。
功能:數碼管時鐘顯示。

仿真結果:
(1)8位數碼管顯示設定的時間與日期。
(2)通過按鍵切換時間與日期的顯示。
*/

#include?

sbit?LE_DUAN? =?P2^0;?? //定義573鎖存使能端口?數碼管段鎖存
sbit?LE_WEI? =?P2^1;??? //定義573鎖存使能端口?數碼管位鎖存
#define?SEGPORT?P0??? //定義數碼管連接端口

sbit?SCK?=?P3^6; //?DS1302時鐘線
sbit?SDA?=?P3^4; //?DS1302數據線
sbit?RST?=?P3^5;???? //?DS1302復位線

//DS1302?復位重定義
#define?RST_CLR RST=0 //電平置低
#define?RST_SET RST=1 //電平置高

//DS1302?數據
#define?SDA_CLR SDA=0 //電平置低
#define?SDA_SET SDA=1 //電平置高
#define?SDA_RD SDA?? //電平讀取

//DS1302?時鐘
#define?SCK_CLR SCK=0 //時鐘信號
#define?SCK_SET SCK=1 //電平置高

#define?DS1302_SEC 0x80 //秒數據地址
#define?DS1302_MIN 0x82 //分數據地址
#define?DS1302_HOUR 0x84 //時數據地址
#define?DS1302_DATE 0x86 //日數據地址
#define?DS1302_MON 0x88 //月數據地址
#define?DS1302_DAY 0x8a //星期數據地址
#define?DS1302_YEAR 0x8c //年數據地址
#define?DS1302_CTRL 0x8e //控制數據地址
#define?DS1302_CHARGE 0x90? //涓流充電 ?

bit?ReadRTC_Flag; ???//讀DS1302標志。1為讀?0為不讀。
unsigned?char?TimeMode; ???//日期與時間切換標志。

unsigned?char?time_buf1[8]?=?{40142141059507}; //??-年月日時分秒周 2014-02-14?10:59:50?7周
unsigned?char?time_buf[8]?;????????????????????????? //???-年月日時分秒周
unsigned?char?TempData[8]?;?

unsigned?char?code?Seg_Wei[] =?{0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f}; ????????? //數碼管的位碼低電平有效。
unsigned?char?code?Seg_Duan[] =?{0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x40};??? //共陽數碼管顯示段碼值?0~9-?

void?DS1302_Init(void);
void?DS1302_Write_Byte(unsigned?char?addr?unsigned?char?d);
unsigned?char?DS1302_Read_Byte(unsigned?char?addr)?;
void?DS1302_Read_Time(void);
void?DS1302_Write_Time(void);

void?Seg_Disp(unsigned?char?FirstBitunsigned?char?Num);
void?InitTIMER0(void);//inital?timer0
void?Delay_1ms(unsigned?int?i);
unsigned?char?GetKey(void);

void?main(void)????
{
unsigned?char?Key;
????InitTIMER0();
DS1302_Init();
? DS1302_Write_Time();
P2=0xff;???//51默認為輸入
while(1)
{
Key?=?GetKey();
if(Key&0x01)
{
TimeMode?=?~TimeMode; ?//有按鍵后,模式取反,改變當前顯示模式
}
if(ReadRTC_Flag==1)
{
ReadRTC_Flag=0;
DS1302_Read_Time();
if(TimeMode)
{
TempData[0]=Seg_Duan[time_buf1[1]/10]; //年?數據的轉換,
TempData[1]=Seg_Duan[time_buf1[1]%10]; //因我們采用數碼管0~9的顯示將數據分開
TempData[2]=0x40; ?? //加入“-“
TempData[3]=Seg_Duan[time_buf1[2]/10]; //月
TempData[4]=Seg_Duan[time_buf1[2]%10];
TempData[5]=0x40;
TempData[6]=Seg_Duan[time_buf1[3]/10]; //日
TempData[7]=Seg_Duan[time_buf1[3]%10];
}
else
{
TempData[0]=Seg_Duan[time_buf1[4]/10]; //時?數據的轉換,
TempData[1]=Seg_Duan[time_buf1[4]%10]; //因我們采用數碼管0~9的顯示將數據分開
TempData[2]=0x40; ?? //加入“-“
TempData[3]=Seg_Duan[time_buf1[5]/10]; //分
TempData[4]=Seg_Duan[time_buf1[5]%10];
TempData[5]=0x40;
TempData[6]=Seg_Duan[time_buf1[6]/10]; //秒
TempData[7]=Seg_Duan[time_buf1[6]%10];
}
}
}
}

/*----------------------------------------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-02-14?10:10??DS1302_仿真\
?????文件???????18017??2014-02-14?10:04??DS1302_仿真\ds1302.LST
?????文件???????13942??2014-02-14?10:04??DS1302_仿真\ds1302.OBJ
?????文件????????8413??2014-02-14?10:04??DS1302_仿真\ds1302.c
?????文件???????12188??2014-02-14?10:04??DS1302_仿真\實時時鐘
?????文件???????15408??2014-02-14?10:04??DS1302_仿真\實時時鐘.M51
?????文件????????1673??2010-08-18?21:26??DS1302_仿真\實時時鐘.Uv2.bak
?????文件????????2632??2014-02-14?10:04??DS1302_仿真\實時時鐘.hex
?????文件??????????46??2014-02-14?10:04??DS1302_仿真\實時時鐘.lnp
?????文件????????1227??2010-08-19?20:16??DS1302_仿真\實時時鐘.opt.bak
?????文件????????3516??2014-02-14?10:04??DS1302_仿真\實時時鐘.plg
?????文件???????73853??2014-02-14?10:10??DS1302_仿真\實時時鐘.uvopt
?????文件???????13197??2014-02-14?09:14??DS1302_仿真\實時時鐘.uvproj
?????文件????????1229??2010-08-18?21:26??DS1302_仿真\實時時鐘_Opt.Bak
?????文件????????2016??2008-11-29?10:29??DS1302_仿真\實時時鐘_Uv2.Bak
?????文件???????73849??2014-02-14?10:04??DS1302_仿真\實時時鐘_uvopt.bak
?????文件???????13207??2014-02-11?10:47??DS1302_仿真\實時時鐘_uvproj.bak
?????文件??????193516??2014-02-14?09:36??DS1302_仿真.DSN

評論

共有 條評論