每天都在汆肉中醒来青梅,好男人www在线观看,少妇无码自慰毛片久久久久久,国产欧美另类久久久精品丝瓜

登錄注冊
新聞 資訊 金融 知識 財經 理財 科技 金融 經濟 產品 系統 連接 科技 聚焦 欄目首頁
首頁 > 知識 > > 正文

1602引腳圖 1602液晶模塊引腳_全球今頭條

2023-05-10 17:35:48來源:互聯網

隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如1602引腳圖(1602液晶模塊引腳) ,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!


(資料圖片僅供參考)

602引腳圖(1602液晶模塊引腳)原心有電子企業專賣店2021-06-01 18:38

模塊選擇

模塊選擇分析

設計理念

產品布線

部分代碼分析

摘要

模塊選擇

在設計電子鐘的時候,采用了最基本的單片機51,使用的芯片是STC89C52RC,開發板使用最小的系統板,也方便朋友們了解接線和原理。簡單明了。時鐘芯片的選擇選用DS1302的時鐘模塊,布線中采用杜邦線連接,顯示采用低功耗的LCD1602。LCD1602的對比度調節選用單匝精度的10K電阻。

模塊選擇分析

模塊的具體圖片如下:

DS1302時鐘芯片是美國DALLAS公司推出的具有涓流充電能力的低功耗實時時鐘電路DS1302的結構、工作原理和應用??梢杂嫊r年、月、日、周日、時、分、秒,具有閏年補償功能;

LCD1602液晶顯示器是一種工業字符液晶顯示器,可以同時顯示16x02或32個字符。(16列2行),上面一行剛好可以顯示年、月、日,下面一行可以顯示時鐘。

設計理念

簡介***lcd1602顯示實時時鐘,時鐘芯片的初始值可以在函數中設置。缺點:這個函數因為沒有添加其他函數,比較簡單,校準時間只能通過源碼來校準。

流程:

1.在程序前端定義一個初始化的數組文件。注意,DS1302需要轉換成壓縮BCD碼存儲,方便時鐘芯片初始化和芯片寫保護時調用數組。

2.讀寫LCD1602和DS1302的初始化序列代碼。由于DS51與LCD1602之間沒有直接的SPI通信,因此DS1302類似于LCD1602的三線式SPI通信,可以使用軟件進行模擬通信。

3.取出DS1302讀取的數據,顯示在LCD1602上。

產品布線

產品的接線如下圖所示。在接線中,LCD的數據端口使用單片機的P0端口,時鐘端口使用P2_0至P2 _ 3端口,DS1302使用P1_1至P1_3端口。具體效果和接線見下圖:

部分世代

部分代碼分析

串行通信字節發送分析:

如何將一個字節拆分成0101的二進制位發送出去,分析如何將0101的二進制位變成一個完整的字節。

首先,23 H=0010 0011B,更低位為1,更高位為0?,F在操作0x23&0x01,結果當然是0x01。這時候我們要把數據線改成1,然后0x23右移一個二進制位,結果就是11h = 001 0001b(這里很重要的一點,數據右移,數據右移

假設上述數據右移兩次后,初始的23 H變成08 h = 0000 1000 B,現在對0x08&0x01繼續運算的結果是0。此時數據線變為0,如此循環重復8次,就可以將一個字節分割成串行數據,逐位傳輸。

接收解析:

假設串行數據首先發送更低位。首先一個數據00 H右移一個二進制位,得到的數據當然還是00 H。然后如果數據總線上的電平是1,那么此時00 H和80 H進行OR運算,結果是80 H,然后80 H在下一個電平右移一個二進制位,結果是40 H,如果此時數據線的電平還是1,求和繼續到80 H。

時間序列分析

從上面的讀寫順序可以看出,讀取單個字節時,是時鐘脈沖的下降沿脈沖信號。因此,在程序中,可以將下降沿脈沖信號變為時鐘信號的高電平,然后變為低電平以讀取一個字節。一個字節有8位,for循環可以用于8位循環讀取。代碼如下:

u8DS1302_Read_Byte(){u8i,Byte;DS_CLK=1;//時鐘線拉高Byte=0;for(i=0;i>=1;//數據右移一個位DS_CLK=0;//時鐘線拉低產生下降沿if(DS_IO==1)//判斷數據線上的值為1Byte|=0x80;//字節寫入1DS_CLK=1;//時鐘線拉高}returnByte;}

讀的時序正好與寫的時序相反,寫在上升沿進行:

voidDS1302_Write_Byte(u8Byte){u8i;for(i=0;i>=1;//數據右移一個位DS_CLK=0;//時鐘線復位DS_CLK=1;//時鐘線拉高產生上升沿}}

1: LCD1602初始化代碼

voidLCD_init(void){Write_Instruction(0x38);//8bitinterface,2line,5*7dotsDelay_xms(5);Write_Instruction(0x38);Delay_xms(5);Write_Instruction(0x38);Write_Instruction(0x08);//關顯示,不顯光標,光標不閃爍Write_Instruction(0x01);//清屏Delay_xms(5);Write_Instruction(0x04);//寫一字符,整屏顯示不移動//Write_Instruction(0x05);//寫一字符,整屏右移//Write_Instruction(0x06);//寫一字符,整屏顯示不移動//Write_Instruction(0x07);//寫一字符,整屏左移Delay_xms(5);//Write_Instruction(0x0B);//關閉顯示(不顯示字符,只有背光亮)Write_Instruction(0x0C);//開顯示,光標、閃爍都關閉//Write_Instruction(0x0D);//開顯示,不顯示光標,但光標閃爍//Write_Instruction(0x0E);//開顯示,顯示光標,但光標不閃爍//Write_Instruction(0x0F);//開顯示,光標、閃爍均顯示}

2: DS1302寫初始值代碼是因為前面有一個定義初始化時鐘的數組,在先關閉芯片寫保護的情況下可以直接寫DS1302時鐘的初始值。

voidds1302_write_time(void){ds1302_write_byte(ds1302_control_add,0x00);//關閉寫保護ds1302_write_byte(ds1302_sec_add,0x80);//暫停時鐘//ds1302_write_byte(ds1302_charger_add,0xa9);//涓流充電ds1302_write_byte(ds1302_year_add,time_buf[1]);//年ds1302_write_byte(ds1302_month_add,time_buf[2]);//月ds1302_write_byte(ds1302_date_add,time_buf[3]);//日ds1302_write_byte(ds1302_hr_add,time_buf[4]);//時ds1302_write_byte(ds1302_min_add,time_buf[5]);//分ds1302_write_byte(ds1302_sec_add,time_buf[6]);//秒ds1302_write_byte(ds1302_day_add,time_buf[7]);//周ds1302_write_byte(ds1302_control_add,0x80);//打開寫保護}

摘要

在這個51電子鐘的設計過程中,沒有使用校準和調試的按鍵等其他按鈕。如果需要使用按鍵進行調試,可以基于這段代碼添加case函數,做一個帶蜂鳴器和中斷功能的鬧鐘。如果你需要完整的代碼,你可以從下面的消息郵箱中獲得。這類文章可以一直關注很久。如果你喜歡他們,歡迎指出任何錯誤。

\

關鍵詞:

熱點
主站蜘蛛池模板: 贵定县| 余江县| 浮梁县| 文登市| 郯城县| 汉阴县| 康定县| 麻江县| 沈阳市| 陇川县| 清水河县| 巴塘县| 南部县| 肇庆市| 桃源县| 山阳县| 喀什市| 巍山| 吉安市| 达尔| 梁山县| 仪陇县| 民权县| 太白县| 南溪县| 乐平市| 汤原县| 崇阳县| 鹿邑县| 青岛市| 松原市| 文水县| 云林县| 祁阳县| 百色市| 丰都县| 马尔康县| 武宣县| 齐河县| 漾濞| 平度市|