




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本程序是利用光敏電阻和51 單片機(jī)來控制led 燈亮滅#include<reg52.h>/ 包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存定義#include <intrins.h> / 包含 NOP 空指令函數(shù)_nop_();#include<LCD1602.h>#define AddWr 0x90/ 寫數(shù)據(jù)地址#define AddRd 0x91/ 讀數(shù)據(jù)地址sbit RST=P2A4;時鐘 加上后可以關(guān)掉 DS1302芯片輸出sbit Sda=P2P;/定義總線連接端口sbit Scl=P2A1;sbit dula=P2A6;sbit wela
2、=P2A7;bit ADFlag;/ 定義 AD 采樣標(biāo)志位unsignedcharcodeDatatab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;data unsigned char Display8;/定義臨時存放數(shù)碼管數(shù)值/* 延時 程 序*/void mDelay(unsigned char j)unsigned int i;for(;j>0;j-)for(i=0;i<125;i+);/* 初 始 化 定 時 器1*/void Init_Timer1(void)TMOD |= 0x10;TH1=0xff;/* In
3、it value */TL1=0x00;/PT1=1;/* 優(yōu)先級 */EA=1;/* interupt enable */ET1=1;/* enable timer1 interrupt */TR1=1;/* 啟 動 IIC 總 線*/void Start(void)Sda=1;_nop_();Scl=1;_nop_();Sda=0;_nop_();Scl=0;/* 停 止 IIC 總 線*/void Stop(void)Sda=0;_nop_();Scl=1;_nop_();Sda=1;_nop_();Scl=0;/* 應(yīng) 答 IIC 總 線*/void Ack(void)Sda=0;II
4、C 總 線個字節(jié)_nop_();Scl=1;_nop_();Scl=0;_nop_();/* 非 應(yīng) 答*/void NoAck(void)Sda=1;_nop_();Scl=1;_nop_();Scl=0;_nop_();/* 發(fā) 送*/void Send(unsigned char Data)unsigned char BitCounter=8;unsigned char temp;dotemp=Data;Scl=0;_nop_();if(temp&0x80)=0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCo
5、unter-;while(BitCounter);Scl=0;讀入一個字節(jié)并返/*/unsigned char Read(void)unsigned char temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;doScl=0;_nop_();Scl=1;_nop_();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1)temp1=temp<<1;temp=temp1;BitCounter-;while(BitCounter);return
6、(temp);/* 寫 入 DA 數(shù) 模 轉(zhuǎn) 換*/void DAC(unsigned char Data)Start();Send(AddWr); / 寫入芯片地址Ack();Send(0x40);/ 寫入控制位,使能DAC 輸出Ack();Send(Data); / 寫數(shù)據(jù)Ack();Stop();/* 讀 取 AD 模 數(shù) 轉(zhuǎn) 換*/unsigned char ReadADC(unsigned char Chl)/ 寫入芯片地址unsigned char Data;Start();Send(AddWr);Ack();Send(0x40|Chl);/ 寫入選擇的通道,本程序只用單端輸入,差
7、分部分需要自行添加/Chl 的值分別為 0、 1 、 2、 3,分別代表1-4 通道Ack();Start();Send(AddRd); / 讀入地址Ack();Data=Read(); / 讀數(shù)據(jù)Scl=0;NoAck();Stop();return Data; / 返回值void cmg(void)/ 數(shù)碼管鎖存函數(shù) 關(guān)時鐘 DS1302dula=1;P0=0x00;dula=0;wela=1;P0=0x00;wela=0;RST=0; / 關(guān)時鐘 DS1302/*/void main()unsigned char num;unsigned char ADtemp;InitLcd();mD
8、elay(20);Init_Timer1();cmg();while(1)/DA 數(shù)模輸出變量/ 定義中間變量/ 數(shù)碼管鎖存主程序ADtemp=ReadADC(2);if(ADtemp >=250)P1 = 0X00;else if(ADtemp <=250 && ADtemp >= 210)P1 = 0X80;else if(ADtemp <=210 && ADtemp >= 180)P1 = 0Xc0;else if(ADtemp <=180 && ADtemp >= 150)P1 = 0Xe0;el
9、se if(ADtemp <=150 && ADtemp >= 120)P1 = 0Xf0;else if(ADtemp <=120 && ADtemp >= 90)P1 = 0Xf8;else if(ADtemp <=90 && ADtemp >= 60)P1 = 0Xfc;else if(ADtemp <=60 && ADtemp >= 30) P1 = 0Xfe;/* 定 時 器 中 斷 程 序*/void Timer1_isr(void) interrupt 3 using
10、1/定時器 1 執(zhí)行數(shù)碼管動態(tài)掃描static unsigned int j;TH1=0xfb; / 重新賦值TL1=0x00;j+;if( j=200)j=0;ADFlag=1; / 定時置位 AD 采樣標(biāo)志位#include<reg52.h>#include<stdio.h>#include<intrins.h>sbit RS = P3A5;Pin4 sbit RW = P3A6; Pin5 sbit E = P3A4;Pin6 #define Data P0 / 數(shù)據(jù)端口unsigned char TempData8;unsigned charSeco
11、ndLine="unsigned charFirstLine ="void DelayUs(unsigned char us)/delay usunsigned char uscnt;uscnt=us>>1;/* Crystal frequency in 12MHz*/ while(-uscnt);void DelayMs(unsigned char ms)/delay Mswhile(-ms)DelayUs(250);DelayUs(250);DelayUs(250);DelayUs(250); void WriteCommand(unsigned char
12、c)DelayMs(5);/short delay before operationE=0;RS=0;RW=0;_nop_();E=1;Data=c;E=0;void WriteData(unsigned char c)DelayMs(5); /short delay before operationE=0;RS=1;RW=0;_nop_();E=1;Data=c;E=0;RS=0;void ShowChar(unsigned char pos,unsigned char c) unsigned char p;if (pos>=0x10)p=pos+0xb0; /是第二行則命令代碼高4
13、位為0xcelsep=pos+0x80; /是第二行則命令代碼高4 位為0x8WriteCommand (p);/write commandWriteData (c); /write datavoid ShowString (unsigned char line,char *ptr)unsigned char l,i;l=line<<4;for (i=0;i<16;i+)ShowChar (l+,*(ptr+i);/ 循環(huán)顯示 16 個字符void InitLcd()DelayMs(15);WriteCommand(0x38); /display modeWriteComma
14、nd(0x38); /display modeWriteCommand(0x38); /display modeWriteCommand(0x06); /顯示光標(biāo)移動位置WriteCommand(0x0c); /顯示開及光標(biāo)設(shè)置WriteCommand(0x01); /顯示清屏void disp(void) FirstLine2='0'+TempData0;FirstLine4='0'+TempData1;FirstLine3='.'FirstLine6='V'FirstLine9='0'+TempData2;FirstLine11='0'+TempData3;FirstLine10='.'FirstLine13='V'SecondLine2='0'+TempData4;SecondLine4='0'+TempData5;Se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 墻地磚合同范本
- 全書定制合同范本
- 單位電腦采購合同范本
- 單位與保安合同范本
- 個人投資合伙合同范本
- 修路轉(zhuǎn)讓合同范例
- 入圍合同范本
- 做線上合同范本
- 麻城外包型鋼加固施工方案
- 《酷蟲學(xué)校 第1 12冊 注音版 》讀書筆記思維導(dǎo)圖PPT模板下載
- 中華人民共和國環(huán)境保護(hù)法
- Monkey Fishes The Moon(英語演講ppt猴子撈月)
- 湘教版八年級地理下冊全冊教案
- 戰(zhàn)略管理徐飛版課件
- 棄渣場的水土保持審查與管理
- 農(nóng)業(yè)銀行境外匯款申請書樣板
- 馬工程《刑法學(xué)(下冊)》教學(xué)課件 第22章 妨害社會管理秩序罪
- GB/T 15886-1995C型射頻同軸連接器
- GB/T 14643.6-2009工業(yè)循環(huán)冷卻水中菌藻的測定方法第6部分:鐵細(xì)菌的測定MPN法
- GB/T 1096-2003普通型平鍵
評論
0/150
提交評論