-
大小: 7.42MB文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2023-10-23
- 語(yǔ)言: 其他
- 標(biāo)簽: 仿真??設(shè)計(jì)報(bào)告??電路圖??程序??
資源簡(jiǎn)介
整個(gè)系統(tǒng)以STC89C51單片機(jī)為核心器件,配合電阻電容晶振等器件,構(gòu)成單片機(jī)的最小系統(tǒng)。其它個(gè)模塊圍繞著單片機(jī)最小系統(tǒng)展開。其中包括,顯示設(shè)備使用1602液晶,可以同時(shí)顯示年、月、日、星期、時(shí)、分、秒等基本時(shí)間信息;時(shí)鐘模塊采用DS1302芯片,初始化之后,就會(huì)開始運(yùn)行計(jì)算時(shí)間,單片機(jī)只需進(jìn)行時(shí)間信息的讀取即可。本設(shè)計(jì)還有4個(gè)按鍵作為操作輸入設(shè)備,可以進(jìn)行時(shí)間、鬧鐘的設(shè)置等,同時(shí)還有蜂鳴器模塊,用來(lái)實(shí)現(xiàn)鬧鐘的鬧鈴。最后是供電采用常用的USB 5V進(jìn)行供電。
代碼片段和文件信息
#include?
#include?
#define?uchar?unsigned?char //?以后unsigned?char就可以用uchar代替
#define?uint??unsigned?int //?以后unsigned?int?就可以用uint?代替
sfr?ISP_DATA??=?0xe2; //?數(shù)據(jù)寄存器
sfr?ISP_ADDRH?=?0xe3; //?地址寄存器高八位
sfr?ISP_ADDRL?=?0xe4; //?地址寄存器低八位
sfr?ISP_CMD???=?0xe5; //?命令寄存器
sfr?ISP_TRIG??=?0xe6; //?命令觸發(fā)寄存器
sfr?ISP_CONTR?=?0xe7; //?命令寄存器
sbit?LcdRs_P????=?P2^7;???????//?1602液晶的RS管腳???????
sbit?LcdRw_P????=?P2^6;???????//?1602液晶的RW管腳?
sbit?LcdEn_P????=?P2^5;???????//?1602液晶的EN管腳
sbit?RST_P??????=?P1^3; //?時(shí)鐘芯片DS1302的RST管腳
sbit?SDA_P??????=?P1^2; //?時(shí)鐘芯片DS1302的SDA管腳
sbit?SCK_P??????=?P1^1; //?時(shí)鐘芯片DS1302的SCK管腳
sbit?KeySet_P???=?P3^2; //?設(shè)置時(shí)間按鍵
sbit?KeyClock_P?=?P3^3; //?設(shè)置鬧鐘按鍵
sbit?KeyDown_P??=?P3^4; //?減按鍵
sbit?KeyUp_P????=?P3^5; //?加按鍵
sbit?Buzzer_P???=?P2^0; //?蜂鳴器
uchar?TimeBuff[7]={16856183050}; //?時(shí)間數(shù)組,默認(rèn)2016年8月5日,星期五,16:30:50
//?TimeBuff[0]?代表年份,范圍00-99
//?TimeBuff[1]?代表月份,范圍1-12
//?TimeBuff[2]?代表日期,范圍1-31
//?TimeBuff[3]?代表星期,范圍1-7,1是星期天,2是星期一...?...
//?TimeBuff[4]?代表小時(shí),范圍00-23
//?TimeBuff[5]?代表分鐘,范圍00-59
//?TimeBuff[6]?代表秒鐘,范圍00-59
uchar?Clock_Hour; //?鬧鐘的小時(shí)
uchar?Clock_Minute; //?鬧鐘的分鐘
uchar?Clock_Swt; //?鬧鐘的開關(guān)
uchar?Buzzer_Flag=0; //?蜂鳴器工作標(biāo)志
/*********************************************************/
//?單片機(jī)內(nèi)部EEPROM不使能
/*********************************************************/
void?ISP_Disable()
{
ISP_CONTR?=?0;
ISP_ADDRH?=?0;
ISP_ADDRL?=?0;
}
/*********************************************************/
//?從單片機(jī)內(nèi)部EEPROM讀一個(gè)字節(jié),從0x2000地址開始
/*********************************************************/
unsigned?char?EEPROM_Read(unsigned?int?add)
{
ISP_DATA??=?0x00;
ISP_CONTR?=?0x83;
ISP_CMD???=?0x01;
ISP_ADDRH?=?(unsigned?char)(add>>8);
ISP_ADDRL?=?(unsigned?char)(add&0xff);
//?對(duì)STC89C51系列來(lái)說(shuō),每次要寫入0x46,再寫入0xB9ISP/IAP才會(huì)生效
ISP_TRIG??=?0x46; ???
ISP_TRIG??=?0xB9;
_nop_();
ISP_Disable();
return?(ISP_DATA);
}
/*********************************************************/
//?往單片機(jī)內(nèi)部EEPROM寫一個(gè)字節(jié),從0x2000地址開始
/*********************************************************/
void?EEPROM_Write(unsigned?int?addunsigned?char?ch)
{
ISP_CONTR?=?0x83;
ISP_CMD???=?0x02;
ISP_ADDRH?=?(unsigned?char)(add>>8);
ISP_ADDRL?=?(unsigned?char)(add&0xff);
ISP_DATA??=?ch;
ISP_TRIG??=?0x46;
ISP_TRIG??=?0xB9;
_nop_();
ISP_Disable();
}
/*********************************************************/
//?擦除單片機(jī)內(nèi)部EEPROM的一個(gè)扇區(qū)
//?寫8個(gè)扇區(qū)中隨便一個(gè)的地址,便擦除該扇區(qū),寫入前要先擦除
/*********************************************************/
void?Sector_Erase(unsigned?int?add) ??
{
ISP_CONTR?=?0x83;
ISP_CMD???=?0x03;
ISP_ADDRH?=?(unsigned?char)(add>>8);
ISP_ADDRL?=?(unsigned?char)(add&0xff);
ISP_TRIG??=?0x46;
ISP_TRIG??=?0xB9;
_nop_();
ISP_Disable();
}
/*********************************************************/
//?毫秒級(jí)的延時(shí)函數(shù),time是要延時(shí)的毫秒數(shù)
/*********************************************************/
void?DelayMs(u
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-29?00:04??萬(wàn)年歷\
?????文件???????23704??2017-09-12?21:50??萬(wàn)年歷\main.c
?????目錄???????????0??2016-08-15?16:01??萬(wàn)年歷\仿真\
?????文件???????92073??2016-08-09?23:10??萬(wàn)年歷\仿真\Last?Loaded?simulation.DBK
?????文件???????92073??2016-08-09?23:17??萬(wàn)年歷\仿真\simulation.DSN
?????文件?????????909??2016-08-15?16:01??萬(wàn)年歷\仿真\simulation.PWI
?????文件???????27136??2016-08-10?00:01??萬(wàn)年歷\元件清單.doc
?????目錄???????????0??2017-12-28?23:01??萬(wàn)年歷\圖片\
?????文件???????45258??2017-09-12?22:12??萬(wàn)年歷\圖片\仿真.PNG
?????文件?????1466564??2017-09-13?16:01??萬(wàn)年歷\圖片\正面.jpg
?????文件?????1384554??2017-09-13?16:00??萬(wàn)年歷\圖片\背面.jpg
?????文件??????838511??2017-09-12?22:51??萬(wàn)年歷\圖片\調(diào)試.jpg
?????文件???????44371??2017-09-12?21:52??萬(wàn)年歷\圖片\運(yùn)行.PNG
?????目錄???????????0??2017-12-29?00:02??萬(wàn)年歷\電路圖(原理圖和PCB圖)\
?????目錄???????????0??2017-12-29?00:02??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Altium?Designer格式\
?????文件??????152576??2016-09-19?21:15??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Altium?Designer格式\PCB.PcbDoc
?????文件???????87040??2016-08-15?16:13??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Altium?Designer格式\原理圖-1.SCHDOC
?????文件???????83968??2016-10-02?07:03??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Altium?Designer格式\原理圖-2.SCHDOC
?????目錄???????????0??2017-12-29?00:02??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Protel?99SE格式\
?????文件??????105440??2016-08-05?11:31??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Protel?99SE格式\PCB.pcb
?????文件???????27878??2016-08-15?16:08??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Protel?99SE格式\原理圖-1.sch
?????文件???????27364??2016-10-02?07:03??萬(wàn)年歷\電路圖(原理圖和PCB圖)\Protel?99SE格式\原理圖-2.sch
?????目錄???????????0??2017-12-29?00:02??萬(wàn)年歷\電路圖(原理圖和PCB圖)\word格式\
?????文件???????28672??2016-08-05?11:32??萬(wàn)年歷\電路圖(原理圖和PCB圖)\word格式\PCB.doc
?????文件???????25088??2016-08-15?16:09??萬(wàn)年歷\電路圖(原理圖和PCB圖)\word格式\原理圖-1.doc
?????文件???????24064??2016-10-02?07:03??萬(wàn)年歷\電路圖(原理圖和PCB圖)\word格式\原理圖-2.doc
?????文件?????4133888??2017-12-28?23:02??萬(wàn)年歷\課程設(shè)計(jì)報(bào)告.doc
評(píng)論
共有 條評(píng)論