版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、/CONFIG.H引腳配置文件:/#ifndef _CONFIG_H#define _CONFIG_H/* 通用頭文件 */#include <reg52.h>#include <intrins.h>/* 數(shù)據(jù)類型定義 */*typedef signed char int8; / 8位有符號整型數(shù)typedef signed int int16; /16位有符號整型數(shù)typedef signed long int32; /32位有符號整型數(shù) */typedef unsigned char u8; / 8位無符號整型數(shù)typedef unsigned int u16; /
2、16位無符號整型數(shù)typedef unsigned long u32; /32位無符號整型數(shù)/* 全局運行參數(shù)定義 */#define SYS_MCLK (11059200/12) /系統(tǒng)主時鐘頻率,即振蕩器頻率÷12/* IO引腳分配定義 */sbit KEY_IN_1 = P24; /矩陣按鍵的掃描輸入引腳1sbit KEY_IN_2 = P25; /矩陣按鍵的掃描輸入引腳2sbit KEY_IN_3 = P26; /矩陣按鍵的掃描輸入引腳3sbit KEY_IN_4 = P27; /矩陣按鍵的掃描輸入引腳4sbit KEY_OUT_1 = P23; /矩陣按鍵的掃描輸出引腳1s
3、bit KEY_OUT_2 = P22; /矩陣按鍵的掃描輸出引腳2sbit KEY_OUT_3 = P21; /矩陣按鍵的掃描輸出引腳3sbit KEY_OUT_4 = P20; /矩陣按鍵的掃描輸出引腳4sbit ADDR0 = P10; /LED位選譯碼地址引腳0sbit ADDR1 = P11; /LED位選譯碼地址引腳1sbit ADDR2 = P12; /LED位選譯碼地址引腳2sbit ADDR3 = P13; /LED位選譯碼地址引腳3sbit ENLED = P14; /LED顯示部件的總使能引腳#define LCD12864_DB P0 /1602液晶數(shù)據(jù)端口sbit L
4、CD12864_RES = P10; /1602液晶指令/數(shù)據(jù)選擇引腳sbit LCD12864_RW = P11; /1602液晶讀寫引腳sbit LCD12864_EN = P15; /1602液晶使能引腳sbit DS1302_CE = P17; /DS1302片選引腳sbit DS1302_CK = P35; /DS1302通信時鐘引腳sbit DS1302_IO = P34; /DS1302通信數(shù)據(jù)引腳sbit I2C_SCL = P37; /I2C總線時鐘引腳sbit I2C_SDA = P36; /I2C總線數(shù)據(jù)引腳sbit BUZZER = P16; /蜂鳴器控制引腳sbit
5、IO_18B20 = P32; /DS18B20通信引腳sbit IR_INPUT = P33; /紅外接收引腳#include "LCD12864.H"#include "TIME.H"#include "DHT21.h"#endif/LCD12864.C源碼/#include "config.h"u8 zhbuf="預(yù)覽" /中文數(shù)組u8 ehbuf="yulan" /英文字符數(shù)組u8 code imbuf= /圖片碼128*64 寬16,高320x00,0x00,0x0
6、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;/*寫等待*/void Write_Ready()u8 sta=0;LCD12864_RES = 0;LCD12864_RW = 1;doLCD12864_EN = 1;sta = P0;LCD12864_EN = 0;while(sta&0x80);/*讀RAM中數(shù)據(jù)*/u8 Read_12864_RAM()u8 ram=0;LCD12864_RES = 1;LCD12864_RW = 1;LCD12864_EN = 1;ram = P0;LCD12
7、864_EN = 0;return ram;/*寫指令*/void Write_12864_Cmd(u8 cmd)Write_Ready();LCD12864_RES = 0;LCD12864_RW = 0;P0 = cmd;LCD12864_EN = 1;LCD12864_EN = 0;/*寫數(shù)據(jù)*/void Write_12864_Dat(u8 dat)Write_Ready();LCD12864_RES = 1;LCD12864_RW = 0;P0 = dat;LCD12864_EN = 1;LCD12864_EN = 0;/*設(shè)置起始坐標*/void Set_DDRAM_XY(u8 x
8、,u8 y)if(x>=7)x=7;if(y>=3)y=3;switch(y)case 0:Write_12864_Cmd(0x80+x);break;case 1:Write_12864_Cmd(0x90+x);break;case 2:Write_12864_Cmd(0x88+x);break;case 3:Write_12864_Cmd(0x98+x);break;default : break;/*顯示連續(xù)的2個字符*/void Show_Double_12864_Char(u8 x,u8 y,u8 *c)Set_DDRAM_XY(x,y);Write_12864_Dat(
9、*c);Write_12864_Dat(*(c+1); /*顯示單個字符*/void Show_Single_12864_Char(u8 x,u8 y,u8 *c)Set_DDRAM_XY(x,y);Write_12864_Dat(*c); /*顯示中文字符串*/void Show_12864_ZH(u8 x,u8 y,u8 *zh)u8* p=zh;Set_DDRAM_XY(x,y);while(*p)!='0')Write_12864_Dat(*p+);/*顯示一串?dāng)?shù)值*/*u8 dec 小數(shù)位 為0不顯示小數(shù)*/void Show_12864_NUM(u8 x,u8 y,
10、u8 dec,u16 num)u8 i;u8 numbuf6;for(i=0;num;i+)numbufi=num%10+'0'num/=10;Set_DDRAM_XY(x,y);for(;i;i-)if(i=dec)Write_12864_Dat(0X2E); /顯示小數(shù)點Write_12864_Dat(*(numbuf+(i-1); /顯示數(shù)值/*顯示英文字符串*/void Show_12864_EH(u8 x,u8 y,u8 *eh)u8* p=eh;Set_DDRAM_XY(x,y);while(*p)!='0')Write_12864_Dat(*p+)
11、;/*顯示圖案*/void Show_12864_IM(u8 code *im)unsigned char x,y,i;unsigned int tmp=0;for(i=0;i<9;) /分兩屏,上半屏和下半屏,因為起始地址不同,需要分開for(x=0;x<32;x+) /32行Write_12864_Cmd(0x34);Write_12864_Cmd(0x80+x);/列地址Write_12864_Cmd(0x80+i);/行地址,下半屏,即第三行地址0X88Write_12864_Cmd(0x30);for(y=0;y<16;y+)Write_12864_Dat(imtm
12、p+y);/讀取數(shù)據(jù)寫入LCDtmp+=16;i+=8;Write_12864_Cmd(0x36);/擴充功能設(shè)定Write_12864_Cmd(0x30); /*初始化12864*/void Init_Lcd12864()Read_12864_RAM();Show_Single_12864_Char(0,0,'A');Show_Double_12864_Char(0,0,"AB");Show_12864_NUM(0,0,1,123);Show_12864_ZH(0,0,"預(yù)覽");Show_12864_EH(0,0,"yulan");Show_12864_IM(imbuf); Write_12864_Cmd(0X30);/8位數(shù)據(jù),基本指令 Write_12864_Cmd(0X0C);/開顯示,關(guān)游標 Write_12864_Cmd(0X01);/清屏 Write_1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆南昌市第二十八中學(xué)物理高三上期末經(jīng)典試題含解析
- 2025屆江蘇省江陰市普通高中物理高一第一學(xué)期期末調(diào)研試題含解析
- 2025屆陜西省西安工業(yè)大學(xué)附屬補習(xí)學(xué)校物理高三第一學(xué)期期末綜合測試模擬試題含解析
- 2025屆山東省菏澤市23校聯(lián)考高三物理第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 遼寧省朝陽市(2024年-2025年小學(xué)五年級語文)統(tǒng)編版能力評測(下學(xué)期)試卷及答案
- 安徽省蚌埠市(2024年-2025年小學(xué)五年級語文)人教版隨堂測試(上學(xué)期)試卷及答案
- 《低壓電器培訓(xùn)》課件2
- 2024合同續(xù)簽通知范本
- 急救擔(dān)架的使用課件
- 一年級小學(xué)生課前三分鐘小故事(20篇)
- 臨床醫(yī)學(xué)職業(yè)生涯規(guī)劃
- 幼兒園課程故事開展培訓(xùn)
- 《電力建設(shè)施工技術(shù)規(guī)范 第3部分:汽輪發(fā)電機組》DLT 5190.3
- 重大版小學(xué)英語六年級上冊全冊教案
- 跌倒墜床護理個案分析
- 藝術(shù)設(shè)計專業(yè)的職業(yè)生涯報告
- 火力發(fā)電廠施工圖設(shè)計內(nèi)容深度規(guī)定
- 酒店經(jīng)理管理酒店運營
- AI在農(nóng)業(yè)領(lǐng)域的應(yīng)用
- 汽車eps行業(yè)國內(nèi)外市場發(fā)展前景分析與投資風(fēng)險預(yù)測報告
- 短視頻運營實戰(zhàn):抖音短視頻運營
評論
0/150
提交評論