|
12864的時鐘,采用stc15w4k58s4芯片
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (16.45 KB, 下載次數(shù): 77)
下載附件
2017-7-13 16:31 上傳
0.png (57.35 KB, 下載次數(shù): 88)
下載附件
2017-7-13 16:31 上傳
單片機(jī)代碼:
- #include<stc15.h>
- #include<intrins.h>
- #include<gpio.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar numbuf;
- uchar con1s;
- //uchar flash;
- uchar clkey;
- uchar secp,secd,minp,mind,hou,houp,houd;
- #include<LCD12864.h>
- uchar mip,mid,hop,hod;
- uchar dis[]={0x02,0x03,0x05,0x06,0x02,0x06};
- uchar alarm1[]={0x02,0x03,0x05,0x08};
- uchar temp_num[]={0x00,0x00,0x00,0x00};
- #include<scan_1286.h>
- #include<alarm_scan.h>
- #include<flag.h>
- #include<keyscan.h>
- #include<alarm.h>
- void Timer0Init(void) //50毫秒@11.0592MHz
- {
- AUXR &= 0x7F; //定時器時鐘12T模式
- TMOD &= 0xF0; //設(shè)置定時器模式
- TL0 = 0x00; //設(shè)置定時初值
- TH0 = 0x4C; //設(shè)置定時初值
- TF0 = 0; //清除TF0標(biāo)志
- TR0 = 1; //定時器0開始計時
- ET0=1;
- }
- void fuzhi()
- {
- secp=(dis[5]);
- secd=(dis[4]);
- minp=(dis[3]);
- mind=(dis[2]);
- houp=(dis[1]);
- houd=(dis[0]);
- mip=(alarm1[3]);
- mid=(alarm1[2]);
- hop=(alarm1[1]);
- hod=(alarm1[0]);
-
-
- }
- void main()
- {
- gpio();
- Timer0Init();
- fuzhi();
- Init_lcd();
- Clr_Scr();
- EA=1;
- while(1)
- { keyscan();
- alarm();
- scan_1286(2);
- fla();
- }
- }
- void time0(void) interrupt 1
- {
- con1s++;
- if(con1s==20)
- {
- con1s=0;
- secp++;//秒計時計數(shù)-個位
- if(secp>=10)
- {
- secp=0;
- secd++; //秒計時-十位
- if(secd>=6)
- {
- secd=0;
- minp++;//分計時-個位
- if(minp>=10)
- {
- minp=0;
- mind++; //分計時十位
- if(mind>=6)
- {
- mind=0;
- houp++;
- if(houd<2)
- {
- if(houp>=10)
- houp=0;
- houd++;
- if(houd>=3)
- houd=0;
- }
- else if(houd>=2)
- {if(houp>=4)
- {houp=0;houd=0;}}
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
12864.zip
(74.7 KB, 下載次數(shù): 47)
2017-7-13 09:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|