在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用單片機實現拉幕式數碼顯示技術的詳細說明

Wildesbeast ? 來源:單片機教程網 ? 作者:h1654155169.2086 ? 2020-05-05 16:07 ? 次閱讀

1. 實驗任務

用AT89S51單片機的P0.0/AD0-P0.7/AD7端口數碼管的a-h端,8位數碼管的S1-S8通過74LS138譯碼器的Y0-Y7來控制選通每個數碼管的位選端。AT89S51單片機的P1.0-P1.2控制74LS138的A,B,C端子。在8位數碼管上從右向左循環顯示“12345678”。能夠比較平滑地看到拉幕的效果。

2.電路原理

圖4.21.1

3.系統板上硬件連線

(1. 把“單片機系統”區域中的P0.0/AD0-P0.7/AD7用8芯排線連接到“動態數碼顯示”區域中的a-h端口上;

(2. 把“三八譯碼模塊”區域中的Y0-Y7用8芯排線連接到“動態數碼顯示”區域中的S1-S8端口上;

(3. 把“單片機系統”區域中的P1.0-P1.2端口用3根導線連接到“三八譯碼模塊”區域中的A、B、C“端口上;

4.程序設計方法

(1. 動態數碼顯示技術;如何進行動態掃描,由于一次只能讓一個數碼管顯示,因此,要顯示8位的數據,必須經過讓數碼管一個一個輪流顯示才可以,同時每個數碼管顯示的時間大約在1ms到4ms之間,所以為了保證正確顯示,我必須每隔1ms,就得刷新一個數碼管。而這刷新時間我們采用單片機的定時/計數器T0來控制,每定時1ms對數碼管刷新一次,T0采用方式2。

(2. 在進行數碼顯示的時候,要對顯示單元開辟8個顯示緩沖區,每個顯示緩沖區裝有顯示的不同數據即可。

5.程序框圖

主程序框圖

中斷服務程序

6.匯編源程序

DISPBUF EQU 30H

DISPCNT EQU 38H

DISPBIT EQU 39H

T1CNTA EQU 3AH

T1CNTB EQU 3BH

CNT EQU 3CH

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV DISPCNT,#8

MOV A,#10

MOV R1,#DISPBUF

LP: MOV @R1,A

INC R1

DJNZ DISPCNT,LP

MOV DISPBIT,#00H

MOV T1CNTA,#00H

MOV T1CNTB,#00H

MOV CNT,#00H

MOV TMOD,#01H

MOV TH0,#(65536-1000) / 256

MOV TL0,#(65536-1000) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

INT_T0:

MOV TH0,#(65536-1000) / 256

MOV TL0,#(65536-1000) MOD 256

MOV A,DISPBIT

ADD A,#DISPBUF

MOV R0,A

MOV A,@R0

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,P1

ANL A,#0F8H

ADD A,DISPBIT

MOV P1,A

INC DISPBIT

MOV A,DISPBIT

CJNE A,#08H,NEXT

MOV DISPBIT,#00H

NEXT: INC T1CNTA

MOV A,T1CNTA

CJNE A,#50,LL1

MOV T1CNTA,#00H

INC T1CNTB

MOV A,T1CNTB

CJNE A,#8,LL1

MOV T1CNTB,#00H

INC CNT

MOV A,CNT

CJNE A,#9,LLX

MOV CNT,#00H

MOV A,CNT

LLX: CJNE A,#01H,NEX1

MOV 30H,#8

LL1: LJMP DONE

NEX1: CJNE A,#02H,NEX2

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX2: CJNE A,#03H,NEX3

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX3: CJNE A,#04H,NEX4

MOV 33H,#8

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX4: CJNE A,#05H,NEX5

MOV 34H,#8

MOV 33H,#8

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX5: CJNE A,#06H,NEX6

MOV 35H,#8

MOV 34H,#8

MOV 33H,#8

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX6: CJNE A,#07H,NEX7

MOV 36H,#8

MOV 35H,#8

MOV 34H,#8

MOV 33H,#8

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX7: CJNE A,#08H,NEX8

MOV 37H,#8

MOV 36H,#8

MOV 35H,#8

MOV 34H,#8

MOV 33H,#8

MOV 32H,#8

MOV 31H,#8

MOV 30H,#8

LJMP DONE

NEX8: CJNE A,#00H,DONE

MOV 37H,#10

MOV 36H,#10

MOV 35H,#10

MOV 34H,#10

MOV 33H,#10

MOV 32H,#10

MOV 31H,#10

MOV 30H,#10

LL: LJMP DONE

DONE: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H

END

7. C語言源程序

#include 《AT89X51.H》

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00};

unsigned char dispbitcode[]={0xf8,0xf9,0xfa,0xfb,

0xfc,0xfd,0xfe,0xff};

unsigned char dispbuf[8]={16,16,16,16,16,16,16,16};

unsigned char dispbitcnt;

unsigned int t02scnt;

unsigned char t5mscnt;

unsigned char u;

unsigned char i;

void main(void)

{

TMOD=0x02;

TH0=0x06;

TL0=0x06;

TR0=1;

ET0=1;

EA=1;

while(1);

}

void t0(void) interrupt 1 using 0

{

t5mscnt++;

if(t5mscnt==4)

{

t5mscnt=0;

P0=dispcode[dispbuf[dispbitcnt]];

P1=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==8)

{

dispbitcnt=0;

}

}

t02scnt++;

if(t02scnt==1600)

{

t02scnt=0;

u++;

if(u==9)

{

u=0;

}

for(i=0;i《8;i++)

{

dispbuf[i]=16;

}

for(i=0;i《u;i++)

{

dispbuf[i]=8;

}

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6058

    文章

    44816

    瀏覽量

    644448
  • 數碼管
    +關注

    關注

    32

    文章

    1888

    瀏覽量

    92051
  • 譯碼器
    +關注

    關注

    4

    文章

    312

    瀏覽量

    50841
收藏 人收藏

    評論

    相關推薦

    AT89S51單片機實驗及實踐教程

    技術數碼顯示技術 1 1 1 1 實驗任務實驗
    發表于 07-15 07:50

    數碼顯示技術

    數碼顯示技術 1. 實驗任務 用AT89S51單片機
    發表于 04-16 11:03 ?1524次閱讀
    <b class='flag-5'>拉</b><b class='flag-5'>幕</b><b class='flag-5'>式</b><b class='flag-5'>數碼</b><b class='flag-5'>顯示</b><b class='flag-5'>技術</b>

    基于AT89S51單片機數碼顯示的設計

    單片機的 P1.0-P1.2控制74LS138的 A,B,C 端子。在8位數碼管上從右向左循環顯示12345678。能夠比較平滑地看到
    發表于 11-30 14:29 ?3次下載
    基于AT89S51<b class='flag-5'>單片機</b>的<b class='flag-5'>拉</b><b class='flag-5'>幕</b><b class='flag-5'>式</b><b class='flag-5'>數碼</b><b class='flag-5'>顯示</b>的設計

    51單片機教程之單片機硬件結構的詳細說明

    本文檔的主要內容詳細介紹的是51單片機教程之單片機硬件結構的詳細說明內容包括了:一內部結構與引腳說明,二
    發表于 10-23 11:04 ?40次下載
    51<b class='flag-5'>單片機</b>教程之<b class='flag-5'>單片機</b>硬件結構的<b class='flag-5'>詳細說明</b>

    八個實驗詳細說明單片機原理與應用資料概述

    本文檔的主要內容詳細介紹的是八個實驗詳細說明單片機原理與應用資料概述實驗一、單片機P1口實驗 實驗二、步進電機控制實驗 實驗三、七段數碼管動
    發表于 11-05 08:00 ?8次下載
    八個實驗<b class='flag-5'>詳細說明</b><b class='flag-5'>單片機</b>原理與應用資料概述

    進行單片機串口通信的方式詳細說明

    本文檔的主要內容詳細介紹的是進行單片機串口通信的方式詳細說明
    發表于 08-01 17:35 ?1次下載
    進行<b class='flag-5'>單片機</b>串口通信的方式<b class='flag-5'>詳細說明</b>

    51單片機中斷系統的原理和結構詳細說明

    本文檔的主要內容詳細介紹的是51單片機中斷系統的原理和結構詳細說明
    發表于 11-19 08:00 ?2次下載
    51<b class='flag-5'>單片機</b>中斷系統的原理和結構<b class='flag-5'>詳細說明</b>

    單片機的指令大全詳細說明

    本文檔的主要內容詳細介紹的是單片機的指令大全詳細說明
    發表于 12-26 11:39 ?24次下載
    <b class='flag-5'>單片機</b>的指令大全<b class='flag-5'>詳細說明</b>

    STM32單片機的輸入捕獲實驗詳細說明

    本文檔的主要內容詳細介紹的是STM32單片機的輸入捕獲實驗詳細說明
    發表于 01-02 08:00 ?3次下載
    STM32<b class='flag-5'>單片機</b>的輸入捕獲實驗<b class='flag-5'>詳細說明</b>

    使用STM32F103RB單片機實現ADC實驗的資料詳細說明

    本文檔的主要內容詳細介紹的是使用STM32F103RB單片機實現ADC實驗的資料詳細說明
    發表于 04-07 08:00 ?7次下載
    使用STM32F103RB<b class='flag-5'>單片機</b><b class='flag-5'>實現</b>ADC實驗的資料<b class='flag-5'>詳細說明</b>

    使用STM32F103RB單片機實現外部中斷實驗的資料詳細說明

    本文檔的主要內容詳細介紹的是使用STM32F103RB單片機實現外部中斷實驗的資料詳細說明
    發表于 04-07 08:00 ?0次下載
    使用STM32F103RB<b class='flag-5'>單片機</b><b class='flag-5'>實現</b>外部中斷實驗的資料<b class='flag-5'>詳細說明</b>

    使用STM32F103RB單片機實現RTC實時時鐘實驗的資料詳細說明

    本文檔的主要內容詳細介紹的是使用STM32F103RB單片機實現RTC實時時鐘實驗的資料詳細說明
    發表于 04-07 08:00 ?11次下載
    使用STM32F103RB<b class='flag-5'>單片機</b><b class='flag-5'>實現</b>RTC實時時鐘實驗的資料<b class='flag-5'>詳細說明</b>

    使用實現單片機動態數碼顯示詳細說明

    如圖所示,AT89S51單片機 P0端口接動態數碼管的字形碼筆段,P2端口接動態數碼管的數位選擇端,P1.7接一個開關,當開關接高電平時,顯示“12345”字樣;當開關接低電平時,
    的頭像 發表于 05-05 14:12 ?5334次閱讀
    使用<b class='flag-5'>實現</b><b class='flag-5'>單片機</b>動態<b class='flag-5'>數碼</b><b class='flag-5'>顯示</b>的<b class='flag-5'>詳細說明</b>

    單片機遙控解碼的源代碼詳細說明

    本文檔的主要內容詳細介紹的是單片機遙控解碼的源代碼詳細說明
    的頭像 發表于 09-26 11:07 ?3419次閱讀

    單片機電阻有什么樣的作用好使用原則詳細說明

    電子發燒友網站提供《單片機電阻有什么樣的作用好使用原則詳細說明.pdf》資料免費下載
    發表于 11-26 23:50 ?13次下載
    主站蜘蛛池模板: 久久久xxx | 美女黄色毛片免费看 | 国内一级特黄女人精品片 | 天天亚洲综合 | 丁香九月婷婷 | 一级毛片不收费 | 国产色丁香久久综合 | caopon在线| 日韩三级精品 | 色在线网站 | 日韩精品一区二区三区免费视频 | 黄色网网址 | 一级特黄女人生活片 | 久久精品亚洲精品国产色婷 | 久99频这里只精品23热 视频 | 亚洲va国产va天堂va久久 | 天天色爱| 无毒不卡 | 在线观看中文字幕一区 | 日日夜夜2017| 亚洲欧美一区二区三区麻豆 | 国产精品资源在线观看 | 性欧美精品 | 四虎影在永久地址在线观看 | 手机在线亚洲 | 国内久久精品视频 | 天天弄 | 亚洲欧美v视色一区二区 | 同性恋激情视频 | 天天成人综合网 | 狠狠色丁香 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片男 | 美女全黄网站免费观看 | 伊人网视频在线 | 极品吹潮视频大喷潮tv | 中文字幕亚洲区 | 性视频在线 | 婷婷在线五月 | 亚洲精品电影天堂网 | 禁漫羞羞a漫入口 | 午夜视频免费观看黄 |