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

正文內(nèi)容

廣告燈自動控制系統(tǒng)的設(shè)計畢業(yè)設(shè)計(已改無錯字)

2022-10-07 18:16:46 本頁面
  

【正文】 廣告燈自動控制系統(tǒng) 18 (2)行掃描方式上下移動 行向組字顯示字符豎直方向的移動 方法 1:延長數(shù)組法。如果是行向組字,希望顯示向上移動的一個字符,第 1 次掃描從列碼的點(diǎn)陣數(shù)組中取第 1~16 個數(shù)據(jù),送列碼輸出口,對應(yīng)于這 8 個數(shù)據(jù),同時用行碼輸出口輸出行碼,分別控制掃描第 1~16 行。第 2 次掃描從點(diǎn)陣數(shù)組中取第 2~17 個額數(shù)據(jù)(第 17 個數(shù)據(jù)與地 1個數(shù)據(jù)同),分別送列碼輸出口,對應(yīng)于這 16 個數(shù)據(jù),同時用行碼輸出口輸出行碼,仍分別控制地1~16 行。第 3 次掃描從點(diǎn)陣數(shù)組中取第 3~18 個數(shù)據(jù)(第 18 個數(shù)據(jù)與地 2個數(shù)據(jù)同)掃描; 如此就實(shí)現(xiàn)了字 符的向上移動。 方法 2:數(shù)組數(shù)據(jù) “ 循環(huán)左移法 ” 。實(shí)現(xiàn)數(shù)組數(shù)據(jù)循環(huán)左移的方法與上類似。也有:用數(shù)組數(shù)據(jù)循環(huán)左移子程序;不用子程序,而是用變量判斷控制實(shí)現(xiàn)數(shù)組數(shù)據(jù)的循環(huán)左移。 LED 陣列驅(qū)動電路 正向點(diǎn)亮一顆 LED,至少也得 10到 20 毫安,若電流不夠大,則 LED 不夠亮!而不管是 8051 的輸入還是輸出端其高態(tài)輸出電流都不是很高,不過 1~ 2 毫安而已。因此,很難直接高態(tài)驅(qū)動廣告燈自動控制系統(tǒng) 19 LED。這時候就需要額外的驅(qū)動電路,分別針對共陽極和共陰極LED 陣列,有兩種不同的驅(qū)動方式。針對輸出態(tài)的不同,分為:高態(tài)掃描 高態(tài)顯示,高態(tài)掃描 低態(tài)顯示,低態(tài)掃描 高態(tài)顯示和低態(tài)掃描 低態(tài)顯示四種方式。下面針對設(shè)計中實(shí)際用到的一種驅(qū)動方式介紹一種:共陰型低態(tài)掃描 低態(tài)顯示信號驅(qū)動電路。 圖 所示是針對共陰性 LED 陣列而設(shè)計的驅(qū)動電路,在這種驅(qū)動電路采用低態(tài)掃描,也就是任何時間只有一個高態(tài)信號,其他則為低態(tài)。一行掃描完成之后,再把高態(tài)信號轉(zhuǎn)到臨近的其他行。掃描信號經(jīng)限流電阻接到 PNP 晶體管的基極,晶體管的集電極接地,射極則連至 LED 點(diǎn)陣的列引腳,若要同時點(diǎn)亮該列的 16 個 LED,則晶體管的電流必須大于 200 毫安才行。常用的2N3904 之類就可以達(dá)到當(dāng)?shù)蛻B(tài)的列掃描信號輸入晶體管的基極后,該晶體管即為正向,而產(chǎn)生電流,即可使該列的 LED 具有點(diǎn)亮的條件 所要的顯示信號連接到一個 PNP 晶體管的基極,而該晶體管的射極連接到 VCC,同樣的,當(dāng)?shù)蛻B(tài)的顯示信號輸入時,晶體管的集電極電流將流入行 LED 的陽極,即可點(diǎn)亮該行的 LED。 如圖 所示 . 圖 低態(tài)顯示信號驅(qū)動電路 若要并接多個 LED 陣列,如連接使用 4個 8 8LED 陣列,連接成 16 16LED 陣列,則一個掃描信號同時驅(qū)動兩個 LED 陣列。如在本設(shè) 計中要顯示的字比較大,用一個 8 8 的點(diǎn)陣無法顯示廣告燈自動控制系統(tǒng) 20 完整,這就需要用四塊 8 8的點(diǎn)陣組成一塊 16 16 的點(diǎn)陣,這樣就可以顯示完整的漢字了,若要并聯(lián)多個 8 8 的 LED 組成 16 16的點(diǎn)陣,則一個掃描信號同時要驅(qū)動兩行的 LED。如 下圖 所 示。 圖 16 16 的點(diǎn)陣驅(qū)動圖 這時候就需要靠鎖存器( 74LS373)將這兩組顯示信號鎖住,此處的鎖存器是以低態(tài)輸出的,其輸出的電壓可達(dá) 24 毫安,足以驅(qū)動一個 LED;若嫌不足,可以選用 74A373 其輸出的電壓可達(dá)48 毫安,當(dāng) 74LS373 得 G腳為高態(tài)時,數(shù)據(jù) 可以從輸入端傳輸?shù)芥i存器中; G 腳為低態(tài)時,數(shù)據(jù)被鎖住,不會隨輸入端而變。另外 OC 腳為輸出控制引腳,當(dāng) OC 腳為高態(tài)時,輸出呈現(xiàn)高阻抗;OC 為低態(tài)時,數(shù)據(jù)會由鎖存器輸出。 在這個電路之中驅(qū)動的掃描信號總共有 16 條,如果直接由8051 輸出,將占用 2個 PORT 口,浪費(fèi)了寶貴的資源,不太理想,在此使用的是一個 4對 16 的譯碼器 ( 74LS154) ,這個譯碼器是將輸入的 16 進(jìn)位碼解碼輸出低態(tài)的掃描信號。輸出的低態(tài)掃描信號可直接接到 PNP 晶體管的基極,如果太大的話也可以先經(jīng)過限流電阻再接到 PNP 晶體管的基極,信號最后經(jīng)過晶 體管的放大后即可推動 16 個 LED 點(diǎn)陣了。 廣告燈自動控制系統(tǒng) 21 第四章 軟件設(shè)計 單片機(jī)延時子程序 延時程序在單片機(jī)編程中使用非常廣泛 ,也很重要,在本畢業(yè)設(shè)計的程序中用到了延時子程序,所以在此詳細(xì)的敘述一下。在弄清延時程序指令的用法之前,要清楚的了解延時程序的基本概念 ,機(jī)器周期和指令周期的區(qū)別和聯(lián)系、相關(guān)指令的用法等。 我們知道程序設(shè)計是單片機(jī)開發(fā)最重要的工作,而程序在執(zhí)行過程中常常需要完成延時的功能。例如在本設(shè)計中,行向的掃描要控制每行的掃描時間,還有所有的字移動有一定的時間間隔,而在所有的字移動一遍結(jié)束 的一瞬間到下一遍移動開始的一瞬間要有延時,這時的延時可以和移動的時間相同以保持移動的連貫性,也可以不同作為每次從頭開始的停頓,在上述就可以通過延時程序來完成。 1. 機(jī)器周期和指令周期 ( 1)機(jī)器周期是指單片機(jī)完成一個基本操作所花費(fèi)的時間,一般使用微秒來計量單片機(jī)的運(yùn)行速度, 51 單片機(jī)的一個機(jī)器周期包括 12 個時鐘振蕩周期,也就是說如果 51 單片機(jī)采用 12MHz 晶振,那么執(zhí)行一個機(jī)器周期就只需要 1μ s;如果采用的是 6MHz 的晶振,那么執(zhí)行一個機(jī)器周期就需要 2 μ s。 ( 2)指令周期是指單片機(jī) 執(zhí)行一條指令所需要的時間,一般利用單片機(jī)的機(jī)器周期來計量指令周期。 在 51 單片機(jī)里有單周期指令(執(zhí)行這條指令只需一個機(jī)器周期),雙周期指令(執(zhí)行這條指令只需要兩個 機(jī)器周期),四周期指令(執(zhí)行這條指令需要四個機(jī)器周期)。除了乘、除兩條指令是四周期指令,其余均 為單周期或雙周期指令。也就是說,如果 51 單片機(jī)采用的是 12MHz 晶振,那么它執(zhí)行一條指令一般只需 1~2 微秒的時間;如果采用的是 6MHz 晶振,執(zhí)行一條指令一般就需 2~4 微秒的時間。 以 12MHZ 晶振為例,指令周期、機(jī)器周期與時鐘周期的關(guān)系是 : 指令周期: CPU 執(zhí)行一條指令所需要的時間稱為指令周期,它是以機(jī)器周期為單位的,指令不同,所需的機(jī)器周期也不同。 時鐘周期:也稱為振蕩周期,一個時鐘周期=晶振的倒數(shù)。 MCS51 單片機(jī)的一個機(jī)器周期 =6 個狀態(tài)周期 =12 個時鐘周期。 廣告燈自動控制系統(tǒng) 22 MCS51 單片機(jī)的指令有單字節(jié)、雙字節(jié)和三字節(jié)的,它們的指令周期不盡相同,一個單周期指令包含一個機(jī)器周期,即 12個時鐘周期,所以一條單周期指令被執(zhí)行所占時間為 12( 1/12020000) =1μ s。 了解以上概念后,那么可以依據(jù)單片機(jī)器件手冊中 89C51 的指令執(zhí) 行周期和其所用晶振頻率來完成需要精確延時時間的延時程序。 2. 延時指令 在單片機(jī)編程里面并沒有真正的延時指令,從上面的概念中我們知道單片機(jī)每執(zhí)行一條指令都需要一 定的時間,所以要達(dá)到延時的效果,只須讓單片機(jī)不斷地執(zhí)行沒有具體實(shí)際意義的指令,從而達(dá)到了延時 的效果。 ( 1)數(shù)據(jù)傳送指令 MOV 數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方復(fù)制、拷貝到另一個地方。 如: MOV R7, 80H ;將數(shù)據(jù) 80H 送到寄存器 R7,這時寄存器 R7 里面存放著 80H,就單這條 指令而言并沒有任何實(shí)際意義,而執(zhí)行該指 令則需要一個機(jī)器周期。 ( 2)空操作指令 NOP 空操作指令功能只是讓單片機(jī)執(zhí)行沒有意義的操作,消耗一個機(jī)器周期。 ( 3)循環(huán)轉(zhuǎn)移指令 DJNZ 循環(huán)轉(zhuǎn)移指令功能是將第一個數(shù)進(jìn)行減 1 并判斷是否為 0,不為 0 則轉(zhuǎn)移到指定地點(diǎn);為 0 則往下執(zhí)行。 如: DJNZ R7, KK ;將寄存器 R7 的內(nèi)容減 1 并判斷寄存器R7 里的內(nèi)容減完 1 后是否為 0,如果 不為 0 則轉(zhuǎn)移到地址標(biāo)號為 KK 的地方;如果為 0 則執(zhí)行下一條指令。這條指令需要 2個機(jī)器周期。 循環(huán)轉(zhuǎn)移指令( DJNZ )除了可以給定地址標(biāo)號讓其跳 轉(zhuǎn)外,還可以將地址標(biāo)號改成 $,這樣 程序就跳回本指令執(zhí)行。例如: DJNZ R7, $ ; R7 內(nèi)容減 1 不為 0,則再次執(zhí)行本指令;為 0 則往下執(zhí)行,當(dāng) R7 的值改為 10 時,則執(zhí)行完該條程序所需的時間為 2*10=20 μ s。 利用以上三條指令的組合就可以比較精確地編寫出所需要的延時程序。 下面是本設(shè)計的程序中延時程序的計算: MOV R3,200。 ① 1 D1: MOV R5, ② 1 廣告燈自動控制系統(tǒng) 23 F1: DJNZ R5, F1。 ③ 2*R5 DJNZ R3,D1。 ④ 2*R3+(1+2*R5)*R3 RET 2 上面這個子程序共有四條指令,現(xiàn)在分別就每一條指令 被執(zhí)行的次數(shù)和所耗時間進(jìn)行分析。 第一句: MOV R3, 200 在整個子程序中只被執(zhí)行一次,且為單周期指令,所以耗時 1μ s 第二句: MOV R5, 250 從 ② 看到 ④ 只要 R31 不為 0,就會返回到這句,共執(zhí)行了 R3次,共耗時 200μ s 第三句: DJNZ R5, F1 只要 R51 不為 0,就反復(fù)執(zhí)行此句(內(nèi)循環(huán) R5 次),又受外循環(huán) R3 控制,所以共執(zhí)行 R3*R5 次,因是雙周期指 令,所以耗時 2*R3*R5μ s。 所以精確延時時間為: 1+( 1 200) +( 2 250 200) +( 2200) +2 =( 2*250+3) *200+3 =100603μ s ≈ 100ms
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1