国产三级在线看完整版-内射白嫩大屁股在线播放91-欧美精品国产精品综合-国产精品视频网站一区-一二三四在线观看视频韩国-国产不卡国产不卡国产精品不卡-日本岛国一区二区三区四区-成年人免费在线看片网站-熟女少妇一区二区三区四区

儀器網(wǎng)(yiqi.com)歡迎您!

| 注冊2 登錄
網(wǎng)站首頁-資訊-話題-產(chǎn)品-評測-品牌庫-供應(yīng)商-展會-招標(biāo)-采購-知識-技術(shù)-社區(qū)-資料-方案-產(chǎn)品庫-視頻

問答社區(qū)

求簡易溫度控制器設(shè)計(jì)的單片機(jī)匯編語言程序

禁區(qū)之王9號 2018-01-02 08:52:51 459  瀏覽
  • 設(shè)計(jì)一個(gè)簡易溫度控制器,具體任務(wù)包括:①單片機(jī)控制,具有低溫、高溫聲光報(bào)警功能;②利用按鍵進(jìn)行溫度上限和溫度下限設(shè)置,并且實(shí)時(shí)顯示溫度到LED數(shù)碼管;溫度檢測采用熱敏電阻。熱... 設(shè)計(jì)一個(gè)簡易溫度控制器,具體任務(wù)包括: ① 單片機(jī)控制,具有低溫、高溫聲光報(bào)警功能; ② 利用按鍵進(jìn)行溫度上限和溫度下限設(shè)置,并且實(shí)時(shí)顯示溫度到LED數(shù)碼管; 溫度檢測采用熱敏電阻。熱敏電阻是利用半導(dǎo)體的電阻值隨溫度顯著變化設(shè)計(jì)而成的,它具有溫度系數(shù)大、靈敏度高、體積小、結(jié)構(gòu)簡單、響應(yīng)速度快、使用方便、壽命長等優(yōu)點(diǎn),應(yīng)用非常廣泛。采用普通的熱敏電阻,需要A/D轉(zhuǎn)換器。 ③ 上位機(jī)顯示。 展開

參與評論

全部評論(1條)

  • 475531072 2018-01-03 00:00:00
    這個(gè)程序你可以用來試試。我以前做的。 //溫控系統(tǒng)控制程序 //溫度傳感器:DS18B20 //顯示方式:LED #include <reg51.h> #define uchar unsigned char sbit keyup=P1^0; sbit keydn=P1^1; sbit keymd=P1^2; sbit out=P3^7; //接控制繼電器 sbit DQ = P3^4; //接溫度傳感器18B20 uchar t[2],number=0,*pt; //溫度值 uchar  TempBuffer1[4]={0,0,0,0}; uchar Tmax=18,Tmin=8; uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7}; uchar dismod=0,xiaodou1=0,xiaodou2=0,currtemp; bit flag; void t0isr() interrupt 1 { TH0=(65536-5000)/256; TL0=(65536-5000)%256; switch(number) { case 0:     P2=0x08;       P0=distab[TempBuffer1[0]];       break; case 1:     P2=0x04;       P0=distab[TempBuffer1[1]];       break; case 2:     P2=0x02;       P0=distab[TempBuffer1[2]]&0x7f;       break; case 3:     P2=0x01;       P0=distab[TempBuffer1[3]];       break; default:     break; } number++; if(number>3)number=0; } void delay_18B20(unsigned int i) { while(i--); } /**********ds18b20初始化函數(shù)**********************/ void Init_DS18B20(void)  {  bit x=0; do{  DQ=1;  delay_18B20(8);  DQ = 0;          //單片機(jī)將DQ拉低  delay_18B20(90); //精確延時(shí) 大于 480us  DQ = 1;          //拉高總線  delay_18B20(14);  x=DQ;            //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗,繼續(xù)初始化 }while(x);  delay_18B20(20); } /***********ds18b20讀一個(gè)字節(jié)**************/   unsigned char ReadOneChar(void) { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--)  {   DQ = 0; // 給脈沖信號   dat>>=1;   DQ = 1; // 給脈沖信號   if(DQ)   dat|=0x80;   delay_18B20(4);  }   return(dat); } /*************ds18b20寫一個(gè)字節(jié)****************/   void WriteOneChar(unsigned char dat) {   unsigned char i=0;   for (i=8; i>0; i--)   {    DQ = 0;   DQ = dat&0x01;     delay_18B20(5);   DQ = 1;     dat>>=1; } } /**************讀取ds18b20當(dāng)前溫度************/ unsigned char *ReadTemperature(unsigned char rs) { unsigned char tt[2];   delay_18B20(80);   Init_DS18B20(); WriteOneChar(0xCC);   //跳過讀序號列號的操作 WriteOneChar(0x44);  //啟動溫度轉(zhuǎn)換   delay_18B20(80);   Init_DS18B20(); WriteOneChar(0xCC);  //跳過讀序號列號的操作 WriteOneChar(0xBE);  //讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度 tt[0]=ReadOneChar();  //讀取溫度值低位 tt[1]=ReadOneChar();  //讀取溫度值高位 return(tt); } void covert1(void) //將溫度轉(zhuǎn)換為LED顯示的數(shù)據(jù) {    uchar x=0x00,y=0x00;    t[0]=*pt;    pt++;    t[1]=*pt;    if(t[1]&0x080)      //判斷正負(fù)溫度    {     TempBuffer1[0]=0x0c;      //c代表負(fù) t[1]=~t[1];  /*下面幾句把負(fù)數(shù)的補(bǔ)碼*/ t[0]=~t[0];   /*換算成值*********/ x=t[0]+1; t[0]=x; if(x==0x00)t[1]++;    }   else TempBuffer1[0]=0x0a; //A代表正   t[1]<<=4; //將高字節(jié)左移4位   t[1]=t[1]&0xf0;   x=t[0]; //將t[0]暫存到X,因?yàn)槿⌒?shù)部分還要用到它   x>>=4; //右移4位   x=x&0x0f; //和前面兩句就是取出t[0]的高四位   y=t[1]|x; //將高低字節(jié)的有效值的整數(shù)部分拼成一個(gè)字節(jié)   TempBuffer1[1]=(y%100)/10;   TempBuffer1[2]=(y%100)%10;   t[0]=t[0]&0x0f; //小數(shù)部分   TempBuffer1[3]=t[0]*10/16;  //以下程序段消去隨機(jī)誤檢查造成的誤判,只有連續(xù)12次檢測到溫度超出限制才切換加熱裝置 if(currtemp>Tmin)xiaodou1=0; if(y<Tmin) { xiaodou1++; currtemp=y; xiaodou2=0; } if(xiaodou1>12) { out=0; flag=1; xiaodou1=0; } if(currtemp<Tmax)xiaodou2=0; if(y>Tmax) { xiaodou2++; currtemp=y; xiaodou1=0; } if(xiaodou2>12) { out=1; flag=0; xiaodou2=0; } out=flag; } void convert(char tmp) { uchar a; if(tmp<0) { TempBuffer1[0]=0x0c; a=~tmp+1; } else  { TempBuffer1[0]=0x0a; a=tmp; } TempBuffer1[1]=(a%100)/10; TempBuffer1[2]=(a%100)%10; } void keyscan( ) { uchar keyin; keyin=P1&0x07; if(keyin==0x07)return; else if(keymd==0) { dismod++; dismod%=3; while(keymd==0); switch(dismod) { case 1:     convert(Tmax);       TempBuffer1[3]=0x11;       break; case 2:     convert(Tmin);       TempBuffer1[3]=0x12;       break; default:     break; } } else if((keyup==0)&&(dismod==1)) { Tmax++; convert(Tmax); while(keyup==0); } else if((keydn==0)&&(dismod==1)) { Tmax--; convert(Tmax); while(keydn==0); } else if((keyup==0)&&(dismod==2)) { Tmin++; convert(Tmin); while(keyup==0); } else if((keydn==0)&&(dismod==2)) { Tmin--; convert(Tmin); while(keydn==0); } xiaodou1=0; xiaodou2=0; } main() { TMOD=0x01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; TR0=1; ET0=1; EA=1; out=1; flag=0; ReadTemperature(0x3f);   delay_18B20(50000); //延時(shí)等待18B20數(shù)據(jù)穩(wěn)定    while(1) { pt=ReadTemperature(0x7f); //讀取溫度,溫度值存放在一個(gè)兩個(gè)字節(jié)的數(shù)組中 if(dismod==0)covert1(); keyscan(); delay_18B20(30000); } }

    贊(15)

    回復(fù)(0)

    評論

熱門問答

求簡易溫度控制器設(shè)計(jì)的單片機(jī)匯編語言程序
設(shè)計(jì)一個(gè)簡易溫度控制器,具體任務(wù)包括:①單片機(jī)控制,具有低溫、高溫聲光報(bào)警功能;②利用按鍵進(jìn)行溫度上限和溫度下限設(shè)置,并且實(shí)時(shí)顯示溫度到LED數(shù)碼管;溫度檢測采用熱敏電阻。熱... 設(shè)計(jì)一個(gè)簡易溫度控制器,具體任務(wù)包括: ① 單片機(jī)控制,具有低溫、高溫聲光報(bào)警功能; ② 利用按鍵進(jìn)行溫度上限和溫度下限設(shè)置,并且實(shí)時(shí)顯示溫度到LED數(shù)碼管; 溫度檢測采用熱敏電阻。熱敏電阻是利用半導(dǎo)體的電阻值隨溫度顯著變化設(shè)計(jì)而成的,它具有溫度系數(shù)大、靈敏度高、體積小、結(jié)構(gòu)簡單、響應(yīng)速度快、使用方便、壽命長等優(yōu)點(diǎn),應(yīng)用非常廣泛。采用普通的熱敏電阻,需要A/D轉(zhuǎn)換器。 ③ 上位機(jī)顯示。 展開
2018-01-02 08:52:51 459 1
求一個(gè)簡易單片機(jī)頻率計(jì)設(shè)計(jì)程序
頻率測量精度為1HZ 誤差小于10HZ通過LCD1602顯示出來
2010-07-11 07:06:44 566 2
基于單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)匯編語言程序的設(shè)計(jì)思路
一、 設(shè)計(jì)目的 ——掌握數(shù)字量數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方法。 二、技術(shù)指標(biāo) 1.測量范圍:0~200K 2.測量信號:方波 3.測量信號電壓:3~5V 4.閘門時(shí)間:10mS、0.1S、1S 5.顯示位數(shù):6位 三、設(shè)計(jì)方案 根據(jù)技術(shù)要求,可確定出該數(shù)字頻率計(jì)應(yīng)由測量電路... 一、 設(shè)計(jì)目的 ——掌握數(shù)字量數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方法。 二、技術(shù)指標(biāo) 1.測量范圍:0~200K 2.測量信號:方波 3.測量信號電壓:3~5V 4.閘門時(shí)間:10mS、0.1S、1S 5.顯示位數(shù):6位 三、設(shè)計(jì)方案 根據(jù)技術(shù)要求,可確定出該數(shù)字頻率計(jì)應(yīng)由測量電路(包括量程標(biāo)定電路和ADC)、單片機(jī)、鍵盤及顯示電路幾個(gè)組成部分,各部分采用的電路形式及主要器件確定如下: (1)單片機(jī)部分 選用89C51單片機(jī)作為主機(jī),同時(shí)要設(shè)計(jì)89C51單片機(jī)的晶振電路和復(fù)位電路,具體電路略。 (2)測量電路部分 直接利用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器實(shí)現(xiàn)頻率的測量。 (3)鍵盤、顯示部分 本機(jī)需配置具有3個(gè)按鍵的鍵盤和6位數(shù)字LED的顯示器。具體電路參見實(shí)驗(yàn)箱電路圖4、5。 測量頻率范圍:1-1000HZ 閘門時(shí)間1S,單位(HZ) 1K-10K 閘門時(shí)間0.1S (計(jì)數(shù)值×10),單位(KHZ) 10k-200k 閘門時(shí)間10mS(計(jì)數(shù)值×100)單位(KHZ) 用按鍵選擇測量范圍。 圖4 顯示器電路連接圖 圖5 鍵盤電路連接圖 圖6 等精度測量數(shù)字頻率計(jì)電路圖 展開
2014-06-06 05:07:53 358 1
匯編語言 51單片機(jī) 器程序
 
2017-04-19 08:39:13 413 1
51單片機(jī)制作簡易數(shù)字頻率計(jì)程序
 
2010-12-09 18:27:45 285 1
簡易頻率計(jì)設(shè)計(jì)(單片機(jī)課設(shè))
可以測量正弦波和方波信號的頻率 框圖 輸入信號--》整形處理--》控制器--》顯示測量值 要求 1,能測量正弦波和方波10HZ-100KHZ 2,數(shù)碼顯示共三位,其中一位小數(shù),自動換擋(00-999HZ)有一個(gè)燈亮,表示單位是HZ,0.00-99.99KHZ,另一個(gè)燈亮,表示單位是... 可以測量正弦波和方波信號的頻率 框圖 輸入信號--》整形處理--》控制器--》顯示測量值 要求 1,能測量正弦波和方波10HZ-100KHZ 2,數(shù)碼顯示共三位,其中一位小數(shù),自動換擋(00-999HZ)有一個(gè)燈亮,表示單位是HZ,0.00-99.99KHZ,另一個(gè)燈亮,表示單位是KHZ 3,要有輸入信號超范圍的保護(hù)電路 發(fā)揮要求 1,能測量方波周期,并顯示 2,能測量100mV的正弦波 有沒有愛好者,救救急,對這破玩意一竅不通 有加分 展開
2012-05-31 06:48:10 354 2
基于AT89S52單片機(jī)的簡易頻率計(jì)的設(shè)計(jì)
要求: (1)測量范圍。幅度:0.5V~5V;頻率1HZ~1MHZ。 (2)測試誤差≤0.1%。 (3)用4位數(shù)碼管顯示,當(dāng)頻率變化時(shí),能通過數(shù)碼管及時(shí)的看到變化后的頻率
2015-01-14 10:41:12 491 2
高分求簡易數(shù)字頻率計(jì)設(shè)計(jì)
要求設(shè)計(jì)一個(gè)簡易的數(shù)字頻率計(jì),其信號是給定的比較穩(wěn)定的脈沖信號。 設(shè)計(jì)內(nèi)容: 1、測量信號:方波 、正弦波、三角波; 2、測量頻率范圍: 1Hz~9999Hz; 3、顯示方式:4位十進(jìn)制數(shù)顯示; 4、時(shí)基電路由 由555構(gòu)成的多諧振蕩器產(chǎn)生(當(dāng)標(biāo)準(zhǔn)時(shí)間... 要求設(shè)計(jì)一個(gè)簡易的數(shù)字頻率計(jì),其信號是給定的比較穩(wěn)定的脈沖信號。 設(shè)計(jì)內(nèi)容: 1、測量信號:方波 、正弦波、三角波; 2、測量頻率范圍: 1Hz~9999Hz; 3、顯示方式:4位十進(jìn)制數(shù)顯示; 4、時(shí)基電路由 由555構(gòu)成的多諧振蕩器產(chǎn)生(當(dāng)標(biāo)準(zhǔn)時(shí)間的精度要求較高時(shí),應(yīng)通過晶體振蕩器分頻獲得); 5、當(dāng)被測信號的頻率超出測量范圍時(shí),報(bào)警。 設(shè)計(jì)報(bào)告書寫格式: 1、選題介紹和設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)的功能; 2、系統(tǒng)設(shè)計(jì)結(jié)構(gòu)框圖及原理; 3、采用芯片簡介; 4、設(shè)計(jì)的完整電路以及仿真結(jié)果; 5、Protel繪制的電路原理圖; 6、制作的PCB; 7、課程設(shè)計(jì)過程心得體會(負(fù)責(zé)了哪些內(nèi)容、學(xué)到了什么、遇到的難題及解決方法等)。 電子課程設(shè)計(jì)過程: 系統(tǒng)設(shè)計(jì)→在Multisim2001下仿真→應(yīng)用Protel 99SE繪制電路原理圖→制作PCB→撰寫設(shè)計(jì)報(bào)告 仿真軟件: Multisim 2001,Protel 99SE。 展開
2009-01-03 06:22:59 436 3
求51單片機(jī)設(shè)計(jì)數(shù)字頻率計(jì),附帶Proteus仿真和程序
 
2014-05-13 23:13:37 405 1
單片機(jī)簡易頻率計(jì),怎么編程序測正弦信號的?
測方波信號的我知道,就是用計(jì)數(shù)器來計(jì)數(shù),但正弦信號不能這樣子的吧。
2011-06-18 10:21:18 488 3
求用單片機(jī)制作簡易信號發(fā)生器的電路圖
采用單片機(jī)AT89C51及D/A轉(zhuǎn)換器0832設(shè)計(jì)信號發(fā)生器... 采用單片機(jī)AT89C51及D/A轉(zhuǎn)換器0832設(shè)計(jì)信號發(fā)生器 展開
2009-06-10 17:48:33 450 3
51單片機(jī)頻率計(jì)的中斷程序怎么設(shè)計(jì)
有一個(gè)信號由200hz的NRZ碼控制輸出兩個(gè)頻率不同的方波(1600,800)?,F(xiàn)在要還原,如果檢測到1600則p3.5輸出高電平,800則輸出低電平。我的設(shè)想是定時(shí)一個(gè)5ms的中斷,對輸入的方波電平0→1進(jìn)行計(jì)數(shù)。計(jì)數(shù)值大于(8+4)/2=6的話輸出1,小于輸出0。請問這樣可以... 有一個(gè)信號由200hz的NRZ碼控制輸出兩個(gè)頻率不同的方波(1600,800)。現(xiàn)在要還原,如果檢測到1600則p3.5輸出高電平,800則輸出低電平。我的設(shè)想是定時(shí)一個(gè)5ms的中斷,對輸入的方波電平0→1進(jìn)行計(jì)數(shù)。計(jì)數(shù)值大于(8+4)/2=6的話輸出1,小于輸出0。請問這樣可以嗎?對于定時(shí)器計(jì)時(shí)器還有中斷的使用不大明白,可否簡略寫下程序。謝謝 展開
2015-05-26 01:56:14 539 1
求計(jì)時(shí)器控制4個(gè)LED燈滾動閃爍的匯編語言程序
 
2013-01-09 07:51:39 560 2
長春理工單片機(jī)課程設(shè)計(jì):簡易信號發(fā)生器設(shè)計(jì),急急急
長春理工單片機(jī)課程設(shè)計(jì):簡易信號發(fā)生器設(shè)計(jì),哪位學(xué)哥學(xué)姐知道就幫幫忙,謝謝學(xué)長,急急急要的主要是程序,謝謝... 長春理工單片機(jī)課程設(shè)計(jì):簡易信號發(fā)生器設(shè)計(jì),哪位學(xué)哥學(xué)姐知道就幫幫忙,謝謝學(xué)長,急急急 要的主要是程序,謝謝 展開
2010-07-11 09:22:44 461 1
低頻頻率計(jì)的原理圖和程序[匯編語言]
設(shè)計(jì)要求:1、 工作電壓:5V 2、 數(shù)字顯示位數(shù):5位數(shù)字顯示 3、 頻率范圍:1Hz~99999Hz 5、 分辨率:1Hz 6、 被測信號:周期性信號 Z好有原理圖和程序[匯編語言]的一起發(fā)來,畢業(yè)設(shè)計(jì)要用,很急?。?!QQ441769013 郵箱:wengkaiwc@163.com
2018-11-21 20:38:30 358 0
用單片機(jī)匯編語言編寫60秒計(jì)時(shí)器!
用單片機(jī)匯編語言編寫60秒計(jì)時(shí)器 ,
2017-11-28 01:26:56 399 1
求51單片機(jī)語言用動態(tài)顯示設(shè)計(jì)0-60秒的計(jì)時(shí)器程序,原理圖如圖。
求51單片機(jī)語言用動態(tài)顯示設(shè)計(jì)0-60秒的計(jì)時(shí)器程序,原理圖如圖。動態(tài)顯示管是陰極的,我編的程序是不是哪里進(jìn)入誤區(qū)了,能我?guī)椭赋鰜砘蛘咔蟠笊窬幒谜_的程序,誠信感謝,賞金不夠見諒。 。還有這種原理圖位選和段選如何選,好像不同于P2^6和P2^7的位選段... 求51單片機(jī)語言用動態(tài)顯示設(shè)計(jì)0-60秒的計(jì)時(shí)器程序,原理圖如圖。動態(tài)顯示管是陰極的,我編的程序是不是哪里進(jìn)入誤區(qū)了,能我?guī)椭赋鰜砘蛘咔蟠笊窬幒谜_的程序,誠信感謝,賞金不夠見諒。 。還有這種原理圖位選和段選如何選,好像不同于P2^6和P2^7的位選段選是嗎? 展開
2015-10-30 01:47:35 374 1
基于單片機(jī)AT89C52頻率計(jì),求程序,求助
 
2017-06-22 09:26:53 426 1

4月突出貢獻(xiàn)榜

推薦主頁

最新話題