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

📄 main.lst

📁 这是一个产品的开发项目(基本程序)。有按键计算
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   MAIN                                                                  01/03/2009 19:40:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\main.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OB
                    -JECT(main.obj)

line level    source

   1          //***********************************************************
   2          //*标题:自制板实验 - ZZ004_12864LCD(带汉字库)程序优化
   3          //*硬件:自制板
   4          //*文件:ZZ004.c
   5          //*日期:2005-12-29
   6          //*版本:1.0
   7          //*作者:lluct
   8          //*邮箱:lluct@hotmail.com
   9          //*********************************************************
  10          //*描述:
  11          //*             显示画面和汉字
  12          //*        
  13          //*********************************************************
  14          //*【版权】 lluct, GPL
  15          //*【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!
  16          //*********************************************************
  17          #include "p89v51rx2.h"
  18          #include <intrins.h>
  19          
  20          
  21          
  22          
  23          //-----------------------------------------------
  24          sbit    KEYADD   = P1^7;                                                //按键"+"
  25          #define _ADD_    0x0080
  26          sbit    KEYRIGHT = P1^6;                                                //按键"右"
  27          #define _RIGHT_  0x0040
  28          sbit    KEYLEFT  = P1^5;                                                //按键"左"
  29          #define _LEFT_   0x0020
  30          sbit    KEYDOWN  = P1^4;                                                //按键"下"
  31          #define _DOWN_   0x0010
  32          sbit    KEYUP    = P1^3;                                                //按键"上"
  33          #define _UP_     0x0008
  34          sbit    KEYMODE  = P1^2;                                                //按键"MODE"
  35          #define _MODE_   0x0004
  36          sbit    KEYYB    = P1^1;                                                //按键"预备"
  37          #define _YB_     0x0002
  38          sbit    KEYONOFF = P1^0;                                                //按键"开/关"
  39          #define _ONOFF_  0x0001
  40          
  41          
  42          sbit    START  = P2^2;                                  //电机平台"启/停"控制
  43          #define _START_  0x0400
  44          sbit    KEYMINUS = P2^0;                                        //按键"-"
  45          #define _MINUS_  0x0100
  46          
  47          sbit    LS     = P2^1;                                          //限位控制
  48          #define _LS_     0x0200
  49          
  50          sbit    Pluse = P2^4;                                       //电机脉冲
  51          sbit    Direction = P2^5;                                       //电机方向
  52          typedef union tt{
  53            unsigned int  u16;
  54            unsigned char u8[2];//u8[0] is H
C51 COMPILER V7.50   MAIN                                                                  01/03/2009 19:40:11 PAGE 2   

  55          }_KEY;
  56          _KEY key_new, key_old;
  57          
  58          
  59          extern void IIC_RdFromROM(unsigned char ad_main,unsigned char *rddata,unsigned char addh,unsigned char add
             -l,unsigned char num);
  60          extern void IIC_WrToROM(unsigned char ad_main,unsigned char *wrdata,unsigned char addh,unsigned char addl,
             -unsigned char num);
  61          extern void lcdInit (void);//初始化LCD子程序
  62          
  63          extern void lcdClear (void);//清除LCD屏幕子程序
  64          
  65          extern void lcdWriteCommand (unsigned char Command);//写入控制命令到LCD子程序//输入参数:控制命令
  66          
  67          
  68          extern void lcdWriteData (unsigned char Data);//写入显示数据到LCD子程序//输入参数:显示数据
  69          
  70          
  71          extern void checkLcdBusy (void);//检测LCD忙碌子程序
  72          
  73          extern void displayPhoto (unsigned char *bmp);//全屏显示图形子程序//输入参数:图形数据
  74          
  75          
  76          extern void wrPosition (void);//坐标写入子程序
  77          extern void dispString (unsigned char X, Y, speed, unsigned char *msg);//显示字符串子程序//输入参数:X=行(0
             --3), Y=列(0-7), speed=显示速度(毫秒), msg=字符数据
  78          
  79          extern void delaySec (unsigned char sec);//延时(秒)子程序//输入参数:秒数
  80          unsigned int scan_key(void);
  81          extern serial_initial();
  82          extern tim0_initial();
  83          extern F_YB_();
  84          extern void char_in_String_10(unsigned char _data, unsigned char y,signed char *msg,signed char sign);
  85          void F_pag0 (void);
  86          void F_pag1 (void);
  87          void F_pag2 (void);
  88          void F_pag3 (void);
  89          void F_pag4 (void);
  90          void F_pag5 (void);
  91          
  92          //===============================================
  93          unsigned int _key;
  94                                   // "预备距离 49.8mm ";
  95          unsigned char xdata sdyl[17] ="设定压力       N";
  96          unsigned char xdata sdsj[17] ="设定时间       S";
  97          
  98          unsigned char xdata ybsd[17] ="预备速度      mm";
  99          unsigned char xdata sds2[17] ="设定压力    mm/S";
 100          unsigned char xdata jysj[17] ="加压时间       S";
 101          unsigned char xdata gzsj[17] ="工作时间       S";
 102          
 103          unsigned char xdata jmsj[17] ="精磨时间       S";
 104          unsigned char xdata jmyl[17] ="精磨压力       N";
 105          unsigned char xdata sdsd[17] ="手动速度    mm/S";
 106          unsigned char xdata wtsd[17] ="微调速度    mm/S";
 107          
 108          unsigned char xdata wtjl[17] ="微调距离      mm";
 109          unsigned char xdata ybjl[17] ="预备距离      mm";
 110          unsigned char code  kong[17] ="                ";
 111          unsigned char idata v_pag[3] ="  ";
 112          static unsigned char idata S_=0,S;      
 113          unsigned char idata v_pag10_=34; //设定压力
C51 COMPILER V7.50   MAIN                                                                  01/03/2009 19:40:11 PAGE 3   

 114          unsigned char idata v_pag11_=90; //设定压力
 115          
 116          unsigned char idata v_pag20_=49; //预备速度
 117          unsigned char idata v_pag21_=49;
 118          unsigned char idata v_pag22_=30;
 119          unsigned char idata v_pag23_=90;//工作时间
 120          
 121          unsigned char idata v_pag30_=49;//精磨时间
 122          unsigned char idata v_pag31_=49;
 123          unsigned char idata v_pag32_=30;
 124          unsigned char idata v_pag33_=90;//微调速度
 125          
 126          unsigned char idata v_pag40_=90;//微调距离
 127          unsigned char idata v_pag41_=90;//预备距离
 128          unsigned char xdata wtdata[12];
 129          unsigned char xdata rddata[12];
 130          //一圈3mm
 131          //一圈360度
 132                  //16个脉冲0.9度         6400个脉冲360度
 133          
 134          extern void Set__moto( unsigned long Step_,unsigned char Direct);
 135          /*
 136          void F_00to50(void)
 137          {//按键"预备" 按下;
 138          //Set__moto  (0x19,0);//到1*0x1900位置
 139          Set__moto  (10*0x1900,0);
 140          }
 141          void F_50to51(void)
 142          {//按键"预备" 按下后;按键"开/关" 第一次按下;
 143          Set__moto  (21*0x1900,0);//开磨;到10*0x1900位置
 144          
 145          }
 146          void F_51to00(void)
 147          {//按键"预备" 按下后;按键"开/关" 第二次按下;要执行的程序代码
 148          Set__moto  (0,1);//回到0位置
 149          
 150          }*/
 151          extern unsigned long _Step;
 152          extern unsigned long old_Step;
 153          void main (void)
 154          {       
 155   1          lcdInit (); 
 156   1              F_pag0();//lcd显示              
 157   1          tim0_initial();//初始化定时器       
 158   1              Set__moto  (0,1);///void Set__moto( unsigned long Step,unsigned char Direct){ 
 159   1      
 160   1              IIC_RdFromROM(0xa0,rddata,0x00,0x00,12);        //读取24Cxxx内容,
 161   1      
 162   1              F_YB_();
 163   1              if((rddata[0]!=0)&&(rddata[0]!=255))v_pag10_=rddata[0];
 164   1              if((rddata[1]!=0)&&(rddata[1]!=255))v_pag11_=rddata[1];
 165   1      
 166   1              if((rddata[2]!=0)&&(rddata[2]!=255))v_pag20_=rddata[2];
 167   1              if((rddata[3]!=0)&&(rddata[3]!=255))v_pag21_=rddata[3];
 168   1              if((rddata[4]!=0)&&(rddata[4]!=255))v_pag22_=rddata[4];
 169   1              if((rddata[5]!=0)&&(rddata[5]!=255))v_pag23_=rddata[5];
 170   1      
 171   1              if((rddata[6]!=0)&&(rddata[6]!=255))v_pag30_=rddata[6];
 172   1              if((rddata[7]!=0)&&(rddata[7]!=255))v_pag31_=rddata[7];
 173   1              if((rddata[8]!=0)&&(rddata[8]!=255))v_pag32_=rddata[8];
 174   1              if((rddata[9]!=0)&&(rddata[9]!=255))v_pag33_=rddata[9];
 175   1      
C51 COMPILER V7.50   MAIN                                                                  01/03/2009 19:40:11 PAGE 4   

 176   1              if((rddata[10]!=0)&&(rddata[10]!=255))v_pag40_=rddata[10];
 177   1              if((rddata[11]!=0)&&(rddata[11]!=255))v_pag41_=rddata[11];
 178   1      
 179   1              while(1)//循环
 180   1          {
 181   2                          _key = scan_key(); 
 182   2      
 183   2                              switch(_key)
 184   2                              {
 185   3                              case _MODE_ :  //按键"MODE"     
 186   3                                                              if(S_==0x00){S_=0x10;}//Enter
 187   3                                              else {
 188   4                                                                      wtdata[0]=v_pag10_;
 189   4                                                                      wtdata[1]=v_pag11_;
 190   4      
 191   4                                                                      wtdata[2]=v_pag20_;
 192   4                                                                      wtdata[3]=v_pag21_;
 193   4                                                                      wtdata[4]=v_pag22_;
 194   4                                                                      wtdata[5]=v_pag23_;
 195   4      
 196   4                                                                      wtdata[6]=v_pag30_;
 197   4                                                                      wtdata[7]=v_pag31_;
 198   4                                                                      wtdata[8]=v_pag32_;
 199   4                                                                      wtdata[9]=v_pag33_;
 200   4      

⌨️ 快捷键说明

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