?? 帶農歷帶生肖.lst
字號:
C51 COMPILER V8.17 確農繽確蒧肖 03/12/2009 15:33:20 PAGE 1
C51 COMPILER V8.17, COMPILATION OF MODULE 確農繽確蒧肖
OBJECT MODULE PLACED IN 帶農歷帶生肖.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 帶農歷帶生肖.c OPTIMIZE(9,SIZE) BROWSE DEBUG OBJECTEXTEND
line level source
1 /*-----------------------------------------------------------------------------
2 單片機萬年程序
3 單片機:89C52RC
4 晶振:12MHz
5 時鐘芯片:DS12c887
6 液晶屏:LCM-12864-ST7920
7 時間:2009年01月22日夜
8 LCM12864使用并口連接方式
9 /-----------------------------------------------------------------------------*/
10 //頭文件
11 #include <REG52.h>
12 #include <string.h>
13 #include <intrins.h>
14 #define uint unsigned int
15 #define uchar unsigned char
16 /*****************************************************************************/
17 sbit LCM_cs = P1^0;
18 sbit LCM_std = P1^1;
19 sbit LCM_sclk = P1^2;
20 sbit LCM_psb = P1^5; //H=并口; L=串口;
21 sbit LCM_rst = P1^6; //Reset Signal 低電平有效
22 sbit beep = P1^7;
23 /*****************************************************************************/
24 //溫度傳感器定義
25 sbit DQ = P1^ 3;//ds18B20
26 /*****************************************************************************/
27 //鍵盤引腳定義
28 sbit KEY_1 = P3^0; //左上
29 sbit KEY_2 = P3^1; //左下
30 sbit KEY_3 = P3^2; //右上
31 sbit KEY_4 = P3^3; //右下
32 /*定義DS12CR887數據線--------------------------------------------------------*/
33 sbit DS_CS = P3^4;
34 sbit DS_AS = P3^5;
35 sbit DS_RW = P3^6;
36 sbit DS_DS = P3^7;
37 #define Ds_Bus P2 //DS12CR887數據總線
38 //定義累加器A中的各位
39 sbit ACC0 = ACC^0;
40 sbit ACC7 = ACC^7;
41 /*****************************************************************************/
42 //定義全局變量
43 unsigned char yy,mo,dd,xq,hh,mm,ss,e;//定義時間映射全局變量(專用寄存器)
44 bit c_moon;
45 data uchar year_moon,month_moon,day_moon,week;
46 bit w = 0; //調時標志位
47 static unsigned char menu = 0;//定義靜態小時更新用數據變量
48 static unsigned char keys = 0;//定義靜態小時更新用數據變量
49 static unsigned char timecount = 0;//定義靜態軟件計數器變量
50 uchar code tab1[]={
51 " 單片機萬年歷 "
52 " 版本 AT89C52 "
53 "2009年01月22日夜"
54 " 錢力軍制作 "
55 };
C51 COMPILER V8.17 確農繽確蒧肖 03/12/2009 15:33:20 PAGE 2
56 /****************************************************************************/
57 void DelayM(unsigned int a) //延時函數 1MS/次
58 {
59 1 unsigned char i;
60 1 while( --a != 0)
61 1 {
62 2 for(i = 0; i < 125; i++); //一個 ; 表示空語句,CPU空轉。
63 2 } //i 從0加到125,CPU大概就耗時1毫秒
64 1 }
65 /****************************************************************************/
66 //函數聲明
67 void LCM_WriteString(unsigned char *str) ; //寫字符 例:LCM_WriteString("您好!");
68 void LCM_WriteDatOrCom(bit ,unsigned char ); //(0,指令) (1,數據)
69 void LCM_w_byte(unsigned char bbyte); //寫一個字節給LCM
70 void delaynms(unsigned int di); //延時
71 void LCM_init(void); //LCM初始化
72 void LCM_clr(void); //清屏
73 void Delay(int num);
74 bit get_moon_day(uchar month_p,uint table_addr);
75 void Conversion(bit c,uchar year,uchar month,uchar day);
76 void nl();
77
78 //void ds_int(address);
79
80 void days (viod) //公歷節日數據庫
81 {
82 1 LCM_WriteDatOrCom(0,0x80);
83 1 LCM_WriteDatOrCom(0,0x98);
84 1 // ----|----------------|
85 1 if ( mo == 0x01 && dd == 0x01 ){ LCM_WriteString("Happy New Year!!"); }//1月
86 1 if ( mo == 0x01 && dd == 0x28 ){ LCM_WriteString(" 世界麻風日 "); }
87 1 if (month_moon== 0x01 && day_moon == 0x01 ){ LCM_WriteString(" 春節快樂 "); }//陰歷日期填陰歷月
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -