AVR學(xué)習(xí)筆記十基于數(shù)碼管顯示的流轉(zhuǎn)燈_第1頁
AVR學(xué)習(xí)筆記十基于數(shù)碼管顯示的流轉(zhuǎn)燈_第2頁
AVR學(xué)習(xí)筆記十基于數(shù)碼管顯示的流轉(zhuǎn)燈_第3頁
AVR學(xué)習(xí)筆記十基于數(shù)碼管顯示的流轉(zhuǎn)燈_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、AVR學(xué)習(xí)筆記十、基于數(shù)碼管顯示的流轉(zhuǎn)燈 -基于LT_Mini_M1610.1 用數(shù)碼管顯示流轉(zhuǎn)燈10.1.1、實(shí)例功能在大街上我們經(jīng)常會(huì)看到各種各樣的廣告燈,這些廣告燈常常會(huì)不停的變換顯示效果,以達(dá)到吸引大眾眼球的目的,現(xiàn)在,我們利用學(xué)習(xí)板上的數(shù)碼管來簡單實(shí)現(xiàn)一下廣告燈的顯示效果。本實(shí)例分為三個(gè)功能模塊,分別描述如下: 單片機(jī)系統(tǒng):利用ATmega16單片機(jī)與4位7段共陰極數(shù)碼管構(gòu)成流轉(zhuǎn)燈控制電路。 外圍電路:數(shù)碼管與單片機(jī)的連接電路。 軟件程序:編寫軟件,用數(shù)碼管達(dá)到流轉(zhuǎn)燈的效果。通過本實(shí)例的學(xué)習(xí),掌握以下內(nèi)容: 掌握數(shù)碼管顯示的基本原理和程序設(shè)計(jì)方法。10.1.2、器件和原理 關(guān)于數(shù)碼管

2、的顯示原理我們在前面的實(shí)例中已經(jīng)做過介紹,在這里就不再多做說明。10.1.3、電路和連接 本實(shí)例的電路原理圖和4位數(shù)碼管顯示實(shí)例里面的電路圖完全一致,在此也不做重復(fù)介紹。10.1.4、程序設(shè)計(jì) 1、程序功能程序的功能是使用單片機(jī)的控制數(shù)碼管顯示不同的內(nèi)容,程序比較簡單,直接看程序就能明白原理了。2函數(shù)說明本程序多個(gè)功能函數(shù),分別是: 數(shù)碼管顯示相關(guān)函數(shù):void Port_Init(void); /數(shù)碼管端口初始化void liuzhuan1(void); /流轉(zhuǎn)效果1void liuzhuan2(void); /流轉(zhuǎn)效果2void liuzhuan3(void); /流轉(zhuǎn)效果3 延時(shí)相關(guān)函數(shù)

3、:void Delayus(unsigned int lus); /us延時(shí)函數(shù)void Delayms(unsigned int lms); /ms延時(shí)函數(shù)由于WINAVR自帶函數(shù)庫中的延時(shí)函數(shù)使用起來很不方便,并且晶振頻率不同,延時(shí)時(shí)間也有區(qū)別,所以本實(shí)例中自己寫了兩個(gè)延時(shí)函數(shù)。 3、使用WINAVR開發(fā)環(huán)境,使用的是外部12M的晶振,所以需要將makefile文件中的時(shí)鐘頻率修改為12M。另外在程序燒錄到單片機(jī)的時(shí)候,熔絲位也要選擇為外部12M晶振(注意是晶振,不是外部振蕩器,一定不要選擇錯(cuò)了,否則會(huì)導(dǎo)致單片機(jī)不能再燒寫程序)。4、程序代碼#include <avr/io.h>

4、; /io端口寄存器配置文件,必須包含#include <util/delay.h>/變量聲明unsigned char Disp_Buff6 = 0x02,0x80,0x20,0x04,0x01,0x08; /函數(shù)聲明void Delayus(unsigned int lus); /us延時(shí)函數(shù)void Delayms(unsigned int lms); /ms延時(shí)函數(shù)void Port_Init(void); /數(shù)碼管端口初始化void liuzhuan1(void); /流轉(zhuǎn)效果1void liuzhuan2(void); /流轉(zhuǎn)效果2void liuzhuan3(void

5、); /流轉(zhuǎn)效果3int main(void) /GCC中main文件必須為返回整形值的函數(shù),沒有參數(shù)Port_Init(); /端口初始化while(1)liuzhuan1(); /顯示效果1,逐段顯示字符“0”liuzhuan2(); /顯示效果2,讓字符“0”流動(dòng)起來liuzhuan3();/顯示效果3,讓字符“0”亮滅變化 /端口初始化void Port_Init(void)PORTB &= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB3) | (1 << PB5) |

6、 (1 << PB7); /設(shè)置包含字符“0”的各個(gè)段口為輸出低電平,不亮DDRB |= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB3) | (1 << PB5) | (1 << PB7); /設(shè)置包含字符“0”的各個(gè)段口為輸出PORTC &= (1 << PC6) | (1 << PC7); /數(shù)碼管C0、C1位選通端口設(shè)置為低,不導(dǎo)通DDRC |= (1 << PC6) | (1 << PC7); /

7、數(shù)碼管C0、C1位選通端口設(shè)置PORTD &= (1 << PD4) | (1 << PD5); /數(shù)碼管C2、C3位選通端口設(shè)置為低,不導(dǎo)通DDRD |= (1 << PD4) | (1 << PD5); /數(shù)碼管C2、C3位選通端口設(shè)置/流轉(zhuǎn)效果1,void liuzhuan1(void)unsigned char i;PORTC |= (1 << PC6) | (1 << PC7); /數(shù)碼管C0、C1位選通端口設(shè)置為高;導(dǎo)通PORTD |= (1 << PD4) | (1 << PD

8、5); /數(shù)碼管C0、C1位選通端口設(shè)置為高,導(dǎo)通PORTB = 0x00; /段端口輸出低,不亮for(i = 0;i < 6;i+)PORTB |= Disp_Buffi; /逐段點(diǎn)亮字符“0”的各個(gè)段Delayms(300); /延時(shí),達(dá)到逐段顯示效果,時(shí)間可調(diào)/流轉(zhuǎn)效果2void liuzhuan2(void) unsigned char i,j;for(i = 0;i <50;i+) /讓字符“0”流動(dòng)50次for(j = 0;j < 6;j+) /讓字符“0”逐段點(diǎn)亮PORTB = Disp_Buffj; /每次點(diǎn)亮一段Delayms(15); /延時(shí),達(dá)到流動(dòng)效

9、果,時(shí)間可調(diào)整,以達(dá)到最佳效果/流轉(zhuǎn)效果3 void liuzhuan3(void) unsigned char i;for(i = 0;i < 5;i+)PORTB |= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB3) | (1 << PB5) | (1 << PB7); /點(diǎn)亮字符“0”的所有段Delayms(300); /延時(shí)PORTB &= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB3) | (1 << PB5) | (1 << PB7); /熄滅字符“0”的所有段Delayms(300); /us級別的延時(shí)函數(shù)void Delayus(unsigned int lus)while(lus-)_delay_loop_2(3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論