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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lcd.c

?? 基于m16的尋跡尋光小車(chē)程序
?? C
字號(hào):
#define _LCD_C_
#include "LCD.h"
#include <iom16v.h>
//==========================================
//函數(shù)名稱(chēng):液晶模塊使能
//函數(shù)作用: 使能液晶
//入口參數(shù): 無(wú)
//返回類(lèi)型:無(wú)
//==========================================
void LCD_en_write(void)
{
  EN_SET;
  delay_nus(4);
  EN_CLR;
}

//==========================================
//函數(shù)名稱(chēng):寫(xiě)指令
//函數(shù)作用:
//入口參數(shù): 液晶指令command
//返回類(lèi)型:無(wú)
//==========================================
void LCD_write_command(uchar command)
{
  delay_nus( 16 );
  RS_CLR;
  DB &= 0X0F;           //清高四位
  DB |= command & 0xf0; //寫(xiě)高四位
  LCD_en_write();
  command=command << 4;   //低四位移到高四位
  DB &= 0x0f;             //清高四位
  DB |= command & 0xf0;   //寫(xiě)低四位
  LCD_en_write();
  //delay_nms(2);         //清屏指令時(shí)間很長(zhǎng), 保險(xiǎn)起見(jiàn),可以增加
}

//==========================================
//函數(shù)名稱(chēng):寫(xiě)數(shù)據(jù)
//函數(shù)作用:
//入口參數(shù): 數(shù)據(jù)DATA
//返回類(lèi)型:無(wú)
//==========================================
void LCD_write_data(uchar DATA)
{
  delay_nus(16);
  RS_SET;           //RS=1
  DB &= 0X0f;       //清高四位
  DB |= DATA&0xf0;  //寫(xiě)高四位
  LCD_en_write();
  DATA = DATA << 4; //低四位移到高四位
  DB &= 0X0f;       //清高四位
  DB |= DATA&0xf0;  //寫(xiě)低四位
  LCD_en_write();
}

//==========================================
//函數(shù)名稱(chēng):液晶初始化函數(shù)
//函數(shù)作用:
//入口參數(shù): 無(wú)
//返回類(lèi)型:無(wú)
//==========================================
void LCD_init( void )
{
  DB_DDR_OUT;
  LCD_write_command(0x28);
  LCD_en_write();           //********總結(jié)這里一定要加這液晶使能*********
  delay_nus(20);
  LCD_write_command(0x28);  //4位顯示
  LCD_write_command(0x0c);  //顯示開(kāi)
  LCD_write_command(0x01);  //清屏
  delay_nms(5);             //延時(shí)一定要長(zhǎng)
}

//==========================================
//函數(shù)名稱(chēng):寫(xiě)地址
//函數(shù)作用:
//入口參數(shù): 行位置r, 列位置c
//返回類(lèi)型:無(wú)
//==========================================
void LCD_set_rc( uchar r, uchar c )
{
    uchar address;

    if (r == 1)
    address = 0x80 + c;
    else if(r == 2)
    address = 0xc0 + c;

    LCD_write_command( address );
}

//==========================================
//函數(shù)名稱(chēng):寫(xiě)字符串
//函數(shù)作用: 在指定位置寫(xiě)一串字符串
//入口參數(shù): 行位置r, 列位置c, 字符串*s
//返回類(lèi)型:無(wú)
//==========================================
void LCD_write_string(uchar r, uchar c, uchar *s)
{
    LCD_set_rc( r, c ); //寫(xiě)地址

    while( *s )     	 	// 寫(xiě)顯示字符
    {
      LCD_write_data( *s );
      s++;
    }
}

void LCD_write_char(uchar r, uchar c, uchar DATA)				   //寫(xiě)字符
{
 	 LCD_set_rc( r, c );
	 LCD_write_data( DATA );
}

//==========================================
//函數(shù)名稱(chēng):寫(xiě)字符數(shù)組
//函數(shù)作用: 在指定位置寫(xiě)一串字符串
//入口參數(shù): 行位置r, 列位置c, 字符數(shù)組chardata[], 字符個(gè)數(shù)
//返回類(lèi)型:無(wú)
//==========================================
void LCD_write_array( uchar r, uchar c, uchar array[] )
{
 	uchar i = 0;
    while( array[i] != '\0' )
	{
	 	 LCD_write_char( r, c, array[i] );
	     if( ++c == 16 )
		 {
		     if( r == 1 )
			 {   
			     c = 0;
				 r = 2;
		  	  	 LCD_write_char( r, c, array[i] );
			 }
			 
			 else if( r == 2 )
			 {
			  	 c = 0;
				 r = 1;
				 LCD_write_char( r, c, array[i] );
		     }
	     }
		 i++;
	}  
}

//返回整形數(shù)據(jù)的長(zhǎng)度
char lengh_longint( long unsigned datalongint )
{
    long signed datatmp = datalongint;
    uchar data_n = 0;
    while( datatmp != 0 )
    {
        datatmp /= 10;
        data_n++;
    }

    if( datalongint == 0 )
    {
        data_n = 1;
    }

    return data_n;
}


//==========================================
//函數(shù)名稱(chēng):顯示一個(gè)整型數(shù)據(jù)
//函數(shù)作用: 在指定位置顯示整數(shù)
//入口參數(shù): 行位置r, 列位置c, 字符數(shù)組dataint[]
//返回類(lèi)型:無(wú)
//==========================================
void LCD_write_datalongint( uchar r, uchar c, long int dataint )
{
    uchar datachar1[8];
    uchar datachar2[8];
    uchar n = 0;
    uchar i =0;
    uchar k =0;        //取字符個(gè)數(shù)
    uchar kk = 0;      //取字符個(gè)數(shù)
	long int datainttmp = dataint;
	
    while( datainttmp != 0 )
    {
        datachar1[n++] = ( datainttmp % 10 ) + 0x30;  //轉(zhuǎn)換為字符
        datainttmp /= 10;
    }

    if( dataint != 0 )                   //*/*//*/
    {
        k = n - 1;
        kk = n;

        for( i = 0; i < kk; i++, k-- )
        {
            datachar2[k] = datachar1[i];               //將數(shù)字符串倒過(guò)來(lái)
        }

	    LCD_set_rc( r, c );
        for( i = 0; i < kk; i++ )
        {
            LCD_write_char( r, c++, datachar2[i] );
        }
    }
    
    else
    LCD_write_char( r, c, '0' );
}

//==========================================
//函數(shù)名稱(chēng):顯示一個(gè)實(shí)型數(shù)據(jù)
//函數(shù)作用: 在指定位置顯示實(shí)型數(shù)據(jù)
//入口參數(shù): 行位置r, 列位置c, 浮點(diǎn)型數(shù)據(jù)datafloat, 放大倍p, 倍數(shù)mm, 
//返回類(lèi)型:無(wú)
//示例    :LCD_write_datafloat( 1, 2, 0.0123, 10000, 4)
//==========================================
void LCD_write_datafloat( uchar r, uchar c, float datafloat, uint p, uint mm)
{
    uchar zhengshu_no = 0;
    uchar whole_fact_n;
    uchar xiaoshu_act_n;
    uchar ling_n;
    
    
    uchar i = 0;
    uchar n = 0;
    uchar k = 0;
    uchar kk = 0;
    uchar datachar1[9];
    uchar datachar2[9];
    uint zhengshu;                 //定義變量zhengshu來(lái)存放實(shí)數(shù)的整數(shù)部分
    uint xiaoxhu;                  //定義變量xiaoshu來(lái)存放實(shí)數(shù)的小數(shù)部分
    
    long int datawhole;
    long int datawholetmp;
    
    uchar zhengshu_n = 0;          //定義整數(shù)部分整數(shù)位數(shù)
    uchar xiaoshu_n = 0;           //定義小數(shù)部分整數(shù)位數(shù)
    uchar datawhole_n = 0;             //定義實(shí)數(shù)放大后的位數(shù)
    float datatemp1_f;
    float datatemp2_f;
    
    datatemp1_f = datafloat;
    datatemp2_f = datafloat;

    zhengshu = ( uint )datatemp1_f;       //取實(shí)數(shù)的整數(shù)部分

    zhengshu_n = lengh_longint( zhengshu );       //如果整數(shù)部分為0, 則只有一位整數(shù), 取整數(shù)位數(shù)
    
    datawhole = datatemp1_f * p;         //將實(shí)數(shù)放大,變成整數(shù), datawhole為放大后的數(shù)

    datawhole_n = lengh_longint( datawhole ); //如果整數(shù)部分為0, datawhole_n 不一定等于小數(shù)的位數(shù)

    whole_fact_n = mm + zhengshu_n;           ///*/*實(shí)際

    if( zhengshu  == 0 )
    {
        xiaoshu_act_n = lengh_longint( datawhole );
        ling_n = mm - xiaoshu_act_n;   //如果整數(shù)為0, 小數(shù)有效位為xiaoshu_act_n
    }

    else xiaoshu_act_n = mm;

    ling_n = mm - xiaoshu_act_n;  //用ling_0記錄小數(shù)部分前面0的位數(shù)

    for( i = 0; i < xiaoshu_act_n; i++ )
    {
        datachar1[n++] = ( datawhole % 10 ) + 0x30;  //轉(zhuǎn)換為字符
        datawhole /= 10;
    }

    k = n - 1;
    kk = n;                                         //記錄存入的個(gè)數(shù)

   for( i = 0; i < kk; i++, k-- )
    {
        datachar2[k] = datachar1[i];               //將數(shù)字符串倒過(guò)來(lái)
    }
	
	LCD_write_datalongint( r, c, zhengshu );    //顯示整數(shù)部分
	c = c + zhengshu_n;
	LCD_write_char( r, c, '.' );
    c++;
    for( i = 0; i < ling_n; i++ )            
    {
        LCD_write_char( r, c++, '0' );
    }

    for( i = 0; i < kk; i++ )
    {
        LCD_write_char( r, c++, datachar2[i] );
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91黄色免费网站| 欧美一区二区视频观看视频| 国产欧美一区二区精品久导航| 日韩一区精品字幕| 777xxx欧美| 美女免费视频一区二区| 欧美一区二区三区四区视频| 五月激情六月综合| 欧美精品久久久久久久久老牛影院| 亚洲永久精品大片| 欧美日韩第一区日日骚| 午夜精品久久久久影视| 7777精品伊人久久久大香线蕉最新版| 亚洲成人免费影院| 欧美久久久久久蜜桃| 日本不卡不码高清免费观看| 日韩一区二区三区四区| 精品无人码麻豆乱码1区2区| 精品国产伦一区二区三区观看方式| 久久精品国产77777蜜臀| 精品免费视频一区二区| 国产精品一区二区久久不卡| 欧美韩国日本综合| 91丨porny丨中文| 亚洲一区二区三区自拍| 欧美疯狂性受xxxxx喷水图片| 蜜桃久久久久久久| 337p日本欧洲亚洲大胆精品| 国产高清精品久久久久| 亚洲欧洲三级电影| 在线免费观看日韩欧美| 日韩专区在线视频| 精品sm在线观看| 丰满少妇久久久久久久| 亚洲免费在线看| 欧美三级日韩在线| 久久精品国产精品亚洲综合| 国产欧美综合色| 91浏览器在线视频| 午夜久久久久久久久久一区二区| 日韩一区二区在线看| 国产不卡高清在线观看视频| 亚洲乱码精品一二三四区日韩在线| 欧美日韩午夜在线视频| 精品伊人久久久久7777人| 日本一区二区三区视频视频| 色综合久久久久久久久久久| 天堂在线一区二区| 国产视频911| 91精彩视频在线观看| 免费观看91视频大全| 中日韩av电影| 欧美午夜精品一区二区三区| 久久国产夜色精品鲁鲁99| 国产精品美女久久久久久2018| 欧美亚洲国产一区二区三区| 精品制服美女久久| 国产精品中文字幕欧美| 亚洲婷婷综合久久一本伊一区 | 国产最新精品免费| 亚洲婷婷在线视频| 欧美一级在线观看| 丁香网亚洲国际| 午夜欧美视频在线观看| 中文字幕精品综合| 777奇米四色成人影色区| 岛国一区二区在线观看| 偷窥国产亚洲免费视频| 国产午夜精品一区二区| 欧美日韩国产欧美日美国产精品| 国产成人综合网站| 亚洲成人精品在线观看| 久久久777精品电影网影网| 欧美伊人久久久久久午夜久久久久| 黑人精品欧美一区二区蜜桃| 一区二区三区四区五区视频在线观看 | 国产一区二区美女| 亚洲一二三四在线| 欧美国产综合色视频| 欧美一区二区在线免费观看| 色偷偷一区二区三区| 国产精品自产自拍| 亚洲国产视频a| 国产精品美女久久久久aⅴ | 亚洲精品一二三| 久久久精品日韩欧美| 4hu四虎永久在线影院成人| 成人av电影观看| 国产制服丝袜一区| 日韩精品视频网站| 一区二区久久久久久| 国产精品欧美极品| 精品国产91亚洲一区二区三区婷婷| 欧美色窝79yyyycom| 波多野结衣欧美| 国产永久精品大片wwwapp| 五月天激情综合网| 亚洲综合激情网| 中文字幕亚洲在| 久久久久久久久久久久电影 | 91精品蜜臀在线一区尤物| 色婷婷激情久久| 粉嫩嫩av羞羞动漫久久久| 精品一区二区三区香蕉蜜桃| 婷婷成人激情在线网| 一区二区三区在线高清| 国产精品国产三级国产aⅴ原创| 亚洲精品一线二线三线| 欧美一区二区性放荡片| 欧美人动与zoxxxx乱| 亚洲精品亚洲人成人网| 国产精品乱人伦中文| 久久色.com| 日韩精品一区二| 777久久久精品| 欧美高清dvd| 欧美福利视频导航| 8v天堂国产在线一区二区| 欧美日韩国产高清一区二区| 欧美在线一区二区| 欧美午夜宅男影院| 欧美性猛交xxxxxx富婆| 91精品办公室少妇高潮对白| 一本久久综合亚洲鲁鲁五月天 | 日韩一级完整毛片| 日韩欧美一级在线播放| 91精品国产综合久久久久| 欧美精品在线观看播放| 欧美一区二区三区在线观看| 91精品国产91久久综合桃花| 日韩亚洲欧美一区| 日韩情涩欧美日韩视频| 日韩精品专区在线影院重磅| 日韩你懂的电影在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 日韩欧美国产一区二区三区| 91精品婷婷国产综合久久| 制服视频三区第一页精品| 日韩一区二区麻豆国产| 精品国产乱码久久久久久久久| 欧美成人免费网站| 国产日韩亚洲欧美综合| 中文字幕不卡三区| 亚洲视频免费看| 一区二区三区国产精品| 午夜免费欧美电影| 麻豆精品精品国产自在97香蕉| 精品亚洲欧美一区| 2020日本不卡一区二区视频| 国产欧美日韩中文久久| 中文字幕一区二区在线播放| 亚洲免费看黄网站| 婷婷综合另类小说色区| 麻豆专区一区二区三区四区五区| 国产在线看一区| 成人一区二区三区| 在线视频国产一区| 日韩亚洲电影在线| 欧美极品美女视频| 一区二区三区四区五区视频在线观看| 亚洲成人av一区二区三区| 美女视频网站久久| 成人免费三级在线| 欧美午夜一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品久久99| 亚洲高清免费观看| 激情欧美日韩一区二区| 91在线小视频| 91精品国产综合久久婷婷香蕉| 精品成人一区二区三区四区| 国产精品女同一区二区三区| 亚洲精品乱码久久久久久久久| 天天色综合成人网| 国产精品99精品久久免费| 色综合色狠狠综合色| 91麻豆精品国产91久久久| 国产欧美日韩精品a在线观看| 亚洲欧美另类久久久精品| 青青草97国产精品免费观看 | 亚洲欧洲国产日本综合| 爽爽淫人综合网网站| 国产成人亚洲精品狼色在线| 在线观看网站黄不卡| 欧美tickling网站挠脚心| 国产精品免费人成网站| 天堂精品中文字幕在线| 国产91精品在线观看| 欧美另类久久久品| 国产欧美日韩卡一| 秋霞av亚洲一区二区三| 成人av资源网站| 欧美一区二区大片| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩精品电影一区亚洲| 不卡av在线免费观看| 日韩午夜小视频| 亚洲免费在线视频| 国产高清视频一区| 欧美一区二区三区思思人|