国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PIC單片機(jī)數(shù)字式溫度計(jì)電路設(shè)計(jì)與仿真

2011-10-21 06:06:12田苗法
大眾科技 2011年5期
關(guān)鍵詞:北京航空航天大學(xué)電路設(shè)計(jì)液晶

田苗法

(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)

基于PIC單片機(jī)數(shù)字式溫度計(jì)電路設(shè)計(jì)與仿真

田苗法

(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)

文章采用PIC單片機(jī)和數(shù)字溫度傳感器TC74設(shè)計(jì)數(shù)字式溫度計(jì),硬件電路設(shè)計(jì)簡(jiǎn)單,工作可靠,易于實(shí)現(xiàn),程序設(shè)計(jì)采用C語(yǔ)言編程實(shí)現(xiàn),最后利用電路仿真軟件proteus對(duì)電路進(jìn)行仿真。

PIC單片機(jī);數(shù)字式溫度計(jì);電路設(shè)計(jì)

本設(shè)計(jì)主控制芯片采用 16F877A單片機(jī),該單片機(jī)內(nèi)置I2C總線模塊,利用該模塊可以更方便地跟 I2C芯片進(jìn)行通信,簡(jiǎn)化了C程序代碼設(shè)計(jì)。利用I2C器件TC-74將溫度轉(zhuǎn)變?yōu)殡娦盘?hào),然后發(fā)給單片機(jī),單片機(jī)對(duì)數(shù)據(jù)進(jìn)行分析和計(jì)算等處理,最后通過(guò)1602液晶顯示屏顯示溫度值。

(一)各元件簡(jiǎn)介

1.PIC16F877A單片機(jī)

PIC16F877A單片機(jī)是美國(guó)Microchip公司生產(chǎn)的8位單片機(jī),具有獨(dú)特的RISC結(jié)構(gòu),即數(shù)據(jù)總線和指令總線分離的哈佛結(jié)構(gòu),該結(jié)構(gòu)具有執(zhí)行效率高和速度快等優(yōu)點(diǎn)。另外,片內(nèi)帶有EEPROM、A/D轉(zhuǎn)換器、USART通信模塊、MSSP通信模塊等,功能強(qiáng)大,可以簡(jiǎn)化外圍硬件電路設(shè)計(jì)和程序設(shè)計(jì)。本次電路設(shè)計(jì)應(yīng)用了其內(nèi)部的 I2C通信功能模塊,作為 I2C通信硬件電路中的主控制器件使用,按照I2C通信協(xié)議與I2C從控制器件TC-74進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)溫度信號(hào)的傳輸。

圖1 PIC16F877A引腳示意圖

2.溫度傳感器TC-74

TC-74是適用于低成本和小尺寸應(yīng)用場(chǎng)合的可串行讀取的數(shù)字溫度傳感器,內(nèi)部溫度檢測(cè)元件將周圍環(huán)境溫度轉(zhuǎn)變?yōu)槟M信號(hào),再通過(guò)內(nèi)部電路轉(zhuǎn)換成數(shù)字信號(hào)對(duì)外輸出。該芯片為I2C芯片,內(nèi)部置有I2C通信協(xié)議,作為I2C通信硬件電路中的從控制器件使用,數(shù)據(jù)按照該通信協(xié)議與主控制器件進(jìn)行數(shù)據(jù)交換。圖2為TC-74各引腳的功能說(shuō)明,其中VDD和GND分別接電源正極和電源負(fù)極,SDA和SCLK為I2C數(shù)據(jù)傳輸接口。

圖2 TC-74引腳示意圖

3.字符型1602液晶

圖3 1602液晶引腳示意圖

字符型1602液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用的有16×1、16×2、20×2和40×2等模塊,該電路設(shè)計(jì)采用的是16×1型號(hào),該模塊采用標(biāo)準(zhǔn)的16引腳接口,如圖3所示。其中,DB0—DB7八個(gè)引腳為并行數(shù)據(jù)傳輸接口,各引腳功能見(jiàn)表1。

表1 1602液晶引腳接口說(shuō)明表

(二)電路設(shè)計(jì)與仿真

1.硬件電路設(shè)計(jì)

應(yīng)用 proteus電路仿真軟件對(duì)硬件電路進(jìn)行了設(shè)計(jì)與仿真,圖4所示,1602液晶芯片的并行數(shù)據(jù)接口DB0—DB7與單片機(jī)B端口的8個(gè)引腳連接,TC74的數(shù)據(jù)接口SCLK和SDA分別與單片機(jī)SCL、SDA引腳連接。R1和R2為I2C總線上的上拉電阻。打開(kāi)仿真按鈕,液晶屏能夠正確顯示溫度傳感器上顯示的模擬溫度值。

圖4 proteus電路設(shè)計(jì)圖與仿真

2.程序設(shè)計(jì)

采用 C語(yǔ)言編程,按照結(jié)構(gòu)化程序設(shè)計(jì)和模塊化思想,

分別對(duì)1602液晶和TC74進(jìn)行編程,C程序代碼如下:

#include〈pic.h〉

#define uchar unsigned char

#define uint unsigned int

#define RS RD0

#define E RD1

const uchar a[]="temp:";

void port_init() //單片機(jī)端口初始化

{

TRISB=0; TRISD0=0;

TRISD1=0; PORTB=0;

RD0=0; RD1=0;

TRISC=0xff;

}

void delay(uchar x) //延時(shí)函數(shù)

{

uchar i;

while(x--) for(i=0;i〈110;i++);

}

void lcd_com(uchar dat) //向LCD寫入命令函數(shù)

{

RS=0; PORTB=dat;

E=0; delay(2);

E=1; delay(2);

E=0; delay(2);

}

void lcd_date(uchar dat) //向LCD寫入數(shù)據(jù)函數(shù)

{

RS=1; PORTB=dat;

E=0; delay(2);

E=1; delay(2);

E=0; delay(2);

}

void lcd_init() //LCD初始化

{

lcd_com(0x30); delay(2);

lcd_com(0x0c); delay(2);

lcd_com(0x01); delay(2);

}

void i2c_init() //單片機(jī)I2C控制寄存器初始化

{

SSPSTAT=0x80; SSPCON=0X38;

SSPCON2=0X00; SSPADD=0X09;

}

uchar i2c_read() //讀取TC74中數(shù)據(jù)的函數(shù)

{

uchar dat; SSPIF=0;

SEN=1;

while(!SSPIF); SSPIF=0;

SSPBUF=0X9A;

while(!SSPIF); SSPIF=0;

SSPBUF=0X00;

while(!SSPIF); SSPIF=0;

RSEN=1;

while(!SSPIF); SSPIF=0;

SSPBUF=0X9B;

while(!SSPIF); SSPIF=0;

RCEN=1;

while(!(SSPSTAT & 0x01));

dat=SSPBUF; SSPIF=0;

ACKDT=1; SSPIF=0;

PEN=1;

while(!SSPIF); SSPIF=0;

return(dat);

}

void lcd_display(uchar dat) //液晶顯示溫度值函數(shù)

{

uchar shi,ge;

ge=dat % 10; shi=dat/10;

lcd_com(0x80+7); lcd_date(0x30+shi);

lcd_com(0x80+8); lcd_date(0x30+ge);

}

void main() //主函數(shù)

{

uchar i;

port_init(); i2c_init();

lcd_init(); lcd_com(0x80);

for(i=0;i〈8;i++)

{

lcd_date(a[i]);

}

while(1)

{

delay(500);

lcd_display((int)i2c_read());

}

}

(三)結(jié)論

通過(guò)對(duì)電路進(jìn)行仿真,證明該電路設(shè)計(jì)是正確的,具有較強(qiáng)的實(shí)用性,并且電路硬件接線簡(jiǎn)單,測(cè)量精度高,溫度測(cè)量范圍廣泛,抗干擾能力強(qiáng),誤差較小??蓮V泛應(yīng)用于對(duì)溫度的檢測(cè)和控制等領(lǐng)域。

[1] 徐瑋,沈建良,莊建清.PIC單片機(jī)快速入門[M].北京:北京航空航天大學(xué)出版社,2010.

[2] 李學(xué)海.PIC 單片機(jī)實(shí)用教程—提高篇[M].北京:北京航空航天大學(xué)出版社,2002.

[3] 張明峰.PIC 單片機(jī)入門與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2004.

[4] 李廣弟,朱月秀,冷祖祈.單片機(jī)基礎(chǔ)(第三版)[M].北京:北京航空航天大學(xué)出版社,2007.

[5] 譚浩強(qiáng).C 程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,2004.

TP311

A

1008-1151(2011)05-0027-02

2011-02-12

田苗法(1984-),男,山東定陶人,安徽機(jī)電職業(yè)技術(shù)學(xué)院汽車工程系助教,研究方向?yàn)槠囯娮优c電控技術(shù)。

猜你喜歡
北京航空航天大學(xué)電路設(shè)計(jì)液晶
《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
不可壓液晶方程組的Serrin解
《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
《液晶與顯示》征稿簡(jiǎn)則
液晶與顯示(2020年8期)2020-08-08 07:01:46
Altium Designer在電路設(shè)計(jì)中的應(yīng)用
電子制作(2019年16期)2019-09-27 09:34:58
負(fù)反饋放大電路設(shè)計(jì)
電子制作(2019年23期)2019-02-23 13:21:36
基于UC3843的60W升壓電路設(shè)計(jì)
液晶與顯示2015年第30卷第1期 目錄
液晶與顯示(2015年1期)2015-02-28 21:15:54
体育| 收藏| 来安县| 诸城市| 长子县| 米林县| 虹口区| 仁化县| 南涧| 邢台县| 太和县| 黎平县| 南昌县| 开阳县| 乌兰浩特市| 湖口县| 浮梁县| 新泰市| 济阳县| 乐山市| 巢湖市| 临海市| 格尔木市| 康乐县| 禄丰县| 菏泽市| 泰宁县| 南开区| 防城港市| 永城市| 长治市| 柳江县| 密云县| 泌阳县| 阿坝| 鹤岗市| 绵阳市| 大港区| 杭锦后旗| 灌南县| 柳林县|