📄 12232.lst
字号:
784
785 /******************************************************************************************
786 * 函数名称 :PutCharR
787 * 功能描述 :在右页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
788 * 参数 : 参数名称: 输入/输出? 类型 描述
789 *
790 * 返回值 :
791 * 作者 :
792 * 创建日期 :2006-12-19
793 * 全局变量 :
794 * 全局静态变量:
795 * 局部静态变量:
796 *----------------------------------------修改历史------------------------------------------
797 * 当前版本 : 修改人: 修改日期:
798 * 修改说明 :
799 ******************************************************************************************/
C51 COMPILER V8.08 12232 10/20/2008 00:42:40 PAGE 14
800 void PutCharR(uchar ch)
801 {
802 1 OUTSD(ch);
803 1 }
804
805 /******************************************************************************************
806 * 函数名称 :PutChar1
807 * 功能描述 :在左页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
808 * 参数 : 参数名称: 输入/输出? 类型 描述
809 *
810 * 返回值 :
811 * 作者 :
812 * 创建日期 :2006-12-19
813 * 全局变量 :
814 * 全局静态变量:
815 * 局部静态变量:
816 *----------------------------------------修改历史------------------------------------------
817 * 当前版本 : 修改人: 修改日期:
818 * 修改说明 :
819 ******************************************************************************************/
820 void PutCharL(uchar ch)
821 {
822 1 OUTMD(ch);
823 1 }
824
825 /******************************************************************************************
826 * 函数名称 :DrawBmp
827 * 功能描述 :画一个图,layer表示上下层,width是图形的宽,高都是16,bmp是
828 图形指针
829 * 参数 : 参数名称: 输入/输出? 类型 描述
830 *
831 * 返回值 :
832 * 作者 :
833 * 创建日期 :2006-12-19
834 * 全局变量 :
835 * 全局静态变量:
836 * 局部静态变量:
837 *----------------------------------------修改历史------------------------------------------
838 * 当前版本 : 修改人: 修改日期:
839 * 修改说明 :
840 ******************************************************************************************/
841 void DrawBmp(bit layer,uchar width,uchar *bmp)
842 {
843 1 uchar x,address,i=0; //address表示显存的物理地址
844 1 uchar page=0; //page表示上下两页
845 1 bit window=0; //window表示左右两页
846 1 //putcharR //右边
847 1 //putcharL //左边
848 1
849 1 for (x=width;x>1;x--)
850 1 {
851 2 if (i>60)
852 2 {
853 3 window=1;
854 3 address=i%61;
855 3 }
856 2 else
857 2 address=i;
858 2
859 2 if(layer==0) //显示一行八个字
860 2 {
861 3 SetPage(0,0);
C51 COMPILER V8.08 12232 10/20/2008 00:42:40 PAGE 15
862 3 SetAddress(address,address);
863 3 if(window==1)
864 3 PutCharR(bmp[i]);
865 3 else
866 3 PutCharL(bmp[i]);
867 3 SetPage(1,1);
868 3 SetAddress(address,address);
869 3 if(window==1)
870 3 PutCharR(bmp[i+width]);
871 3 else
872 3 PutCharL(bmp[i+width]);
873 3 }
874 2 else
875 2 { //显示第二行八个汉字
876 3 SetPage(2,2);
877 3 SetAddress(address,address);
878 3 if(window==1)
879 3 PutCharR(bmp[i]);
880 3 else
881 3 PutCharL(bmp[i]);
882 3 SetPage(3,3);
883 3 SetAddress(address,address);
884 3 if(window==1)
885 3 PutCharR(bmp[i+width]);
886 3 else
887 3 PutCharL(bmp[i+width]);
888 3 }
889 2 i++;
890 2
891 2 }
892 1 }
893
894 /******************************************************************************************
895 * 函数名称 :clrscr
896 * 功能描述 :清屏
897 * 参数 : 参数名称: 输入/输出? 类型 描述
898 *
899 * 返回值 :
900 * 作者 :
901 * 创建日期 :2006-12-19
902 * 全局变量 :
903 * 全局静态变量:
904 * 局部静态变量:
905 *----------------------------------------修改历史------------------------------------------
906 * 当前版本 : 修改人: 修改日期:
907 * 修改说明 :
908 ******************************************************************************************/
909 void clrscr(void)
910 {
911 1 uchar i;
912 1 uchar page;
913 1 for (page=0;page<4;page++)
914 1 {
915 2 SetPage(page,page);
916 2 SetAddress(0,0);
917 2 for (i=0;i<61;i++)
918 2 {
919 3 PutCharR(0);
920 3 PutCharL(0);
921 3 }
922 2 }
923 1 }
C51 COMPILER V8.08 12232 10/20/2008 00:42:40 PAGE 16
924
925 /******************************************************************************************
926 * 函数名称 :DrawBmp1
927 * 功能描述 :图片显示
928 * 参数 : 参数名称: 输入/输出? 类型 描述
929 *
930 * 返回值 :
931 * 作者 :
932 * 创建日期 :2006-12-19
933 * 全局变量 :
934 * 全局静态变量:
935 * 局部静态变量:
936 *----------------------------------------修改历史------------------------------------------
937 * 当前版本 : 修改人: 修改日期:
938 * 修改说明 :
939 ******************************************************************************************/
940 void DrawBmp1(uint x_add, uchar width,uchar *bmp)
941 {
942 1 uchar x,address,i=0; //address表示显存的物理地址
943 1 uchar page=0; //page表示上下两页
944 1 bit window=0; //window表示左右两页
945 1 //putcharR //右边
946 1 //putcharL //左边
947 1 for (x=width;x>1;x--)
948 1 {
949 2 if (x_add>60)
950 2 {
951 3 window=1;
952 3 address=x_add%61;
953 3 }
954 2 else
955 2 address=x_add;
956 2
957 2
958 2 SetPage(0,0);
959 2 SetAddress(address,address);
960 2 if(window==1)
961 2 PutCharR(bmp[i]);
962 2 else
963 2 PutCharL(bmp[i]);
964 2 SetPage(1,1);
965 2 SetAddress(address,address);
966 2 if(window==1)
967 2 PutCharR(bmp[i+width]);
968 2 else
969 2 PutCharL(bmp[i+width]);
970 2
971 2
972 2 SetPage(2,2);
973 2 SetAddress(address,address);
974 2 if(window==1)
975 2 PutCharR(bmp[i+width+width]);
976 2 else
977 2 PutCharL(bmp[i+width+width]);
978 2 SetPage(3,3);
979 2 SetAddress(address,address);
980 2 if(wi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -