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

📄 hjmcu.lst

📁 很实用的单片机例程
💻 LST
字号:
C51 COMPILER V7.00  HJMCU                                                                  08/29/2009 23:21:22 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE HJMCU
OBJECT MODULE PLACED IN HJMCU.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE HJMCU.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /**************************************************************************************************
   2          *** 慧净电子1天入门、10天学会、1年精通单片机与C语言视频教程配套程序源码                         ***
   3          *** 实验板:HJ-1G HJ-3G 开发板                                                                      ***
   4          *** MCU: STC89C52/AT89C52  部分C源码可以直接用于项目开发、欢迎复制共享、功德无量、没有版权      ***
   5          *** 收集整理:慧净助学会员  部分原源来源网络,如有伤害到你的利润请来信,我们的免费助学会员会定期给你删除**
             -*
   6          *** 编译器:KEIL                                                                                ***
   7          *** 百度交流空间:http://hi.baidu.com/HJMCU      WWW.HJMCU.COM                                  ***
   8          *** 论坛交流:http://bbs.hjmcu.com   欢迎来论坛一分钱不要下载配套的仿真电路                     ***
   9          *** 配套的硬件学习板网址:http://shop37031453.taobao.com/                                       ***
  10          *** 日期:2008.8.8                                                                              ***
  11          *** 目标:用C语言写程序就这么简单、慧争祝你1天入门、10天学会、1年精通单片机与C语言、找个好工作  ***
  12          ***************************************************************************************************/
  13          //最好配合视频教程中讲解1602液晶实现时钟来看。
  14          //操作方法如下:
  15          //1.正确安装液晶1602,请查看使用手册目录下的液晶安装方法。
  16          //2.下载本程序
  17          //3.调节液晶对比度致液晶清晰显示字符,若已调节好可跳过此步。
  18          //4.实验板上S3键为功能键,按下后可选择调节哪个部分。
  19          //5.S13为数字增大键。
  20          //6.S17为数字减小键。
  21          #include<reg52.h>
  22          #define uchar unsigned char 
  23          #define uint unsigned int
  24          sbit dula=P2^6;
  25          sbit wela=P2^7;
  26          sbit rs=P3^5;
  27          sbit lcden=P3^4;
  28          sbit s1=P3^0;
  29          sbit s2=P3^1;
  30          sbit s3=P3^2;
  31          sbit rd=P3^7;
  32          sbit wr=P3^6;
  33          uchar count,s1num;
  34          char miao,shi,fen;
  35          uchar code table[]="  2008-8-08 MON";
  36          uchar code table1[]="    08:08:08";
  37          void delay(uint z)
  38          {
  39   1              uint x,y;
  40   1              for(x=z;x>0;x--)
  41   1                      for(y=110;y>0;y--);
  42   1      }
  43          
  44          void write_com(uchar com)
  45          {
  46   1              rs=0;
  47   1              lcden=0;
  48   1              P0=com;
  49   1              delay(5);
  50   1              lcden=1;
  51   1              delay(5);
  52   1              lcden=0;        
  53   1      }
  54          
C51 COMPILER V7.00  HJMCU                                                                  08/29/2009 23:21:22 PAGE 2   

  55          void write_date(uchar date)
  56          {
  57   1              rs=1;
  58   1              lcden=0;
  59   1              P0=date;
  60   1              delay(5);
  61   1              lcden=1;
  62   1              delay(5);
  63   1              lcden=0;        
  64   1      }
  65          
  66          void init()
  67          {
  68   1              //wr=0;
  69   1         uchar num;
  70   1              dula=0;
  71   1              wela=0;
  72   1              lcden=0;
  73   1      //      fen=59;
  74   1      //      miao=53;
  75   1      //      shi=23;
  76   1              write_com(0x38);
  77   1              write_com(0x0c);
  78   1              write_com(0x06);
  79   1              write_com(0x01);
  80   1              write_com(0x80);
  81   1              for(num=0;num<15;num++)
  82   1                      {
  83   2                              write_date(table[num]);
  84   2                              delay(5);
  85   2                      }
  86   1              write_com(0x80+0x40);
  87   1              for(num=0;num<12;num++)
  88   1                      {
  89   2                              write_date(table1[num]);
  90   2                              delay(5);
  91   2                      }
  92   1              TMOD=0x01;
  93   1              TH0=(65536-50000)/256;
  94   1              TL0=(65536-50000)%256;
  95   1              EA=1;
  96   1              ET0=1;
  97   1              TR0=1;
  98   1      }
  99          
 100          void write_sfm(uchar add,uchar date)
 101          {
 102   1              uchar shi,ge;
 103   1              shi=date/10;
 104   1              ge=date%10;
 105   1              write_com(0x80+0x40+add);
 106   1              write_date(0x30+shi);
 107   1              write_date(0x30+ge);
 108   1      }
 109          
 110          void keyscan()
 111          {
 112   1              rd=0;
 113   1              if(s1==0)       
 114   1              {
 115   2                      delay(5);
 116   2                      if(s1==0)
C51 COMPILER V7.00  HJMCU                                                                  08/29/2009 23:21:22 PAGE 3   

 117   2                      {       s1num++;
 118   3                              while(!s1);
 119   3                              if(s1num==1)
 120   3                              {
 121   4                                      TR0=0;
 122   4                                      write_com(0x80+0x40+10);
 123   4                                      write_com(0x0f);
 124   4                              }
 125   3              }
 126   2                              if(s1num==2)
 127   2                              {
 128   3                                      write_com(0x80+0x40+7);
 129   3                              }
 130   2                              if(s1num==3)
 131   2                              {
 132   3                                      write_com(0x80+0x40+4);
 133   3                              }
 134   2                              if(s1num==4)
 135   2                              {
 136   3                                      s1num=0;
 137   3                                      write_com(0x0c);
 138   3                                      TR0=1;
 139   3                              }
 140   2      
 141   2                                      
 142   2                      }
 143   1                      if(s1num!=0)
 144   1                      {
 145   2                              if(s2==0)
 146   2                              {
 147   3                                      delay(5);
 148   3                                      if(s2==0)
 149   3                                      {
 150   4                                              while(!s2);
 151   4                                              if(s1num==1)
 152   4                                              {
 153   5                                                      miao++;
 154   5                                                      if(miao==60)
 155   5                                                              miao=0;
 156   5                                                      write_sfm(10,miao);
 157   5                                                      write_com(0x80+0x40+10);
 158   5                                                      
 159   5                                                      
 160   5                                              }
 161   4                                              if(s1num==2)
 162   4                                              {
 163   5                                                      fen++;
 164   5                                                      if(fen==60)
 165   5                                                              fen=0;
 166   5                                                      write_sfm(7,fen);
 167   5                                                      write_com(0x80+0x40+7);
 168   5                                              }
 169   4                                              if(s1num==3)
 170   4                                              {
 171   5                                                      shi++;
 172   5                                                      if(shi==24)
 173   5                                                              shi=0;
 174   5                                                      write_sfm(4,shi);
 175   5                                                      write_com(0x80+0x40+4);
 176   5                                              }
 177   4                                      }
 178   3                              }
C51 COMPILER V7.00  HJMCU                                                                  08/29/2009 23:21:22 PAGE 4   

 179   2                              if(s3==0)
 180   2                              {
 181   3                                      delay(5);
 182   3                                      if(s3==0)
 183   3                                      {
 184   4                                              while(!s3);
 185   4                                              if(s1num==1)
 186   4                                              {
 187   5                                              /*      if(miao==0)
 188   5                                                      {
 189   5                                                              miao=59;
 190   5                                                              write_sfm(10,miao);
 191   5                                                              write_com(0x80+0x40+10);
 192   5                                                      }*/
 193   5                                                      miao--;
 194   5                                                      if(miao==-1)
 195   5                                                              miao=59;
 196   5                                                      write_sfm(10,miao);
 197   5                                                      write_com(0x80+0x40+10);
 198   5                                              }
 199   4                                              if(s1num==2)
 200   4                                              {
 201   5                                                      fen--;
 202   5                                                      if(fen==-1)
 203   5                                                              fen=59;
 204   5                                                      write_sfm(7,fen);
 205   5                                                      write_com(0x80+0x40+7);
 206   5                                              }
 207   4                                              if(s1num==3)
 208   4                                              {
 209   5                                                      shi--;
 210   5                                                      if(shi==-1)
 211   5                                                              shi=23;
 212   5                                                      write_sfm(4,shi);
 213   5                                                      write_com(0x80+0x40+4);
 214   5                                              }
 215   4                                      }
 216   3                              }
 217   2                      }
 218   1      }
 219          void main()
 220          {  
 221   1         wr=0;
 222   1              init();
 223   1              while(1)
 224   1              {
 225   2                      keyscan();
 226   2                      
 227   2              }
 228   1      //      while(1);
 229   1      }
 230          
 231          void timer0() interrupt 1
 232          {
 233   1              TH0=(65536-50000)/256;
 234   1              TL0=(65536-50000)%256;
 235   1              count++;
 236   1      if(count==18)
 237   1                      {
 238   2                              count=0;
 239   2                              miao++;
 240   2                              if(miao==60)
C51 COMPILER V7.00  HJMCU                                                                  08/29/2009 23:21:22 PAGE 5   

 241   2                              {
 242   3                                      miao=0;
 243   3                                      fen++;
 244   3                                      if(fen==60)
 245   3                                      {
 246   4                                              fen=0;
 247   4                                              shi++;
 248   4                                              if(shi==24)
 249   4                                              {
 250   5                                                      shi=0;
 251   5                                              }
 252   4                                              write_sfm(4,shi);
 253   4                                      }
 254   3                                      write_sfm(7,fen);
 255   3                              }
 256   2                              write_sfm(10,miao);
 257   2                              
 258   2                      }       
 259   1      }
 260          
 261          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    547    ----
   CONSTANT SIZE    =     29    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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