亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? display.lst

?? 51單片機C語言常用模塊與綜合系統設計實例精講
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.06   DISPLAY                                                               10/13/2006 09:21:09 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <stdio.h>
   2          #include <absacc.h>
   3          #include <./Atmel/at89x52.h>
   4          #include <string.h>
   5          #include <intrins.h>
   6          #include "source.h"
   7          //#include <intrins.h>
   8          /*輸入的X為以8個點為單位,Y以一個點為單位,寬度也是以8個點為單位的,高度以一個點為單位的.*/
   9          unsigned char zero_buf[100]={//為全0的數據,在清除某行的時候用
  10                  0,0,0,0,0,0,0,0,0,0,
  11                  0,0,0,0,0,0,0,0,0,0,
  12                  0,0,0,0,0,0,0,0,0,0,
  13                  0,0,0,0,0,0,0,0,0,0,
  14                  0,0,0,0,0,0,0,0,0,0,
  15                  0,0,0,0,0,0,0,0,0,0,
  16                  0,0,0,0,0,0,0,0,0,0,
  17                  0,0,0,0,0,0,0,0,0,0,
  18                  0,0,0,0,0,0,0,0,0,0,
  19                  0,0,0,0,0,0,0,0,0,0,
  20          };
  21          void clear_all(void){
  22   1              unsigned int cnt;
  23   1              for(cnt=VRAM_BASE;cnt<VRAM_LEN;cnt++){
  24   2                      XBYTE[cnt]=0X00;
  25   2              }
  26   1      }
  27          /**在orgx,orgy的位置上顯示寬度為8,高度為depth的圖片**/
  28          void draw_wordw8(unsigned char orgx,unsigned int orgy,unsigned char depth,unsigned char *buf){
  29   1              unsigned char row;
  30   1              unsigned int basex;
  31   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
  32   1              for(row=0;row<depth;row++){
  33   2                      XBYTE[basex]=buf[row];
  34   2                      basex +=SCREEN_WIDTH;
  35   2              }
  36   1      }
  37          /**在orgx,orgy的位置上顯示寬度為16,高度為depth的圖片**/
  38          void draw_wordw16(unsigned char orgx,unsigned int orgy,unsigned char depth,unsigned char *buf){
  39   1              unsigned char row;
  40   1              unsigned int temp;
  41   1              unsigned int basex;
  42   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
  43   1              for(row=0;row<depth;row++){
  44   2                      temp=row<<1;
  45   2                      XBYTE[basex]=buf[temp];
  46   2                      XBYTE[basex+1]=buf[temp+1];
  47   2                      basex +=SCREEN_WIDTH;
  48   2              }
  49   1      }
  50          /**在orgx,orgy的位置上顯示寬度為24,高度為depth的圖片**/
  51          void draw_wordw24(unsigned char orgx,unsigned int orgy,unsigned char depth,unsigned char *buf){
  52   1              unsigned char row;
  53   1              unsigned int temp;
  54   1              unsigned int basex;
  55   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
C51 COMPILER V7.06   DISPLAY                                                               10/13/2006 09:21:09 PAGE 2   

  56   1              for(row=0;row<depth;row++){
  57   2                      temp=row<<1;
  58   2                      temp +=row;//temp=3*row
  59   2                      XBYTE[basex]=buf[temp];
  60   2                      XBYTE[basex+1]=buf[temp+1];
  61   2                      XBYTE[basex+2]=buf[temp+2];
  62   2                      basex +=SCREEN_WIDTH;
  63   2              }
  64   1      }
  65          /**在orgx,orgy的位置上顯示寬度為32,高度為depth的圖片**/
  66          void draw_wordw32(unsigned char orgx,unsigned int orgy,unsigned char depth,unsigned char *buf){
  67   1              unsigned char row;
  68   1              unsigned int temp;
  69   1              unsigned int basex;
  70   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
  71   1              for(row=0;row<depth;row++){
  72   2                      temp=row<<2;
  73   2                      XBYTE[basex  ]=buf[temp  ];
  74   2                      XBYTE[basex+1]=buf[temp+1];
  75   2                      XBYTE[basex+2]=buf[temp+2];
  76   2                      XBYTE[basex+3]=buf[temp+3];
  77   2                      basex +=SCREEN_WIDTH;
  78   2              }
  79   1      }
  80          /**在orgx,orgy的位置上顯示寬度為48,高度為depth的圖片**/
  81          void draw_wordw48(unsigned char orgx,unsigned int orgy,unsigned char depth,unsigned char *buf){
  82   1              unsigned char row;
  83   1              unsigned int temp;
  84   1              unsigned int basex;
  85   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
  86   1              for(row=0;row<depth;row++){
  87   2                      temp=row<<2;
  88   2                      temp +=row<<1;
  89   2                      XBYTE[basex  ]=buf[temp  ];
  90   2                      XBYTE[basex+1]=buf[temp+1];
  91   2                      XBYTE[basex+2]=buf[temp+2];
  92   2                      XBYTE[basex+3]=buf[temp+3];
  93   2                      XBYTE[basex+4]=buf[temp+4 ];
  94   2                      XBYTE[basex+5]=buf[temp+5];
  95   2                      basex +=SCREEN_WIDTH;
  96   2              }
  97   1      }
  98          /**在orgx,orgy的位置上顯示寬度為24,高度為24的圖片**/
  99          void draw_wordw24x24(unsigned char orgx,unsigned int orgy,unsigned char *buf){
 100   1              unsigned char row;
 101   1              unsigned int temp;
 102   1              unsigned int basex;
 103   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;
 104   1              for(row=0;row<3;row++){
 105   2                      temp=row<<1;
 106   2                      temp +=row;
 107   2                      XBYTE[basex]=buf[temp];
 108   2                      XBYTE[basex+1]=buf[temp+1];
 109   2                      XBYTE[basex+2]=buf[temp+2];
 110   2                      basex +=SCREEN_WIDTH;
 111   2              }       
 112   1      }
 113          /**在orgx,orgy點陣為24x24,區碼為qh,位碼為wh的漢字**/
 114          void draw_hz24x24(unsigned char orgx,unsigned int orgy,unsigned char qh,unsigned char wh){
 115   1              union SFADD offset;
 116   1              unsigned int ladd;
 117   1              unsigned int basex;
C51 COMPILER V7.06   DISPLAY                                                               10/13/2006 09:21:09 PAGE 3   

 118   1              unsigned char i;
 119   1              if(qh<16){//漢字庫的區碼從15開始
 120   2                      return;
 121   2              }
 122   1              offset.l=(94*(qh-16)+(wh-1));//區位碼與flash的對應關系
 123   1              offset.l *=72;
 124   1              offset.l +=FLASH_ADD_HZK24X24_START;//把其轉換為flash可以尋址的范圍
 125   1              ladd=offset.i[1];
 126   1              ladd &=FLASH_ADD_MASK;
 127   1              ladd |=FLASH_SPACE_START;//分離出flash的低位地址
 128   1              offset.l <<=2;
 129   1              FLASHADD=offset.c[1];//分離出flash的高位地址
 130   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;//確定圖片在屏幕上的位置
 131   1              if(ladd>=(FLASH_SPACE_END-3*24)){//因為每個漢字使用72個字節,表明其跨越了flash的高位地址.
 132   2                      for(i=0;i<24;i++){
 133   3                              XBYTE[basex  ]=XBYTE[ladd];
 134   3                              if(ladd==FLASH_SPACE_END){//高位地址跨越16K字節,高位要進一
 135   4                                      FLASHADD=offset.c[1]+1;//高位地址進一
 136   4                                      ladd=0;
 137   4                              }
 138   3                              else{//沒有跨越16K字節地址
 139   4                                              ladd++;//低位地址加一
 140   4                              }
 141   3                              XBYTE[basex+1]=XBYTE[ladd];
 142   3                              if(ladd==FLASH_SPACE_END){
 143   4                                      FLASHADD=offset.c[1]+1;
 144   4                                      ladd=0;
 145   4                              }
 146   3                              else{
 147   4                                              ladd++;
 148   4                              }
 149   3                              XBYTE[basex+2]=XBYTE[ladd];     
 150   3                              if(ladd==FLASH_SPACE_END){
 151   4                                      FLASHADD=offset.c[1]+1;
 152   4                                      ladd=0;
 153   4                              }
 154   3                              else{
 155   4                                              ladd++;
 156   4                              }                                               
 157   3                              basex +=SCREEN_WIDTH;
 158   3                      }
 159   2              }
 160   1              else{//沒有跨越16K字節地址
 161   2                      for(i=0;i<24;i++){
 162   3                              memcpy((unsigned char *)basex,(unsigned char *)ladd,3);//字節顯示
 163   3                              ladd +=3;//FLASH地址加3
 164   3                              basex +=SCREEN_WIDTH;//換下一行
 165   3                      }
 166   2              }
 167   1      }
 168          /**在orgx,orgy點陣為24x24漢字字庫擴展為48x48,區碼為qh,位碼為wh的漢字**/
 169          void draw_double_hz24x24(unsigned char orgx,unsigned int orgy,unsigned char qh,unsigned char wh){
 170   1              union SFADD offset;
 171   1              unsigned char frtemp[3];
 172   1              unsigned int ladd;
 173   1              unsigned int basex;
 174   1              unsigned char i;
 175   1              if(qh<16){//漢字庫的區碼從15開始
 176   2                      return;
 177   2              }
 178   1              offset.l=(94*(qh-16)+(wh-1));//區位碼與flash的對應關系
 179   1              offset.l *=72;
C51 COMPILER V7.06   DISPLAY                                                               10/13/2006 09:21:09 PAGE 4   

 180   1              offset.l +=FLASH_ADD_HZK24X24_START;//把其轉換為flash可以尋址的范圍
 181   1              ladd=offset.i[1];
 182   1              ladd &=FLASH_ADD_MASK;
 183   1              ladd |=FLASH_SPACE_START;//分離出flash的低位地址
 184   1              offset.l <<=2;
 185   1              FLASHADD=offset.c[1];//分離出flash的高位地址
 186   1              basex=VRAM_BASE+SCREEN_WIDTH*orgy+orgx;//確定圖片在屏幕上的位置
 187   1              if(ladd>=(FLASH_SPACE_END-3*24)){//因為每個漢字使用72個字節,表明其跨越了flash的高位地址.
 188   2                      for(i=0;i<24;i++){      
 189   3                              frtemp[0]=XBYTE[ladd];//取出第一字節的數據
 190   3                              if(ladd==FLASH_SPACE_END){//高位地址跨越16K字節,高位要進一
 191   4                                      FLASHADD=offset.c[1]+1;//高位地址進一
 192   4                                      ladd=0;
 193   4                              }
 194   3                              else{//沒有跨越16K字節地址
 195   4                                              ladd++;//低位地址加一
 196   4                              }
 197   3                              frtemp[1]=XBYTE[ladd];//取出第二字節的數據
 198   3                              if(ladd==FLASH_SPACE_END){
 199   4                                      FLASHADD=offset.c[1]+1;
 200   4                                      ladd=0;
 201   4                              }
 202   3                              else{
 203   4                                              ladd++;
 204   4                              }
 205   3                              frtemp[2]=XBYTE[ladd];//取出第三字節的數據
 206   3                              if(ladd==FLASH_SPACE_END){
 207   4                                      FLASHADD=offset.c[1]+1;
 208   4                                      ladd=0;
 209   4                              }
 210   3                              else{
 211   4                                              ladd++;
 212   4                              }       
 213   3                              /**下面把一行長度擴展一倍同時變成二行顯示**/                    
 214   3                              XBYTE[basex  ]=double_byte[frtemp[0]][0];
 215   3                              XBYTE[basex+1]=double_byte[frtemp[0]][1];
 216   3                              XBYTE[basex+2]=double_byte[frtemp[1]][0];
 217   3                              XBYTE[basex+3]=double_byte[frtemp[1]][1];
 218   3                              XBYTE[basex+4]=double_byte[frtemp[2]][0];
 219   3                              XBYTE[basex+5]=double_byte[frtemp[2]][1];
 220   3                              basex +=SCREEN_WIDTH;
 221   3                              XBYTE[basex  ]=double_byte[frtemp[0]][0];
 222   3                              XBYTE[basex+1]=double_byte[frtemp[0]][1];
 223   3                              XBYTE[basex+2]=double_byte[frtemp[1]][0];
 224   3                              XBYTE[basex+3]=double_byte[frtemp[1]][1];
 225   3                              XBYTE[basex+4]=double_byte[frtemp[2]][0];
 226   3                              XBYTE[basex+5]=double_byte[frtemp[2]][1];
 227   3                              basex +=SCREEN_WIDTH;
 228   3                      }
 229   2              }
 230   1              else{
 231   2                      for(i=0;i<24;i++){
 232   3                              frtemp[0]=XBYTE[ladd];ladd++;
 233   3                              frtemp[1]=XBYTE[ladd];ladd++;
 234   3                              frtemp[2]=XBYTE[ladd];ladd++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级片在线| 久久综合狠狠综合| 国产一区二区视频在线| 亚洲色大成网站www久久九九| 欧美日韩免费高清一区色橹橹| 国产在线国偷精品免费看| 亚洲色图清纯唯美| 欧美精品一区二区三区很污很色的 | 国产激情一区二区三区| 亚洲一区二区在线视频| 久久久精品国产99久久精品芒果| 在线观看网站黄不卡| 韩国在线一区二区| 午夜久久电影网| 亚洲男人的天堂一区二区| 精品福利在线导航| 欧美日韩国产区一| 96av麻豆蜜桃一区二区| 狠狠色狠狠色综合日日91app| 亚洲一区二区中文在线| 亚洲视频资源在线| 欧美激情中文字幕一区二区| 精品美女在线播放| 777亚洲妇女| 欧美亚洲日本国产| 99久久久国产精品| 国产91丝袜在线播放0| 久久精品国产99国产| 亚洲成a人v欧美综合天堂下载| 中文字幕永久在线不卡| 亚洲国产精品黑人久久久| 久久综合久久鬼色| 精品国产sm最大网站| 日韩欧美视频在线| 69精品人人人人| 欧美区一区二区三区| 在线精品视频一区二区三四| 99久久婷婷国产综合精品| 岛国av在线一区| 国产成人在线色| 国产精品中文字幕日韩精品| 国产一区二区美女诱惑| 国产伦精一区二区三区| 国产一区 二区| 国产aⅴ综合色| 成人免费av在线| 99热精品国产| 色综合中文字幕| 日本久久电影网| 欧美视频一区二| 欧美日本在线播放| 91精品国产综合久久久久| 91麻豆精品国产自产在线| 678五月天丁香亚洲综合网| 日韩亚洲欧美高清| 精品99久久久久久| 国产网站一区二区| 国产精品美女一区二区三区| 亚洲欧洲日本在线| 亚洲国产va精品久久久不卡综合| 日韩二区三区在线观看| 久久精品99国产国产精| 国产传媒久久文化传媒| av激情综合网| 精品视频一区三区九区| 日韩一区二区三区视频在线 | |精品福利一区二区三区| 亚洲激情校园春色| 日韩电影免费一区| 精品一区二区三区在线视频| 高清在线成人网| 91久久精品一区二区三区| 欧美巨大另类极品videosbest | 国产精品自在欧美一区| 成人在线视频一区| 91在线观看美女| 欧美日本韩国一区| 久久精品人人做| 一区二区三区影院| 六月丁香综合在线视频| 成人黄页毛片网站| 欧美久久一二区| 国产午夜亚洲精品理论片色戒 | 亚洲gay无套男同| 久草在线在线精品观看| 99精品热视频| 欧美一区二区私人影院日本| 日本一二三四高清不卡| 亚洲国产精品久久久久秋霞影院 | 亚洲国产精品ⅴa在线观看| 亚洲第一会所有码转帖| 国产激情视频一区二区三区欧美| 在线观看欧美日本| 2021中文字幕一区亚洲| 一个色妞综合视频在线观看| 国产在线观看一区二区| 欧美色男人天堂| 欧美激情一区二区在线| 欧美96一区二区免费视频| 色综合一区二区| 久久久久久久一区| 视频一区二区不卡| 91毛片在线观看| 国产欧美日韩综合| 日本vs亚洲vs韩国一区三区二区| 一本大道综合伊人精品热热 | 亚洲亚洲精品在线观看| 国产精品18久久久久久vr| 欧美日韩国产影片| 综合久久久久久| 国产精品中文字幕日韩精品| 欧美一区二区久久久| 亚洲精品视频观看| 国产精品一区三区| 日韩一级黄色大片| 亚洲成在人线在线播放| 99国产精品一区| 国产欧美日产一区| 国产精品亚洲综合一区在线观看| 欧美美女网站色| 亚洲精品国产精品乱码不99| 高清shemale亚洲人妖| 精品久久99ma| 日本特黄久久久高潮| 欧美日韩国产片| 亚洲成av人片在线观看无码| 色偷偷成人一区二区三区91| 国产精品剧情在线亚洲| 国产99久久久国产精品| 久久综合九色综合欧美98| 久热成人在线视频| 日韩欧美视频一区| 六月丁香婷婷久久| 精品剧情在线观看| 日韩vs国产vs欧美| 日韩美女一区二区三区| 美腿丝袜亚洲一区| 精品免费国产一区二区三区四区| 美腿丝袜在线亚洲一区| 欧美电影免费观看高清完整版在线| 无吗不卡中文字幕| 7777精品伊人久久久大香线蕉最新版| 夜夜嗨av一区二区三区网页| 在线亚洲高清视频| 五月婷婷综合激情| 欧美日韩一区国产| 日韩在线观看一区二区| 欧美一区二区三区思思人| 久久精品99国产精品| 久久久美女毛片| 成人黄色小视频| 亚洲免费在线电影| 欧美日韩夫妻久久| 久草中文综合在线| 国产亚洲福利社区一区| 不卡av免费在线观看| 亚洲品质自拍视频| 欧美日韩电影在线| 美女视频第一区二区三区免费观看网站| 精品国产精品一区二区夜夜嗨| 国产成人在线色| 一区二区三区四区蜜桃| 欧美精品高清视频| 国模冰冰炮一区二区| 国产精品福利影院| 欧美又粗又大又爽| 蜜臀久久久99精品久久久久久| 久久久久久夜精品精品免费| www.亚洲在线| 亚洲国产毛片aaaaa无费看| 日韩免费观看高清完整版| 成人免费视频一区二区| 亚洲图片欧美视频| 精品va天堂亚洲国产| 色综合视频在线观看| 日产国产高清一区二区三区| 国产欧美中文在线| 欧美日韩美少妇| 国产麻豆91精品| 亚洲一区二区三区四区在线免费观看| 欧美大白屁股肥臀xxxxxx| 国产iv一区二区三区| 午夜一区二区三区视频| 国产日韩精品一区| 欧美久久一二区| 成人激情小说网站| 日本三级亚洲精品| 国产精品国产三级国产普通话蜜臀| 欧美亚州韩日在线看免费版国语版| 蜜乳av一区二区| 亚洲另类春色校园小说| www亚洲一区| 欧美日韩成人在线一区| 成人黄色大片在线观看| 免费成人在线观看视频| 一区二区久久久久久| 国产日产欧美一区二区三区| 欧美二区三区的天堂| av在线不卡观看免费观看| 精品一区二区在线观看|