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

📄 w_cfx.lst

📁 本程序是基于T6963C的程序 好用 欢迎下载
💻 LST
字号:
C51 COMPILER V8.09   W_CFX                                                                 05/08/2009 22:43:30 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE W_CFX
OBJECT MODULE PLACED IN w_cfx.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE w_cfx.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <absacc.h>
   2          #include <reg51.h>
   3          #include <stdarg.h>
   4          #include <stdio.h>
   5          #include <math.h>
   6          #define ulong unsigned long
   7          #define uint unsigned int
   8          #define uchar unsigned char
   9          extern void w_dot(uchar x,uchar y,bit f);//绘点子程序
  10          
  11          //0<K<1,y大的在终点
  12          void wzx1(uchar xs1,uchar ys1,uchar xe1,uchar ye1,bit f)//
  13                {
  14   1                  uchar xs,ys,xe,ye;
  15   1                      int err=0;
  16   1                  xs=xs1;ys=ys1;xe=xe1;ye=ye1;
  17   1                      w_dot(xs,ys,f);
  18   1                      while(xs<xe)
  19   1                        {
  20   2                          if(err<0)
  21   2                                {
  22   3                                  w_dot(++xs,ys,f);
  23   3                                      err+=ye-ys;
  24   3                                }
  25   2                              else
  26   2                                {
  27   3                                  w_dot(++xs,++ys,f);
  28   3                                      err+=ye-ys-(xe-xs);
  29   3                                }
  30   2                         }
  31   1               }
  32          
  33          //K>1,ye>ys
  34          void wzx2(uchar xs1,uchar ys1,uchar xe1,uchar ye1,bit f)//
  35                {
  36   1                  uchar xs,ys,xe,ye;
  37   1                      int err=0;
  38   1                  xs=xs1;ys=ys1;xe=xe1;ye=ye1;
  39   1                      w_dot(xs,ys,f);
  40   1                      while(ys<ye)
  41   1                        {
  42   2                          if(err<0)
  43   2                                {
  44   3                                  w_dot(++xs,++ys,f);
  45   3                                      err+=ye-ys-(xe-xs);
  46   3                                }
  47   2                              else
  48   2                                {
  49   3                                  w_dot(xs,++ys,f);
  50   3                                      err+=-(xe-xs);
  51   3                                }
  52   2                         }
  53   1               }
  54          
  55          //-1<K<0,ye>ys
C51 COMPILER V8.09   W_CFX                                                                 05/08/2009 22:43:30 PAGE 2   

  56          void wzx3(uchar xs1,uchar ys1,uchar xe1,uchar ye1,bit f)
  57                {
  58   1                  uchar xs,ys,xe,ye;
  59   1                      int err=0;
  60   1                  xs=xs1;ys=ys1;xe=xe1;ye=ye1;
  61   1                      w_dot(xs,ys,f);
  62   1                      while(xs>xe)
  63   1                        {
  64   2                          if(err<0)
  65   2                                {
  66   3                                  w_dot(--xs,ys,f);
  67   3                                      err+=ye-ys;
  68   3                                }
  69   2                              else
  70   2                                {
  71   3                                  w_dot(--xs,++ys,f);
  72   3                                      err+=ye-ys-abs(xe-xs);
  73   3                                }
  74   2                         }
  75   1               }
  76          
  77          //K<-1,ye>ys
  78          void wzx4(uchar xs1,uchar ys1,uchar xe1,uchar ye1,bit f)
  79                {
  80   1                  uchar xs,ys,xe,ye;
  81   1                      int err=0;
  82   1                  xs=xs1;ys=ys1;xe=xe1;ye=ye1;
  83   1                      w_dot(xs,ys,f);
  84   1                      while(ys<ye)
  85   1                        {
  86   2                          if(err<0)
  87   2                                {
  88   3                                  w_dot(--xs,++ys,f);
  89   3                                      err+=ye-ys-abs(xe-xs);
  90   3                                }
  91   2                              else
  92   2                                {
  93   3                                  w_dot(xs,++ys,f);
  94   3                                      err+=-abs(xe-xs);
  95   3                                }
  96   2                         }
  97   1               }
  98          //*************直线***************ye>=ys
  99          void wzx(uchar xs1,uchar ys1,uchar xe1,uchar ye1,bit f)
 100          { 
 101   1        float k=(float)(ye1-ys1)/(float)(xe1-xs1);
 102   1        if(0<=k && k<=1) wzx1(xs1,ys1,xe1,ye1,f);
 103   1        else if(k>1) wzx2(xs1,ys1,xe1,ye1,f);
 104   1        else if(-1<=k && k<0) wzx3(xs1,ys1,xe1,ye1,f);
 105   1        else wzx4(xs1,ys1,xe1,ye1,f);
 106   1      }
 107          //**************长方形********************
 108          void wcfx(uchar x0,uchar y0,uchar l,uchar h,bit f)
 109            {
 110   1         wzx(x0,y0,x0+l,y0,f);//1→
 111   1         wzx(x0+l,y0,x0+l,y0+h,f);//2↓
 112   1         wzx(x0,y0+h,x0+l,y0+h,f);//3→
 113   1         wzx(x0,y0,x0,y0+h,f);//4↓
 114   1        }
 115          
 116          
 117          
C51 COMPILER V8.09   W_CFX                                                                 05/08/2009 22:43:30 PAGE 3   

 118          
 119          
 120          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1080    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      52
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       6
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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