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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd_12864.txt

?? LCD12864的源碼,采用IO口控制,包含了完整的驅(qū)動函數(shù),及測試程序.
?? TXT
字號:
#include<lcd.h>

//復(fù)位函數(shù)實現(xiàn)
void rst_bit ()
{
RST = 0;   //低電瓶有效

}

//延時子函數(shù)
void delay(uchar ms)   ////number=1 延遲100ms
{
int i,j;
while(ms--)
{
  for(i = 0; i <= OUTCOUNT; i++)
  {
  for(j = 0; j <= INCOUNT; j++)
{
}
  }
}
}

//LCD初始化
void interlize(uchar model)
{
RST = 1;
_nop_();
if(model == PAR)
{
PSW = 1;
}
else
{
PSW = 0;
}
}

//檢測忙標志
void check_busy()
{
LCD_DATA = 0xff;
RS = 0; //開通寫指令
RW = 1;   //讀取端口的狀態(tài)
E = 1;   //開通讀寫信號
while(LCD_DATA &= 0x80);
E = 0;
}

//寫指令子函數(shù)
void write_code(uchar com)
{
check_busy();
RS = 0;   //選擇寫數(shù)據(jù)
RW = 0; //寫操作
LCD_DATA = com;
E = 1;
_nop_();
_nop_();
E = 0;
}

//寫數(shù)據(jù)子函數(shù)
void write_data(uchar dat)
{
check_busy();
RS = 1;
RW = 0;
LCD_DATA = dat;
E = 1;
_nop_();
_nop_();
E = 0;
}
//取字符字符子函數(shù)
void take_data( uchar *Cdata/*字符串地址*/, uchar icount/*intalized 16*/,uchar com/*intalized lcd address*/,int i/*intalize 0*/)
{
write_code(com);
while(icount--)
{
  if(Cdata != '\0')
{
      write_data(Cdata[i++]);
  delay(1);
      }
  else
  {
  return 
      }
}
}

//清屏子函數(shù)
void clc()
{
write_code(0x01);
write_code(0x34);
write_code(0x30);
}

//重新設(shè)置屏幕屬性換子函數(shù)
void flash()
{
write_code(0x08);   //關(guān)閉顯示
delay(1);
write_code(0x0c);   //開顯示關(guān)光標 不閃爍
delay(1);
write_code(0x08);   //關(guān)顯示 
delay(1);
write_code(0x0c);   //關(guān)顯示 關(guān)光標 不閃爍
delay(1);
write_code(0x08);   //關(guān)顯示
delay(1);
}

//圖形顯示子函數(shù)
void dis_grah()
{

}

//對點陣圖形清屏
void dis_dot(uchar send_data1, uchar send_data2, uchar LCD_X, uchar LCD_Y, uchar icount1, uchar icount2, uchar icount3, uchar flag)
{
write_code(0x01);   //清屏
icount3 = 2;
write_code(LCD_X);
//
while(icount3--)
  {
  icount2 = 32;
  flag = 0;
LCD_Y = 0x80;
while(icount2--)
{
    icount1 = 16;
  write_code(0x34);
  write_code(LCD_Y);
  write_code(LCD_X);
  write_code(0x30);
  if(flag == 0)
  {
  while(icount1--)
  {
      write_data(send_data1);
  }
    LCD_Y++;
  flag = 1;
  }
  else
  {
  while(icount1--)
    {
    write_data(send_data2);
    }
    LCD_Y++;
    flag = 0;
  }
}

LCD_X = 0x88;

}
//
write_code(0x36);
write_code(0x30);
}
//畫水漆直線子函數(shù)
void draw_xline(uchar x, uchar y, uchar line_data, uchar icount)
{
write_code(0x34);
write_code(y);
delay(1);
write_code(x);
write_code(0x30);
while(icount--)
{
    write_data(line_data);
  //delay(1);
}
write_code(0x36);
write_code(0x30);

}

/********************************************
* 功能:整數(shù)到字符串的轉(zhuǎn)換
* 參數(shù):
*     str --- 轉(zhuǎn)換串的存儲首地址
*     n   --- 待轉(zhuǎn)換的整數(shù)
*     base -- 按不同的數(shù)制轉(zhuǎn)換,支持2,8,10,16
* 返回:
*     正常返回轉(zhuǎn)換后的字符串首地址
*     錯誤返回空指針
*********************************************/
/*uchar * Itoa(uchar * str, uint n, uchar base)
{

  char * q = str;
  char * p = str; 

  // 只接受 2、8、10、16 進制數(shù)
  if(base != 2 && base != 8 && base != 10 && base != 16)
    return NULL;

  while(n > 0)
  {
    uint tmp = n % base;
    if(tmp >= 10)
        *p++ = tmp - 10 + 'A';
    else
        *p++ = tmp + '0';

    n /= base;
  }
  *p-- = '\0';

  // 按求余轉(zhuǎn)換的定義,需要將余數(shù)反序
  while(q < p)
  {
    *p ^= *q ^= *p ^= *q;
    ++q;
    --p;
  }
  
  return str;
}*/

//畫點子函數(shù)
void show_dot(uchar x, uchar y)
{
uchar line_data;
if (x <= 15)
{
if( x<= 7)
{
  line_data = 0x80>>x;   
  draw_xline(0x80,0x90-y,line_data,1);
}
else
{
  line_data = 0x01<<(15-x);
  draw_xline(0x80,0x90-y,line_data,2);
  draw_xline(0x80,0x90-y,0x00,1);
  //line_data_two(0x00,0x01,0x80,0x90-y,0,0,0);
}
}
else if(x > 15 && x <= 31 )
  {
if(x <= 23)
{   
    line_data = 0x01<<(23-x);   
        draw_xline(0x81,0x80+(8-(23-y)),line_data,1);
}   
else
{
  line_data = 0x01<<(31-x);
  draw_xline(0x81,0x90-(31-y),line_data,2);
  draw_xline(0x81,0x90-(31-y),0x00,1);
}
  }
else if(x > 31 && x <= 47)
{
if(x <= 39)
{
    line_data = 0x01<<(39-x);   
  draw_xline(0x92,0x90+(8-(39-x)),line_data,1);
}
else
{
  line_data = 0x01<<(47-x);
  draw_xline(0x92,0x9f-(47-y-1),line_data,2);
  draw_xline(0x92,0x9f-(47-y-1),0x00,1);
}
}
else if(x > 47 && x <= 63)
{
if(x <= 55)
{
  line_data = 0x01<<(55-x);   
  draw_xline(0x93,0x9f-(8-(55-x)-1),line_data,1);
}
else
{
  line_data = 0x01<<(63-x);
  draw_xline(0x93,0x90+(63-y),line_data,2);
  draw_xline(0x93,0x90+(63-y),0x00,1);
}
}
}

//發(fā)送兩個8位數(shù)畫縣
/*void line_data_two(uchar send_data1, uchar send_data2, uchar LCD_X, uchar LCD_Y, uchar icount1, uchar icount2, uchar icount3, uchar flag)
{
write_code(0x01);   //清屏
icount3 = 1;
write_code(LCD_X);
//
while(icount3--)
  {
  icount2 = 2;
  flag = 0;
LCD_Y = 0x80;
while(icount2--)
{
    icount1 = 1;
  write_code(0x34);
  write_code(LCD_Y);
  write_code(LCD_X);
  write_code(0x30);
  if(flag == 0)
  {
  while(icount1--)
  {
      write_data(send_data1);
  }
    LCD_Y++;
  flag = 1;
  }
  else
  {
  while(icount1--)
    {
    write_data(send_data2);
    }
    LCD_Y++;
    flag = 0;
  }
}

LCD_X = 0x88;

}
//
write_code(0x36);
write_code(0x30);
}*/
//////////////////////////////////////////////////////////////////////////////////////////////LCD.C結(jié)束
/*******************************************************************************
* 標題:1286 液晶驅(qū)動(控制器TS7920)
* 文件:lcd_12864_driver.h
* 日期:2005-8-26
* 版本:v.0
* 作者:辛萬江
/********************************************************************************/
// 描述:
// 采用并口方式控制數(shù)據(jù)輸入輸出
/********************************************************************************/
#ifndef LCD_12864_DRIVER

#include<reg51.h>
#include<intrins.h>
#include<STDIO.H>
#include<STRING.H>
#include <STDLIB.H>
#include <CTYPE.H>
#include <FLOAT.H>
//控制引腳定義
sbit RS = P2^0;   //數(shù)據(jù)/指令選擇
sbit RW = P2^1;   //讀寫選擇
sbit E = P2^2;   //讀寫適鼓?
sbit PSB = P2^3;   //選擇數(shù)據(jù)傳輸模式并口或串口高并低串
sbit RST = P2^5;

//數(shù)據(jù)線
#define LCD_DATA P0
//
#define uchar unsigned char
#define uint unsigned int
#define true 1   //忙標志
#define false 0   //閑標志
#define INCOUNT 10   //延時函數(shù)參數(shù)設(shè)置(注意所用的晶振?德剩?
#define OUTCOUNT 50       // 180
#define PAR 1   //并口模式
#define SER 0   //串口模式
/////////////////////////////////////////////////////////////////函數(shù)定義
//復(fù)位函數(shù)
void rst_bit();

//初始化函數(shù)
void interlize(uchar model);

//寫指令子函數(shù)
void write_code(uchar com);

//寫數(shù)據(jù)子函數(shù)
void write_data(uchar dat);
//忙判斷
void check_busy ();

//延時子函數(shù)
void delay(uchar ms);

//清屏子函數(shù)
void clc();

//顯示圖形子函數(shù)
void dis_grah();

//顯示數(shù)據(jù)子函數(shù)
void dis_char_mumber();

//取數(shù)據(jù)子函數(shù)
void take_data(uchar *Cdata/*字符串地址*/, uchar/**/icount, uchar com/**/,int i);

//重新設(shè)置屏幕屬性換子函數(shù)
void flash();

//顯示點陣子函數(shù)
void dis_dot(uchar send_data1, uchar send_data2, uchar LCD_X, uchar LCD_Y, uchar icount1, uchar icount2, uchar icount3, uchar flag);

//調(diào)用半腳字符顯示
void show_half_char();

//調(diào)用漢字字庫顯示
void show_chinse();

//畫橫直線子函數(shù)
void draw_xline(uchar x, uchar y, uchar line_data, uchar icount);

//整型轉(zhuǎn)蛔址?
uchar * Itoa(uchar * str, uint n, uchar base);

//畫點子函數(shù)
void show_dot(uchar x, uchar y);

//發(fā)送兩個8位數(shù)畫縣
/*void line_data_two(uchar send_data1, uchar send_data2, uchar LCD_X, uchar LCD_Y, uchar icount1, uchar icount2, uchar flag);*/

#endif
////////////////////////////////////////////////////////////////////////////////////LCD.H結(jié)束
///下面是我的測試程序
/*******************************************************************************
* 標題:1286 液晶驅(qū)動(控制器TS7920)
* 文件:lcd_12864_driver.h
* 日期:2005-8-26
* 版本:v.0
* 作者:辛萬江
/********************************************************************************/
// 描述:
// 采用并口方式控制數(shù)據(jù)輸入輸出
/********************************************************************************/
#include<lcd.c>
/////////////////////////////////////////////////////////////////////////////////

uchar TAB[12] = "顯示結(jié)果:";
uchar code TAB2[]= "X=       ";
uchar code TAB3[]= "   121111 ";
uchar code TAB4[]= "犯得上法121 ";
uchar buffer[3];
uchar buffer1[5];
float i = 16.89;
int j = 0;
void *pf;
uchar *fd;
//int i = 16;
uchar x = 0;
uint count;
/////////////////////////////////////////////////////////////////////////////////
main()
{
///////////////////////////////////////////////////準備工作設(shè)定顯示方式
rst_bit();
delay(2);   //延時兩微妙
interlize(1);   //采用并口模式
write_code(0x34); //34h擴充功能設(shè)定
write_code(0x30); //30h基本操作指令
write_code(0x01); //01h清楚顯示指令
write_code(0x06); //06h指定在資料讀仁? ,光標的移動方向
write_code(0x0c); //0ch開顯示,關(guān)光標,不閃爍
////////////////////////////////////////////////////準備工作完畢
//顯示漢字和字符
clc();
//點陣清屏
dis_dot(0x00,0x00,0x80,0x80,0,0,0,0);
//Itoa(temp, i, 10);
//strcat(TAB1,temp);
//char buffer[3];
//將FLOAT轉(zhuǎn)化為字符
fd = buffer1;
pf = &i;
for(j = 0 j < 4; j++)
{
*(fd+j) = *((char *)pf+j);
}
//sprintf(buffer, "%f", i);
buffer1[4] = '\0';
strcat(TAB,buffer1);
take_data(TAB,16,0x88,0);
//sprintf(TAB1 + 4, "%d",i);
//TAB1[6]='\0'
for(x = 0; x < 64; x++)
show_dot(x,x);
draw_xline(0x90,0x90,0xff,16);
//draw_xline(0x9f,0x9f,0xff,16);
//draw_xline(0x80,0x80,0xff,16);
//draw_xline(0x9f-18,0x80,0xff,16);
while(1);
}
//////////////////////////////////////////////////////////////////////////main結(jié)束

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲青青青在线视频| 久久99精品国产麻豆婷婷| 精品少妇一区二区三区视频免付费| 粉嫩绯色av一区二区在线观看| 五月天激情综合网| 中文字幕在线视频一区| 精品福利在线导航| 欧美巨大另类极品videosbest| 99精品热视频| 国产精品中文欧美| 日韩综合一区二区| 亚洲免费在线观看视频| 欧美韩国日本不卡| 精品国产亚洲在线| 欧美一区二区美女| 欧美日韩精品欧美日韩精品一综合| 成人精品鲁一区一区二区| 另类人妖一区二区av| 亚洲午夜电影在线观看| 专区另类欧美日韩| 国产精品免费久久久久| 久久精品夜夜夜夜久久| 精品久久久三级丝袜| 日韩三区在线观看| 欧美日韩精品一区二区| 欧美影院精品一区| 色综合一个色综合亚洲| 不卡的av电影在线观看| 国产成人在线视频免费播放| 久久精品国产免费看久久精品| 午夜精品福利一区二区三区av | 国产91精品一区二区麻豆亚洲| 强制捆绑调教一区二区| 丝袜美腿亚洲一区| 五月婷婷色综合| 亚洲成国产人片在线观看| 亚洲午夜一区二区三区| 天天射综合影视| 日韩国产一区二| 日本成人在线不卡视频| 蜜臀91精品一区二区三区| 久久99在线观看| 国产一区二区主播在线| 国产suv一区二区三区88区| 成人在线视频首页| 成人短视频下载| 91国偷自产一区二区三区观看| 色老汉一区二区三区| 欧美日韩日日夜夜| 欧美一区二区福利视频| 欧美精品一区二区三| 亚洲国产精品传媒在线观看| 国产精品电影一区二区| 中文字幕欧美一| 亚洲综合久久久| 日本免费新一区视频| 国产一区二区在线观看免费 | 欧美日韩一二三区| 91精品国产91综合久久蜜臀| 精品福利在线导航| 国产精品丝袜在线| 一区二区三区欧美| 毛片一区二区三区| 国产成人免费网站| 欧洲色大大久久| 日韩欧美国产午夜精品| 日本一区二区视频在线| 一区二区三区中文免费| 日韩国产精品91| 国产乱码精品1区2区3区| 色婷婷综合久久久中文字幕| 欧美日本在线播放| 久久久久一区二区三区四区| 亚洲人成网站在线| 毛片基地黄久久久久久天堂| av在线播放一区二区三区| 这里只有精品电影| 国产女同互慰高潮91漫画| 艳妇臀荡乳欲伦亚洲一区| 麻豆专区一区二区三区四区五区| 成人小视频在线| 欧美日韩国产综合视频在线观看| 欧美成人艳星乳罩| 最新国产精品久久精品| 欧美aa在线视频| 91在线免费视频观看| 日韩欧美中文字幕公布| 亚洲欧洲国产专区| 久久精品国产精品亚洲红杏 | 色综合视频一区二区三区高清| 欧美精品v日韩精品v韩国精品v| 中文字幕乱码久久午夜不卡| 午夜精品123| 99国产精品一区| 2022国产精品视频| 水蜜桃久久夜色精品一区的特点| av福利精品导航| 久久这里只精品最新地址| 亚洲成人一区二区在线观看| 99麻豆久久久国产精品免费优播| 欧美一级片在线观看| 亚洲欧美成aⅴ人在线观看| 国产精品99久久久久| 欧美一区二区视频在线观看2022| 亚洲摸摸操操av| 成人网页在线观看| 久久久久久久久久久久久女国产乱| 亚洲国产日产av| 99r国产精品| 中文一区二区在线观看| 国产在线一区观看| 欧美大肚乱孕交hd孕妇| 亚洲福利视频一区二区| 色噜噜偷拍精品综合在线| 国产精品青草久久| 国产乱码精品一区二区三| 精品人伦一区二区色婷婷| 全国精品久久少妇| 欧美日韩精品福利| 亚洲一级在线观看| 91久久精品一区二区三区| 亚洲欧洲一区二区在线播放| 岛国精品一区二区| 久久精品欧美日韩精品| 国产一区二区精品久久| 精品sm捆绑视频| 国产真实乱子伦精品视频| 亚洲精品在线免费观看视频| 久久99精品国产麻豆不卡| 欧美变态tickle挠乳网站| 美女视频网站黄色亚洲| 91精品国产高清一区二区三区 | 在线观看av一区| 一区二区在线看| 91视频精品在这里| 国产精品九色蝌蚪自拍| av中文一区二区三区| 亚洲精品写真福利| 欧美日韩亚洲高清一区二区| 丝袜诱惑亚洲看片| 日韩三级视频在线看| 国产一区二区主播在线| 欧美激情在线一区二区| www.成人网.com| 一个色妞综合视频在线观看| 欧美久久一区二区| 激情五月婷婷综合| 国产精品网站在线观看| 一本色道久久综合亚洲精品按摩| 亚洲综合小说图片| 欧美精品第1页| 国产美女视频一区| 国产精品美女久久久久高潮| 色综合久久88色综合天天6| 午夜欧美在线一二页| 精品免费视频一区二区| 成人免费视频caoporn| 亚洲理论在线观看| 69p69国产精品| 国产一区三区三区| 亚洲视频在线一区二区| 91麻豆精品国产91久久久更新时间| 蜜臀av在线播放一区二区三区| 国产视频911| 欧美午夜精品久久久久久孕妇 | 免费高清不卡av| 日本一区二区免费在线| 欧美午夜影院一区| 国内精品伊人久久久久av一坑| 国产精品国产三级国产专播品爱网 | 欧美色视频一区| 蜜桃视频一区二区| 色呦呦国产精品| 日韩国产欧美一区二区三区| 久久综合久久综合久久综合| 91在线观看视频| 日韩主播视频在线| 青青草国产精品亚洲专区无| 在线亚洲一区二区| 国产精品乱码人人做人人爱| 欧洲一区二区av| 国产一区二区在线观看免费| 亚洲精品日韩综合观看成人91| 日韩一区二区三区四区五区六区| 成人av片在线观看| 精品一区二区三区影院在线午夜| 亚洲图片激情小说| 日韩免费高清av| 欧美视频在线一区| 丁香桃色午夜亚洲一区二区三区| 婷婷激情综合网| 自拍av一区二区三区| 26uuu亚洲综合色| 欧美精品第1页| 91国在线观看| 不卡视频在线观看| 韩国一区二区在线观看| 亚洲成人av一区| 亚洲色图清纯唯美| 久久久久久久久久久久久女国产乱 |