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

📄 lcddrive12864.lst

📁 Keil单片机软件开发平台下的一个51系列单片机工程
💻 LST
📖 第 1 页 / 共 4 页
字号:
 795          ** 日 期:
 796          **-------------------------------------------------------------------------------------------------------
 797          *********************************************************************************************************/
 798          void Display5X8ItemData(uint8 lcdrow,uint8 lcdline,uint16 temp16,uint8 DotNot,uint8 style)
 799          {
 800   1          uint8 number;
 801   1          number = style &0x0F;                           //取出显示数据的个数
 802   1          lcdinit();                                      //left and right show open
 803   1          Display5X8(lcdrow,lcdline,temp16%10+0x30,(bit)(DotNot&1));
 804   1          lcdline-=6;
 805   1          DotNot = DotNot>>1;
 806   1          if(number>1)
 807   1          {
 808   2              Display5X8(lcdrow, lcdline,(temp16/10)%10+0x30,(bit)(DotNot&1));
 809   2              DotNot = DotNot>>1;
 810   2              lcdline-=6;
 811   2              if(number>2)
 812   2              {
 813   3                  Display5X8(lcdrow, lcdline,(temp16/100)%10+0x30,(bit)(DotNot&1));
 814   3                  DotNot = DotNot>>1;
 815   3                  lcdline-=6;
 816   3                  if(number>3)
 817   3                  {
 818   4                      Display5X8(lcdrow, lcdline,(temp16/1000)%10+0x30,(bit)(DotNot&1));
 819   4                      DotNot = DotNot>>1;
 820   4                      lcdline-=6;
 821   4                      if(number>4)
 822   4                      {
 823   5                          Display5X8(lcdrow, lcdline,(temp16/10000)%10+0x30,(bit)(DotNot&1));
 824   5                      }
 825   4                  }
 826   3              }
 827   2          }        
 828   1      }
 829          /*********************************************************************************************************
 830          ** 函数名称: Display16X16Item
 831          ** 功能描述: 在指定的行列绘一16X16点阵数组
 832          ** 输 入:   
 833          ** 输 出:   
 834          ** 全局变量:
 835          ** 调用模块:
 836          **
 837          ** 作 者: 刘宝贵
 838          ** 日 期: 2005年1月26日
 839          **-------------------------------------------------------------------------------------------------------
 840          ** 修改人:
 841          ** 日 期:
 842          **-------------------------------------------------------------------------------------------------------
 843          *********************************************************************************************************/
 844          /*void Display16X16Item(uint8 dlcdrow,uint8 dlcdline,uint8 item)
 845          {
 846          
 847              uint8 i;
 848              for(i=0;i<7;i++)
 849              {
 850                  if(mb[item][i]==0xFF)
C51 COMPILER V7.06   LCDDRIVE12864                                                         01/22/2007 09:50:02 PAGE 15  

 851                  {
 852                      break;
 853                  }
 854                  Display16X16(dlcdrow,(dlcdline+i*16), mb[item][i]);
 855              }
 856          }
 857          /*********************************************************************************************************
 858          ** 函数名称: Display16X8WithDot3
 859          ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
 860          ** 输 入:   
 861          ** 输 出:   
 862          ** 全局变量:
 863          ** 调用模块:
 864          **
 865          ** 作 者: 刘宝贵
 866          ** 日 期: 2005年1月26日
 867          **-------------------------------------------------------------------------------------------------------
 868          ** 修改人:
 869          ** 日 期:
 870          **-------------------------------------------------------------------------------------------------------
 871          *********************************************************************************************************/
 872          /*void DisplayInt16X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
 873          {
 874              Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
 875              Display16X8(lcdrow, lcdline+8*1,(temp16/1000)%10 );
 876              Display16X8(lcdrow, lcdline+8*2,10 );
 877              Display16X8(lcdrow, lcdline+8*3,(temp16/100)%10 );
 878              Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
 879              Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
 880          }
 881          /*********************************************************************************************************
 882          ** 函数名称: Display16X8WithDot2
 883          ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后二位数字
 884          ** 输 入:   
 885          ** 输 出:   
 886          ** 全局变量:
 887          ** 调用模块:
 888          **
 889          ** 作 者: 刘宝贵
 890          ** 日 期: 2005年1月26日
 891          **-------------------------------------------------------------------------------------------------------
 892          ** 修改人:
 893          ** 日 期:
 894          **-------------------------------------------------------------------------------------------------------
 895          *********************************************************************************************************/
 896          /*void DisplayInt16X8WithDot2(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
 897          {
 898              Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
 899              Display16X8(lcdrow, lcdline+8*1,(temp16>=1000) ? (temp16/1000)%10 : 17 );
 900              Display16X8(lcdrow, lcdline+8*2,(temp16/100)%10 );
 901              Display16X8(lcdrow, lcdline+8*3,10 );
 902              Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
 903              Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
 904          }
 905          /*********************************************************************************************************
 906          ** 函数名称: DisplayInt16X8WithoutDot
 907          ** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,不显示前导0
 908          ** 输 入:   number为显示字符的个数
 909          ** 输 出:   
 910          ** 全局变量:
 911          ** 调用模块:
 912          **
C51 COMPILER V7.06   LCDDRIVE12864                                                         01/22/2007 09:50:02 PAGE 16  

 913          ** 作 者: 刘宝贵
 914          ** 日 期: 2005年1月26日
 915          **-------------------------------------------------------------------------------------------------------
 916          ** 修改人:
 917          ** 日 期:
 918          **-------------------------------------------------------------------------------------------------------
 919          *********************************************************************************************************/
 920          /*void DisplayInt16X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
 921          {
 922              Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
 923              if(number>1)
 924              {
 925                  Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16>=10) ? (temp16/10)%10 : 17 );
 926                  if(number>2)
 927                  {
 928                      Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16>=100) ? (temp16/100)%10 : 17 );
 929                      if(number>3)
 930                      {
 931                          Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16>=1000) ? (temp16/1000)%10 : 17 );
 932                          if(number>4)
 933                          {
 934                              Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16>=10000) ? (temp16/10000)%10 : 17 
             -);
 935                          }
 936                      }
 937                  }
 938              }
 939          }
 940          /*********************************************************************************************************
 941          ** 函数名称: DisplayInt16X8WithoutDotWithZero
 942          ** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,显示前导0
 943          ** 输 入:   number为显示字符的个数
 944          ** 输 出:   
 945          ** 全局变量:
 946          ** 调用模块:
 947          **
 948          ** 作 者: 刘宝贵
 949          ** 日 期: 2005年1月26日
 950          **-------------------------------------------------------------------------------------------------------
 951          ** 修改人:
 952          ** 日 期:
 953          **-------------------------------------------------------------------------------------------------------
 954          *********************************************************************************************************/
 955          /*void DisplayInt16X8WithoutDotWithZero(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
 956          {
 957              Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
 958              if(number>1)
 959              {
 960                  Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16/10)%10 );
 961                  if(number>2)
 962                  {
 963                      Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16/100)%10 );
 964                      if(number>3)
 965                      {
 966                          Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16/1000)%10 );
 967                          if(number>4)
 968                          {
 969                              Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16/10000)%10);
 970                          }
 971                      }
 972                  }
 973              }
C51 COMPILER V7.06   LCDDRIVE12864                                                         01/22/2007 09:50:02 PAGE 17  

 974          }
 975          /*********************************************************************************************************
 976          ** 函数名称: Display16X8WithDot3
 977          ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
 978          ** 输 入:   
 979          ** 输 出:   
 980          ** 全局变量:
 981          ** 调用模块:
 982          **
 983          ** 作 者: 刘宝贵
 984          ** 日 期: 2005年1月26日
 985          **-------------------------------------------------------------------------------------------------------
 986          ** 修改人:
 987          ** 日 期:
 988          **-------------------------------------------------------------------------------------------------------
 989          *********************************************************************************************************/
 990          /*void DisplayChar6X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint8 temp8)
 991          {
 992              Display6X8(lcdrow, lcdline+6*0,(temp8/100)%10);
 993              Display6X8(lcdrow, lcdline+6*1,(temp8/10)%10);
 994              Display6X8(lcdrow, lcdline+6*2,(temp8/1)%10);
 995          }
 996          /*********************************************************************************************************
 997          ** 函数名称: DisplayInt6X8WithDot3
 998          ** 功能描述: 在指定的行列绘INT型数,小数点后三位数字
 999          ** 输 入:   
1000          ** 输 出:   
1001          ** 全局变量:
1002          ** 调用模块:
1003          **
1004          ** 作 者: 刘宝贵
1005          ** 日 期: 2005年1月26日
1006          **-------------------------------------------------------------------------------------------------------
1007          ** 修改人:
1008          ** 日 期:
1009          **-------------------------------------------------------------------------------------------------------
1010          *********************************************************************************************************/
1011          /*void DisplayInt6X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
1012          {
1013              Display6X8(lcdrow, lcdline+6*0,(temp16>=10000) ? (temp16/10000)%10 : 15 );
1014              Display6X8(lcdrow, lcdline+6*1,(temp16/1000)%10 );
1015          //    Display2X8(lcdrow, lcdline+6*2,10 );
1016              Display6X8(lcdrow, lcdline+6*3-4,(temp16/100)%10 );
1017              Display6X8(lcdrow, lcdline+6*4-4,(temp16/10)%10 );
1018              Display6X8(lcdrow, lcdline+6*5-4,(temp16%10) );
1019          }
1020          /*********************************************************************************************************
1021          ** 函数名称: DisplaySpace
1022          ** 功能描述: 在指定的行列绘一指定个数的16X8空白
1023          ** 输 入:   
1024          ** 输 出:   
1025          ** 全局变量:
1026          ** 调用模块:
1027          **
1028          ** 作 者: 刘宝贵
1029          ** 日 期: 2005年1月26日
1030          **-------------------------------------------------------------------------------------------------------
1031          ** 修改人:
1032          ** 日 期:
1033          **-------------------------------------------------------------------------------------------------------
1034          *********************************************************************************************************/
1035          /*void DisplaySpace(uint8 lcdrow ,uint8 lcdline, uint8 number)
C51 COMPILER V7.06   LCDDRIVE12864                                                         01/22/2007 09:50:02 PAGE 18  

1036          {
1037              do
1038              {
1039                  Display16X8(lcdrow, lcdline,17);
1040                  number--;
1041                  lcdline+=8;
1042              }while(number>0);
1043          }
1044          */
1045          
1046          
1047          
1048          
1049          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2871    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      35
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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