⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new.lst

📁 这是我自己写的一段程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V8.05a   NEW                                                                  11/16/2007 20:45:07 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE NEW
OBJECT MODULE PLACED IN new.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE new.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************************************************/
   2          /*  Name:  LCD12864+DS1302+DS18B20+S52                                        */
   3          /*                                                                            */
   4          /*  Designed by :whoami                         Date:2005/11/13               */
   5          /*                                                                            */
   6          /*  http://www.mculover.net                                                   */
   7          /******************************************************************************/
   8          
   9          #include <reg51.h>
  10          
  11          sbit Bell_Out  = P1 ^ 7;//闹钟管脚输出
  12          
  13          sbit DQ        = P2 ^ 1;//ds1820data
  14          sbit clock_clk = P2 ^ 2;//ds1302_clk
  15          sbit clock_dat = P2 ^ 3;//ds1302_dat
  16          sbit clock_Rst = P2 ^ 4;//ds1302_Rst
  17          
  18          #define Disp_On  0x3f //定义管脚的指令值
  19          #define Disp_Off 0x3e
  20          #define Col_Add  0x40
  21          #define Page_Add 0xb8
  22          #define Start_Line 0xc0
  23          #define Lcd_Bus P0  //定义数据口
  24          
  25          sbit Mcs    = P3 ^ 5;  //
  26          sbit Scs    = P3 ^ 6;  //
  27          sbit Enable = P1 ^ 5; //
  28          sbit Di     = P1 ^ 4;  //
  29          sbit RW     = P1 ^ 3;  //
  30          sbit Lcd_Rst= P3 ^ 7; //
  31          
  32          //键盘扫描
  33          sbit Add_Key   = P1 ^ 0;//加1键
  34          sbit Dec_Key   = P1 ^ 1;//减1键
  35          sbit OK_Key    = P1 ^ 2;//确定键
  36          
  37          //24存储器
  38          sbit SCL       = P3 ^ 3;            
  39          sbit SDA       = P3 ^ 4;
  40          sbit WP        = P3 ^ 2;
  41          
  42          #define TRUE            1
  43          #define FALSE           0
  44          #define Delay2408_TIME  60 //经实验,不要小于50!否则可能造成时序混乱 
  45          
  46          //为了编程方便定义的位变量
  47          sbit a0   = ACC ^ 0;
  48          sbit a1   = ACC ^ 1;
  49          sbit a2   = ACC ^ 2;
  50          sbit a3   = ACC ^ 3;
  51          sbit a4   = ACC ^ 4;
  52          sbit a5   = ACC ^ 5;
  53          sbit a6   = ACC ^ 6;
  54          sbit a7   = ACC ^ 7;
  55          
C51 COMPILER V8.05a   NEW                                                                  11/16/2007 20:45:07 PAGE 2   

  56          bit flag, Bell_Swh,Hourb,Minb,Secb,Kgb;//闪烁标志位
  57          bit sec=0,min=0,hour=0,year=0,mon=0,day=0,weekk=0; //闪烁标志位
  58          unsigned char id,id2,d,e,S_1302,H_1302,H_2402,S_2402; //
  59          
  60          //Function Definition 函数声明 
  61          void Delay(int num);
  62          void Init_DS18B20(void);
  63          unsigned char ReadOneChar(void);
  64          void WriteOneChar(unsigned char dat);
  65          unsigned int ReadTemperature(void);
  66          void clock_out(unsigned char dd);
  67          unsigned char clock_in(void);
  68          unsigned char read_clock(unsigned char ord);
  69          void write_clock(unsigned char ord, unsigned char dd);
  70          void Disp(void);
  71          void id_case1_key(void);
  72          void id_case2_key(void);
  73          void Set_time(unsigned char sel,bit sel_1);
  74          void Timer0_Init(void);
  75          void Init_1302(void);
  76          void Set_Bell(unsigned char sel, bit sel_1);
  77          
  78          //24系列
  79          void Delay2408(unsigned int t);
  80          void I2C_Start(void);
  81          void I2C_Stop(void);
  82          void SEND_0(void); 
  83          void SEND_1(void);
  84          bit Check_Acknowledge(void);
  85          void WriteI2CByte(unsigned char b)reentrant;
  86          unsigned char ReadI2CByte(void)reentrant;
  87          void Write_One_Byte(unsigned char addr,unsigned char thedata);
  88          char Read_One_Byte(unsigned char addr);
  89          
  90          //12864
  91          void Delay12864(unsigned int t);
  92          void write_com(unsigned char cmdcode);
  93          void write_data(unsigned char Dispdata);
  94          void frame(void);
  95          void Clr_Scr(void);
  96          void Disp_Img(unsigned char code *img);
  97          void Disp_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk);
  98          void Disp_Chinese(unsigned char pag,unsigned char col, unsigned char code *hzk);
  99          void Init_lcd(void);
 100          
 101          
 102          //汉字库及数字符号库
 103          unsigned char code nao[32]={0x00,0x00,0xF9,0x12,0x90,0x92,0x96,0xFA,0x92,0x92,0x92,0x12,0x02,0xFE,0x00,0x0
             -0,
 104          0x00,0x00,0xFF,0x00,0x1F,0x00,0x00,0x7F,0x00,0x08,0x1F,0x40,0x80,0x7F,0x00,0x00};/*--  文字:  闹  --*/
 105          
 106          unsigned char code zhong[32]={0x40,0x30,0x2C,0xEB,0x28,0x28,0x00,0xF8,0x08,0x08,0xFF,0x08,0x08,0xF8,0x00,0
             -x00,
 107          0x01,0x01,0x01,0xFF,0x41,0x21,0x00,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x00,0x00};/*--  文字:  钟  --*/
 108          
 109          unsigned char code she[32]={0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x0
             -0,
 110          0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00};/*--  文字:  设  --*/
 111          
 112          unsigned char code ding[32]={0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x14,0x0C,0x04,0x
             -00,
 113          0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x00};/*--  文字:  定  --*/
C51 COMPILER V8.05a   NEW                                                                  11/16/2007 20:45:07 PAGE 3   

 114          
 115          unsigned char code kai[32]={0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x0
             -0,
 116          0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00};/*--  文字:  开  --*/
 117          
 118          unsigned char code guan[32]={0x00,0x10,0x10,0x10,0x11,0x1E,0x14,0xF0,0x10,0x18,0x17,0x12,0x18,0x10,0x00,0x
             -00,
 119          0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x31,0x61,0xC1,0x41,0x01,0x00};/*--  文字:  关  --*/
 120          
 121          unsigned char code shit[32]={0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x
             -00,
 122          0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00};/*--  文字:  时  --*/
 123          unsigned char code jian[32]={0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x
             -00,
 124          0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00};/*--  文字:  间  --*/
 125          unsigned char code dao[32]={0x00,0x22,0x72,0x2A,0x26,0xE2,0x2A,0x72,0x22,0x00,0xF8,0x00,0x00,0xFF,0x00,0x0
             -0,
 126          0x00,0x42,0xC2,0x42,0x22,0x3F,0x22,0x12,0x12,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00};/*--  文字:  到  --*/
 127          
 128          unsigned char code shi[32]={0x00,0x10,0x2C,0x24,0xA4,0x64,0x25,0x26,0x24,0x24,0xA4,0x24,0x34,0x2C,0x04,0x0
             -0,
 129          0x40,0x40,0x48,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x4B,0x48,0x40,0x40,0x00};//室
 130          unsigned char code wen[32]={0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x0
             -0,
 131          0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00};//温
 132          unsigned char code zero[16]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x
             -00};//0
 133          unsigned char code one[16]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x0
             -0};//1
 134          unsigned char code two[16]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x0
             -0};//2
 135          unsigned char code three[16]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0
             -x00};//3
 136          unsigned char code four[16]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x
             -00};//4
 137          unsigned char code five[16]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x
             -00};//5
 138          unsigned char code six[16]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x0
             -0};//6
 139          unsigned char code seven[16]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0
             -x00};//7
 140          unsigned char code eight[16]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0
             -x00};//8
 141          unsigned char code nine[16]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x
             -00};//9
 142          unsigned char code point[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0
             -x00};//小数点
 143          unsigned char code maohao[16]={0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
             -0x00};//冒号
 144          unsigned char code space[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
             -x00};//空白
 145          unsigned char code fh[16]={0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x6F,0x00,0x00,0x00
             -};//!感叹号
 146          
 147          unsigned char code nian[32]={0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x
             -00,
 148          0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00};//年
 149          unsigned char code yue[32]={0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x0
             -0,
 150          0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00};//月
 151          unsigned char code xing[32]={0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x
             -00,
C51 COMPILER V8.05a   NEW                                                                  11/16/2007 20:45:07 PAGE 4   

 152          0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00};//星
 153          unsigned char code qi[32]={0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00
             -,
 154          0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00};//期
 155          unsigned char code cone[32]={0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x
             -00,
 156          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//一
 157          unsigned char code ctwo[32]={0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x
             -00,
 158          0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00};//二
 159          unsigned char code cthree[32]={0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,
             -0x00,
 160          0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00};//三
 161          unsigned char code cfour[32]={0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0
             -x00,
 162          0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00};//四
 163          unsigned char code cfive[32]={0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0
             -x00,
 164          0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00};//五
 165          unsigned char code csix[32]={0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x
             -00,
 166          0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00};//六
 167          unsigned char code ri[32]={0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00
             -,
 168          0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00};//日
 169          unsigned char code sheshidu[32]={0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x0
             -0,0x00,
 170          0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x18,0x00,0x00};//摄氏度的符号
 171          unsigned char code spaces[32]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
             -0x00,
 172          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//汉字空格
 173          unsigned char code biaozhi[32]={0x00,0x00,0x00,0x00,0xE0,0xF8,0xFC,0xFC,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0x00
             -,0x00,
 174          0x00,0x10,0x18,0x3E,0x3F,0x7F,0x5F,0x9F,0x9F,0x5F,0x7F,0x3F,0x3E,0x18,0x10,0x00};//闹钟的图标
 175          
 176          /******************************************************************************/
 177          /* 24C08.c*/
 178          //调用方式如下:        
 179          //Write_One_Byte(0x10,0x04);
 180          //k=Read_One_Byte(0x10);
 181          /********** 函数定义 ************/
 182          void Delay2408(unsigned int t) /*延时函数*/
 183          {
 184   1              while(t!=0)
 185   1              t--;
 186   1      }
 187          
 188          void I2C_Start(void)
 189          {
 190   1              /*启动I2C总线的函数,当SCL为高电平时使SDA产生一个负跳变*/
 191   1          SDA=1;
 192   1          SCL=1;
 193   1          Delay2408(Delay2408_TIME);
 194   1          SDA=0;
 195   1          Delay2408(Delay2408_TIME);
 196   1          SCL=0;
 197   1          Delay2408(Delay2408_TIME);
 198   1      }
 199          
 200          void I2C_Stop(void)
 201          {
 202   1              /*终止I2C总线,当SCL为高电平时使SDA产生一个正跳变*/
C51 COMPILER V8.05a   NEW                                                                  11/16/2007 20:45:07 PAGE 5   

 203   1              SDA=0;
 204   1              SCL=1;
 205   1          Delay2408(Delay2408_TIME);
 206   1          SDA=1;
 207   1          Delay2408(Delay2408_TIME);
 208   1          SCL=0;
 209   1          Delay2408(Delay2408_TIME);
 210   1      }
 211          
 212          void SEND_0(void)   /* SEND ACK */
 213          {
 214   1              /*发送0,在SCL为高电平时使SDA信号为低*/
 215   1          SDA=0;
 216   1          SCL=1;
 217   1          Delay2408(Delay2408_TIME);
 218   1          SCL=0;
 219   1          Delay2408(Delay2408_TIME);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -