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

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

?? 340_lcd.#1

?? 單片機例子程序F340_example.rar
?? #1
字號:
/******************************************************************************
由于LV595芯片片選引腳與以太網控制芯片CP2200中斷引腳復用因些在此例程中加入了將
CP2200芯片中斷關閉的代碼。還要在建立工程文件時將CP220X_REG.C文件包含到工程中.
******************************************************************************/


#include "C8051F340.h"
#include <intrins.h>
#include "cp220x_reg.h"

#define  uchar unsigned char
#define  uint  unsigned int
#define  BASE_ADDRESS   0x10
#define EMIF_TIMING	0x9E 


//sbit spi_mosi=P0^0;
//sbit SPICLK=P0^1;
sbit LcdCs=P0^3;
sbit led=P2^4;
bit SPI_BUSY;


uchar xdata virt_port;
uchar xdata discode;//開關顯示、光標、閃爍的命令字暫存單元
uint Count1ms;
signed char xdata tab1[16]={0x20,0x20,0x42,0x54,0x20,0x46,0x33,0x34,0x30,0x20,0x56,0x31,0x2e,0x30
                            ,0x20,0x20};
unsigned char xdata Netdata[16]={0x77,0x77,0x77,0x2e,0x78,0x68,0x6c,0x2e,0x63,0x6f,
                                0x6d,0x2e,0x63,0x6e,0x20,0x20}; 
void delay(uint timer);
void writelcd(uchar spi_data);
void writecode(uchar ins);
void writedata(uchar d);
void lcdinit();
void lcdchar (void);
void lcdaddr(uchar DDRAM);
void cursoropen(uchar position);//開光標,關閃爍
void displayopen(void);			//開顯示,光標、閃爍不變
void ether_reset_low();
void ether_reset_high (void);
void Delay1ms(uint T);
void EMIF_Init (void);

uint da;             
 void delay1us(void)
	{
	uchar xdata i;
	for(i=10;i>0;i--);
	} 

void SPI_Init()
{
    SPI0CFG   = 0x70;
    SPI0CN    = 0x01;
    SPI0CKR   = 0x3B;
  

} 

void writelcd(uchar spi_data)	   //向LV595寫數據以SPI方式
{

 	uint xdata i,j;
 	for(i=0;i<3;i++)
	LcdCs=0;
	SPI_BUSY=1;
	delay1us();
	SPI0DAT=spi_data;
	
     for(j=0;j<500;j++)
		{
	   if(!SPI_BUSY)break;
		} 
	delay1us();
	LcdCs=1;
	delay1us();
 	delay1us();
	delay1us();
	delay1us();
	delay1us();
	delay1us();
	delay1us();
	for(j=0;j<5000;j++);

}

 void writecode(uchar ins)				    //向液晶控制模塊寫命令
     {
      uchar xdata t;
	  uint xdata j;
	
	  for(j=0;j<500;j++);	
	  virt_port|=ins&0xf0;					//取高字節向1602寫數據 
	  writelcd(virt_port);					//先寫高4位后再寫低4位 這是在選擇四個數據線的時候
     
	  virt_port|=0x08;						  
	  writelcd(virt_port);					//使能E腳為高電平
      virt_port&=~0x08;					
	  writelcd(virt_port);					//使能E腳為低電平

      t=ins<<4;             
      virt_port|=t&0xf0;          			//取低字節向1602寫數據
	  writelcd(virt_port);
      virt_port|=0x08;						//使能E腳為高電平
	  writelcd(virt_port);
      virt_port&=~0x08;					    //使能E腳為低電平
	  writelcd(virt_port);
      virt_port=0;
	  writelcd(virt_port);
     }

void writedata(uchar d)					   //寫數據到1602
     {
      uchar xdata i,t;
	  uint xdata j;
	  
      for(j=0;j<500;j++);		
      virt_port|=0x02;					   //光標返回指令
	  writelcd(virt_port);
      virt_port|=d&0xf0;				   //取高字節數據給數據寄存器
	  writelcd(virt_port);
      virt_port|=0x08;                     //使能E腳為高電平
	  writelcd(virt_port);
      virt_port&=0xf7;      			   //使能E腳為低電平
	  writelcd(virt_port);
      virt_port&=0x07;					   //設置光標右移,文字也右移
      writelcd(virt_port);
	       
      t=d&0x0f;
      virt_port|=t<<4;					   //取低字節數據給數據寄存器
	  writelcd(virt_port);

	  virt_port|=0x08;      			   //使能E腳為高電平
	  writelcd(virt_port);
      for(i=3;i>0;i--); 
      virt_port&=0xf7;                     //使能E腳為低電平
	  writelcd(virt_port);
      virt_port=0;						   //數據清零
	  writelcd(virt_port);
    }
 void lcdchar (void)
     {
     uint xdata i,j,k;
     for(j=0;j<5000;j++);                  //數據讀、寫操作,畫面不動
     for(k=0;k<5000;k++);
  
     for(i=0;i<16;i++){
     writedata(tab1[i]);
     for(j=0;j<1000;j++);
     for(k=0;k<1000;k++);
     for(k=0;k<5000;k++);
     for(k=0;k<1000;k++);
 }
                                      
  
  writecode(0xb0);                         //換行指令                    
  for(j=0;j<5000;j++);                                        
  for(k=0;k<5000;k++);
  discode=0xb0;
  for(i=0;i<16;i++){
  writedata(Netdata[i]);
  for(j=0;j<5000;j++);
  for(k=0;k<5000;k++);
  for(k=0;k<5000;k++);	  
  };
   
     }

 
void lcdinit()
{
     uint xdata i;
	
      virt_port=0x00;
	  writelcd(virt_port);	     //RS腳為零寫指令寄存器	 RW為低電平
      virt_port|=0x08;     	     //使能腳E=1
	  writelcd(virt_port);
 	  virt_port&=0xf7;    		 //使E=0使能腳發生跳變高--低
	  writelcd(virt_port);
	  for(i=1000;i>0;i--);	     //3次延時,重要!
	  for(i=8000;i>0;i--);		 //用延時代替查詢	  

    
      virt_port=0;				 //寫入20碼,設置為4位總線方式,非常重要!!!??!
	  writelcd(virt_port);
      virt_port|=0x20;			 //只寫高字節
	  writelcd(virt_port);
      virt_port|=0x08;           //E=1
	  writelcd(virt_port);
	  for(i=20;i>0;i--);		 //使命令執行
      virt_port&=0xf7;           //E=0
	  writelcd(virt_port);
	  for(i=10;i>0;i--);
      virt_port=0;
	  writelcd(virt_port);
	 
	 

      writecode(0x38);	    	//設兩行顯示,4線方式5*10字符顯示
      for(i=50;i>0;i--);
	    writecode(0x06);			//光標右移
      for(i=50;i>0;i--);
	 
	  
	  writecode(0x0c);		    //開顯示指令
      for(i=50;i>0;i--);
      
	 
      writecode(0x02);			//光標返回指令
      for(i=50;i>0;i--);
	   
    
	 
	  writecode(0x01);			//清屏指令
	  for(i=50;i>0;i--);
}
void port_init()
{
     P0MDOUT=0xff;
     XBR0      = 0x02;
     XBR1      = 0x40;
     P1MDOUT |= 0xD8;                    // /WR and /RD are push-pull     P2MDOUT |= 0xFF;     P3MDOUT |= 0xFF;     P4MDOUT |= 0xFF;


}

void main(void)
{
   uint j;
   PCA0MD &= ~0x40;     //關閉看門狗定時器
   OSCICN |= 0x03;      //內部高頻振蕩器12M晶振做為系統時鐘
   port_init();		   //端口初始化
   EMIF_Init ();
   ether_reset_low();
   for(j=0;j<5000;j++);
   ether_reset_high ();
   INT0EN = 0x00;                         
   INT1EN = 0x00;
   SPI_Init();
   
   IE = 0x40;
   EA=1;	
 
  
  while(1)
  {	  
 lcdinit();		   //液晶初始化
 lcdchar();	
 
  }

}

void spi_isr(void) interrupt 6 
{
	if(SPIF)		
		{
		SPIF=0;
		SPI_BUSY=0;
		}
		

	if(WCOL)
		{
		WCOL=0;
		}
}

 
void ether_reset_low(){   P1 &= ~0x01;               // Pull reset low}void ether_reset_high (void){   P1 |= 0x01;               // Allow /RST to rise   while(!(P1 & 0x01));      // Wait for /RST to go high}

void EMIF_Init (void){   EMI0CF = 0x1B;             // non-muxed mode; split mode                              // with bank select   EMI0TC = EMIF_TIMING;      // This constant may be modified                              // according to SYSCLK to meet the                              // timing requirements for the CP2200   EMI0CN = BASE_ADDRESS;     // Page of XRAM accessed by EMIF}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本道在线观看一区二区| 日韩精品三区四区| 久久久一区二区三区| 欧美夫妻性生活| 欧美视频一区二区三区在线观看 | 欧美一区二区人人喊爽| 欧美日韩综合在线免费观看| 在线视频国产一区| 91传媒视频在线播放| 欧美日韩国产中文| 日韩一级二级三级| wwwwxxxxx欧美| 国产精品美女久久久久aⅴ国产馆| 337p日本欧洲亚洲大胆精品 | 亚洲国产精华液网站w| 日本一区二区三级电影在线观看| 国产欧美日韩三区| 亚洲欧洲精品一区二区三区不卡| 亚洲欧美偷拍三级| 亚洲国产cao| 国产一本一道久久香蕉| 懂色中文一区二区在线播放| www.色综合.com| 欧美性色欧美a在线播放| 欧美日韩国产一二三| 欧美成人午夜电影| 国产精品水嫩水嫩| 婷婷国产v国产偷v亚洲高清| 蜜臀av性久久久久蜜臀aⅴ| 国产宾馆实践打屁股91| 欧美主播一区二区三区美女| 在线播放日韩导航| 国产精品乱人伦| 日产国产欧美视频一区精品| 国产精品综合视频| 欧美日韩精品欧美日韩精品一| 欧美va日韩va| 亚洲精品欧美激情| 国产乱子伦视频一区二区三区| 91网上在线视频| 精品国产乱码久久久久久蜜臀| 亚洲嫩草精品久久| 国产一区二区免费在线| 欧美亚洲高清一区| 国产精品精品国产色婷婷| 免费高清在线一区| 91国产福利在线| 欧美激情综合网| 久久精品国产成人一区二区三区 | 欧美日韩视频在线观看一区二区三区 | 99国产精品久久久| 日韩免费观看2025年上映的电影| 亚洲欧美综合在线精品| 国产毛片精品视频| 色婷婷精品久久二区二区蜜臀av | av亚洲精华国产精华| 欧美日韩一区在线| 亚洲天堂网中文字| 久久精品国产99久久6| 国产精品996| 欧美xxxx老人做受| 免费av成人在线| 91麻豆精品国产91久久久资源速度| 中文字幕一区二区不卡| 精彩视频一区二区三区| 欧美一区二区成人| 蜜桃视频一区二区三区在线观看| 在线看国产一区二区| 自拍偷拍国产精品| 日本二三区不卡| 亚洲精品视频一区| 色综合久久久久综合体桃花网| 国产精品女主播在线观看| 国产成人在线视频播放| 久久久蜜臀国产一区二区| 麻豆专区一区二区三区四区五区| 日韩三级在线观看| 美女尤物国产一区| 日韩精品一区二区三区在线播放| 日本不卡在线视频| 欧美成人精精品一区二区频| 精品一区二区在线免费观看| 精品福利一区二区三区| 国产美女主播视频一区| 中文字幕欧美三区| 欧洲一区在线观看| 亚洲v精品v日韩v欧美v专区| 欧美一区二区三区四区五区| 美女视频黄 久久| 久久综合国产精品| 丁香一区二区三区| 亚洲精品免费在线| 91精选在线观看| 国产在线观看一区二区| 亚洲欧洲另类国产综合| 91成人在线精品| 麻豆精品在线视频| 国产精品无圣光一区二区| 色综合久久久久| 视频在线观看国产精品| 久久精品人人爽人人爽| 色狠狠av一区二区三区| 天天av天天翘天天综合网色鬼国产 | 亚洲一卡二卡三卡四卡无卡久久| 欧美三区在线视频| 国产在线精品一区二区不卡了| 久久久久久久久免费| 91电影在线观看| 国产一区二区电影| 亚洲综合一区二区三区| 亚洲精品在线三区| 欧美在线免费播放| 国产曰批免费观看久久久| 亚洲天堂a在线| 26uuu久久天堂性欧美| 在线视频欧美区| 国产一区二区三区电影在线观看| 亚洲资源在线观看| 日本一区二区视频在线| 欧美一级在线免费| 99re这里只有精品视频首页| 麻豆成人久久精品二区三区红 | 欧美精品一区二区高清在线观看 | 69av一区二区三区| www.色精品| 激情五月婷婷综合网| 一二三区精品福利视频| 久久婷婷色综合| 91精品欧美一区二区三区综合在| 波多野结衣在线aⅴ中文字幕不卡| 婷婷一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 亚洲一区在线观看免费| 久久伊人中文字幕| 日韩女优制服丝袜电影| 欧美视频一二三区| 91啪亚洲精品| www..com久久爱| 成人免费看视频| 国产乱码精品一区二区三| 日韩1区2区3区| 首页欧美精品中文字幕| 亚洲一区在线观看免费| 国产精品久久久久久久久免费相片 | 美女一区二区三区| 日本欧美一区二区| 天堂久久久久va久久久久| 亚洲最新在线观看| 亚洲国产欧美在线人成| 亚洲成人激情自拍| 午夜精品免费在线| 亚洲一区影音先锋| 亚洲五码中文字幕| 日韩电影在线观看网站| 日韩国产一二三区| 精品中文av资源站在线观看| 韩日精品视频一区| 国产一区二区福利视频| 国产aⅴ综合色| 91麻豆福利精品推荐| 色综合欧美在线| 欧美日韩精品一区二区三区蜜桃| 欧美日韩在线一区二区| 欧美日韩国产综合视频在线观看 | 91久久奴性调教| 精品1区2区3区| 精品裸体舞一区二区三区| 久久免费美女视频| 亚洲国产经典视频| 一区2区3区在线看| 日本欧美一区二区在线观看| 美女视频网站黄色亚洲| 国产成人综合在线| 色婷婷亚洲一区二区三区| 91麻豆免费看片| 欧美在线不卡一区| 精品国产成人系列| 亚洲欧美在线另类| 调教+趴+乳夹+国产+精品| 免费三级欧美电影| 97久久精品人人做人人爽| 欧美日韩一区高清| 久久久久青草大香线综合精品| 国产精品久久777777| 婷婷丁香久久五月婷婷| 成人黄色一级视频| 51精品久久久久久久蜜臀| 国产亚洲一区字幕| 亚洲午夜激情网页| 国产精品一二三区| 欧美日韩国产美| 国产目拍亚洲精品99久久精品| 亚洲国产一区二区视频| 国产白丝精品91爽爽久久| 91久久人澡人人添人人爽欧美 | 91麻豆精品国产91久久久更新时间| 精品国产乱码久久久久久免费| 悠悠色在线精品| 成人污污视频在线观看| 日韩午夜在线观看视频|