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

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

?? main.c

?? STM8S105S4程序
?? C
字號:
/******************** 2011電子科技協會 ********************
;名稱 :1602液晶屏顯示溫度    
;作者 : 鄭品洪
;日期 : 07/25/2011
;描述 : 利用1602顯示實時溫度
;說明 :由于stm8IO口作為輸出還是輸入都要進行設置,而18B20 既需要輸出又需要輸入,查詢資料上說把
				IO口設置為開漏輸出并外面加上拉電阻,我嘗試過,但沒有成功,所以這里采用輸入輸出來回切換的方法
				,因此,此程序僅作參考。  閱讀此程序時請參考18B20資 料  
;***********************************************************/
#include <stm8s105s4.h>
#define uchar unsigned char
#define uint unsigned int
_Bool RS @PA_ODR:4;
_Bool RW @PA_ODR:5;           //定義1602和18B20IO口
_Bool E @PA_ODR:6;
_Bool DQ @PG_ODR:1;

uchar temp,q,a[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x7f};
void init_Ds18B20(void);
void delay(uchar);
void delay_1ms(uint);
void write_byte(uchar);
uchar read_byte(void);
void readtemperature(void);
void display1(void);
/*********************************/
uchar table0[]="The temperature";
uchar table1[]="is:";
uchar table2[8];
uchar i;

void init_stm8(void)
{
		PA_DDR=0x70;
    PA_CR1=0x70;
    PA_CR2=0x00;
    
    PB_DDR=0xff;
    PB_CR1=0xff;
    PB_CR2=0x00;
        
  /*  PG_DDR=0x02;
    PG_CR1=0x00;            //嘗試把IO口設為開漏輸出,未成功
    PG_CR2=0x00;  */

	  CLK_SWR = 0xE1;      
    CLK_CKDIVR = 0x19;    //頻率設為1MHz
}

//1602寫指令函數,請參考“1602”的程序
void write_com(uchar com)
{
    RS=0;
    RW=0;
    PB_ODR=com;
    delay_1ms(5);
    E=1;
    E=0;	
}
//1602寫數據函數, 請參考“1602”的程序
void write_data(uchar date)
{
    RS=1;
    RW=0;
    PB_ODR=date;
    delay_1ms(5);
    E=1;
    E=0;	
}
//1602初始化函數
void init(void)
{
    write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    write_com(0x80+0x00);	
}
//顯示子函數
void display(uchar *s)         
{  
    while(*s>0)
   { 
       write_data(*s++);
    delay_1ms(90);
   }
}
/**********************************/
void main()
{ 
		init_stm8();
    init();            //初始化1602
    init_Ds18B20();    //初始化18B20
    write_byte(0xcc);
    write_byte(0x44);
    delay(300);
    display(table0);
    write_com(0x80+0x40+0x02);
    display(table1);            //以上語句為顯示字符"The temperature is:"
     while(1)
     {
        readtemperature();        //讀溫度數據
        write_com(0x80+0x40+0x05);  //把1602地址指針指向第二行第6列
        for(i=0;i<8;i++)            //顯示溫度數據,包括一個正負溫度符號位,一個小數點,四個數據,還有兩位顯示℃
    	{
            write_data(table2[i]);
    	}
     }
}
//延時一條指令子函數,用于18B20時序操作
void delay(uchar t)
{
    while(t--);
}

void delay_1ms(uint a)
{
    char i;
    while(a--)
    for(i=0;i<120;i++);
}
//18B20初始化函數
void init_Ds18B20(void)
{
		uchar n;
			
	  PG_DDR=0x02;
    PG_CR1=0x02;   //設置IO口為推挽輸出模式
    PG_CR2=0x00;
	
    DQ=1;
    delay(2);
    DQ=0;
    delay(200);
    DQ=1;
    delay(50);
    n=DQ;
    delay(100);    //以上語句為檢查是否存在18B20,若n=0說明 18B20存在
}
//18B20寫子函數
void write_byte(uchar date)
{
    uchar i;
		
		PG_DDR=0x02;
    PG_CR1=0x02;   //設置IO口為推挽輸出
    PG_CR2=0x00;
		
		delay_1ms(2);
    for(i=0;i<8;i++)  //請參考18B20時序圖
    {
			 DQ=0;
       delay(1);
       DQ=date&0x01;
       delay(10);
       DQ=1;
       date>>=1;
    }
    delay(4);
}
//18B20讀子函數
uchar read_byte(void)
{
    uchar i,value;
		delay_1ms(2);
    for(i=0;i<8;i++)
    {
			  PG_DDR=0x02;
        PG_CR1=0x02;    //設置IO口為推挽輸出
        PG_CR2=0x00; 
				
        DQ=0;
        value>>=1;     //先讀地位,因此沒讀一次數向左移動 一位
        DQ=1; 
				
		    PG_DDR=0x00;
        PG_CR1=0x02;   //讀數據時設置IO口為上拉輸入
        PG_CR2=0x00;
				
        if((PG_IDR&0x02)==0x02)  //如果IO口電壓為高,則value中對應的位為1,否則為0
        value|=0x80;
        delay(4);
    } 
    return value;            //將讀的數返回
}
//讀溫度數據并處理子函數
void readtemperature(void)
{
    uchar a,b,p;		
		init_Ds18B20();     //初始化18B20
    write_byte(0xcc);   //逃過ROM,一個IO口有多個 18B20時需 要讀ROM
    write_byte(0x44);   //啟動溫度檢測
    DQ=1;
    delay(200);         //延時,等待溫度檢測完成
		init_Ds18B20();     //每次操作前要初始化18B20
		write_byte(0xcc);   //跳過ROM
    write_byte(0xbe);   //從儲存器讀數據
    a=read_byte();      //讀地位溫度數據
    b=read_byte();      //讀高位溫度數據
		if(b>0x07)          //如果溫度為負數,b會大于0x07,故當b大于0x07時,讓1602在溫度前面顯示“-”
		  q=1;
    p=(a&0x0f)*625/100;  //小數部分數據處理,由于小數部分有 四位,故分辨率為1/16,16×625剛好為10000,這里再除于100是精確到小數點后兩位
		                     //理論上18B20可以精確到小數點后四位,但由于分辨率只有1/16,即0.06左右,小數點后第三第四位已經沒有實際意義
    b=(b<<4)+(a>>4);     //將低位溫度數據的高四位和高位溫度 數據的 低四位拼成溫度數據的整數部分
		
    table2[7]=0x43;      //攝氏度中“C” 的代碼
    table2[6]=0xdf;      //攝氏度中“。“ 的代碼
    table2[5]=p%10+0x30;  //小數點后第二位數據,加上30是為了和1602中字符代碼一致
    table2[4]=p/10+0x30;
    table2[3]=0x2e;       //小數點代碼
    table2[2]=b%10+0x30;  
    table2[1]=b/10+0x30;   //整數部分
		table2[0]=0x80;        //空字符代碼,就是不顯示任何字符
    if(q==1)               
    table2[0]=0x2d;        //”-“代碼,若溫度為-,則顯示  
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看亚洲精品视频| 中文字幕中文字幕在线一区 | 精品国产伦一区二区三区观看方式 | 欧美激情一区二区三区蜜桃视频| 亚洲免费在线观看| 精久久久久久久久久久| 色婷婷综合久久久久中文一区二区| 欧美高清dvd| 国产精品福利一区| 国产一区二区三区在线观看免费| 在线观看国产91| 亚洲欧洲一区二区三区| 国产一区二区h| 6080日韩午夜伦伦午夜伦| 国产精品不卡在线观看| 国模娜娜一区二区三区| 在线播放中文一区| 成人欧美一区二区三区白人| 国内精品久久久久影院一蜜桃| 精品视频在线免费| 亚洲免费在线看| 成人性生交大合| 久久精品一区四区| 久久爱另类一区二区小说| 欧美探花视频资源| **网站欧美大片在线观看| 国产成人免费视频精品含羞草妖精| 在线成人免费视频| 亚洲 欧美综合在线网络| 在线精品视频免费播放| 亚洲色图视频网| 不卡av免费在线观看| 日本一区二区三区四区| 国产盗摄视频一区二区三区| 欧美哺乳videos| 免费在线观看精品| 日韩欧美国产电影| 蜜桃视频一区二区三区| 日韩一级高清毛片| 久久成人免费网站| 26uuu欧美日本| 国产东北露脸精品视频| 国产精品乱人伦中文| 成人免费福利片| ...xxx性欧美| 日本丶国产丶欧美色综合| 一区二区三区欧美激情| 欧美在线看片a免费观看| 亚洲一级二级在线| 欧美一级淫片007| 久久国产剧场电影| 国产日韩亚洲欧美综合| eeuss国产一区二区三区| 1000部国产精品成人观看| 91久久精品国产91性色tv| 一区二区三区四区激情| 51精品视频一区二区三区| 日韩 欧美一区二区三区| 日韩精品一区二区三区视频| 国产美女在线观看一区| 亚洲视频狠狠干| 91精品国产一区二区| 国产高清视频一区| 亚洲线精品一区二区三区八戒| 在线不卡一区二区| 国产精品亚洲一区二区三区在线 | 精品一区二区成人精品| 中文字幕免费不卡在线| 91久久精品一区二区二区| 捆绑变态av一区二区三区| 中文字幕第一区综合| 欧美日韩国产一级片| 久久精品72免费观看| 中文字幕佐山爱一区二区免费| 欧美疯狂性受xxxxx喷水图片| 国产伦理精品不卡| 亚洲成人精品一区二区| 国产亚洲污的网站| 欧美日韩一区二区欧美激情| 国产毛片精品视频| 婷婷激情综合网| 国产精品理论在线观看| 欧美精品第一页| 91视频免费播放| 国产真实乱对白精彩久久| 亚洲小少妇裸体bbw| 中文欧美字幕免费| 日韩午夜精品视频| 欧美在线一二三四区| 国产成人丝袜美腿| 日韩—二三区免费观看av| |精品福利一区二区三区| 26uuu国产一区二区三区| 精品视频在线免费观看| 91麻豆免费观看| 国产宾馆实践打屁股91| 日本女人一区二区三区| 亚洲国产一区在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 99精品视频一区| 国产精品一区二区在线看| 日本欧美在线看| 五月激情综合色| 亚洲国产精品久久久男人的天堂| 国产精品美女视频| 国产精品麻豆99久久久久久| 久久精品人人做人人综合| 日韩午夜激情视频| 成人一区二区三区| 国产成人精品综合在线观看 | 91 com成人网| 在线观看欧美黄色| 91麻豆精品国产91久久久久久 | 一区二区免费在线播放| 国产精品欧美极品| 国产精品乱子久久久久| 国产精品乱人伦| 亚洲免费观看高清| 亚洲精品中文字幕乱码三区| 国产精品福利一区二区三区| 国产精品久久久久久久久快鸭| 国产精品每日更新在线播放网址| 国产日韩三级在线| 中文字幕中文字幕一区二区 | 亚洲午夜国产一区99re久久| 一区二区三区中文字幕电影| 亚洲一区二区三区视频在线播放| 一区二区三区成人在线视频| 亚洲最大成人综合| 婷婷久久综合九色综合伊人色| 日本不卡一二三| 狠狠色狠狠色合久久伊人| 国产高清精品在线| 色8久久人人97超碰香蕉987| 欧美欧美欧美欧美首页| 日韩欧美国产综合一区| 国产亚洲人成网站| 一区二区三区在线播| 日韩精品视频网站| 国内精品伊人久久久久影院对白| 国产福利视频一区二区三区| 色综合久久久久网| 欧美一级专区免费大片| 欧美国产综合一区二区| 亚洲卡通欧美制服中文| 日韩精品一二三区| 国产精品白丝jk黑袜喷水| 91在线观看高清| 欧美一区二区精品在线| 中文字幕免费不卡在线| 亚洲一二三四区| 国产乱国产乱300精品| 色综合天天综合网天天看片| 欧美日韩你懂得| 日韩欧美一级片| 亚洲精品五月天| 精品在线你懂的| 色老汉av一区二区三区| 欧美不卡在线视频| 亚洲精品乱码久久久久久日本蜜臀| 日本美女一区二区| 91视视频在线直接观看在线看网页在线看| 在线观看日韩一区| 久久久亚洲国产美女国产盗摄 | 午夜精品久久久久久| 国产精品2024| 91精品黄色片免费大全| 亚洲丝袜美腿综合| 精品在线播放午夜| 欧美日韩综合一区| 国产精品美女久久久久久久久久久 | 蓝色福利精品导航| 欧美性受极品xxxx喷水| 国产精品美女久久久久久2018| 蜜桃视频一区二区| 欧美日韩一区二区三区不卡| 国产精品久久久久天堂| 激情五月婷婷综合| 91精品国产一区二区三区蜜臀| 亚洲日本在线a| 成人久久18免费网站麻豆| 日韩午夜在线播放| 香蕉成人啪国产精品视频综合网 | 欧美日韩午夜影院| 国产精品欧美极品| 国产69精品久久99不卡| 精品sm捆绑视频| 日本va欧美va瓶| 3atv一区二区三区| 五月激情丁香一区二区三区| 色综合天天综合网天天看片| 国产精品欧美一区二区三区| 国产成人综合精品三级| 久久久国际精品| 国产激情91久久精品导航| 精品国产电影一区二区| 激情六月婷婷久久| 亚洲激情综合网| 色婷婷激情久久| 亚洲精品视频在线看|