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

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

?? 5.2.3-1.lst

?? 《單片機C語言編程與實例》的源程序代碼第5章
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V6.20c  5_2_3_1                                                               09/02/2001 14:49:03 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE 5_2_3_1
OBJECT MODULE PLACED IN 5.2.3-1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 5.2.3-1.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          #include<math.h>
   3          #include<INTRINS.H>
   4          #define Uchar unsigned char
   5          /*注:8031的晶振頻率為12MHz*/
   6          /***********液晶顯示器接口引腳定義***************/
   7          sbit	Elcm=P2^7;	
   8          sbit	CSALCM=	P2^2;
   9          sbit	CSBLCM=	P2^3;
  10          sbit	Dilcm=P2^0;
  11          sbit	Rwlcm=P2^1;
  12          sfr 	Datalcm=0x80;				/*數據口*/
  13          /***********常用操作命令和參數定義***************/
  14          #define	 DISPON		0x3f		/*顯示on*/
  15          #define	 DISPOFF		0x3e		/*顯示off	*/
  16          #define	 DISPFIRST	0xc0		/*顯示起始行定義*/
  17          #define	 SETX		0x40		/*X定位設定指令(頁)*/
  18          #define	 SETY		0xb8		/*Y定位設定指令(列)*/
  19          #define	 Lcdbusy		0x80		/*LCM忙判斷位*/
  20          
  21          /**************顯示分區邊界位置*****************/
  22          #define	 MODL		0x00		/*左區*/
  23          #define	 MODM		0x40		/*左區和中區分界*/
  24          #define	 MODR		0x80		/*中區和右區分界*/
  25          #define	LCMLIMIT	0xC0		/*顯示區的右邊界*/
  26          
  27          /****************全局變量定義*******************/
  28          Uchar col,row,cbyte;				/*列x,行(頁)y,輸出數據*/
  29          bit xy;						/*畫線方向標志:1水平*/
  30          
  31          /*****************函數列表**********************/
  32          void Lcminit(void);				/*液晶模塊初始化*/
  33          void Delay(Uchar);				/*延時,入口數為Ms	*/
  34          void lcdbusyL(void);				/*busy判斷、等待(左區)*/
  35          void lcdbusyM(void);				/*busy判斷、等待(中區)*/
  36          void lcdbusyR(void);				/*busy判斷、等待(右區)*/
  37          void Putedot(Uchar);				/*半角字符輸出*/
  38          void Putcdot(Uchar);				/*全角(漢字)輸出*/
  39          void Wrdata(Uchar);				/*數據輸出給LCM*/
  40          void Lcmcls( void );				/*LCM全屏幕清零(填充0)	*/
  41          void wtcom(void);				/*公用busy等待*/
  42          void Locatexy(void);				/*光標定位*/
  43          void WrcmdL(Uchar);				/*左區命令輸出	*/
  44          void WrcmdM(Uchar);				/*中區命令輸出	*/
  45          void WrcmdR(Uchar);				/*右區命令輸出	*/
  46          void Putstr(Uchar *puts,Uchar i);		/*中英文字符串輸出*/
  47          void Rollscreen(Uchar x);			/*屏幕向上滾動*/
  48          void Rddata(void);				/*從液晶片上讀數據*/
  49          void Linehv(Uchar length);			/*橫(豎)方向畫線*/
  50          void point(void);					/*打點*/
  51          void Linexy(Uchar endx,Uchar endy);
  52          
  53          /******************數組列表*********************/
  54          Uchar code Ezk[];				/*ASCII常規字符點陣碼表	*/
  55          Uchar code Hzk[];				/*自用漢字點陣碼表*/
C51 COMPILER V6.20c  5_2_3_1                                                               09/02/2001 14:49:03 PAGE 2   

  56          Uchar code STR1[];				/*自定義字符串*/
  57          Uchar code STR2[];
  58          Uchar code STR3[];
  59          Uchar code STR4[];
  60          
  61          /****************************************主程序*****************************************/
  62          void main(void)
  63          {
  64   1       	Uchar x;
  65   1      	col=0;
  66   1      	row=0;
  67   1      	Delay(40);					/*延時大約40Ms,等待外設準備好*/
  68   1      	Lcminit();					/*液晶模塊初始化,包括全屏幕清屏*/
  69   1      	Putstr(STR1,12);				/*第一行字符輸出,12字節*/
  70   1      	col=0;
  71   1      	row=2;
  72   1      	Putstr(STR2,14);				/*第二行字符輸出,14字節*/
  73   1      	col=0;
  74   1      	row=4;
  75   1      	Putstr(STR3,11);				/*第三行字符輸出,11字節*/
  76   1      	col=0;
  77   1      	row=6;
  78   1      	Putstr(STR4,12);				/*第四行字符輸出,12字節*/
  79   1      	x=0;
  80   1      	col=0;
  81   1      	row=0;
  82   1      	xy = 1;					/*方向標志。定為水平方向*/
  83   1      	Linehv(192);				/*畫一條橫線(0,0)-(191,0)*/
  84   1      	col=0;
  85   1      	row=15;
  86   1      	xy = 1;
  87   1      	Linehv(192);				/*畫一條橫線(0,15)-(191,15)*/
  88   1      	col=0;
  89   1      	row=32;
  90   1      	xy = 1;
  91   1      	Linehv(192);				/*畫一條橫線(0,32)-(191,32)*/
  92   1      	col=0;
  93   1      	row=1;
  94   1      	xy = 0;					/*方向標志。定為垂直方向*/
  95   1      	Linehv(31);				/*畫一條豎線(0,1)-(0,31)*/
  96   1      	col=191;
  97   1      	row=1;
  98   1      	xy = 0;
  99   1      	Linehv(31);				/*畫一條豎線(191,1)-(191,31)*/
 100   1      	col=0;					/*設定斜線的起點坐標*/
 101   1      	row=63;
 102   1      	Linexy(44,31);				/*畫一段斜線(0,63)-(44,31)	*/
 103   1      	col=44;
 104   1      	row=31;
 105   1      	Linexy(190,62);				/*繼續畫斜線(44,31)-(191,63)*/
 106   1      	while(1){
 107   2      		Rollscreen(x);			/*定位新的顯示起始行*/
 108   2      		x++;
 109   2      		Delay(100);			/*延時,控制滾動速度*/
 110   2      		};
 111   1      }
 112          
 113          /***********************畫線,任意方向的斜線,不支持垂直的或水平線***********************/
 114          void Linexy(Uchar endx,Uchar endy)
 115          {
 116   1      	register Uchar t;
 117   1      	int xerr=0,yerr=0,delta_x,delta_y,distance;
C51 COMPILER V6.20c  5_2_3_1                                                               09/02/2001 14:49:03 PAGE 3   

 118   1      	Uchar incx,incy;
 119   1      	delta_x=endx-col; 			/*計算兩個方向的距離*/
 120   1      	delta_y=endy-row;
 121   1      	if(delta_x>0) incx=1; 			/*計算增量方向,增量為0表示既不是垂直線也不是水平線*/
 122   1      	else if( delta_x==0 ) incx=0;
 123   1      		else incx=-1;
 124   1      	if(delta_y>0) incy=1;
 125   1      	else if( delta_y==0 ) incy=0;
 126   1      		else incy=-1;
 127   1      	delta_x = cabs( delta_x ); 		/* 判定哪個距離比較大*/
 128   1      	delta_y = cabs( delta_y );
 129   1      	if( delta_x > delta_y ) distance=delta_x;
 130   1      	else distance=delta_y;
 131   1      /*開始畫線*/
 132   1      	for( t=0;t <= distance+1; t++ ) {
 133   2      		point();
 134   2       	   xerr += delta_x ;
 135   2      		yerr += delta_y ;
 136   2      		if( xerr > distance ) {
 137   3      			xerr-=distance;
 138   3       		    col+=incx;
 139   3      		}
 140   2      		if( yerr > distance ) {
 141   3      			yerr-=distance;
 142   3       		    row+=incy;
 143   3      		}
 144   2      	}
 145   1      }
 146          
 147          /***************************畫線,只提供X或Y方向的,不支持斜線*************************/
 148          void Linehv(Uchar length)
 149          	{
 150   1      		Uchar xs,ys;
 151   1      		if (xy){ys = col;
 152   2      			for (xs=0;xs<length;xs++){
 153   3      					col = ys + xs;
 154   3      					point();}
 155   2      				}
 156   1      		else	{xs = row;
 157   2      			for (ys=0;ys<length;ys++)
 158   2      {
 159   3      					row = xs + ys;
 160   3      					point();}
 161   2      				 }
 162   1      }
 163          
 164          /*****************************************畫點******************************************/
 165          void point(void)
 166          	{
 167   1      		Uchar x1,y1,x,y;
 168   1      		x1=col;
 169   1      		y1=row;
 170   1      		row=y1>>3;			/*取Y方向分頁地址*/
 171   1      		Rddata();
 172   1      		y=y1&0x07;			/*字節內位置計算*/
 173   1      		x=0x01;
 174   1      		x=x<<y;				/*移入所畫點*/
 175   1      		Wrdata(cbyte|x);			/*畫上屏幕*/
 176   1      		col=x1;				/*恢復xy坐標*/
 177   1      		row=y1;
 178   1      	}
 179          
C51 COMPILER V6.20c  5_2_3_1                                                               09/02/2001 14:49:03 PAGE 4   

 180          /**************************************屏幕滾動定位*************************************/
 181          void Rollscreen(Uchar x)
 182          	{
 183   1      		cbyte = DISPFIRST|x;		/*定義顯示起始行為x?*/
 184   1      		WrcmdL(cbyte);
 185   1      		WrcmdM(cbyte);
 186   1      		WrcmdR(cbyte);
 187   1      	}
 188          
 189          /**************************************一個字串的輸出***********************************/
 190          void Putstr(Uchar *puts,Uchar i)
 191          	{
 192   1      		Uchar j,X;
 193   1      		for (j=0;j<i;j++)
 194   1      		{
 195   2      		X = puts[j];
 196   2      			if (X&0x80)
 197   2      				{
 198   3      					Putcdot(X&0x7f);/*只保留低7位*/
 199   3      				}
 200   2      			else Putedot(X-0x20);		/*ascii碼表從0x20開始*/
 201   2      		}
 202   1      	}
 203          
 204          /*********************************半角字符點陣碼數據輸出********************************/
 205          void Putedot(Uchar Order)
 206          	{
 207   1      	Uchar i,bakerx,bakery;			/*共定義4個局部變量*/
 208   1      	int x;						/*偏移量,字符量少的可以定義為UCHAR	*/
 209   1      	bakerx = col;				/*暫存x,y坐標,已備下半個字符使用*/
 210   1      	bakery = row;
 211   1      	x=Order * 0x10;				/*半角字符,每個字符16字節*/
 212   1      /*上半個字符輸出,8列*/
 213   1      	for(i=0;i<8;i++)
 214   1      		{
 215   2      		cbyte = Ezk[x];			/*取點陣碼,rom數組*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区视频在线播放 | 久久国产精品色| 久久超碰97中文字幕| 91精品国产美女浴室洗澡无遮挡| 欧美日韩国产综合草草| 国产日产亚洲精品系列| 图片区小说区国产精品视频| 9i在线看片成人免费| 日韩无一区二区| 亚洲国产一区二区在线播放| 成人免费毛片片v| 久久综合国产精品| 五月婷婷激情综合| 色老头久久综合| 国产欧美一区二区精品性色| 久久se这里有精品| 91精品国产aⅴ一区二区| 亚洲一二三区视频在线观看| 91在线精品秘密一区二区| 国产日产欧美一区二区三区| 久久99国产精品免费网站| 欧美一区二区三区影视| 五月激情综合婷婷| 欧美日韩国产电影| 亚洲成人综合网站| 欧美三级三级三级| 亚洲.国产.中文慕字在线| 欧美亚洲一区二区三区四区| 亚洲精品乱码久久久久久久久 | 9人人澡人人爽人人精品| 久久精品一区蜜桃臀影院| 狠狠色伊人亚洲综合成人| 日韩午夜电影av| 久久99国产精品久久99| 日韩欧美精品在线| 精品亚洲免费视频| 精品99999| 丁香啪啪综合成人亚洲小说| 国产精品沙发午睡系列990531| 国产jizzjizz一区二区| 国产色综合久久| eeuss鲁片一区二区三区在线看| 国产精品国产馆在线真实露脸| av不卡在线观看| 亚洲情趣在线观看| 麻豆精品国产传媒mv男同| 色94色欧美sute亚洲13| 亚洲资源中文字幕| 欧美精品久久久久久久多人混战| 青青草97国产精品免费观看 | 久久成人免费网站| 久久综合九色综合欧美98| 粉嫩久久99精品久久久久久夜| 国产精品拍天天在线| 色噜噜夜夜夜综合网| 爽好久久久欧美精品| 精品久久久久一区二区国产| 成人听书哪个软件好| 亚洲综合免费观看高清完整版| 777奇米成人网| 国产不卡在线视频| 亚洲一二三区在线观看| 欧美大胆人体bbbb| 9人人澡人人爽人人精品| 欧洲亚洲国产日韩| 亚洲成人自拍网| 欧美成人在线直播| 丁香婷婷综合网| 亚洲国产你懂的| 精品国产一区二区三区久久影院| 高清av一区二区| 性欧美疯狂xxxxbbbb| 久久一区二区视频| 91国产成人在线| 国内精品视频666| 亚洲欧美激情在线| 精品粉嫩aⅴ一区二区三区四区| 99精品视频在线观看| 青青草国产成人av片免费| 一色桃子久久精品亚洲| 日韩情涩欧美日韩视频| 91色在线porny| 亚洲已满18点击进入久久| 日韩一区二区三区电影在线观看 | 久久精品人人做人人综合 | 成人黄色综合网站| 蜜臀av一级做a爰片久久| 自拍偷拍亚洲激情| 国产偷国产偷亚洲高清人白洁 | 成人网男人的天堂| 久久精品噜噜噜成人88aⅴ| 一区二区三区丝袜| 国产精品久久毛片| 久久久91精品国产一区二区三区| 欧美人与性动xxxx| 91久久精品一区二区| av亚洲精华国产精华| 国产福利91精品| 久久超碰97中文字幕| 日韩av在线免费观看不卡| 亚洲一二三区不卡| 亚洲欧美日韩在线播放| 国产精品美女久久久久久久久 | 亚洲男帅同性gay1069| 国产婷婷色一区二区三区在线| 日韩欧美中文字幕公布| 欧美日韩国产成人在线免费| 在线观看视频一区| 色天使久久综合网天天| 成人激情小说乱人伦| 成人综合激情网| 国产成人综合自拍| 国产福利一区在线观看| 国产成人免费xxxxxxxx| 国产精品夜夜嗨| 国产福利91精品| 成人a免费在线看| 91视频在线看| 在线看国产一区二区| 欧美色手机在线观看| 欧美日韩精品一区二区三区蜜桃 | www.一区二区| 99亚偷拍自图区亚洲| 色综合中文字幕国产| 色菇凉天天综合网| 在线观看不卡视频| 欧美精品一卡二卡| 日韩免费在线观看| 国产日本亚洲高清| 国产精品第四页| 亚洲一区二区三区三| 日韩电影免费在线看| 狠狠狠色丁香婷婷综合久久五月| 国产在线观看一区二区| 成人av综合在线| 欧美亚洲国产bt| 日韩欧美激情四射| 中文字幕国产精品一区二区| 一区二区三区小说| 免费久久99精品国产| 国产成人免费视频网站高清观看视频| 不卡的av在线播放| 欧美三级在线视频| 久久久久久久一区| 亚洲综合无码一区二区| 日韩精品色哟哟| 国产99久久久精品| 在线视频国内自拍亚洲视频| 欧美一区二区免费观在线| 国产女人aaa级久久久级| 亚洲一区二区精品3399| 精品综合免费视频观看| 99re亚洲国产精品| 欧美一区二区大片| 亚洲天堂成人网| 久久成人精品无人区| 欧美中文字幕久久| 日韩一本二本av| 久久九九久久九九| 一区二区三区不卡视频在线观看 | 宅男噜噜噜66一区二区66| 欧美tickling挠脚心丨vk| 中文字幕中文字幕一区| 日韩黄色在线观看| 99久久精品免费看国产| 欧美一区二区在线免费播放| 国产精品美女久久久久高潮 | 国产精品黄色在线观看| 免费高清视频精品| 色综合一个色综合亚洲| 久久久99精品免费观看| 国产91丝袜在线播放| 欧美午夜精品一区二区蜜桃| 国产日韩欧美一区二区三区乱码 | 亚洲一级电影视频| 国产一区二区电影| 欧美日韩免费一区二区三区| 国产精品伦理在线| 国产在线视频精品一区| 欧美日本在线播放| 亚洲免费av观看| 成人精品免费视频| 久久一区二区视频| 久久草av在线| 日韩午夜激情av| 五月婷婷综合激情| 欧美日韩在线三区| 中文字幕一区在线观看视频| 国产精品综合一区二区三区| 日韩欧美一卡二卡| 日韩极品在线观看| 欧美另类久久久品| 亚洲成人免费av| 欧美午夜免费电影| 亚洲国产精品视频| 欧美日韩一级二级| 午夜精品在线视频一区| 欧美日韩在线播放| 亚洲成人av电影在线| 欧美日韩亚洲综合一区二区三区|