




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二設(shè)計(jì)制作智能電子鐘【知識(shí)點(diǎn)】 IIC通信原理
IIC通信的基本功能與編程基礎(chǔ)
STM8L051F3單片機(jī)TIM4定時(shí)器/計(jì)數(shù)器的工作原理
OLED顯示 模擬IIC通信的軟件實(shí)現(xiàn)原理
RTC的基本功能和工作原理【技能點(diǎn)】
顯示屏的特點(diǎn)和類型
IIC通信編程 定時(shí)器接口模塊編程 模擬IIC通信的軟件實(shí)現(xiàn)
OLED驅(qū)動(dòng)顯示應(yīng)用
RTC讀取時(shí)間日歷的軟件編程任務(wù)一
設(shè)計(jì)制作字符顯示器在本任務(wù)中主要完成STM8L051F3單片機(jī)通過IIC和OLED顯示屏通信,驅(qū)動(dòng)OLED顯示屏,顯示相應(yīng)的字符內(nèi)容的任務(wù)。首先介紹了IIC通信和OLED顯示屏的工作原理,以及它們的工作時(shí)序等在本次任務(wù)中用到的相關(guān)知識(shí),給出了項(xiàng)目的開發(fā)原理和程序流程圖。硬件開發(fā)平臺(tái)與以上任務(wù)相同,最后給出OLED顯示“WXSTC”字符的單片機(jī)STM8L051F3程序,最終實(shí)現(xiàn)軟硬件聯(lián)調(diào)。知識(shí)點(diǎn)1.I2C串行總線概述
I2C總線是PHLIPS公司推出的一種串行總線,是具備多主機(jī)系統(tǒng)所需的總線裁決和高低速器件同步功能的高性能串行總線。I2C總線只有兩根雙向信號(hào)線。一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。
I2C總線通過上拉電阻接正電源。當(dāng)總線空閑時(shí),兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號(hào)變低,即各器件的SDA及SCL都是線“與”關(guān)系。知識(shí)點(diǎn)1-1.I2C串行總線概述
每個(gè)接到I2C總線上的器件都有唯一的地址。主機(jī)與其它器件間的數(shù)據(jù)傳送可以是由主機(jī)發(fā)送數(shù)據(jù)到其它器件,這時(shí)主機(jī)即為發(fā)送器。由總線上接收數(shù)據(jù)的器件則為接收器。在多主機(jī)系統(tǒng)中,可能同時(shí)有幾個(gè)主機(jī)企圖啟動(dòng)總線傳送數(shù)據(jù)。為了避免混亂,I2C總線要通過總線仲裁,以決定由哪一臺(tái)主機(jī)控制總線。知識(shí)點(diǎn)1-2.I2C串行總線概述知識(shí)點(diǎn)2.I2C總線的數(shù)據(jù)傳送
I2C總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號(hào)為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時(shí)鐘線上的信號(hào)為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。1、數(shù)據(jù)位的有效性規(guī)定SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號(hào);SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號(hào)。
起始和終止信號(hào)都是由主機(jī)發(fā)出的,在起始信號(hào)產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號(hào)產(chǎn)生后,總線就處于空閑狀態(tài)。連接到I2C總線上的器件,若具有I2C總線的硬件接口,則很容易檢測到起始和終止信號(hào)。知識(shí)點(diǎn)2-1IIC通信的起始和終止信號(hào)知識(shí)點(diǎn)2-2IIC通信的數(shù)據(jù)傳送格式(1)字節(jié)傳送與應(yīng)答每一個(gè)字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時(shí),先傳送最高位(MSB),每一個(gè)被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位)。
由于某種原因從機(jī)不對(duì)主機(jī)尋址信號(hào)應(yīng)答時(shí)(如從機(jī)正在進(jìn)行實(shí)時(shí)性的處理工作而無法接收總線上的數(shù)據(jù)),它必須將數(shù)據(jù)線置于高電平,而由主機(jī)產(chǎn)生一個(gè)終止信號(hào)以結(jié)束總線的數(shù)據(jù)傳送。如果從機(jī)對(duì)主機(jī)進(jìn)行了應(yīng)答,但在數(shù)據(jù)傳送一段時(shí)間后無法繼續(xù)接收更多的數(shù)據(jù)時(shí),從機(jī)可以通過對(duì)無法接收的第一個(gè)數(shù)據(jù)字節(jié)的“非應(yīng)答”通知主機(jī),主機(jī)則應(yīng)發(fā)出終止信號(hào)以結(jié)束數(shù)據(jù)的繼續(xù)傳送。當(dāng)主機(jī)接收數(shù)據(jù)時(shí),它收到最后一個(gè)數(shù)據(jù)字節(jié)后,必須向從機(jī)發(fā)出一個(gè)結(jié)束傳送的信號(hào)。這個(gè)信號(hào)是由對(duì)從機(jī)的“非應(yīng)答”來實(shí)現(xiàn)的。然后,從機(jī)釋放SDA線,以允許主機(jī)產(chǎn)生終止信號(hào)。知識(shí)點(diǎn)2-2IIC通信的數(shù)據(jù)傳送格式IIC總線的尋址
I2C總線協(xié)議有明確的規(guī)定:采用7位的尋址字節(jié)(尋址字節(jié)是起始信號(hào)后的第一個(gè)字節(jié))。(1)尋址字節(jié)的位定義D7~D1位組成從機(jī)的地址。D0位是數(shù)據(jù)傳送方向位,為“0”時(shí)表示主機(jī)向從機(jī)寫數(shù)據(jù),為“1”時(shí)表示主機(jī)由從機(jī)讀數(shù)據(jù)。知識(shí)點(diǎn)2-3主機(jī)發(fā)送地址時(shí),總線上的每個(gè)從機(jī)都將這7位地址碼與自己的地址進(jìn)行比較,如果相同,則認(rèn)為自己正被主機(jī)尋址,根據(jù)R/T位將自己確定為發(fā)送器或接收器。從機(jī)的地址由固定部分和可編程部分組成。在一個(gè)系統(tǒng)中可能希望接入多個(gè)相同的從機(jī),從機(jī)地址中可編程部分決定了可接入總線該類器件的最大數(shù)目。如一個(gè)從機(jī)的7位尋址位有4位是固定位,3位是可編程位,這時(shí)僅能尋址8個(gè)同樣的器件,即可以有8個(gè)同樣的器件接入到該I2C總線系統(tǒng)中。知識(shí)點(diǎn)2-3IIC總線的尋址I2C總線上傳送的數(shù)據(jù)信號(hào)是廣義的,既包括地址信號(hào),又包括真正的數(shù)據(jù)信號(hào)。在起始信號(hào)后必須傳送一個(gè)從機(jī)的地址(7位),第8位是數(shù)據(jù)的傳送方向位(R/T),用“0”表示主機(jī)發(fā)送數(shù)據(jù)(T),“1”表示主機(jī)接收數(shù)據(jù)(R)。每次數(shù)據(jù)傳送總是由主機(jī)產(chǎn)生的終止信號(hào)結(jié)束。但是,若主機(jī)希望繼續(xù)占用總線進(jìn)行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號(hào),馬上再次發(fā)出起始信號(hào)對(duì)另一從機(jī)進(jìn)行尋址。知識(shí)點(diǎn)2-4IIC總線的數(shù)據(jù)幀格式a、主機(jī)向從機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向在整個(gè)傳送過程中不變:注:有陰影部分表示數(shù)據(jù)由主機(jī)向從機(jī)傳送,無陰影部分則表示數(shù)據(jù)由從機(jī)向主機(jī)傳送。A表示應(yīng)答,A非表示非應(yīng)答(高電平)。S表示起始信號(hào),P表示終止信號(hào)。在總線的一次數(shù)據(jù)傳送過程中,可以有以下幾種組合方式:知識(shí)點(diǎn)2-4IIC總線的數(shù)據(jù)幀格式b、主機(jī)在第一個(gè)字節(jié)后,立即從從機(jī)讀數(shù)據(jù)c、在傳送過程中,當(dāng)需要改變傳送方向時(shí),起始信號(hào)和從機(jī)地址都被重復(fù)產(chǎn)生一次,但兩次讀/寫方向位正好反相。知識(shí)點(diǎn)2-4IIC總線的數(shù)據(jù)幀格式知識(shí)點(diǎn)2-5IIC總線的信號(hào)格式知識(shí)點(diǎn)2-5
I2C總線通信過程主模式時(shí):I2C接口啟動(dòng)數(shù)據(jù)傳輸并產(chǎn)生時(shí)鐘信號(hào)。串行數(shù)據(jù)傳輸總是以起始條件開始并以停止條件結(jié)束。起始條件和停止條件都是在主模式下由軟件控制產(chǎn)生。從模式時(shí):I2C接口能識(shí)別它自己的地址(7位或10位)和廣播呼叫地址。軟件能夠控制開啟或禁止廣播呼叫地址的識(shí)別。數(shù)據(jù)和地址按8位/字節(jié)進(jìn)行傳輸,高位在前。跟在起始條件后的1或2個(gè)字節(jié)是地址(7位模式為1個(gè)字節(jié),10位模式為2個(gè)字節(jié))。地址只在主模式發(fā)送。在一個(gè)字節(jié)傳輸?shù)?個(gè)時(shí)鐘后的第9個(gè)時(shí)鐘期間,接收器必須回送一個(gè)應(yīng)答位(ACK)給發(fā)送器。軟件可以開啟或禁止應(yīng)答(ACK),并可以設(shè)置I2C接口的地址(7位、10位地址或廣播呼叫地址)。知識(shí)點(diǎn)2-6
主設(shè)備發(fā)送模式(發(fā)送序列圖)知識(shí)點(diǎn)2-7
主設(shè)備接收模式(接收序列圖)知識(shí)點(diǎn)2-8
I2C總線狀態(tài)寄存器(I2C_SR1)知識(shí)點(diǎn)2-8
I2C總線狀態(tài)寄存器(I2C_SR1)知識(shí)點(diǎn)2-8
I2C總線狀態(tài)寄存器(I2C_SR1)OLED顯示屏:即有機(jī)發(fā)光二極管(OrganicLightEmittingDiode)。OLED由于同時(shí)具備自發(fā)光,不需背光源、對(duì)比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡單等優(yōu)異特性,被認(rèn)為是下一代的平面顯示器新興應(yīng)用技術(shù)。LCD都需要背光,而OLED不需要,因?yàn)樗亲园l(fā)光的。這樣同樣的顯示OLED效果要好一些。以目前的技術(shù),OLED的尺寸還難以大型化,但是分辨率確可以做到很高。在此教材的開發(fā)板中我們使用的是0.96寸OLED顯示屏,該屏有以下特點(diǎn):分辨率為128*64多種接口方式;OLED裸屏總共3種接口包括:6800、8080兩種并行接口方式、3線或4線的串行SPI接口方式、IIC接口方式(只需要2根線就可以控制OLED了!本教材中我們實(shí)用四針的0.96寸IIC接口OLED模塊,四針I(yè)IC接口相對(duì)比較簡單一些,只有兩個(gè)信號(hào)線知識(shí)點(diǎn)3OLED顯示屏知識(shí)點(diǎn)3-1
OLED的通訊時(shí)序本小節(jié)介紹如何初始化IIC以及實(shí)現(xiàn)IIC與OLED進(jìn)行通訊。OLED采用的是0.96寸OLED(4PIN),可以直接插入開發(fā)板OLED擴(kuò)展接口。OLED的通訊時(shí)序如圖2.17所示。IIC初始化配置步驟:打開IIC外設(shè)時(shí)鐘使能IIC1配置IIC參數(shù):IIC1、時(shí)鐘100KHz、IIC模式、快速模式工作周期
Tlow/Thigh=2、使能應(yīng)答、應(yīng)答從機(jī)地址7位要注意的是:OLED的IIC通訊地址是0x78、OLED的IIC時(shí)序只存在寫,不存在讀。知識(shí)點(diǎn)3-2
OLED時(shí)序的IIC配置從實(shí)際應(yīng)用電路圖2.18中可以看出,STM8L0510F3單片機(jī)硬件IIC(PC0、PC1)接口與顯示屏進(jìn)行通信。在我們?cè)O(shè)計(jì)的開發(fā)板中OLED接口使用的是PB1、PB2兩個(gè)引腳,是通過軟件模擬IIC實(shí)現(xiàn)通信。所以在本任務(wù)中同學(xué)們可以通過杜邦線把OLED的SDA和SCL分別連接到PC0、PC1引腳上,完成實(shí)驗(yàn)。因STM8L0510F3單片機(jī)中硬件IIC通信接口只有一個(gè),為了滿足多個(gè)IIC通信裝置的需要,我們采用軟件模擬實(shí)現(xiàn)IIC通信,下一個(gè)任務(wù)中會(huì)詳細(xì)講解。本任務(wù)中連接方式如下:GND-->GND、VCC-->3V3、SCL-->PC1、SDA-->PC0任務(wù)一
設(shè)計(jì)制作字符顯示器任務(wù)一
設(shè)計(jì)制作字符顯示器實(shí)現(xiàn)效果
在本任務(wù)中,主要介紹STM8L051F3的TIM4定時(shí)器、RTC相關(guān)知識(shí)和電子日歷的讀取編程技巧,在任務(wù)一的基礎(chǔ)上重點(diǎn)闡述軟件模擬IIC通信。用軟件模擬IIC通信有不少的優(yōu)點(diǎn),最大的好處是方便移植和共享,解決IIC接口不足的問題,在STM8L051F3中不只局限與PC0、PC1IIC接口。而且同一個(gè)代碼兼容各種的MCU,無論是51,STM32還是430還是別的微控制器,在移植的時(shí)候只要將引腳的設(shè)置更改即可通用。任務(wù)二
設(shè)計(jì)制作智能電子鐘嵌入式高級(jí)應(yīng)用—可穿戴設(shè)備開發(fā)RTC(Real-timeclock):實(shí)時(shí)時(shí)鐘。RTC是一個(gè)獨(dú)立的定時(shí)器/計(jì)數(shù)器,它提供了一個(gè)實(shí)時(shí)時(shí)間和日歷與一個(gè)相關(guān)的可編程鬧鐘,同時(shí)它還包括一個(gè)可用于管理低功耗模式的自動(dòng)喚醒單元。采用二進(jìn)制編碼格式的8位寄存器,包括秒、分、時(shí)(12或24小時(shí)格式)、星期x、日、月和年,二進(jìn)制編碼格式還可以獲取微秒的時(shí)間值。RTC能自動(dòng)調(diào)節(jié)閏年和每個(gè)月的天數(shù)。另外還有可編程鬧鐘的8位寄存器,包括微秒、秒、分、時(shí)、星期x和日,可以把RTC校準(zhǔn)到0.954ppm的精度,在復(fù)位后,RTC是處于寫保護(hù)狀態(tài)的,只要供電電壓維持在系統(tǒng)運(yùn)行電壓內(nèi),不管MCU處于睡眠狀態(tài),RTC是不會(huì)停止運(yùn)行的。知識(shí)點(diǎn)4RTC簡介
如何使用RTC的電子日歷功能,使用LSE或LSI作為RTC時(shí)鐘源,讀取的日期與時(shí)間數(shù)據(jù)使用OLED顯示出來(OLED采用的是技新0.96寸OLED(4PIN))。系統(tǒng)的工作流程:初始化LSE時(shí)鐘并等待其穩(wěn)定-->初始化RTC-->初始化IIC-->初始化OLED-->讀取數(shù)據(jù)并顯示(循環(huán))。這里主要介紹RTC的初始化,步驟如下:1)選擇LSE作為RTC的時(shí)鐘源(RTC的時(shí)鐘可以選擇四種時(shí)鐘HSE/HIS/LSE/LSI)2)打開RTC外設(shè)時(shí)鐘3)配置RTC時(shí)鐘:24小時(shí)制、計(jì)時(shí)時(shí)間=1S4)初始化日期數(shù)據(jù)5)初始化時(shí)間數(shù)據(jù)注意程序中讀取出來的數(shù)據(jù)位為BCD碼。(RTC_GetDate(RTC_Format_BCD,&RTC_DateStr);)RTC_FORMAT_BIN使用二進(jìn)制
RTC_FORMAT_BCD使用16進(jìn)制,BCD碼(Binary-CodedDecimal?)亦稱二進(jìn)碼十進(jìn)數(shù)例如18年你得到的是0x18年知識(shí)點(diǎn)4-1電子日歷配置擴(kuò)展知識(shí):對(duì)位的操作#defineBIT0(0x01)#defineBIT1(0x02)#defineBIT2(0x04)#defineBIT3(0x08)#defineBIT4(0x10)#defineBIT5(0x20)#defineBIT6(0x40)#defineBIT7(0x80)#defineBIT(x)(1<<(x))#defineBIT08(0x00000100)#defineBIT09(0x00000200)#defineBIT10(0x00000400)#defineBIT11(0x00000800)#defineBIT12(0x00001000)#defineBIT13(0x00002000)#defineBIT14(0x00004000)#defineBIT15(0x00008000)#defineBIT16(0x00010000)#defineBIT17(0x00020000)#defi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力施工承包合同(5篇)
- 口罩銷售的合同(6篇)
- 房地產(chǎn)項(xiàng)目開發(fā)委托代理合同
- 文化旅游產(chǎn)業(yè)推廣與合作經(jīng)營合同
- 房產(chǎn)收購合作協(xié)議書
- 書面貨物運(yùn)輸合同
- 互聯(lián)網(wǎng)項(xiàng)目合作協(xié)議
- 可再生能源發(fā)電項(xiàng)目合作開發(fā)協(xié)議
- 制式裝修合同
- 房地產(chǎn)項(xiàng)目銷售合同
- 開學(xué)季初三沖刺中考開學(xué)第一課為夢想加油課件
- 《自然保護(hù)區(qū)劃分》課件
- 2025年四川綿陽科技城新區(qū)投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年普通卷釘項(xiàng)目可行性研究報(bào)告
- 2025年建筑施工春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專項(xiàng)方案
- 2025延長石油(集團(tuán))限責(zé)任公司社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《商用車預(yù)見性巡航系統(tǒng)技術(shù)規(guī)范》
- 病原微生物安全
- 玻璃電動(dòng)平移門施工方案
- 2.1大都市的輻射功能-以我國上海為例(第一課時(shí))課件高中地理湘教版(2019)選擇性必修2+
- 春季安全開學(xué)第一課
評(píng)論
0/150
提交評(píng)論