網(wǎng)站首頁知識問答 >正文
文章目錄[隱藏]
模塊選擇模塊選擇分析設計理念產(chǎn)品布線部分世代部分代碼分析摘要602引腳圖(1602液晶模塊引腳)原心有電子企業(yè)專賣店2021-06-01 18:38
模塊選擇
模塊選擇分析
設計理念
產(chǎn)品布線
部分代碼分析
摘要
模塊選擇在設計電子鐘的時候,采用了最基本的單片機51,使用的芯片是STC89C52RC,開發(fā)板使用最小的系統(tǒng)板,也方便朋友們了解接線和原理。簡單明了。時鐘芯片的選擇選用DS1302的時鐘模塊,布線中采用杜邦線連接,顯示采用低功耗的LCD1602。LCD1602的對比度調(diào)節(jié)選用單匝精度的10K電阻。
模塊選擇分析模塊的具體圖片如下:
DS1302時鐘芯片是美國DALLAS公司推出的具有涓流充電能力的低功耗實時時鐘電路DS1302的結(jié)構(gòu)、工作原理和應用??梢杂嫊r年、月、日、周日、時、分、秒,具有閏年補償功能;
LCD1602液晶顯示器是一種工業(yè)字符液晶顯示器,可以同時顯示16x02或32個字符。(16列2行),上面一行剛好可以顯示年、月、日,下面一行可以顯示時鐘。
設計理念簡介***lcd1602顯示實時時鐘,時鐘芯片的初始值可以在函數(shù)中設置。缺點:這個函數(shù)因為沒有添加其他函數(shù),比較簡單,校準時間只能通過源碼來校準。
流程:
在程序前端定義一個初始化的數(shù)組文件。注意,DS1302需要轉(zhuǎn)換成壓縮BCD碼存儲,方便時鐘芯片初始化和芯片寫保護時調(diào)用數(shù)組。
讀寫LCD1602和DS1302的初始化序列代碼。由于DS51與LCD1602之間沒有直接的SPI通信,因此DS1302類似于LCD1602的三線式SPI通信,可以使用軟件進行模擬通信。
取出DS1302讀取的數(shù)據(jù),顯示在LCD1602上。
產(chǎn)品布線產(chǎn)品的接線如下圖所示。在接線中,LCD的數(shù)據(jù)端口使用單片機的P0端口,時鐘端口使用P2_0至P2 _ 3端口,DS1302使用P1_1至P1_3端口。具體效果和接線見下圖:
部分世代部分代碼分析串行通信字節(jié)發(fā)送分析:
如何將一個字節(jié)拆分成0101的二進制位發(fā)送出去,分析如何將0101的二進制位變成一個完整的字節(jié)。
首先,23 H=0010 0011B,最低位為1,最高位為0?,F(xiàn)在操作0x23&0x01,結(jié)果當然是0x01。這時候我們要把數(shù)據(jù)線改成1,然后0x23右移一個二進制位,結(jié)果就是11h = 001 0001b(這里很重要的一點,數(shù)據(jù)右移,數(shù)據(jù)右移
假設上述數(shù)據(jù)右移兩次后,初始的23 H變成08 h = 0000 1000 B,現(xiàn)在對0x08&0x01繼續(xù)運算的結(jié)果是0。此時數(shù)據(jù)線變?yōu)?,如此循環(huán)重復8次,就可以將一個字節(jié)分割成串行數(shù)據(jù),逐位傳輸。
接收解析:
假設串行數(shù)據(jù)首先發(fā)送最低位。首先一個數(shù)據(jù)00 H右移一個二進制位,得到的數(shù)據(jù)當然還是00 H。然后如果數(shù)據(jù)總線上的電平是1,那么此時00 H和80 H進行OR運算,結(jié)果是80 H,然后80 H在下一個電平右移一個二進制位,結(jié)果是40 H,如果此時數(shù)據(jù)線的電平還是1,求和繼續(xù)到80 H。
時間序列分析
從上面的讀寫順序可以看出,讀取單個字節(jié)時,是時鐘脈沖的下降沿脈沖信號。因此,在程序中,可以將下降沿脈沖信號變?yōu)闀r鐘信號的高電平,然后變?yōu)榈碗娖揭宰x取一個字節(jié)。一個字節(jié)有8位,for循環(huán)可以用于8位循環(huán)讀取。代碼如下:
u8?DS1302_Read_Byte(){??u8?i,?Byte?;??DS_CLK?=?1?;????????????????????????????????????????????//時鐘線拉高??Byte?=?0?;??for(?i=0;?i>=?1?;??????????????????????????????????????????//數(shù)據(jù)右移一個位????DS_CLK?=?0?;??????????????????????????????????????????//時鐘線拉低產(chǎn)生下降沿????if(?DS_IO==1?)??????????????????????????????????????????//判斷數(shù)據(jù)線上的值為1??????Byte?|=?0x80?;????????????????????????????????????????//字節(jié)寫入1????DS_CLK?=?1?;??????????????????????????????????????????//時鐘線拉高??}??return?Byte?;}
讀的時序正好與寫的時序相反,寫在上升沿進行:
void?DS1302_Write_Byte(?u8?Byte?){??u8?i?;??for(?i=0;?i>=?1?;??????????????????????????????????????????//數(shù)據(jù)右移一個位????DS_CLK?=?0?;??????????????????????????????????????????//時鐘線復位????DS_CLK?=?1?;??????????????????????????????????????????//時鐘線拉高產(chǎn)生上升沿??}}
1: LCD1602初始化代碼
void?LCD_init(void)?{Write_Instruction(0x38);//8bit?interface,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寫初始值代碼是因為前面有一個定義初始化時鐘的數(shù)組,在先關閉芯片寫保護的情況下可以直接寫DS1302時鐘的初始值。
void?ds1302_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電子鐘的設計過程中,沒有使用校準和調(diào)試的按鍵等其他按鈕。如果需要使用按鍵進行調(diào)試,可以基于這段代碼添加case函數(shù),做一個帶蜂鳴器和中斷功能的鬧鐘。如果你需要完整的代碼,你可以從下面的消息郵箱中獲得。這類文章可以一直關注很久。如果你喜歡他們,歡迎指出任何錯誤。
目前上述的內(nèi)容應該能夠為大家解答出大家對于1602引腳圖(1602液晶模塊引腳)的疑惑了,所以如果大家還想要了解更多的知識內(nèi)容,也可以關注本站其他文章進行了解哦。
版權(quán)說明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!
- 上一篇:今日更新燕麥流沙包的制作方法
- 下一篇:最后一頁
猜你喜歡:
- 2022-05-11今日更新公司買了醫(yī)保還要買農(nóng)村合作醫(yī)療嗎
- 2022-05-07今日更新12到14周歲對什么犯罪要負責任
- 2022-05-06今日更新詹姆斯要哭暈在廁所 小托馬斯剛加盟休戰(zhàn)四月羅斯也有機會了
- 2022-05-07今日更新國產(chǎn)籃球鞋哪個牌子好 十大性價比國產(chǎn)實戰(zhàn)籃球鞋推薦
- 2022-05-12今日更新離婚后一方的財產(chǎn)是否要分割
- 2022-05-06今日更新訴訟保全指什么呢
- 2022-05-06今日更新除濕袋里的水真的是濕氣嗎,除濕袋里面的水漏了有毒嗎
- 2022-05-05今日更新七夕情人節(jié)創(chuàng)意禮物(情人節(jié)創(chuàng)意禮物給女朋友)
最新文章:
- 2022-05-13今日更新打完新冠疫苗為什么不能吃辣,打完新冠疫苗又困又累正常嗎
- 2022-05-13今日更新小龍蝦壞了是什么味道小龍蝦壞了是什么樣子
- 2022-05-13今日更新ipone變黑白怎么辦
- 2022-05-13今日更新拆線需要多久(拆線必須去原醫(yī)院嗎)
- 2022-05-13張岱是哪個時期的詩人(張岱是哪個朝代的)
- 2022-05-13今日更新2023春節(jié)初一到十五的禁忌 盤點兔年春節(jié)初一到十五的注意事項
- 2022-05-13今日更新兩種疫苗間隔14天還是15天,新冠疫苗和狂犬疫苗有沖突嗎
- 2022-05-13今日更新豬要養(yǎng)多久(三十斤的豬仔要養(yǎng)多久可出欄)
- 2022-05-13今日更新小龍蝦加啤酒會過敏嗎小龍蝦加啤酒會中毒嗎
- 2022-05-13今日更新怎么修改ip地址
- 2022-05-13清明的作者為何被貶到池州任職(清明作者為什么被貶到池州任職)
- 2022-05-13今日更新燕麥流沙包的制作方法
- 2022-05-13今日更新2023年大年初六是幾月幾號 大年初六介紹
- 2022-05-13今日更新新冠疫苗間隔45天可以打嗎,新冠疫苗第二針不打可以嗎
- 2022-05-13今日更新孕貓一直叫什么時候生貓咪生孩子會叫喚么
- 熱點推薦
- 熱評文章
- 今日更新網(wǎng)絡詐騙1000多元可以立案嗎
- 今日更新遺贈與遺囑繼承怎么去區(qū)分
- 今日更新AJ18大紅色開箱圖 Air Jordan 18 Toro實物欣賞
- 今日更新欠錢人跑了找不到的如何解決
- 今日更新回南天吃什么可以去體內(nèi)的濕氣,回南天應該開窗還是關窗
- 今日更新產(chǎn)褥期能吃花蛤嗎,花蛤隔夜還能吃嗎
- 今日更新2018年底三款Nike重磅球鞋發(fā)布 Nike三雙重磅球鞋哪一雙最值得入手
- 今日更新撤銷緩刑有什么必要的條件
- 今日更新fear of god essential是什么牌子 fear of god和essential有什么關系
- 今日更新開窗通風時間,冬季開窗通風多少分鐘
- 隨機文章
- 今日更新離婚房子解除居住權(quán)有哪些條件
- 今日更新借款合同基本特征都有哪些
- 今日更新社保交10年可以領退休金嗎
- 今日更新耐克VaporMax 97銀子彈多少錢 Nike Air VaporMax 97Silver Bullet何時發(fā)售
- 今日更新AJ3 flyknit與OG黑水泥實物對比 哪個更適合壓馬路
- 今日更新耐克 Vaporfly NEXT% 實戰(zhàn)測評 Vaporfly NEXT%值不值得入手
- 今日更新辦理房地產(chǎn)抵押手續(xù)程序是什么呢
- 今日更新李寧溯系列弘頂 樂壁配色開箱測評敦煌文化來襲
- 今日更新離婚前的房產(chǎn)貸款是夫妻共同債務嗎
- 今日更新訴訟離婚沒有證明夫妻感情破裂的證據(jù)就離不成是嗎