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

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

?? main.c

?? 基于STC51芯片系列STC89LE516X2的LCD顯示源代碼
?? C
字號:

//#include <STC89.h> 
#include <reg52.h> 
#include <intrins.h>
#include "mcu.h"
#include "kaixin.h" 
#include "ascii.h"


#define VopADD	3	//Vlcd 增加
#define VopSUB	4	//Vlcd 減少
#define DispDN	1	//畫面向下翻
#define DispUP	2	//畫面向上翻

//定義與 ADC 有關的特殊功能寄存器
sfr P1_ADC_EN = 0x97;               // A/D 轉換功能允許寄存器
sfr ADC_CONTR = 0xC5;               // A/D 轉換控制寄存器
sfr ADC_DATA  = 0xC6;               // A/D 轉換結果寄存器

sbit LCD_CS1  =P3^3;                //sbit 數據類型 值域 0/1
sbit LCD_RST  =P3^4;
sbit LCD_RS1  =P3^5;
sbit LCD_WR1  =P3^6;
sbit LCD_RD1  =P3^7;

//#define DATAL P1
#define lcd_data P0

unsigned char contrst=0x31;

void delay_us(char us_value);
void delay_ms(unsigned int ms_value);
void init_RS232 (void);
void Send_Byte(char one_byte);
unsigned char get_AD_result(unsigned char channel);
unsigned char key_dowith(void);

void init_cpu(void);
void init_lcd(void);
void wr_cmd(unsigned char wrcmd);
void wr_data(unsigned char wrdata);
void disp_all(unsigned char value);
void disp_check(unsigned char value);
void disp_bmp(char *bmp);
//-----------------------------------------------------------------------------
//=============================================================================
//-----------------------------------------------------------------------------
void init_RS232 (void)          	// 串口初始化
{
    ES = 0;                         // 禁止串口中斷
    SCON = 0x50;                    // 0101,0000  8位數據位, 無奇偶校驗
    T2CON = 0x34;                   // 0011,0100, 由T2作為波特率發生器
    RCAP2H = 0xFF;                  // 時鐘11.0592MHz,  9600 波特率
    RCAP2L = 0xDB;
    ES = 1;                         // 允許串口中斷
}
//-----------------------------------------------------------------------------
void Send_Byte(char one_byte)      // 發送一個字節
{
    TI = 0;                         // 清零串口發送中斷標志
    SBUF = one_byte;
    while (TI == 0);
    TI = 0;                         // 清零串口發送中斷標志
}
//-----------------------------------------------------------------------------
unsigned char get_AD_result(unsigned char channel)
{
	unsigned char AD_finished = 0; 	// 存儲 A/D 轉換標志

	ADC_DATA =  0;
	ADC_CONTR  = channel; 			//選擇 A/D 當前通道
	delay_us(1); 				//使輸入電壓達到穩定
	ADC_CONTR |= 0x08; 			//0000,1000 令 ADC_START = 1, 啟動A/D轉換
	AD_finished = 0;
	while ( AD_finished == 0 ) //等待A/D轉換結束
	{
      	AD_finished = (ADC_CONTR & 0x10);  //0001,0000, ADC_FLAG ==1 測試A/D轉換結束否
	}
	ADC_CONTR &= 0xF7;                  //1111,0111 令 ADC_START = 0, 關閉A/D轉換,
	return (ADC_DATA);   // 返回 A/D 轉換結果
}
//-----------------------------------------------------------------------------
unsigned char key_dowith(void)
{
	unsigned char value;

	value = get_AD_result(3);
	//Send_Byte(value);

	if((value<0xec)&&(value>0xe8)) 	return 1;
	else if((value<0xe2)&&(value>0xdd)) return 2; 
	else if((value<0xc7)&&(value>0xc0)) return 3;
	else if(value<0x10) 			return 4;
	else                                return 0;

}
//=============================================================================
void delay_us(char us_value)	//delay about 1 us
{
	while(us_value--)
	{
		_nop_();
		_nop_();
		_nop_();
	}
}
//-----------------------------------------------------------------------------
void delay_ms(unsigned int ms_value)	//delay about 1 ms
{
	unsigned int k;

	for(k=0;k<ms_value;k++)
	{
		delay_us(200);
	}
}
//-----------------------------------------------------------------------------
void init_cpu()	//Initial 89C52
{
      delay_ms(5);
      lcd_data=0x00;
	LCD_RST = 0;
	LCD_CS1 = 1;
	LCD_RS1 = 0;
	LCD_WR1 = 1;
	LCD_RD1 = 1;
      delay_ms(5);
	LCD_RST = 1;
	delay_ms(50);
}
//-----------------------------------------------------------------------------
void wr_cmd(unsigned char wrcmd)
{
      LCD_RS1 = 0;      //select instruction
	LCD_CS1 = 0;
	lcd_data=wrcmd;      
	LCD_WR1 = 0;
      //delay_us(1);
	LCD_WR1 = 1;
      //delay_us(1);
	LCD_CS1 = 1;
	//delay_us(1);
	
}
//-----------------------------------------------------------------------------
void wr_data(unsigned char wrdata)
{
      LCD_RS1 = 1;      //select instruction
	LCD_CS1 = 0;
	lcd_data=wrdata;      
	LCD_WR1 = 0;
      //delay_us(1);
	LCD_WR1 = 1;
      //delay_us(1);
	LCD_CS1 = 1;
	//delay_us(1);
}
//-----------------------------------------------------------------------------
void init_lcd(void)
{

	wr_cmd(0xa4);	//EON=0,normal display
	wr_cmd(0xa6);	//REV=0,normal display
	wr_cmd(0xa0);	//ADC=0,SEG0->SEG131
	wr_cmd(0x40);	//Initial display line for COM0
	wr_cmd(0xc8);	//SHL select,COM63->COM0
	delay_us(1);

	wr_cmd(0x81);	//SET Register
	wr_cmd(contrst);

	delay_us(1);
	wr_cmd(0xa3);	//SET BIAS
	delay_us(1);
	wr_cmd(0x2f);
	delay_ms(1);
	wr_cmd(0xaf);	//dispaly on
	delay_ms(1);
}
//-----------------------------------------------------------------------------
void disp_all(unsigned char value)
{
	unsigned char ii,jj;

	for(ii=0;ii<8;ii++)
	{
		wr_cmd(0xb0+ii);
		wr_cmd(0x10);
		wr_cmd(0x00);
		for(jj=0;jj<128;jj++)
			wr_data(value);
	}
}
//-----------------------------------------------------------------------------
void disp_check(unsigned char value)
{
	unsigned char ii,jj;

	for(ii=0;ii<8;ii++)
	{
		wr_cmd(0xb0+ii);
		wr_cmd(0x10);
		wr_cmd(0x00);
		for(jj=0;jj<64;jj++)
		{
			wr_data(value);
			wr_data(~value);
		}
	}
}
//----------------------------------------------------------------------------------
void disp_bmp(char *bmp)
{
	unsigned char ii,jj;

	for(ii=0;ii<8;ii++)
	{
		wr_cmd(0xb0+ii);
		wr_cmd(0x10);
		wr_cmd(0x00);
		for(jj=0;jj<128;jj++) wr_data(bmp[ii*128+jj]);
	}
}
//-----------------------------------------------------------------------------
void show_contrst()
{
	unsigned char nn;
	unsigned char tmph,tmpl;

	tmph=contrst/10;
	tmpl=contrst%10;

	wr_cmd(0xb0);
	wr_cmd(0x10);
	wr_cmd(0x02);
	for(nn=0;nn<6;nn++)
		wr_data(num[tmph*6+nn]);
	for(nn=0;nn<6;nn++)
		wr_data(num[tmpl*6+nn]);
	delay_ms(200);
}
//----------------------------------------------------------------------------------
#define bmpMAX	5

void main(void)
{
	unsigned char dispID,dispIP;
	unsigned char keyValue;

	init_cpu();
	init_lcd();
	init_RS232();
	//disp_bmp(mcu);

	dispID = 0;
	dispIP = 1;

	while(1)
	{
		keyValue = key_dowith();
		if(keyValue>0)
		{
			switch(keyValue)
			{
				case DispDN:
					if(dispID<bmpMAX) dispID++;
					else              dispID = 0;
					dispIP = 1;
					break;
				case DispUP:
					if(dispID>1) dispID--;
					else         dispID = bmpMAX;
					dispIP = 1;   
					break;
				case VopADD:
					if(contrst<63) contrst++;
					wr_cmd(0x81);
					wr_cmd(contrst);
					delay_us(2);
					show_contrst();
					break;
				case VopSUB:
					if(contrst>0) contrst--;
					wr_cmd(0x81);
					wr_cmd(contrst);
					delay_us(2);
					show_contrst();
					break;
				default: break;
			}
		}

		//Send_Byte(key_dowith());
		//delay_ms(1000);

		if(dispIP)
		{
			dispIP = 0;
			switch(dispID)
			{
				case 0: disp_bmp(mcu); 		break;
				case 1: disp_bmp(kaixin);	break; 
				case 2: disp_all(0xff);		break;
				case 3: disp_all(0x00);		break;
				case 4: disp_check(0xAA);	break;
				case 5: disp_check(0x55);	break;
				default: break;
			}
			delay_ms(300);
		}
	}
}
//----------------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国模大尺度私拍在线视频| 日韩一区欧美小说| 成人国产一区二区三区精品| 亚洲v日本v欧美v久久精品| 日韩欧美一级在线播放| av亚洲精华国产精华精| 久久机这里只有精品| 亚洲女同ⅹxx女同tv| 精品久久久久久久人人人人传媒 | 欧美精品一区二区精品网| 99精品欧美一区二区三区综合在线| 看国产成人h片视频| 亚洲综合一区在线| 中文字幕免费不卡在线| 日韩欧美一区二区不卡| 在线播放91灌醉迷j高跟美女 | 91麻豆福利精品推荐| 国产精品白丝av| 开心九九激情九九欧美日韩精美视频电影 | 色婷婷精品大在线视频| 国产精品一区在线观看你懂的| 视频一区二区不卡| 亚洲人成影院在线观看| 久久久精品tv| 精品国产电影一区二区| 7777精品伊人久久久大香线蕉完整版 | 成人午夜免费av| 久久国产精品一区二区| 肉肉av福利一精品导航| 一区二区三区不卡视频在线观看| 亚洲国产成人在线| 久久婷婷一区二区三区| 日韩精品资源二区在线| 91精品国产综合久久婷婷香蕉| 色播五月激情综合网| jizz一区二区| 99这里只有久久精品视频| 国产99精品国产| 国产不卡视频一区| 国产成a人无v码亚洲福利| 国产精品一区二区果冻传媒| 精品一二三四在线| 久久国产精品99久久久久久老狼| 秋霞午夜鲁丝一区二区老狼| 日韩黄色小视频| 五月天激情综合| 天堂蜜桃91精品| 污片在线观看一区二区| 日本sm残虐另类| 精品亚洲国产成人av制服丝袜| 裸体在线国模精品偷拍| 精品夜夜嗨av一区二区三区| 国产精品中文字幕欧美| 国产一区二区三区精品欧美日韩一区二区三区| 麻豆精品一区二区| 国产成人在线观看免费网站| 高清久久久久久| 91偷拍与自偷拍精品| 欧美色精品天天在线观看视频| 欧美系列日韩一区| 在线综合亚洲欧美在线视频| 欧美不卡激情三级在线观看| 久久网这里都是精品| 亚洲人成精品久久久久久| 一卡二卡三卡日韩欧美| 激情国产一区二区| 国产一区91精品张津瑜| 91在线小视频| 欧美精品日日鲁夜夜添| 精品欧美久久久| 亚洲欧洲国产日本综合| 午夜精品一区二区三区三上悠亚| 老司机精品视频一区二区三区| 国产成人免费在线观看不卡| 色综合天天做天天爱| 欧美肥妇毛茸茸| 欧美国产日韩在线观看| 亚洲在线中文字幕| 精品一区二区三区免费视频| 99国产精品一区| 日韩欧美一二三四区| 欧美国产精品劲爆| 日韩经典中文字幕一区| 波多野结衣91| 91精品国产美女浴室洗澡无遮挡| 国产日韩欧美精品综合| 婷婷综合在线观看| aa级大片欧美| 日韩精品中文字幕在线一区| 亚洲女与黑人做爰| 国内精品国产成人| 欧美日韩国产成人在线免费| 国产欧美日韩久久| 奇米影视7777精品一区二区| 波多野结衣在线一区| 日韩一区二区影院| 亚洲激情一二三区| 国产精品 日产精品 欧美精品| 欧美制服丝袜第一页| 国产偷国产偷精品高清尤物 | 国产欧美日韩在线| 日韩精品电影在线观看| 一本久久a久久精品亚洲| 日韩欧美综合在线| 一卡二卡欧美日韩| 99热这里都是精品| 久久久五月婷婷| 日韩激情一区二区| 欧美性生活久久| 自拍偷自拍亚洲精品播放| 久久91精品久久久久久秒播| 欧美系列一区二区| 亚洲精品美国一| 99久久免费精品| 中文字幕免费观看一区| 国内精品久久久久影院薰衣草 | 日韩理论片网站| 国产麻豆一精品一av一免费| 欧美一区二区三区免费视频| 一区二区三区四区在线| 成人一区在线看| 国产亚洲精品精华液| 国产在线不卡一卡二卡三卡四卡| 欧美精品视频www在线观看 | 国产精品日日摸夜夜摸av| 久88久久88久久久| 日韩欧美在线影院| 免费不卡在线视频| 日韩一级精品视频在线观看| 婷婷综合在线观看| 欧美精品三级日韩久久| 日韩电影免费一区| 91精品国产91久久久久久一区二区 | 一区二区三区在线视频观看58| 成人av综合在线| 国产精品麻豆视频| kk眼镜猥琐国模调教系列一区二区 | 日韩国产精品久久久久久亚洲| 91麻豆swag| 亚洲综合小说图片| 欧美性猛交xxxxxx富婆| 午夜视频在线观看一区二区三区 | 国产人成亚洲第一网站在线播放 | 亚洲欧美成人一区二区三区| 91婷婷韩国欧美一区二区| 亚洲激情自拍视频| 欧美亚洲综合色| 秋霞午夜av一区二区三区| 日韩免费成人网| 国产一区二区不卡| 国产精品网站在线观看| 成人免费高清在线| 亚洲免费观看高清完整版在线观看 | 久久久久9999亚洲精品| 国产在线不卡一区| 中文字幕视频一区| 日本乱人伦aⅴ精品| 亚洲国产视频a| 日韩一区二区免费在线电影| 九一九一国产精品| 国产精品视频一区二区三区不卡| av资源网一区| 亚洲大片一区二区三区| 欧美一区二区二区| 国产福利一区二区三区在线视频| 欧美国产一区二区| 在线观看日韩精品| 老司机精品视频在线| 国产精品乱码久久久久久| 色婷婷精品久久二区二区蜜臂av| 五月婷婷久久丁香| 国产日韩精品一区二区三区| 91麻豆文化传媒在线观看| 日韩国产精品大片| 国产欧美日韩卡一| 91.com视频| 风流少妇一区二区| 午夜精品久久久| 国产婷婷色一区二区三区在线| 91玉足脚交白嫩脚丫在线播放| 日本中文一区二区三区| 国产精品免费丝袜| 欧美精品一二三四| 成人激情av网| 日本不卡视频在线观看| 一区二区中文视频| 精品美女一区二区| 日本精品一级二级| 国产精品一二一区| 污片在线观看一区二区| 国产精品乱码一区二区三区软件| 欧美一区二区在线免费播放| 成人18视频日本| 久久99国产精品久久| 亚洲影院免费观看| 中文无字幕一区二区三区 | 欧美一区二区三区婷婷月色| 成人福利视频在线看| 美腿丝袜在线亚洲一区| 亚洲伊人色欲综合网|