STC12C5A60S2單片機(jī)實(shí)現(xiàn)AD采樣并液晶顯示_第1頁
STC12C5A60S2單片機(jī)實(shí)現(xiàn)AD采樣并液晶顯示_第2頁
STC12C5A60S2單片機(jī)實(shí)現(xiàn)AD采樣并液晶顯示_第3頁
STC12C5A60S2單片機(jī)實(shí)現(xiàn)AD采樣并液晶顯示_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)字燃油表模擬電路設(shè)計(jì)可實(shí)現(xiàn)以下功能:1、推動(dòng)滑動(dòng)變阻器,能使 LCD從0顯示到1002、檔顯示數(shù)字低于 10時(shí),燈亮,LCD顯示"oil low 1!£:!a.7HU3KKI 常F3L1TC-J _"P3SWT0 :Fzawrr JI F3*T0 韋 陶腎ifzhh'S.TWifl 3幾山口 m II1 A1IZ irZ3¥ in L=*2»1I :EG IE *£*柑壬TECWRD7LCMUUEQt以下為C程序:#in clude<>#in clude<>#defi ne uchar un sig

2、ned char#defi ne uint un sig ned int#defi ne Delay4us()_ nop_();_no p_( );_n op_( );_n op_();sbit LED=P1A0;sbit LCD_RS=P2A6;sbit LCD_RW=P2A5;sbit LCD_EN=P27;sbit SCL=P2A0;/I2C時(shí)鐘引腳sbit SDA=P2A1;/I2C數(shù)據(jù)輸入輸出引腳uchar Recv_Buffer4;/數(shù)據(jù)接收緩沖uint Voltage='0','0','0','0'/數(shù)據(jù)分解為電壓b

3、it bdata IIC_ERROR;/I2C錯(cuò)誤標(biāo)志位uchar LCD_Line_1=" "/ 延時(shí)void delay(int ms)uchar i;while(ms-) for(i=0;i<250;i+) Delay4us();/LCD 忙檢測bit LCD_Busy_Check()bit Result;LCD_RS=0;LCD_RW=1;LCD_EN=1;Delay4us();Result=(bit)(P0&0x80);LCD_EN=0;return Result;/ 寫指令void LCD_Write_Command(uchar cmd)while

4、(LCD_Busy_Check();LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;Delay4us();LCD_EN=1;Delay4us();LCD_EN=0;/ 寫數(shù)據(jù)void LCD_Write_Data(uchar dat)while(LCD_Busy_Check();LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;Delay4us();LCD_EN=1;Delay4us();LCD_EN=0;/ 初始化void LCD_Initialise()LCD_Write_Command(0x38);delay(5);L

5、CD_Write_Command(0x0c);delay(5);LCD_Write_Command(0x06);delay(5);LCD_Write_Command(0x01);delay(5);/ 設(shè)置顯示位置void LCD_Set_Position(uchar pos)LCD_Write_Command(pos|0x80);/ 顯示一行void LCD_Display_A_Line(uchar Line_Addr,uchar s)uchar i;LCD_Set_Position(Line_Addr); for(i=0;i<16;i+)LCD_Write_Data(si);/ 將模數(shù)

6、轉(zhuǎn)換后得到的值分解存入緩存void Convert_To_Voltage(uchar val)uchar Tmp; / 最大值為 255, 對(duì)應(yīng) 100L,255/100= val=val*;Voltage2=val/100+'0' /Tmp=val%100; /Voltage1=Tmp/10+'0'Tmp=Tmp%10;Voltage0=Tmp+'0'/ 啟動(dòng) I2C 總線void IIC_Start()SDA=1;SCL=1;Delay4us();SDA=0;Delay4us();SCL=0;/ 停止 I2C 總線void IIC_Stop(

7、)SDA=0;SCL=1;Delay4us();SDA=1; Delay4us();SCL=0;/ 從機(jī)發(fā)送應(yīng)答位void Slave_ACK()SDA=0;SCL=1;Delay4us();SCL=0;SDA=1;/ 從機(jī)發(fā)送非應(yīng)答位void Slave_NOACK()SDA=1;SCL=1;Delay4us();SCL=0;SDA=0;/ 發(fā)送一字節(jié)void IIC_SendByte(uchar wd) uchar i; for(i=0;i<8;i+) /循環(huán)移入 8 位SDA=(bit)(wd&0x80);_nop_();_nop_(); SCL=1;Delay4us();

8、SCL=0;wd<<=1;Delay4us();SDA=1; / 釋放總線并準(zhǔn)備讀取應(yīng)答 SCL=1;Delay4us();IIC_ERROR=SDA; /IIC_ERROR=1 表示無應(yīng)答 SCL=0;Delay4us();/ 接收一字節(jié)uchar IIC_ReceiveByte()uchar i,rd=0x00;for(i=0;i<8;i+)SCL=1;rd<<=1;rd|=SDA;Delay4us();SCL=0;Delay4us();SCL=0;Delay4us();return rd;/ 連續(xù)讀入 4 路通道的 A/D 轉(zhuǎn)換結(jié)果并保存到 Recv_Buf

9、fer void ADC_PCF8591(uchar CtrlByte) uchar i;IIC_Start();發(fā)送寫地址發(fā)送控制字節(jié)重新發(fā)送開始命令發(fā)送讀地址空讀一次 , 調(diào)整讀順序 收到一字節(jié)后發(fā)送一個(gè)應(yīng)答位IIC_SendByte(0x90);/if(IIC_ERROR=1)return;/ IIC_SendByte(CtrlByte);/if(IIC_ERROR=1)return; IIC_Start(); / IIC_SendByte(0x91); / if(IIC_ERROR=1)return; IIC_ReceiveByte(); / Slave_ACK(); / for(i=0;i<4;i+)Recv_Bufferi+=IIC_ReceiveByte();Slave_ACK(); / 收到一個(gè)字節(jié)后發(fā)送一個(gè)應(yīng)答位 Slave_NOACK();IIC_Stop(); / 收到一個(gè)字節(jié)后發(fā)送一個(gè)非應(yīng)答位 /向PCF8591發(fā)送1字節(jié)進(jìn)行AD轉(zhuǎn)換/ 主程序void main()LED=0;LCD_Initialise();while(1)ADC_PCF8591(0x04);if(Recv_Buffer0<26)LCD_Display_A_Line(0x00, "Oil Low! ");LED=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論