




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#include <reg52.h>#include <intrins.h> /要用到_nop_();函數(shù)#define uchar unsigned char#define uint unsigned int/*/* 單片機引腳定義
2、0; */*/sbit sda=P10; /I2C 數(shù)據(jù)傳送位sbit scl=P11; /I2C 時鐘傳送位char x,y,z,num9=0,0,0;/*/*
3、60; 數(shù)據(jù)部分 */*/#define IIC_READ&
4、#160; 0x1D /定義讀指令#define IIC_WRITE 0x1D /定義寫指令#define LCD_data P0 /數(shù)據(jù)口sbit inter_0=P32;sbit LCD_RS = P27;
5、60; /寄存器選擇輸入 sbit LCD_RW = P26; /液晶讀/寫控制sbit LCD_EN = P25; /液晶使能控制sbit LCD_PSB = P24;
6、 /串/并方式控制void delay_1ms(uint x) uint i,j; for(j=0;j<x;j+) for(i=0;i<110;i+); /*/* &
7、#160; */*寫指令數(shù)據(jù)到LCD
8、 */*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。
9、 */*
10、160; */*/void write_cmd(uchar cmd)
11、160; LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; P0 = cmd; delay_1ms(5); LCD_EN =
12、 1; delay_1ms(5); LCD_EN = 0; /*/*
13、0; */*寫顯示數(shù)據(jù)到LCD
14、60; */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。
15、0; */*
16、 */*/void write_dat(uchar dat)
17、 LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delay_1ms(5); LCD_EN = 1; delay_1ms(5); LCD_EN = 0; /*/*
18、160; *
19、/* 設(shè)定顯示位置 */*
20、; */*/void lcd_pos
21、(uchar X,uchar Y) uchar pos; if (X=0) X=0x80; else if (X=1) &
22、#160; X=0x90; else if (X=2) X=0x88; else if (X=3) X=0x98; pos = X+Y ; write_cmd(pos); /顯示地址/*/* &
23、#160; &
24、#160; */* LCD初始化設(shè)定
25、 */*
26、160; */*/void lcd_init() LCD_PSB = 1; /并口方式 write_cmd(0x30);
27、 /基本指令操作 delay_1ms(5); write_cmd(0x0C); /顯示開,關(guān)光標 delay_1ms(5); write_cmd(0x01); /清除LCD的顯示內(nèi)容 delay_1ms(5); uchar set_key_sign;
28、160; /是否在設(shè)置狀態(tài)標志uchar delaysign; /視覺停留標志uchar xposivalue; /x正方向滿格顯示g值uchar xnegavalue; /x反方向滿格顯示g值uchar yposivalue; /y正方向滿格顯示g值uchar ynegavalue; /y反方向滿格顯示g值/11111111 11111110 11111100 - 10000000 00000000
29、160;led_mai:i為亮燈數(shù)量uchar led_ma9=0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; uchar xposiupstate; /x正方向上8個LED顯示狀態(tài)uchar xposidownstate; /x正方向下8個LED顯示狀態(tài)uchar xnegaupstate; /x反方向上8個LED顯示狀態(tài)uchar xnegadownstate; /x反方向下8個LED顯示狀態(tài)uchar yupstate;
30、160; /y方向上8個LED顯示狀態(tài)uchar ydownstate; /y方向下8個LED顯示狀態(tài)uchar xposilightnum; /x正方向亮燈數(shù)量(116)uchar xnegalightnum; /x反方向亮燈數(shù)量(116)uchar yposilightnum; /y正方向亮燈數(shù)量(18)uchar ynegalightnum; /x正方向亮燈數(shù)量(18)uchar ack_sign;
31、 /I2C 應(yīng)答標志/*/* 各延時程序 */*/void iic_delay()
32、160; /5us延時 _nop_(); _nop_(); _nop_(); _nop_();void delay_50us(uint t) uchar j; for(;t>0;t-) for(j=19;j>0;j-);void delay_50ms(uchar t) uint j; for(;t>0;t-) for(j=6245;j>0;j-);/*/*
33、60; I2C通信部分 */*/void iic_start() /函數(shù)功能:I2C通信開始 sda=1; iic_delay();&
34、#160;scl=1; iic_delay(); sda=0; iic_delay(); void iic_stop() /函數(shù)功能:I2C通信停止 sda=0; iic_delay(); scl=1; iic_delay(); sda=1; iic_delay(); void ii
35、c_ack() /函數(shù)功能:I2C通信查應(yīng)答位 sda=1; scl=1; iic_delay(); ack_sign=sda; scl=0; void iic_write_byte(uchar wdata)/函數(shù)功能:向I2C從機寫入一個字節(jié)
36、60; uchar i,temp,temp1; temp1=wdata; for(i=0;i<8;i+) scl = 0; iic_delay(); temp=temp1; temp=temp&0x80;
37、160; if(temp=0x80) sda=1; else sda=0; iic_delay(); scl=1; iic_delay();
38、60;scl=0; iic_delay(); temp1=temp1<<1; char iic_read_byte(void) /函數(shù)功能:從I2C從機中讀出一個字節(jié) uchar x; char data_data; for (x=0;x<8;x+) &
39、#160; data_data=data_data<<1; sda=1; iic_delay(); scl=0; iic_delay(); scl=1; iic_delay(); if(sda=1) data_data|=0x01; /else /
40、; data_data&=0xfe; return data_data;void iic_write(uchar byte_add,uchar wdata)/函數(shù)功能:按地址寫入一字節(jié)數(shù)據(jù) uchar t; t=(IIC_WRITE<<1); iic_start(); iic_write_byte(t); iic_ack(); iic_write_byte(byte_add); iic_ack(); iic_write_byte(wdata); iic_ack(); iic_stop();char iic_read(uchar byte_add) /函數(shù)功能:按地址讀出一字節(jié)數(shù)據(jù)
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬兆網(wǎng)絡(luò)在各行業(yè)中的應(yīng)用
- 太陽能熱電聯(lián)產(chǎn)項目后期運營與維護
- 高端裝備數(shù)字化項目建設(shè)周期與進度安排
- 商品房屋租賃合同示范文本(3篇)
- 第3章 廣袤浩瀚的宇宙第3節(jié) 人類對宇宙的探索 第二課時教學(xué)設(shè)計-2024-2025學(xué)年浙教版七年級上冊科學(xué)
- 二零二五年度金融數(shù)據(jù)托管與風險管理協(xié)議匯編
- 《第八章 第一節(jié) 自然資源的開發(fā)利用》教學(xué)設(shè)計教學(xué)反思-2023-2024學(xué)年高中化學(xué)人教版(2019)必修第二冊
- 二零二五年度網(wǎng)絡(luò)主播與直播APP解除合同協(xié)議
- 二零二五年度房屋租賃中介與租客租賃合同修改協(xié)議
- 2025年幼兒園大班健康骨骼標準教案考必過
- 《陶瓷彩繪裝飾工藝》課程標準
- 2024年醫(yī)學(xué)高級職稱-全科醫(yī)學(xué)(醫(yī)學(xué)高級)筆試歷年真題薈萃含答案
- 預(yù)防頸動脈斑塊
- 半生熟紙制作工藝
- 國防動員建設(shè)總體規(guī)劃方案
- 教案檢查總結(jié)及整改措施
- 商業(yè)銀行經(jīng)營管理課件
- ESD靜電管理標準課件
- 19.SL-T19-2023水利基本建設(shè)項目竣工財務(wù)決算編制規(guī)程
- 火葬場管理制度
- 《老年護理》教學(xué)教案
評論
0/150
提交評論