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

正文內(nèi)容

基于aduc7026嵌入式系統(tǒng)的數(shù)字時鐘設計學習筆記手冊-文庫吧

2024-10-21 16:08 本頁面


【正文】 90 控制按鍵數(shù)碼管”,實現(xiàn)的效果是按鍵可以控制數(shù)碼管變化,不過看程序有點不好理解, ZLG7290 這個芯片不錯,我查了資料這個芯片的價格大概在 6 元左右。 這里也找了一篇關于該芯片的使用文檔: 通過程序可以看出 ZLG7290 接收到 6 5 4 3 22 21 12 13 引腳的信號 接通過 INT 發(fā)出一個信號,發(fā)出的信號經(jīng)過NPN 三級管反向成高電平觸發(fā) ADuC7026 外部中斷引腳。按鍵通過類似于矩陣按鍵的電路設計方法實現(xiàn) 8 個引腳讀取 16 個不同的信號。 I2C_write(SlvZlg7290,SubDpRam+3,DspNumP[4])。 這個語句的意思是通過 IIC 寫數(shù)據(jù),根據(jù)電路圖 SubDpRam+3 表示從左到右的第三位數(shù)碼管導通, DspNumP[4]寫入數(shù)據(jù),數(shù)組里存儲數(shù)碼管顯示數(shù)據(jù)。并且多個數(shù)據(jù)傳輸時要延時一段時間。 void I2C_write(unsigned char slvadd,unsigned char subadd,int data) { I2C1MTX = subadd。 // 裝載寄存器子地址 I2C1ADR = slvadd。 // 裝載從機地址 while ((I2C1FSTA amp。 0x30) != 0x00) {} // 等待 FIFO 發(fā)送完成 delay(time)。 I2C1MTX = data。 while ((I2C1FSTA amp。 0x30) != 0x00) {} // 等待 FIFO 發(fā)送完成 delay(time)。 I2C1CCNT = 0x80。 } 以上程序是 ADuC7026 內(nèi)部與 ZLG7290 進行 IIC 通訊的寫數(shù)據(jù)。 void SysClkInit(void) { PLLKEY1=0xAA。 PLLCON=0x01。 // PLL 配置 PLLKEY2=0x55。 POWKEY1=0x01。 POWCON=0x02。 // CPU 時鐘配置為 POWKEY2=0xF4。 } 以上程序是 ADuC7026 內(nèi)部晶振設置的語句。 配置 ARM7 的時鐘,因為 ZLG7290 的時鐘速率較低,所以 ADuC7026 做降頻處理。 接下來 就可以開始設計 9~ 0 程序延時倒計時了。 經(jīng)過粗略的計算與正常時間對比得出 void delaylong (int length) { int i。 while (length0) for(i=0。i1000。i++) {} } 以上程序賦值為 900 時 延時差不多 1S。 附件二:第二步程序源代碼 —— 三維論壇下載( ) 基于 ADuC7026 嵌入式系統(tǒng)的數(shù)字時鐘設計學習筆記 三 這一步主要是在第二步的基礎上修改,關鍵是如何簡化程序?qū)崿F(xiàn)動態(tài)掃描。 用了這個程序編寫了數(shù)碼管動態(tài)掃描程序并寫出子函數(shù) void DISseg(int x) { int b。 Dspdat[0]=x%10。 // ===個位 Dspdat[1]=(x/10)%10。 //==十位 Dspdat[2]=(x/100)%10。 //==百位 Dspdat[3]=x/1000。 //=千位 for(b=0。b4。b++) { I2C_write(SlvZlg7290,SubDpRam+b,DspNumP[Dspdat[b]])。 delay(time)。 } } 調(diào)用執(zhí)行 1000 次 差不多是 1S 鐘 for(t=0。t1000。t++) //每個數(shù) 據(jù)顯示停留 DISseg(a)。 因為數(shù)碼管顯示的數(shù)據(jù)帶鎖存的,所以也可以使用直接延時的方法。 附件三:第三步程序源代碼 —— 三維論壇下載( ) 基于 ADuC7026 嵌入式系統(tǒng)的數(shù)字時鐘設計學習筆記 四 我找到了參考程序“ ZLG7290 控制按鍵數(shù)碼管”,在第二和第三步對程序進行了整理簡化實現(xiàn)了功能,第三步是按鍵的控制還是需要去簡化。 把一個程序分成兩個用,在用第一個的時候盡量的把與第二個相關的所有語句全部都刪除掉,那么第二個程序要用的時候又要去恢復了并刪除第一 個程序。 通過程序和電路原理圖可以看出 ZLG7290 接收到 6 5 4 3 22 21 12 13 引腳的信號 接通過 INT 發(fā)出一個信號,發(fā)出的信號經(jīng)過 NPN 三級管反向成高電平觸發(fā) ARM7 外部中斷引腳。 按鍵通過類似于矩陣按鍵的電路設計方法實現(xiàn) 8 個引腳讀取 16 個不同的信號。 第一步先讓一個按鍵能為我所用,但是這里很重要的一定是 ARM 的外部中斷的相關程序要裁剪出來。 結合電路圖發(fā)現(xiàn) S1 和 S2 按鍵按下外部中斷子程序中 KeyNum = I2C_read(SlvZlg7290,SubKey)。 得到的數(shù)字是 5 和 13 這兩個引腳是接在 ZLG7290 第 22 引腳,但是兩者的接地切換是接在 23 和 24 的。 根據(jù)提供的程序我現(xiàn)在找出 1 個我需要的按鍵并確定它的 KeyNum = I2C_read(SlvZlg7290,SubKey)。 的結果。為了方便操作用我先選用 S16 按鍵。對應程序結果是 12。那這樣我就可以將其他多余的語句都刪除掉。并用一個 IF 語句進行對比判斷。 這個按鍵判斷是通過輸出傳輸?shù)模薷暮笠粋€按鍵識別的程序如下: void IRQ_Handler(void) __irq { KeyNum = I2C_read(SlvZlg7290,SubKey)。 if( KeyNum==12) { Keycon=Keycon+1。 if(Keycon9) Keycon=0。 delay(300)。 //延時一段時間改變數(shù)據(jù),防止一次按下多個數(shù)據(jù)變化 I2C_write(SlvZlg7290,SubDpRam,DspNumP[Keycon])。 } return。 } 附件四:第四步程序源代碼 —— 三維論壇下載( ) 基于 ADuC7026 嵌入式系統(tǒng)的數(shù)字時鐘設計學習筆記 五 第五步要結合第三和第四步并對兩步進行修改,將第三步程序的顯示方式修改為高低兩位顯示,將第四步的修改為多個按鍵的判斷,數(shù)據(jù)顯示部分只需要增加兩個全局變量就可以了。 結合電路圖發(fā)現(xiàn) S1 和 S2 按鍵按下 外部中斷子程序中 KeyNum = I2C_read(SlvZlg7290,SubKey)。 得到的數(shù)據(jù)是 5 和 13 這兩個引腳是接在 ZLG7290 第 22 引腳,但是兩者的接地切換是接在 23 和 24 的 。根據(jù)提供的程序再找出 3 個我需要的按鍵并確定它的 KeyNum = I2C_read(SlvZlg7290,SubKey)。 的結果。為了方便操作用我先選用 S16 對應程序結果是 12 S14 對應的結果是 11 S12對應的是 10; 那這樣我就可以將其他多余的語句都刪除掉。并用一個 IF 語句進行對比判斷。加個蜂鳴器的效果更好。 到這里實現(xiàn)了 ARM7 程序延時簡易數(shù)字時鐘。但是時間的精度不夠高,還需要用定時器資源。從 2020 年 10 月 12日 22 時到第二天凌晨 2020 年 10 月 13 日 4 時。武漢三維電子網(wǎng)絡學院楊 榮國 早上開始重新整理下開發(fā)學習的思路,這一步開發(fā)雖然項目簡單的不能再簡單,基礎的不能再基礎。但是最后成功是可以自己繪制 PCB 電路板并以最少的元件,最低的成本,最簡單的電路實現(xiàn)數(shù)字時鐘的開發(fā)。那數(shù)字時鐘的功能是什么呢?就是在數(shù)碼管上實現(xiàn)內(nèi)部定時器、輸入、輸出的使用,雖然數(shù)字時鐘不需要外部中斷,但是這款 ARM7的開發(fā)板引用了 ZLG7290 使得讀取按鍵編程需要外部中斷。所以結合書本參考資料學習下被用的外部中斷相關的寄存器,更多的寄存器邊用邊學。具體課本第 13 章 中斷 ARM7 TDMI CPU 中斷有兩種類型 普通中斷請求 IRQ 和快速中斷請求 FIQ,還有一種本能屏蔽的程序中斷。 IRQ 和 FIQ 對應有 24 種中斷來源,包括定時器 IIC UART PWM 等 有四個外部系統(tǒng)中斷請求。 IRQ 為普通中斷以下是相關控制寄存器介紹 IRQSAT 使能中斷狀態(tài)寄存器 置 1 時對應中斷源向 ARM7TDMI 內(nèi)核發(fā)送一個中斷請求。 IRQSIG 中斷狀態(tài)寄存器,
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1