|
旋轉電子鐘制作資料分享給大家
元件名稱 | 型號 | 封裝 | 數量 | 參數 | 單片機 | U1 | LQFP 44 | 1 | STC89C52 | 時鐘芯片 | U2 | DIP 4 | 1 | DS1302 | 貼片電阻 | RO-R19 | O805 | 20 | 1K | 貼片電阻 | R22-R25 | O8O5 | 4 | 10K | 貼片LED | O8O5 | O8O5 | 20 | 紅 | 電阻 | R20 | AXIAL0.2 | 1 | 470 | 瓷片電容 | C1-C4 | O8O5 | 4 | 33P | 紅外接收 | Q1 | TO-220 | 1 | 3P | 晶振 | X1 | CC2 | 1 | 11.0592 MHZ | 晶振 | X2 | CC2 | 1 | 32.768 MHZ | 排插 | J1 | SIP | 1 | SIP4 | 電感線圈 | L2(次級) | L10 | 1 | 80匝 | 鈕扣電池座 | Battay | AXIAL0.9 | 1 | 3V | 無線供電部份 | 三極管 | Q1 | TO92 | 1 | B772 | 三極管 | Q2 | TO92 | 1 | 9013 | 電容 | C1 | CC4 | 1 | 222 | 電阻 | R-R3 | RW10 | 3 | 470 | 電阻 | R4 | RW10 | 1 | 10K | 二極管 | D1-D2 | DW10 | 2 | 1N4007 | 二極管 | D3 | LED | 1 | 紅外發射 | 插口 | J1-J2 | CON2 | 2 | 2P | 電感 | L1(初級線圈) | L10 | 1 | 100匝 |
0.png (132.5 KB, 下載次數: 170)
下載附件
2016-9-8 01:54 上傳
PCB原理圖,源程序都有,想要的同學可以下去參考下。本人做成功了。就不上圖了。做的不好看。電源部分沒做成
10564030shl3k6shr0iiss.png.thumb.jpg (153.37 KB, 下載次數: 169)
下載附件
2016-9-8 01:57 上傳
0.png (288.99 KB, 下載次數: 153)
下載附件
2016-9-8 01:51 上傳
105643maky7l4lyw4lvvoz.jpg.thumb.jpg (21.11 KB, 下載次數: 167)
下載附件
2016-9-8 01:57 上傳
105643j196ivax66vb2bbf.jpg.thumb.jpg (36.61 KB, 下載次數: 173)
下載附件
2016-9-8 01:57 上傳
105644ry3fkf6iea1z1f1i.jpg.thumb.jpg (20.48 KB, 下載次數: 165)
下載附件
2016-9-8 01:57 上傳
105644vw1hyimiaizkt3q9.jpg.thumb.jpg (25.38 KB, 下載次數: 158)
下載附件
2016-9-8 01:57 上傳
105646eex9gg1y439pctra.jpg.thumb.jpg (20.8 KB, 下載次數: 193)
下載附件
2016-9-8 01:57 上傳
105647vqw6wveewpgtbqe7.jpg.thumb.jpg (32.02 KB, 下載次數: 174)
下載附件
2016-9-8 01:57 上傳
1056511nzxnugxk0gk8a41.jpg.thumb.jpg (26.99 KB, 下載次數: 171)
下載附件
2016-9-8 01:57 上傳
105653oacy2644zrzar9yl.jpg.thumb.jpg (34.42 KB, 下載次數: 169)
下載附件
2016-9-8 01:57 上傳
105657c5jrnzy7urd7jr5a.jpg.thumb.jpg (44.71 KB, 下載次數: 162)
下載附件
2016-9-8 01:57 上傳
105701vmdeloptcnbqthc7.jpg.thumb.jpg (40.03 KB, 下載次數: 164)
下載附件
2016-9-8 01:57 上傳
105705vhqelwgnpzug43sp.jpg.thumb.jpg (34.76 KB, 下載次數: 167)
下載附件
2016-9-8 01:57 上傳
105709q3gegukrtrbbrooo.jpg.thumb.jpg (36.15 KB, 下載次數: 159)
下載附件
2016-9-8 01:57 上傳
1057121amjxjj11xd0l2j5.jpg.thumb.jpg (27.6 KB, 下載次數: 154)
下載附件
2016-9-8 01:57 上傳
1057169vszosavk4zj399q.jpg.thumb.jpg (16.79 KB, 下載次數: 171)
下載附件
2016-9-8 01:57 上傳
0.png (175.54 KB, 下載次數: 154)
下載附件
2016-9-8 01:52 上傳
- /***************************************************************************************************/
- //指針式時鐘 簡單版 有待改進!
- #include
- #define uchar unsigned char //宏定義
- #define uint unsigned int
- //sbit KEY=P3^2 ;
- //sbit led1=P1^0 ;
- sbit ACC0=ACC^0; //1bit數據存儲位
- sbit ACC7=ACC^7;
- sbit T_CLK=P3^5; //DS1302引腳連接
- sbit T_IO =P3^6;
- sbit T_RST=P3^7;
- uchar i=1 ;
- uint Pt,S ;
- uint D=0 ;
- uchar miao,Cent,Hour,Month,Day,Week,miaot,centt,hourt;
- void du1302();
- /*******************************************************************************/
- /*外部中斷0處理函數*/
- void intersvr0(void)interrupt 0 using 0
- {
-
- // D=D+(S-180);
- //D=0;
- //修正值
- // Pt=580;
- //得到定時器T0的初設值
- S=0;
-
- //計數器清零,將重新計數
- }
- /*定時中斷0處理函數*/
- void timer0(void)interrupt 1 using 1
- {
- TH0=(65536-630)/256 ;
- TL0=(65536-630)%256 ;
- //設置定時器T0的初設值
- S++;
- //計數
- switch(S)
- {
- case 15 :
- //0點
- case 30 :
- //1點
- case 45 :
- //2點
- case 60 :
- //3點
- case 75 :
- //4點
- case 90 :
- //5點
- case 105 :
- //6點
- case 120 :
- //7點
- case 135 :
- //8點
- case 150 :
- //9點
- case 165 :
- //10點
- case 1 :
- //11點
- P0=0xF8 ;
- while(i--);
- break ;
- }
- //0-180 0-60
- if((miaot==S/3)&&(S%3==1))
- {
- P0=0X07 ;
- P2=0X00 ;
- P1=0X00 ;
- while(i--);
- }
- //0-180 0-60
- if((centt==S/3)&&(S%3==1))
- {
- P0=0XFF ;
- P2=0X00 ;
- P1=0X00 ;
- while(i--);
- }
-
- //0-180 0-60
- if((hourt==S/3)&&(S%3==1))
- {
- P0=0XFF ;
- P2=0X0F ;
- P1=0X00 ;
- while(i--);
- }
- P0=0XFF ;
- P1=0XFF ;
- P2=0XFF ;
- }
- /*******************DS1302讀寫程序**********************************
- /********************************************************************
- 函 數 名:RTInputByte()
- 功 能:實時時鐘寫入一字節
- 說 明:往DS1302寫入1Byte數據 (內部函數)
- 入口參數:d 寫入的數據
- 返 回 值:無
- ***********************************************************************/
- void RTInputByte(uchar d)
- {
- uchar h;
- ACC = d;
- for(h=8; h>0; h--)
- {
- T_IO = ACC0; /*相當于匯編中的 RRC */
- T_CLK = 1;
- T_CLK = 0;
- ACC = ACC >> 1;
- }
- }
- /********************************************************************
- 函 數 名:RTOutputByte()
- 功 能:實時時鐘讀取一字節
- 說 明:從DS1302讀取1Byte數據 (內部函數)
- 入口參數:無
- 返 回 值:ACC
- 設 計:zhaojunjie 日 期:2002-03-19
- 修 改: 日 期:
- ***********************************************************************/
- uchar RTOutputByte(void)
- {
- uchar h;
- for(h=8; h>0; h--)
- {
- ACC = ACC >>1; /*相當于匯編中的 RRC */
- ACC7 = T_IO;
- T_CLK = 1;
- T_CLK = 0;
- }
- return(ACC);
- }
- /********************************************************************
- 函 數 名:W1302()
- 功 能:往DS1302寫入數據
- 說 明:先寫地址,后寫命令/數據 (內部函數)
- 調 用:RTInputByte() , RTOutputByte()
- 入口參數:ucAddr: DS1302地址, ucData: 要寫的數據
- 返 回 值:無
- ***********************************************************************/
- /*void W1302(uchar ucAddr, uchar ucDa)
- {
- T_RST = 0;
- T_CLK = 0;
- T_RST = 1;
- RTInputByte(ucAddr); /* 地址,命令 */
- /* RTInputByte(ucDa); /* 寫1Byte數據*/
- /* T_CLK = 1;
- T_RST = 0;
- /*}
- /********************************************************************
- 函 數 名:R1302()
- 功 能:讀取DS1302某地址的數據
- 說 明:先寫地址,后讀命令/數據 (內部函數)
- 調 用:RTInputByte() , RTOutputByte()
- 入口參數:ucAddr: DS1302地址
- 返 回 值:ucData :讀取的數據
- ***********************************************************************/
- uchar R1302(uchar ucAddr)
- {
- uchar ucData;
- T_RST = 0;
- T_CLK = 0;
- T_RST = 1;
- RTInputByte(ucAddr); /* 地址,命令 */
- ucData = RTOutputByte(); /* 讀1Byte數據 */
- T_CLK = 1;
- T_RST = 0;
- return(ucData);
- }
- /********************************************************************
- 函 數 名:Set1302()
- 功 能:設置初始時間
- 說 明:先寫地址,后讀命令/數據(寄存器多字節方式)
- 調 用:W1302()
- 入口參數:pClock: 設置時鐘數據地址 格式為: 秒 分 時 日 月 星期 年
- 7Byte (BCD碼)1B 1B 1B 1B 1B 1B 1B
- 返 回 值:無
- ***********************************************************************/
- /*void Set1302(uchar *pClock)
- {
- uchar h;
- uchar ucAddr = 0x80;
- W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/
- /* for(h =7; h>0; h--)
- {
- /* W1302(ucAddr,*pClock); /* 秒 分 時 日 月 星期 年 */
- /* pClock++;
- ucAddr +=2;
- /* }
- W1302(0xc0,0x01);
- W1302(0XC2,0X03); //初始自動轉換顯示時間為3秒。
- W1302(0x8e,0x80); /* 控制命令,WP=1,寫保護?*/
- /*}
- /******************讀取DS1302中的時間****************/
- void du1302()
- {
- miao=R1302(0x81); //對取 秒 分 時 日 月 星期 年
- Cent=R1302(0x83);
- Hour=R1302(0x85);
- //Day=R1302(0x87);
- //Month=R1302(0x89);
- //Week=R1302(0x8b);
-
- }
- /*****主函數*****/
- void main(void)
- {
- TMOD=0x01 ;
- //定時器0和1工作方式都為1
- EX0=1 ;
- //開外部中斷0
- IT0=1 ;
- //外部中斷0設置為下降沿中斷
- ET0=1 ;
- //定時器0開中斷
- // ET1=1; //定時器1開中斷
- TH0=(65536-630)/256 ;
- TL0=(65536-630)%256 ;
- TR0=1 ;
- EA=1 ;
- //開總中斷
-
- //無限循環
- while(1)
- {
- du1302();
- miaot=miao/16*10+miao%16 ;
- centt=Cent/16*10+Cent%16 ;
- hourt=Hour/16*10+Hour%16 ;
-
- }
- }
- /*****END*****/
復制代碼
0.png (84.46 KB, 下載次數: 176)
下載附件
2016-9-8 01:56 上傳
|
-
-
旋轉LED資料.zip
2016-9-8 01:58 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
4.18 MB, 下載次數: 185, 下載積分: 黑幣 -5
評分
-
查看全部評分
|