八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)_第1頁(yè)
八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)_第2頁(yè)
八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)_第3頁(yè)
八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)_第4頁(yè)
八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三 八段數(shù)碼管滾動(dòng)顯示程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握數(shù)碼管動(dòng)態(tài)顯示的原理;2.掌握74ls164擴(kuò)展端口的方法;3.掌握數(shù)碼管滾動(dòng)顯示的方法。二、實(shí)驗(yàn)內(nèi)容1.驗(yàn)證參考程序中的實(shí)驗(yàn)(顯示數(shù)字05);2.修改程序:(1)使6個(gè)數(shù)碼管從左到右重復(fù)滾動(dòng)的顯示一定的信息,比如:日期2008320;(2)滾動(dòng)顯示的速度可以修改。三、實(shí)驗(yàn)器材pc機(jī)一臺(tái), 仿真器一臺(tái), 實(shí)驗(yàn)箱一臺(tái), 導(dǎo)線若干。四、實(shí)驗(yàn)原理圖顯示共有6位,采用動(dòng)態(tài)顯示,8段數(shù)碼管是由8155的pb0、pb1經(jīng)過74ls164串轉(zhuǎn)并后輸出得到,6位位碼由8155的pa0口輸出,經(jīng)ua2003反向驅(qū)動(dòng)后,選擇相應(yīng)的顯示位。實(shí)驗(yàn)中數(shù)據(jù)輸出口地址為

2、0e102h,時(shí)鐘為輸出地址為0e102h,位選通輸出地址位0e101h。實(shí)驗(yàn)原理圖見圖4-1。圖4-1 實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟1.按照實(shí)驗(yàn)一中的建立工程的步驟,建立本實(shí)驗(yàn)內(nèi)容相應(yīng)的工程;2.運(yùn)用調(diào)試工具,調(diào)試軟件,觀察現(xiàn)象;3.調(diào)試修改程序觀察現(xiàn)象。六 、參考程序/* “驗(yàn)證式"?實(shí)驗(yàn)十一 八段數(shù)碼管顯示 */#include<absacc.h>#define ledlen 6 /6個(gè)數(shù)碼燈/以下定義8155為pa、pb為基本i/o模式,pc為輸出模式#define mode 0x03;/* 8155的命令狀態(tài)口寄存器地址 */#define caddr xbyte0x

3、e100 /* 8155的pa口地址,用于數(shù)碼燈的位控制 */#define outbit xbyte0xe101 /* 8155的pb口地址,其pb0和pb1用于74ls164串行輸入,控制數(shù)碼管的段 */#define clk164 xbyte0xe102 #define dat164 xbyte0xe102 /* 段控制口(接164數(shù)據(jù)位) */* 鍵盤讀入口 */#define in xbyte0xe103 /* 顯示緩沖 */unsigned char ledbufledlen; /* 八段管顯示碼 共陰極字符顯示*/code unsigned char ledmap = 0x3f,

4、 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;void delay(unsigned char cnt) unsigned char i; while (cnt- !=0) for (i=100; i !=0; i-);void displayled() unsigned char i, j; unsigned char pos; unsigned char led; /* 6個(gè)數(shù)碼管從左邊開始顯示,0010 0000 */ pos = 0x20; for (i

5、 = 0; i < ledlen; i+) /* 六個(gè)數(shù)碼管位控制為零,實(shí)現(xiàn)關(guān)所有八段管 */ outbit = 0; /數(shù)碼管需要顯示的段數(shù)據(jù) led = ledbufi; /8155通過pb0和pb1向74ls164送段數(shù)據(jù),串行輸入,74ls164并行輸出到數(shù)碼管段 for (j = 0; j < 8; j+) /每個(gè)數(shù)據(jù)有8位,開始檢測(cè)每一位的情況,先檢測(cè)高位 if(led & 0x80) dat164 = 1; else dat164 = 0; /必須pb1(clk164)由低位向高位跳變,才能pb0(dat164)發(fā)送一位數(shù)據(jù) clk164 = clk164|0

6、x02; /clk164置0 clk164 = clk164&0xfd; /為下一位發(fā)送做準(zhǔn)備 led <<= 1; outbit = pos; /* 顯示一位八段管 */ delay(1); pos >>= 1; /* 顯示下一位 */ outbit = 0; /* 關(guān)所有八段管 */void main() unsigned char i = 0; unsigned char j; caddr = mode; while(1) /保證數(shù)組里面的數(shù)據(jù)在015中間循環(huán) ledbuf0 = ledmap i & 0x0f; ledbuf1 = ledmap(i+1) & 0x0f; ledbuf2 = ledmap(i+2) & 0x0f; ledbuf3 = ledmap(i+3) & 0x0f; ledbuf4 = ledmap(i+4) & 0x0f; ledbuf5 = ledmap(i+5) & 0x0f; i+; for(j=0; j<30; j+) displayled(); /*

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論