我給你一個數(shù)碼管代碼_第1頁
我給你一個數(shù)碼管代碼_第2頁
我給你一個數(shù)碼管代碼_第3頁
我給你一個數(shù)碼管代碼_第4頁
我給你一個數(shù)碼管代碼_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、我給你一個數(shù)碼管代碼,自己修改: /* * 標(biāo)題: 偉納電子ME300B單片機(jī)開發(fā)系統(tǒng)演示程序 - LED數(shù)碼管顯示1-8 * * 文件: wl004.C * * 日期: 2004-1-5 * * 版本: 1.0 * * 作者: 偉納電子 - Freeman * * 郵箱: freeman * * 網(wǎng)站: * * * 描述: * * LED數(shù)碼管顯示演示程序 * * 在8個LED數(shù)碼管上依次顯示1,2,3,4,5,6,7,8 * * * * * * * 【版權(quán)】 Copyright(C)偉納電子 All Rights Reserved * * 【聲明】 此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和

2、作者信息! * */ #include <reg51.h> #include <intrins.h> unsigned char data dis_digit; unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff;/ 4, 5, 6, 7, 8, 9, off unsigned char data dis_buf8; unsigned char data dis_index; void main() P0 = 0xff; P

3、2 = 0xff; TMOD = 0x01; TH0 = 0xFC; TL0 = 0x17; IE = 0x82; dis_buf0 = dis_code0x1; dis_buf1 = dis_code0x2; dis_buf2 = dis_code0x3; dis_buf3 = dis_code0x4; dis_buf4 = dis_code0x5; dis_buf5 = dis_code0x6; dis_buf6 = dis_code0x7; dis_buf7 = dis_code0x8; dis_digit = 0xfe; dis_index = 0; TR0 = 1; while(1)

4、; void timer0() interrupt 1 / 定時器0中斷服務(wù)程序, 用于數(shù)碼管的動態(tài)掃描 / dis_index - 顯示索引, 用于標(biāo)識當(dāng)前顯示的數(shù)碼管和緩沖區(qū)的偏移量 / dis_digit - 位選通值, 傳送到P2口用于選通當(dāng)前數(shù)碼管的數(shù)值, 如等于0xfe時, / 選通P2.0口數(shù)碼管 / dis_buf - 顯于緩沖區(qū)基地址 TH0 = 0xFC; TL0 = 0x17; P2 = 0xff; / 先關(guān)閉所有數(shù)碼管 P0 = dis_bufdis_index; / 顯示代碼傳送到P0口 P2 = dis_digit; / dis_digit = _crol_(dis

5、_digit,1); / 位選通值左移, 下次中斷時選通下一位數(shù)碼管 dis_index+; / dis_index &= 0x07; / 8個數(shù)碼管全部掃描完一遍之后,再回到第一個開始下一次掃描 ;* ;* 標(biāo)題: 偉納電子ME300B單片機(jī)開發(fā)系統(tǒng)演示程序 - LED數(shù)碼管顯示1-8 * ;* 文件: wl004.asm * ;* 日期: 2004-1-5 * ;* 版本: 1.0 * ;* 作者: 偉納電子 - Freeman * ;* 郵箱: freeman * ;* 網(wǎng)站: * ;* ;* 描述: * ;* LED數(shù)碼管顯示演示程序 * ;* 在8個LED數(shù)碼管上依次顯示1,

6、2,3,4,5,6,7,8 * ;* * ;* * ;* ;* 【版權(quán)】 Copyright(C)偉納電子 All Rights Reserved * ;* 【聲明】 此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息! * ;* CODE_SEG SEGMENT CODE DATA_SEG SEGMENT DATA RSEG DATA_SEG dis_digit: DS 1 dis_index: DS 1 dis_buf: DS 8 stack: DS 20 ;= CSEG AT 00000H ; Reset向量 LJMP MAIN CSEG AT 0000BH ; 定時器0中斷向量 LJMP

7、 TIMER0 ;= RSEG CODE_SEG MAIN: MOV SP,#(stack-1) ; 初始化堆棧指針 MOV P0,#0FFH ; 初始化I/O口 MOV P2,#0FFH MOV TMOD,#01H ; 初始化timer0 MOV TH0,#0FCH MOV TL0,#017H MOV IE,#082H MOV DPTR, #DIS_CODE ; 設(shè)定顯示初值 MOV A,#1 MOVC A,A+DPTR MOV dis_buf,A MOV A,#2 MOVC A,A+DPTR MOV dis_buf+01H,A MOV A,#3 MOVC A,A+DPTR MOV dis_

8、buf+02H,A MOV A,#4 MOVC A,A+DPTR MOV dis_buf+03H,A MOV A,#5 MOVC A,A+DPTR MOV dis_buf+04H,A MOV A,#6 MOVC A,A+DPTR MOV dis_buf+05H,A MOV A,#7 MOVC A,A+DPTR MOV dis_buf+06H,A MOV A,#8 MOVC A,A+DPTR MOV dis_buf+07H,A MOV dis_digit,#0FEH ; 初始從第一個數(shù)碼管開始掃描 MOV dis_index,A SETB TR0 ; 啟動定時器0,開始動態(tài)掃描顯示 MAIN_L

9、P: ; 主程序循環(huán),增加其它代碼 SJMP MAIN_LP ; END OF main ;= USING 0 TIMER0: ; 定時器0中斷服程序, 用于數(shù)碼管的動態(tài)掃描 ; DIS_INDEX - 顯示索引, 用于標(biāo)識當(dāng)前顯示的數(shù)碼管和緩沖區(qū)的偏移量 ; DIS_DIGIT - 位選通值, 傳送到P2口用于選通當(dāng)前數(shù)碼管的數(shù)值, 如等于0xfe時, ; 選通P2.0口數(shù)碼管 ; DIS_BUF - 顯于緩沖區(qū)基地址 PUSH ACC PUSH PSW PUSH AR0 MOV TH0,#0FCH MOV TL0,#017H MOV P2,#0FFH ; 先關(guān)閉所有數(shù)碼管 MOV A,#DIS_BUF ; 獲得顯示緩沖區(qū)基地址 ADD A,DIS_INDEX ; 獲得偏移量 MOV R0,A ; R0 = 基地址 + 偏移量 MOV A,R0 ; 獲得顯示代碼 MOV P0,A ; 顯示代碼傳送到P0口 MOV P2,DIS_DIGIT ; MOV A,DIS_DIGIT ; 位選通值左移, 下次中斷時選通下一位數(shù)碼管 RL A MOV DIS_DIGIT,A INC DIS_INDEX ; DIS_INDEX加1, 下次中斷時顯示下一位 ANL DIS_INDEX,#0x07 ; 當(dāng)DIS_INDEX等于8(0000 1000)時, 清0 POP AR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論