freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機實時鐘設(shè)計畢業(yè)設(shè)計-在線瀏覽

2024-07-30 12:46本頁面
  

【正文】 3示出 ZLG7290的引腳排列, Dig7~ Dig0為輸入/輸出端,由LED顯示位驅(qū)動及鍵盤掃描線。SDA為輸入 /輸出端,是I 2C總線接口數(shù)據(jù)/地址線。/INT 是中斷輸出端 ,低電平有效。OSC1 、OSC2是連接晶體以產(chǎn)生內(nèi)部時鐘。9abfcgdeVC1234567abcdefg8 dp dp9DS2AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS3AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS4AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS5AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS6AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS0AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS1AMBERCAabfcgdeVC1234567abcdefg8 dp dp9DS7AMBERCAC312pC322pY58MHZR35 20R36 20R3720R39 20R40 20R38 20R41 20R42 20SEGHSEGSEGFSEGESEGDSEGCSEGBSEGASEGHSEGSEGFSEGESEGDSEGCSEGBSEGAhd7290_sclhd7290_sdahd7290_intHD7290_RSTVCDig7 13Dig6 12Dig5 21Dig4 2Dig3 3Dig2 4Dig1 5Dig0 6SDA 20SCL 19/INT 14GND 1SegA23SegB24SegC1SegD2SegE7SegF8SegG9SegH10VC16OSC218OSC117/RES15ZLG7290圖3 ZLG7290 的引腳圖. 4 DS1302 電路原理及說明(1) 、時鐘芯片 DS1302 的工作原理: 串行時鐘芯片主要由寄存器、控制寄存器、振蕩器、實時時鐘以及 RAM組成。數(shù)據(jù)在 SCLK 的上升沿串行輸入,前 8 位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,讀操作時輸出數(shù)據(jù),寫操作時輸入數(shù)據(jù)。(2) 、DS1302 的控制命令字節(jié)與寄存器a、控制命令字節(jié)控制命令字節(jié)結(jié)構(gòu)如下: RAM RD 1 /CK A4 A3 A2 A1 A0 /WR表 1控制字節(jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中;位 6 如果為 0,則表示存取日歷時鐘數(shù)據(jù),為 1 表示存取10RAM 數(shù)據(jù);位 5 至位 1 指示操作單元的地址;最低有效位(位 0)為 0 表示要進行寫操作,為 1 表示進行讀操作,控制字節(jié)總是從最低位開始輸出。其日歷、時間寄存器及控制字如以下表所示。7 6 5 4 3 2 1 0寄存器名稱 1 RAW/CK A4 A3 A2 A1 A0 RW//W秒寄存器 1 0 0 0 0 0 0分寄存器 1 0 0 0 0 0 1小時寄存器 1 0 0 0 0 1 0日寄存器 1 0 0 0 0 1 1月寄存器 1 0 0 0 1 0 0星期寄存器 1 0 0 0 1 0 1年寄存器 1 0 0 0 1 1 0寫保護寄存器 1 0 0 0 1 1 1慢充電寄存器 1 0 0 1 0 0 0時間突發(fā)寄存器 1 0 1 1 1 1 1表 2最后一位 RD//W 為 0 表示要進行寫操作,為 1 表示進行讀操作。11命令字 各位內(nèi)容寄存器名寫操作讀操作 取值范圍 7 6 5 4 3~0秒寄存器 80H 81H 00~59 CH 10SEC SEC分寄存器 82H 83H 00~59 0 10MIN MIN時寄存器 84H 85H01~12 或00~23124 010247。12/24:12 或 24 小時方式選擇位,為 1 時選擇 12 小時方式。在 24 小時方式下,位 5 是第 212個小時位(2023 時) 。在對時鐘或 RAM 進行寫操作之前,位 7(WP)必須為 0,當它為高電平時,寫保護位防止對任何其他寄存器進行寫操作。DS:二極管選擇位。如果 DS 為 11 或 00,那么充電器被禁止,與 TS 無關(guān)。選擇的電阻如表 4 所示。RAM 區(qū)寄存器與控制字對照表如表 5 所示。/RST 輸入有兩種功能:首先,/RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次,/RST 提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。如果在傳送過程中置/RST 為低電平,則會終止此次數(shù)據(jù)傳送,并且 I/O 引腳變?yōu)楦咦钁B(tài)。只有在 SCLK 為低電平時,才能將 RST 置為高電平。同樣,在緊跟 8 位的控制指令字后的下一個 SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0 位到高位7。其基本功能如下:14a、鍵盤去抖動處理當鍵被按下和放開時,可能會出現(xiàn)電平狀態(tài)反復(fù)變化,稱作鍵盤抖動。b、雙鍵互鎖處理當有兩個以上按鍵被同時按下時,ZLG7290只采樣優(yōu)先級高的按鍵(優(yōu)先順序為S1S2…S64,如同時按下S2和S18采樣到S2 )。連擊次數(shù)計數(shù)器(RepeatCnt)可區(qū)別出單擊(某些功能不允許連擊,如開/關(guān))或連擊。d、功能鍵處理功能鍵能實現(xiàn)2個以上按鍵同時按下來擴展按鍵數(shù)目或?qū)崿F(xiàn)特殊功能。(2)、顯示部分ZLG7290提供兩種控制方式:寄存器映象控制和命令解釋控制,如上述對顯示部分的控制,寄存器映象控制是指直接訪問底層寄存器,實現(xiàn)基本控制功能,這些寄存器須字節(jié)操作。如實現(xiàn)寄存器的位操作;對顯示緩存循環(huán),移位;對操作數(shù)譯碼等操作。系統(tǒng)寄存器保存 ZLG7290 系統(tǒng)狀態(tài),并可對系統(tǒng)運行狀態(tài)進行配置,其功能分位描述如下:KeyAvi():置1時表示有效的按鍵動作(普通鍵的單擊,連擊,和功15能鍵狀態(tài)變化),/INT 引腳信號有效(變?yōu)榈碗娖剑磺?表示無按鍵動作,/INT引腳信號無效(變?yōu)楦咦钁B(tài))。鍵盤部分:a、鍵值寄存器( Key):地址 01H,復(fù)位值00H。當Key=0時,表示沒有鍵被壓按。RepeatCnt=0時,表示單擊鍵。用于區(qū)別出單擊鍵或連擊鍵,判斷連擊次數(shù)可以檢測被按時間。FunctionKey對應(yīng)位的值=0 表示對應(yīng)功能鍵被壓按( ~S57)。用于傳輸指令。高4位表示閃爍時亮的時間,低4位表示閃爍時滅的時間,改變其值同時也改變了閃爍頻率,也能改變亮和滅的占空比。b、掃描位數(shù)寄存器(ScanNum):地址0DH,復(fù)位值 7。不掃描顯示的顯示緩存寄存器則保持不變。c、顯示緩存寄存器 (DpRam0~DpRam7):地址10H~17H,復(fù)位值00H~00H。16三、軟件設(shè)計 程序流程框圖 ZLG7290 如何與單片機進行通信通過 I2C 總線進行通信。在 SCL 為高電平時,數(shù)據(jù)(SDA )從高電平跳變到低電平,為開始數(shù)據(jù)傳輸(START)的條件,開始數(shù)據(jù)傳輸條件后所有的命令有效;SCL 為高電平時,數(shù)據(jù)(SDA )從低電平跳變到高電平,為停止數(shù)據(jù)傳輸(STOP )的條件,停止數(shù)據(jù)傳輸條件后所有的操作結(jié)束。字節(jié)寫入時,每寫完一個字節(jié),送一個應(yīng)答信號 ACK,直至 STOP;讀出時,每讀完一個字節(jié),送一位應(yīng)答信號 ACK,但 STOP 前一位結(jié)束時不送 ACK 信17號。起動總線函數(shù)void Start_I2c(){ SDA=1。 SCL=1。 /*起始條件建立時間大于 ,延時*/ _Nop()。 _Nop()。 SDA=0。 /* 起始條件鎖定時間大于 4μs*/ _Nop()。 _Nop()。 SCL=0。 _Nop()。 /*發(fā)送結(jié)束條件的數(shù)據(jù)信號 */ _Nop()。 /*結(jié)束條件建立時間大于 4μs*/ _Nop()。 _Nop()。 _Nop()。 /*發(fā)送 I2C 總線結(jié)束信號 */ _Nop()。 _Nop()。}字節(jié)數(shù)據(jù)傳送函數(shù)void SendByte(uchar c){ uchar BitCnt。BitCnt8。0x80)SDA=1。 _Nop()。 /*置時鐘線為高,通知被控器開始接收數(shù)據(jù)位*/ _Nop()。 /*保證時鐘高電平周期大于 4μs*/ _Nop()。 _Nop()。 } _Nop()。19 SDA=1。 _Nop()。 _Nop()。 _Nop()。 else ack=1。 _Nop()。}字節(jié)數(shù)據(jù)傳送函數(shù)uchar RcvByte(){ uchar retc。 retc=0。 /*置數(shù)據(jù)線為輸入方式*/ for(BitCnt=0。BitCnt++) { _Nop()。 /*置時鐘線為低,準備接收數(shù)據(jù)位*/ _Nop()。 /*時鐘低電平周期大于 */ _Nop()。 _Nop()。 /*置時鐘線為高使數(shù)據(jù)線上數(shù)據(jù)有效*/ _Nop()。 retc=retc1。 /*讀數(shù)據(jù)位,接收的數(shù)據(jù)位放入 retc 中 */ _Nop()。 } SCL=0。 _Nop()。}應(yīng)答子函數(shù)void Ack_I2c(bit a){ if(a==0)SDA=0。 _Nop()。 _Nop()。 _Nop()。 /*時鐘低電平周期大于 4μs*/ _Nop()。 _Nop()。 /*清時鐘線,鉗住 I2C 總線以便繼續(xù)接收*/ _Nop()。 }向無子地址器件發(fā)送字節(jié)數(shù)據(jù)函數(shù)bit ISendByte(uchar sla,uchar c){ Start_I2c()。 /*發(fā)送器件地址*/ if(ack==0)return(0)。 /*發(fā)送數(shù)據(jù)*/ if(ack==0)return(0)。 /*結(jié)束總線*/ return(1)。 Start_I2c()。 /*發(fā)送器件地址*/ if(ack==0)return(0)。 /*發(fā)送器件子地址*/ if(ack==0)return(0)。ino。 /*發(fā)送數(shù)據(jù)*/ if(ack==0)return(0)。 } Stop_I2c()。22}向無子地址器件讀字節(jié)數(shù)據(jù)函數(shù)bit IRcvByte(uchar sla,uchar *c){ Start_I2c()。 /*發(fā)送器件地址*/ if(ack==0)return(0)。 /*讀取數(shù)據(jù)*/ Ack_I2c(1)。 /*結(jié)束總線*/ return(1)。 Start_I2c()。 /*發(fā)送器件地址*/ if(ack==0)return(0)。
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1