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

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

?? 23.c

?? 1602LCD顯示代碼
?? C
字號:
#include <sst89E564RD.H>
#include<intrins.h>

#define uchar unsigned char
#define uint  unsigned int

#define disdata  P0       //顯示數據碼輸出口

#define channel_0  0x02   //單通道0輸入選擇
#define channel_1  0x03   //單通道1輸入選擇

sbit ADC_CS = P3^4;        //片選端
sbit ADC_CLK= P1^0;        //時鐘端
sbit ADC_DI = P1^1;        //數據輸入輸出復用
sbit ADC_DO = P1^1;        //DI和DO端都接在P1.1

sbit  ACC0=ACC^0;          //通道與輸入方式控制字
sbit  ACC1=ACC^1;          //通道與輸入方式控制字

sbit LCD_RS = P2^0;             
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;

uint data dis[4]={0x00,0x00,0x00,0x00}; 
                          //定義3個顯示數據單元和一個數據存儲單元

uchar code dis4[] = {"DIGITALVOLTMETER"};
uchar code dis5[] = {" VOLTAGE:  .  V "};

/********************************************************************/
/*                                                                  */
/*  延時函數                                                        */
/*                                                                  */
/********************************************************************/

void delay(uchar ms)
{
    while(ms--)
	{
      uchar i;
	  for(i=0;i<250;i++)  
	   {
	    _nop_();			   
		_nop_();
		_nop_();
		_nop_();
	   }
	}
}		

/********************************************************************/
/*                                                                  */
/*檢查LCD忙狀態                                                     */
/*lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數據。       */
/*                                                                  */
/********************************************************************/ 

bit lcd_busy()
 {                          
    bit result;
    LCD_RS = 0;
    LCD_RW = 1;
    LCD_EN = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    result = (bit)(P0&0x80);
    LCD_EN = 0;
    return result; 
 }

/********************************************************************/
/*                                                                  */
/*寫指令數據到LCD                                                   */
/*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。                              */
/*                                                                  */
/********************************************************************/

void lcd_wcmd(uchar cmd)

{                          
   while(lcd_busy());
    LCD_RS = 0;
    LCD_RW = 0;
    LCD_EN = 0;
    _nop_();
    _nop_(); 
    P0 = cmd;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN = 0;  
}

/********************************************************************/
/*                                                                  */
/*寫顯示數據到LCD                                                   */
/*RS=H,RW=L,E=高脈沖,D0-D7=數據。                                */
/*                                                                  */
/********************************************************************/

void lcd_wdat(uchar dat)
{                          
   while(lcd_busy());
    LCD_RS = 1;
    LCD_RW = 0;
    LCD_EN = 0;
    P0 = dat;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN = 0; 
}

/********************************************************************/
/*                                                                  */
/*  LCD初始化設定                                                   */
/*                                                                  */
/********************************************************************/

void lcd_init()
{                        
    lcd_wcmd(0x38);      //16*2顯示,5*7點陣,8位數據
    delay(5);
    lcd_wcmd(0x38);         
    delay(5);
    lcd_wcmd(0x38);         
    delay(5);

    lcd_wcmd(0x0c);      //顯示開,關光標
    delay(5);
    lcd_wcmd(0x06);      //移動光標
    delay(5);
    lcd_wcmd(0x01);      //清除LCD的顯示內容
    delay(5);
}

/********************************************************************/
/*                                                                  */
/*  設定顯示位置                                                    */
/*                                                                  */
/********************************************************************/

void lcd_pos(uchar pos)
{                          
  lcd_wcmd(pos | 0x80);  //數據指針=80+地址變量
}

/********************************************************************/
/*                                                                  */
/*  啟動ADC轉換                                                     */
/*                                                                  */
/********************************************************************/

void ADC_start() 
{
    ADC_CS=1;         //一個轉換周期開始
    _nop_(); 
    ADC_CLK=0;      
    _nop_();
    ADC_CS=0;         //CS置0,片選有效
    _nop_();
    ADC_DI=1;         //DI置1,起始位
    _nop_();
    ADC_CLK=1;        //第一個脈沖
    _nop_();
    ADC_DI=0;         //在負跳變之前加一個DI反轉操作
    _nop_();
    ADC_CLK=0;      
    _nop_();      
}
 
/********************************************************************/
/*                                                                  */
/*AD轉換函數                                                        */
/*選擇輸入通道,輸入信號的模式《單端輸入,或差分輸入》              */
/*模數轉換                                                          */
/*                                                                  */
/********************************************************************/
           
int ADC_read(uchar mode)
{
    uchar i;
    ADC_start();      //啟動轉換開始
    ACC=mode;
    ADC_DI=ACC1;      //輸出控制位1,DI=1,單通道輸入,DI=0,差分輸入。
    ADC_CLK=1;        //第二個脈沖
    _nop_();
    ADC_DI=0;
    ADC_CLK=0;
    _nop_();
    ADC_DI=ACC0;      //輸出控制位0,DI=0,通道0輸入,DI=1,通道1輸入。
    ADC_CLK=1;        //第三個脈沖
    _nop_();
    ADC_DI=1;
    ADC_CLK=0;        //輸入模式和通道號已經選擇完。

    ADC_CLK=1;        //第四個脈沖
    ACC=0;                 
    
    for(i=8;i>0;i--)  //讀取8位數據
  {                      
    ADC_CLK=0;        //脈沖下降沿
   
    ACC=ACC<<1;
    ACC0=ADC_DO;      //讀取DO端數據
    _nop_();
    _nop_();                
    ADC_CLK=1;                   
  }
    ADC_CS=1;         //CS=1,片選無效。
    return(ACC);
}

/********************************************************************/
/*                                                                  */
/* 數據處理與顯示                                                   */
/* 將采集到的數據進行16進制轉換為ASCLL碼,并送顯示。                */
/*                                                                  */
/********************************************************************/

show_value(uchar ad_data)

{   
    dis[2]=ad_data/51;   //AD值轉換為3為BCD碼,最大為5.00V。
    dis[2]=dis[2]+0x30;
    dis[3]=ad_data%51;   //余數暫存
    dis[3]=dis[3]*10;    //計算小數第一位
    dis[1]=dis[3]/51;
    dis[1]=dis[1]+0x30;
    dis[3]=dis[3]%51;
    dis[3]=dis[3]*10;    //計算小數第二位
    dis[0]=dis[3]/51;                                                                             //
    dis[0]=dis[0]+0x30;

    lcd_pos(0x4a);             
    lcd_wdat(dis[2]);    //整數位顯示
    lcd_pos(0x4c);             
    lcd_wdat(dis[1]);    //第一位小數顯示 
    lcd_pos(0x4d);             
    lcd_wdat(dis[0]);    //第二位小數顯示                   
} 

/********************************************************************/
/*                                                                  */
/*  主程序                                                          */
/*                                                                  */
/********************************************************************/

void main()
{
    uchar i,n;
    delay(10);                 //延時
    lcd_init();                //初始化LCD             
        
    lcd_pos(0);                //設置顯示位置為第一行的第1個字符
     i = 0;
    while(dis4[i] != '\0')
     {                         //顯示字符"DIGITALVOLTMETER"
       lcd_wdat(dis4[i]);
       i++;
     }

    lcd_pos(0x40);             //設置顯示位置為第二行第1個字符
     i = 0;
    while(dis5[i] != '\0')
     {
       lcd_wdat(dis5[i]);      //顯示字符" VOLTAGE:  .  V "
       i++;
     }
    
     while(1)
     { 
      n=ADC_read(channel_0);   //采集值送入n
      show_value(n);           //n中數據處理與顯示         
                
      delay(50);               //延時50ms
     }
} 

/********************************************************************/ 
/*                                                                  */
/*將n=ADC_read(channel_0)改為n=ADC_read(channel_1)即可使用JP6輸入   */
/*                                                                  */
/********************************************************************/     

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区二区三区| 精品一区二区免费| 国产精品一区专区| 欧美亚洲丝袜传媒另类| 国产精品欧美一级免费| 无码av中文一区二区三区桃花岛| 99久久国产免费看| 久久久噜噜噜久久人人看 | 久久精品一区八戒影视| 亚洲国产日韩精品| 99久久国产综合精品麻豆| 久久色在线观看| 蜜臀国产一区二区三区在线播放| 99久久综合国产精品| 国产女主播视频一区二区| 久久精品国产网站| 91精品国产日韩91久久久久久| 亚洲少妇屁股交4| 成人app在线| 国产精品丝袜一区| 成人小视频在线| 国产亚洲精品精华液| 激情综合亚洲精品| 精品国产免费一区二区三区四区 | 欧美日韩美女一区二区| 亚洲精品国产a| 91丨九色丨蝌蚪富婆spa| 国产精品久久久久久亚洲毛片| 国内精品久久久久影院色| 2021久久国产精品不只是精品| 蜜桃视频在线观看一区二区| 91精品在线一区二区| 91在线视频官网| 中文字幕一区二区三| 成人爱爱电影网址| 成人免费视频在线观看| 色国产精品一区在线观看| 一区二区在线观看不卡| 欧美日韩国产一级| 日韩av网站免费在线| 日韩美女视频在线| 国产精品一级片在线观看| 国产精品进线69影院| 91在线观看下载| 亚洲福中文字幕伊人影院| 欧美一级在线免费| 韩国女主播一区| 国产精品国产成人国产三级| 在线亚洲+欧美+日本专区| 日韩电影在线免费看| 久久综合九色综合欧美98 | 91国偷自产一区二区三区成为亚洲经典| 亚洲三级在线看| 欧美日韩电影一区| 国产在线精品一区二区不卡了 | 欧美一级二级在线观看| 免费成人美女在线观看.| 国产调教视频一区| 欧美在线播放高清精品| 久久精品国产亚洲a| 欧美国产成人在线| 欧美亚洲一区二区在线| 日本不卡的三区四区五区| 欧美国产日产图区| 欧美日韩情趣电影| 欧美日韩大陆一区二区| 国产福利精品导航| 亚洲成va人在线观看| 国产女人18水真多18精品一级做| 在线观看日韩精品| 国产99久久久精品| 亚洲成va人在线观看| 国产精品日产欧美久久久久| 欧美另类高清zo欧美| 风间由美性色一区二区三区| 欧美日韩一区二区在线观看视频 | 免费成人在线影院| 中文欧美字幕免费| 欧美一区二区福利在线| av福利精品导航| 精品一区免费av| 亚洲自拍另类综合| 国产精品萝li| 欧美大片国产精品| 欧美亚洲综合一区| 成人av资源站| 国产乱人伦偷精品视频免下载| 亚洲综合一区二区三区| 精品一区二区三区在线观看 | 欧美色综合网站| 92国产精品观看| 高清国产一区二区| 国产一区二区女| 免费看日韩精品| 午夜精品久久久久久久久久| 亚洲乱码国产乱码精品精的特点 | 日韩精品一区二区三区中文精品| 99这里都是精品| 国产成人av电影在线| 久久精品国产久精国产| 图片区小说区区亚洲影院| 一区二区三区中文在线| 国产精品久久久久久久第一福利| 久久蜜桃av一区二区天堂| 日韩视频一区二区三区在线播放| 欧美影院精品一区| 色狠狠色狠狠综合| 91激情五月电影| 91美女精品福利| 色女孩综合影院| 色猫猫国产区一区二在线视频| 99热精品一区二区| 色综合久久中文综合久久牛| 99在线精品一区二区三区| 成人av在线电影| 99九九99九九九视频精品| av激情亚洲男人天堂| 一本到三区不卡视频| 91久久香蕉国产日韩欧美9色| 91美女视频网站| 精品视频一区二区不卡| 欧美一级午夜免费电影| 日韩视频123| 久久一区二区视频| 国产精品视频观看| 亚洲精品国产精华液| 一区二区三区在线观看国产| 亚洲国产欧美在线人成| 日韩精品久久久久久| 久久99精品国产| 懂色av噜噜一区二区三区av| av一本久道久久综合久久鬼色| 色婷婷精品大在线视频| 欧美日本一区二区三区| 精品精品国产高清a毛片牛牛 | 福利视频网站一区二区三区| 成人app在线| 欧美日本一区二区| 日韩精品资源二区在线| 国产欧美一区二区三区网站| 日韩理论电影院| 日产国产欧美视频一区精品| 国产精品77777| 欧美在线播放高清精品| 精品欧美一区二区久久| 国产精品高清亚洲| 日本伊人精品一区二区三区观看方式| 久久91精品国产91久久小草| 26uuu久久综合| 国产精品全国免费观看高清| 亚洲在线视频免费观看| 国内久久精品视频| 欧美吻胸吃奶大尺度电影 | 1000部国产精品成人观看| 最新热久久免费视频| 日本在线播放一区二区三区| a美女胸又www黄视频久久| 91精品国产乱码久久蜜臀| 国产精品乱子久久久久| 日韩成人一区二区| av电影在线观看不卡| 欧美zozo另类异族| 亚洲综合色视频| 波多野结衣在线aⅴ中文字幕不卡| 欧美久久久久久久久中文字幕| 久久久精品天堂| 蜜桃精品在线观看| 色狠狠一区二区三区香蕉| 国产日产精品一区| 美女网站色91| 欧美三级中文字| 国产精品久久久久久久久久免费看| 免费成人结看片| 欧美日韩免费观看一区二区三区 | 久久婷婷色综合| 爽好久久久欧美精品| 91同城在线观看| 欧美国产精品专区| 国精产品一区一区三区mba视频| 欧美日韩国产成人在线免费| 亚洲欧美偷拍另类a∨色屁股| 国产电影一区在线| 久久精品亚洲一区二区三区浴池| 男女男精品网站| 欧美狂野另类xxxxoooo| 亚洲成人动漫在线观看| 在线一区二区三区做爰视频网站| 国产精品色呦呦| 成人一区二区三区在线观看| 久久精品网站免费观看| 美女脱光内衣内裤视频久久影院| 69久久99精品久久久久婷婷| 婷婷成人综合网| 欧美日本在线一区| 午夜精品久久久久久久99樱桃| 欧美亚洲国产一区二区三区va| 亚洲精品中文在线观看| 91国偷自产一区二区使用方法| 一区二区三区四区激情| 91久久精品日日躁夜夜躁欧美|