久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機數(shù)碼管顯示實驗

時間:2019-05-12 00:48:31下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《單片機數(shù)碼管顯示實驗》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《單片機數(shù)碼管顯示實驗》。

第一篇:單片機數(shù)碼管顯示實驗

實驗一

數(shù)碼管實驗

一、實驗?zāi)康?/p>

1.了解數(shù)碼管的顯示原理;2.掌握JXARM9-2440 中數(shù)碼管顯示編程方法

二、實驗儀器

JXARM9-2440教學(xué)實驗箱、ADT1000仿真器和ADT IDE集成開發(fā)環(huán)境、串口連接線、PC機。

三、實驗原理

7段LED由7個發(fā)光二極管按“日”字形排列,所有發(fā)光二極管的陽極連在一起稱共陽極接法,陰極連在一起稱為共陰極接法。

LED顯示器的接口一般有靜態(tài)顯示與動態(tài)顯示接口兩種方式。

本實驗中采用的是動態(tài)顯示接口,其中數(shù)碼管掃描控制地址為0x20007000,位0-位5每位分別對應(yīng)一個數(shù)碼管,將其中某位清0 來選擇相應(yīng)的數(shù)碼管,地址0x20006000 為數(shù)碼管的數(shù)據(jù)寄存器。數(shù)碼管采用共陽方式,向該地址寫一個數(shù)據(jù)就可以控制LED 的顯示,數(shù)據(jù)中的1對應(yīng)的不亮,0對應(yīng)的亮,數(shù)碼管各位從高到低排列為dp-g-f-e-d-c-b-a,例如當(dāng)數(shù)據(jù)寄存器是11111111時則不亮,當(dāng)是01111111時則顯示8,其原理圖如圖所示。

四、實驗內(nèi)容

1、編程實現(xiàn):六個數(shù)碼管同時正向顯示0-F,然后反向顯示F-0。

2、編程實現(xiàn):在六個數(shù)碼管上依次顯示與自己姓名有關(guān)的內(nèi)容,可分辨出輪流顯示。

3、編程實現(xiàn):在六個數(shù)碼管上依次顯示與自己姓名有關(guān)的內(nèi)容,分辨不出輪流顯示。

4*、編程實現(xiàn):在每個數(shù)碼管上遞增顯示0—9。5*、自行開發(fā)。

五、實驗程序

1, /****************************************************************************/ /*文件名稱: LEDSEG7.C

*/ /*實驗現(xiàn)象: 數(shù)碼管依次顯示出0、1,2、??

9、a、b、C、d、E、F

*/ /****************************************************************************/ #define U8 unsigned char unsigned char seg7table[16] = {

/* 0

7*/

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,/* 8

A

B

C

D

E

F*/

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e, };void Delay(int time);/****************************************************************************/ /* 函數(shù)說明: JXARM9-2410 7段構(gòu)共陽數(shù)碼管測試

*/ /* 功能描述: 依次在7段數(shù)碼管上顯示0123456789ABCDEF

*/ /* 返回代碼: 無

*/ /* 參數(shù)說明: 無

*/ /****************************************************************************/ void Test_Seg7(void){

int i;

*((U8*)0x20007000)=0x00;/*6個數(shù)碼管都亮*/ for(;;){

/*數(shù)碼管從0到F依次將字符顯示出來*/

for(i=0;i<0x10;i++)

{

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

/*數(shù)碼管從F到0依次將字符顯示出來*/

for(i=0x0f;i>0x00;i--)

{

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

} }

// TODO } /****************************************************************************/

/* Function name : 循環(huán)延時子程序

*/ /* Description : 循環(huán) 'time' 次

*/ /* Return type :void

*/ /* Argument

: 循環(huán)延時計數(shù)器

*/ /****************************************************************************/ void Delay(int time){

int i;int delayLoopCount=10000;

for(;time>0;time--);

for(i=0;i

2, /****************************************************************************/ /*文件名稱: LEDSEG7.C

*/ /*實驗現(xiàn)象: 數(shù)碼管依次顯示ZHAngg,并能看出輪流顯示

*/ /****************************************************************************/ #define U8 unsigned char unsigned char seg7table[16] = {

/* Z

H

A

n

g

g

7*/

0xa4,0x89,0x88,0xc8,0x90,0x90,0x82,0xf8,/* 8

A

B

C

D

E

F*/

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,/* H

I

N*/

0x89,0xcf,0x48 };void Delay(int time);/****************************************************************************/ /* 函數(shù)說明: JXARM9-2410 7段構(gòu)共陽數(shù)碼管測試

*/ /* 功能描述: 在六個數(shù)碼管上分別顯示字母,與姓名有關(guān)

*/ /* 返回代碼: 無

*/ /* 參數(shù)說明: 無

*/ /****************************************************************************/ void Test_Seg7(void){

int i;

*((U8*)0x20007000)=0x00;

for(;;)

{

*((U8*)0x20007000)=0x1f;

*((U8*)0x20006000)=seg7table[0];

Delay(10000);

*((U8*)0x20007000)=0x2f;

*((U8*)0x20006000)=seg7table[1];

Delay(10000);

*((U8*)0x20007000)=0x37;

*((U8*)0x20006000)=seg7table[2];

Delay(10000);

*((U8*)0x20007000)=0x3b;

*((U8*)0x20006000)=seg7table[3];

Delay(10000);

*((U8*)0x20007000)=0x3d;

*((U8*)0x20006000)=seg7table[4];

Delay(10000);

*((U8*)0x20007000)=0x3e;

*((U8*)0x20006000)=seg7table[5];

Delay(10000);} // TODO } /***************************************************************************/ /* Function name : 循環(huán)延時子程序

*/ /* Description : 循環(huán) 'time' 次

*/ /* Return type :void

*/ /* Argument

: 循環(huán)延時計數(shù)器

*/ /****************************************************************************/ void Delay(int time){

int i;int delayLoopCount=10000;

for(;time>0;time--);

for(i=0;i

3, /****************************************************************************/ /*文件名稱: LEDSEG7.C

*/ /*實驗現(xiàn)象: 數(shù)碼管依次顯示出ZHAngg,并看不出輪流顯示

*/ /****************************************************************************/ #define U8 unsigned char unsigned char seg7table[16] = {

/* Z

H

A

n

g

g

7*/

0xa4,0x89,0x88,0xc8,0x90,0x90,0x82,0xf8,/* 8

A

B

C

D

E

F*/

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,/* H

I

N*/

0x89,0xcf,0x48 };void Delay(int time);/****************************************************************************/ /* 函數(shù)說明: JXARM9-2410 7段構(gòu)共陽數(shù)碼管測試

*/ /* 功能描述: 在六個數(shù)碼管上分別顯示字母,與姓名有關(guān)

*/ /* 返回代碼: 無

*/ /* 參數(shù)說明: 無

*/ /****************************************************************************/ void Test_Seg7(void){

int i;

*((U8*)0x20007000)=0x00;

for(;;)

{

*((U8*)0x20007000)=0x1f;

*((U8*)0x20006000)=seg7table[0];

Delay(10000);

*((U8*)0x20007000)=0x2f;

*((U8*)0x20006000)=seg7table[1];

Delay(10000);

*((U8*)0x20007000)=0x37;

*((U8*)0x20006000)=seg7table[2];

Delay(10000);

*((U8*)0x20007000)=0x3b;

*((U8*)0x20006000)=seg7table[3];

Delay(10000);

*((U8*)0x20007000)=0x3d;

*((U8*)0x20006000)=seg7table[4];

Delay(10000);

*((U8*)0x20007000)=0x3e;

*((U8*)0x20006000)=seg7table[5];

Delay(1);} // TODO } /***************************************************************************/ /* Function name : 循環(huán)延時子程序

*/

/* Description : 循環(huán) 'time' 次

*/ /* Return type :void

*/ /* Argument

: 循環(huán)延時計數(shù)器

*/ /****************************************************************************/ void Delay(int time){

int i;int delayLoopCount=10000;

for(;time>0;time--);

for(i=0;i

4, /****************************************************************************/ /*文件名稱: LEDSEG7.C

*/ /*實驗現(xiàn)象: 數(shù)碼管依次顯示出0、1,2、??

9、a、b、C、d、E、F

*/ /****************************************************************************/ #define U8 unsigned char unsigned char seg7table[16] = {

/* 0

7*/

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,/* 8

A

B

C

D

E

F*/

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e, };void Delay(int time);/****************************************************************************/ /* 函數(shù)說明: JXARM9-2410 7段構(gòu)共陽數(shù)碼管測試

*/ /* 功能描述: 依次在7段數(shù)碼管各自遞增顯示0—9

*/ /* 返回代碼: 無

*/ /* 參數(shù)說明: 無

*/ /****************************************************************************/ void Test_Seg7(void){

int i;for(;;){

for(i=0;i<=0x09;i++)

{

*((U8*)0x20007000)=0x1f;

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

for(i=0;i<=0x09;i++)

{

*((U8*)0x20007000)=0x2f;

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

for(i=0;i<=0x09;i++)

{

*((U8*)0x20007000)=0x37;

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

for(i=0;i<=0x09;i++)

{

*((U8*)0x20007000)=0x3b;

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

for(i=0;i<=0x09;i++)

{

*((U8*)0x20007000)=0x3d;

*((U8*)0x20006000)=seg7table[i];

Delay(10000);

}

} // TODO } /****************************************************************************/ /* Function name : 循環(huán)延時子程序

*/ /* Description : 循環(huán) 'time' 次

*/ /* Return type :void

*/ /* Argument

: 循環(huán)延時計數(shù)器

*/ /****************************************************************************/ void Delay(int time){

int i;int delayLoopCount=10000;

for(;time>0;time--);

for(i=0;i

六、實驗結(jié)果與分析

實驗一結(jié)果:六個數(shù)碼管同時顯示相同的符號,從0-F再由F-0之間的循環(huán)變換。

分析:在數(shù)碼管掃描控制地址處選中六個數(shù)碼管,使其同時亮,在給其數(shù)碼管的數(shù)據(jù)寄存器存入不同符號對應(yīng)的數(shù)值,加上相應(yīng)的延遲,就

可以是輪流變換的循環(huán)的符號變換。

實驗二結(jié)果:第一個數(shù)碼管顯示Z后,第二個顯示H,接著第三個顯示A,接著第四個顯示n,接著第五個顯示g,接著第六個顯示g,接著第一個再顯示Z…..如此循環(huán)。

分析:設(shè)置控制地址使其單獨并且循環(huán)顯示,每個數(shù)碼管的數(shù)據(jù)寄存器送入不同的符號的數(shù)值,并設(shè)置較大的延遲時間即可產(chǎn)生該現(xiàn)象。

實驗三結(jié)果:六個數(shù)碼管一起顯示“ZHAngg”。

分析:原理同實驗二,只是將延遲時間改小到人眼無法分辨的地步即使一起顯示。

實驗四結(jié)果:第一個數(shù)碼管顯示0—9之后,第二個接著顯示0—9,接著第三個,第四個….分析:設(shè)置循環(huán)使六個數(shù)碼管循環(huán)單獨顯示,在每個數(shù)碼管顯示中再加入循環(huán),使其遞增顯示0—9,設(shè)置較大的延遲,是我們可以看清實驗現(xiàn)象。

七、實驗總結(jié)與心得體會

本次試驗需要了解數(shù)碼管的基本工作原理,基于C語言設(shè)計編程完成實驗,實驗的關(guān)鍵在于把握實現(xiàn)各種現(xiàn)象的本質(zhì)上的差異,在程序上作出修改。通過本次試驗對于實驗的嚴謹性有了進一步的體驗,稍有不小心實驗結(jié)果就適得其反,以后要更加用心,更加認真的做實驗。

第二篇:單片機數(shù)碼管顯示課程設(shè)計

單片機數(shù)碼管顯示課程設(shè)計

目錄引言...............設(shè)計任務(wù)和要求.............1

2.1 設(shè)計目的............1

2.2 設(shè)計意義............1總原理圖及主要模塊的流程圖......1

3.1 總原理圖及元器件清單..............1

3.2 主要流程圖..........1性能測試與分析.............35 結(jié)論與心得..........4致謝...........4

參考文獻.............4

單片機數(shù)碼管顯示課程設(shè)計引言

從上世紀70年代第一批單片機問世,短短二三十年時間,單片機技術(shù)已經(jīng)成為計算機技術(shù)的一個重要分支,廣泛運用到工業(yè)控制、儀器、儀表、消費產(chǎn)品,汽車、辦公自動化和通信等領(lǐng)域。因此,單片機技術(shù)已經(jīng)成為電子、測控、自動化、通信等許多工科專業(yè)學(xué)生的必備技能。

我用AT89C51芯片來設(shè)計一個簡單的數(shù)碼管顯示。此設(shè)計給出了源代碼,通過仿真測試,其性能指標達到了設(shè)計要求。

關(guān)鍵詞:單片機,AT89C51,數(shù)碼管設(shè)計任務(wù)和要求

2.1 設(shè)計目的1.學(xué)習(xí)基本理論在實踐中綜合運用的初步經(jīng)驗,掌握模擬電路設(shè)計的基本方法、設(shè)計步驟,培養(yǎng)綜合設(shè)計與調(diào)試能力。

2.了解AT89C51這個芯片的使用和性能指標測試方法。

3.培養(yǎng)實踐技能,提高分析和解決實際問題的能力。

2.2 設(shè)計意義

為了更好地熟悉和掌握單片機的基本功能和編程,掌握數(shù)碼管動態(tài)掃描顯示原理及實現(xiàn)方法。自我動態(tài)掃描顯示電路驅(qū)動程序的編寫方法。通過課程設(shè)計,達到理論與實際應(yīng)用相結(jié)合,提高學(xué)生對微機硬件結(jié)構(gòu)的軟件設(shè)計方法的理解,使學(xué)生能夠根據(jù)實際應(yīng)用,初步實現(xiàn)硬件及軟件的設(shè)計,對硬件開發(fā)有更深層的認識,為今后打軟硬件開發(fā),打下堅實的基礎(chǔ)。總原理圖及及主要模塊的流程圖

3.1 總原理圖及元器件清單

(1)我用Proteus 7 professional來畫出我設(shè)計的總原理圖,如圖3-1。

如圖3-1

此電路圖就用到AT89C51這個芯片,和一個數(shù)碼管。

3.2 主要流程圖(四號宋體加粗)

1.主程序的流程圖

圖3.2-1主流程圖

2.子程序的流程圖

圖3.2-2子流程圖性能測試與分析

主程序和子程序都存放在AT89C51單片機中。主程序的功能是:顯示數(shù)字。子程序的功能有:延時。程序代碼:

ORG 0000H;初始化

LJMP START;轉(zhuǎn)入主程序

ORG 0010H;初始化

START:

CLR P2.7;P2.7←00H

MOVR0,#00H;R0←00H

MOV R2,#10;R2←10

MAIN:

MOV DPTR,#TAB;DPTR←TAB

MOV A,R0;A←(RO)

MOVC A,@A+DPTR;A←((A)+(DPTR))

MOV P0,A;P0←(A)

LCALL DELAY;調(diào)用延時程序

INC R0;RO←(R0)+1

DJNZR2,MAIN;判斷

JMP START;循環(huán)

DELAY:;延時程序

MOV R3,#11

D1: MOV R4,#100

D2: MOV R5,#100

DJNZ R5,$

DJNZ R4,D2

DJNZ R3,D1

RET

TAB:

DB 00101000B;0

DB 11101011B;1

DB 00110010B;2

DB 10100010B;3

DB 11100001B;4

DB 10100100B;5

DB 00100100B;6

DB 11101010B;7

DB 00100000B;8

DB 10100000B;9

END

我用Proteus 7 professional 軟件來測試我設(shè)計的電路圖。當(dāng)運行時,數(shù)碼管顯示0。如圖4-1。

圖4-1

當(dāng)221ms后,數(shù)碼管顯示1。如圖

4-2.圖4-2

我的程序是一個循環(huán)的,一直到顯示9,之后又重新開始顯示0。在此不一一列出來。

為了能在實際在到應(yīng)用,我用開發(fā)板來驗證我所設(shè)計的電路圖。其結(jié)果如下:

圖4-3顯示1

圖4-4顯示8

從仿真的結(jié)果可以看出,我的設(shè)計是滿足我設(shè)計的要求的。結(jié)論與心得

通過單片機課程設(shè)計,我不僅加深了對單片機理論的理解,將理論很好地應(yīng)用到實際當(dāng)中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會將理論很好地聯(lián)系實際,并不斷地去開動自己的大腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時,更重要的是,我在這一設(shè)計過程中,學(xué)會了堅持不懈,不輕易言棄。設(shè)計過程,也好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會為我們而敲響。

這個設(shè)計過程中,我遇到過許多次失敗的考驗,就比如,我在軟件上仿真軟件上能實現(xiàn)其功能,但是把它寫進開發(fā)板就無法運行,我不停地找原因。最后我找到了答案,這樣我明白,做設(shè)計不但是軟件可以運行,用在硬件上一樣是那么重要的。我做的這個設(shè)計主要是用AT89C51這個芯片來實現(xiàn),這個芯片具有很多優(yōu)點,程序簡單易讀,結(jié)構(gòu)清楚,最重要的是成本低。很適合我們學(xué)生用來學(xué)生。在做這個設(shè)計的過程中,我也了解到了自己的不足,在日后的學(xué)習(xí)中,我還需加倍努力學(xué)習(xí)。

參考文獻)

[1]梁炳東.單片機原理與應(yīng)用。北京:人民郵電出版社,2009

[2]

[3]http://wenku.baidu.com/album/view/702db2c7aa00b52acfc7cae7

致謝(小三號 宋體 加粗)

在此次課程設(shè)計中,我遇到不懂的問題,老師和同學(xué)都幫我,讓我把問題順利地得到解決,最后完成此次課程設(shè)計報告。從中我學(xué)到了很多東西,在此,謝謝我的老師和同學(xué),感謝你們在我遇到難題的時候幫我解答。

第三篇:實驗四 單片機鍵盤輸入以及數(shù)碼管顯示編程

仲愷農(nóng)業(yè)工程學(xué)院實驗報告紙

信息學(xué)院(院、系)專業(yè)班組單片機原理及接口技術(shù)課實驗四單片機鍵盤輸入以及數(shù)碼管顯示編程

一、實驗?zāi)康?、掌握單片機鍵盤以及數(shù)碼管顯示的工作原理;

2、掌握單片機鍵盤以及數(shù)碼管顯示的編程方法。

二、實驗內(nèi)容

1、學(xué)習(xí)單片機鍵盤檢測、消抖以及譯碼等;

2、學(xué)習(xí)單片機數(shù)碼管靜態(tài)以及動態(tài)的顯示方式;

3、利用單片機鍵盤以及數(shù)碼管編寫程序驅(qū)動開發(fā)板上的蜂鳴器以及數(shù)碼管按一定規(guī)律工作。

三、實驗設(shè)備

1、STC單片機開發(fā)板;

2、PC機以及串口線。

四、實驗步驟

參考實驗指導(dǎo)書。

五、實驗總結(jié)

第四篇:單片機實驗五 按鍵及七段數(shù)碼管實驗

實驗五 按鍵及七段數(shù)碼管實驗

一、實驗?zāi)康?、熟悉keil軟件;

2、掌握矩陣式按鍵的原理;

3、掌握七段數(shù)碼管顯示的原理;

4、掌握STC單片機的按鍵及數(shù)碼管程序編寫及下載;

二、實驗要求

1、編寫矩陣式按鍵的讀取程序、七段數(shù)碼管的動態(tài)顯示程序,并將程序結(jié)合在一起,產(chǎn)生某一按鍵按下,顯示對應(yīng)鍵值的程序。

2、編寫串行通信的發(fā)送及接收程序,實現(xiàn)串行口跟PC及的通信,并在PC機上用串口調(diào)試工具觀察實驗結(jié)果;

3、利用keil軟件調(diào)試程序,并產(chǎn)生.hex文件;

4、將.hex文件利用STC單片機下載工具下載到單片機最小系統(tǒng)中,并觀察LED燈的顯示狀態(tài);

5、提交實驗報告,報告包含程序及LED的顯示結(jié)果。

三、實驗內(nèi)容

1、打開keil軟件,熟悉軟件的菜單、工作界面及工具。然后按照keil的編程步驟編寫程序(創(chuàng)建工程----選擇單片機AT89C51----新建源文件----保存為C程序----編寫完整的C51程序----將文件添加到工程----編譯并修改錯誤----連接產(chǎn)生.hex文件)。

2、打開STC下載軟件,將keil生成的.hex文件打開,下載到最小系統(tǒng)板,測試程序并觀察實驗結(jié)果。

3、按鍵及七段LED的程序,實現(xiàn)更多的LED與按鍵結(jié)合的效果。

四、實驗說明

1、程序中使用的按鍵及LED燈的IO端口要與自己的單片機最小系統(tǒng)板對應(yīng);

2、按鍵程序注意抗消抖;

3、思考計算器程序如何實現(xiàn);

第五篇:《一位LED數(shù)碼管顯示0-9》

成都理工大學(xué)工程技術(shù)學(xué)院

單片微機原理及應(yīng)用課程設(shè)計

《一位LED數(shù)碼管顯示0-9》

學(xué)生姓名:

學(xué)

號:

業(yè):

級:

指導(dǎo)教師:

完成日期:

一 實驗?zāi)康呐c任務(wù)…………………………………2 二 實驗要求…………………………………………2 三 實驗內(nèi)容…………………………...……………2 四 元器件清單………………………………………2 五 LED數(shù)碼管的結(jié)構(gòu)及工作原理…………………2 六 關(guān)于PLC控制LDE介紹………………………4 七 原理圖繪制說明…………………………………5 八 流程圖繪制以及說明……………………………9 九 電路原理圖與仿真………………………………10 十 源程序……………………………………………12 十一 心得體會………………………………………12 十二 參考文獻………………………………………13

一、實驗與任務(wù)

結(jié)合實際情況,編程設(shè)計、布線、程序調(diào)試、檢查與運行,完成一個與接近實際工程項目的課題,以培養(yǎng)學(xué)生的實際操作能力,適應(yīng)生產(chǎn)一線工作的需要。做到能檢查出錯誤,熟練解決問題;對設(shè)備進行全面維修。通過實訓(xùn)對PLC的組成、工作原理、現(xiàn)場調(diào)試以及基于網(wǎng)絡(luò)化工作模式的基本配置與應(yīng)用等有一個一系列的認識和提高。

利用51單片機、1個獨立按鍵及1位7段數(shù)碼管等器件,設(shè)計一個單片機輸入顯示系統(tǒng),要求每按一下獨立按鍵數(shù)碼管顯示數(shù)據(jù)加1(數(shù)碼管初始值設(shè)為0,計到9后再加1,則數(shù)碼管顯示0)。

本次設(shè)計采用12MHz的晶體振蕩器為單片機提供振蕩周期,外加獨立按鍵,復(fù)位電路和顯示電路組成。

二、實驗要求

1、了解七段LED數(shù)碼管的結(jié)構(gòu)、分類以及數(shù)碼管的顯示碼。

2、學(xué)習(xí)1位LED數(shù)碼管靜態(tài)顯示與動態(tài)顯示的編程方法。

3、掌握可編程序控制器技術(shù)應(yīng)用過程中的一些基本技能。

4、了解可編程控制器的裝備、調(diào)試的全過程。

三、實驗內(nèi)容

1、練習(xí)設(shè)計、連接、調(diào)試控制電路;

2、學(xué)習(xí)PLC程序編程;

四、元器件清單

從PROTUES庫中選擇元器件(1)AT89C51;單片機。(2)RES、RX8;電阻、8排阻。

(3)7SEG-COM-CAT-BLUE;帶公共端共陰極七段藍色數(shù)碼管。(4)CAP/CAP-ELEC;電容、電解電容。(5)CRYSTAL:晶振。

五、LED數(shù)碼管的結(jié)構(gòu)及工作原理 led數(shù)碼管(LED Segment Displays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位0,1,2,3,4,5,6,8,10位等等....,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。led數(shù)碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖1

圖1 10引腳的LED數(shù)碼管

圖2 LED數(shù)碼管引腳定義

LED數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。

A、靜態(tài)顯示驅(qū)動:

靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O埠進行驅(qū)動,或者使用如BCD碼二-十進位*器*進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅(qū)動,要知道一個89S51單片機可用的I/O口才32個呢。故實際應(yīng)用時必須增加*驅(qū)動器進行驅(qū)動,增加了硬體電路的復(fù)雜性。B、動態(tài)顯示驅(qū)動:

數(shù)碼管動態(tài)顯示介面是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp ”的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。

透過分時輪流控制各個LED數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位元數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。

六、關(guān)于PLC控制LED介紹

PLC可編程控制器:它采用一類可編程的存儲器,用于其內(nèi)部存儲程序、執(zhí)行邏輯運算、順序控制、定時、計數(shù)與算數(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機械或生產(chǎn)過程。

用PLC控制LED直接進行數(shù)據(jù)顯示,可以降低成本,使得數(shù)據(jù)顯示直觀。傳統(tǒng)數(shù)顯有兩種方法:

1、由PLC編制程序進行譯碼,來控制顯示a-g段;

2、利用 譯碼組合電路產(chǎn)生a-g各段譯碼信號實現(xiàn)LED數(shù)碼管顯示。前一種方法邏輯譯碼關(guān)系復(fù)雜,后一種方法譯碼電路冗長,都不利于顯示的實現(xiàn)。傳統(tǒng)數(shù)顯邏輯譯碼關(guān)系復(fù)雜,而用PLC的位組合元件和譯碼功能指令方法來實現(xiàn)LED數(shù)顯.前一種方法將表示十進制數(shù)的4位BCD碼的位元件成組使用,形成位組合元件數(shù)顯;后一種方法用7段譯碼指令把指定元件的低4位對應(yīng)的十六進制數(shù)譯碼后,驅(qū)動數(shù)顯.這兩種方法邏輯簡單,易于理解,便于實現(xiàn)。

設(shè)計任務(wù):LED數(shù)碼管顯示:0到9

七、原理圖繪制說明

本次設(shè)計主要用到單片機AT89C51、晶振時序電路。AT89C51是一種帶4KB閃爍可編程可擦出只讀存儲器的低電壓、高性能CMOS微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微處理器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價的方案,AT89C51的管腳分配(如圖1)。

圖1 AT89C51芯片及管腳圖

AT89C51單片機主要由4個輸入輸出端口(P0口、P1口、P2口、P3口)及個控制引腳組成的,本次設(shè)計用到P1、P2的部分引腳,及18、19腳外接晶振電容為單片機提供時鐘,9管腳為復(fù)位引腳,外接復(fù)位電路。

晶振時序電路:XTAL1和XTAL2分別為片內(nèi)反相放大器的輸入和輸出端,當(dāng)單片機采用外部時鐘信號時,前者接地,后者引入外部輸入信號,本次設(shè)計采用12M的石英晶體振蕩器為單片機提供時鐘(如圖2)。

圖2 AT89C51的晶振時序電路圖

本次設(shè)計的原理圖是在PROTEUS ISIS中繪制的,其工作界面分為原理圖編輯窗口(Editing window)、預(yù)覽窗口(Overview window)和工具欄。

1、新建*.dsn 打開繪圖界面后,首先新建一個繪圖文件,選擇“【文件】——【新建設(shè)計】”,并保存成.dsn型文件。

2、繪制原理圖

6(1)添加元器件:元件拾取共有兩種辦法,一種是按類別查找和拾取元件,另一種是直接查找和拾取元件。我采用的是前一種方法,元件通常以其英文名稱或器件代號在庫中存放。我們在取一個元件時,首先要清楚它屬于哪一大類,然后還要知道它歸屬哪一子類,這樣就縮小了查找范圍,然后在子類所列出的元件中逐個查找,根據(jù)顯示的元件符號、參數(shù)來判斷是否找到了所需要的元件。雙擊找到的元件名,該元件便拾取到編輯界面中了。右側(cè)列表中自上而下分別為元件圖形和元件封裝。具體如圖3所示:

圖3 分類拾取元件示意圖

(2)元件的放置

在原理圖編輯區(qū)的藍色方框內(nèi),單擊鼠標左鍵即完成元件的釋放。具體如圖4所示:

圖4 元件的放置示意圖

(3)電路連線

PROTEUS的連線是非常智能的,它會判斷你下一步的操作是否想連線從而自動連線,而不需要選擇連線的操作,只需用鼠標左鍵單擊編輯區(qū)元件的一個端點拖動到要連接的另外一個元件的端點,先松開左鍵后再單擊鼠標左鍵,即完成一根連線。如果要刪除一根連線,右鍵雙擊連線即可。根據(jù)設(shè)計完成連線后即可得到完整的電路原理圖,具體如圖5:

圖5 連線后的完整電路原理圖

八、流程圖繪制以及說明

主程序設(shè)計說明

主程序主要分為四部分,包括復(fù)位電路部分、獨立按鍵的判別部分、單片機控制主程序部分和譯碼顯示部分,模塊流程圖如圖6所示:

圖6 數(shù)碼管顯示程序流程圖

九、電路原理圖與仿真

1、Hex文件的導(dǎo)入過程

在仿真前,須先在KEIL4中生成.HEX文件。編譯完源程序并且沒有錯誤后,選擇“Project-Options for Target ‘Target1’-Output”,在“Create HEX File”前面的空挑勾,再“確定”,即可生成HEX文件,如圖7所示 :

圖7 生成HEX文件示意圖

在進入PROTEUS ISIS中,雙擊AT89C51芯片,出現(xiàn)如圖8所示的對話框。在“Program File”一項中查找“seg.hex”文件的路徑并加上該文件即可開始仿真,如圖8所示:

圖8 keil的seg.hex文件載入單片機的示意圖

2.在導(dǎo)入hex文件后,便可運行該設(shè)計系統(tǒng),打開仿真開關(guān),顯示如圖

十、源程序清單

org 0000h

sjmp main

org 000bh

sjmp t0_isr

org 0030h main:clr a

mov dptr,#table

movc a,@a+dptr

mov p0,a

mov tmod,#01h

mov th0,#0d8h

mov tl0,#0efh

setb et0

setb ea

setb tr0 pd: cjne r0,#100,$

inc dptr

clr a

movc a,@a+dptr

cjne a,#00h,aaa

mov dptr,#table

;如果花樣數(shù)據(jù)完應(yīng)重新循環(huán)

clr a

movc a,@a+dptr aaa: mov p0,a

mov r0,#00h

sjmp pd t0_isr:

clr tr0

mov th0,#0d8h

mov tl0,#0efh

inc r0

setb tr0

reti table:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h

end

十一、心得體會

通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)單片機知識,用匯編語言在KEIL4中編程,在PROTEUS中繪制原理圖并進行仿真,通過對這兩個軟件的學(xué)習(xí),了解了其功能的強大,掌握了AT89C51的內(nèi)部結(jié)構(gòu)及工作原理,對于我們以后的 學(xué)習(xí)和實踐有很大的指導(dǎo)意義,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。過而能改,善莫大焉。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多問題,最后在老師的指導(dǎo)下,終于游逆而解。此次設(shè)計也讓我明白了團隊精神的重要性,讓我們在合作起來更加默契,在成功后一起體會喜悅的心情。果然是團結(jié)就是力量,只有互相之間默契融洽的配合才能換來最終完美的結(jié)果。

十一、參考文獻

[1]高欽和.可編程控制器應(yīng)用技術(shù)與設(shè)計實例.北京:人民郵電出版社,2004 [2]虞鶴松編.可編程序控制器原理及應(yīng)用.南京:東南大學(xué)出版社,1995 [3]田庭主編.常用可編程序控制器編程器及編程軟件使用手冊.北京:機械工業(yè)出版社,1994

下載單片機數(shù)碼管顯示實驗word格式文檔
下載單片機數(shù)碼管顯示實驗.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    七段數(shù)碼管顯示十進制數(shù)字 (15)

    實驗報告 實驗題目 設(shè)有10個開關(guān),編號分別為0,1,……,9。 設(shè)計電路實現(xiàn)某開關(guān)閉合時對應(yīng)顯示相應(yīng)的十進制數(shù)字。要求:(1)寫出設(shè)計說明,(2)用 Proteus或Multisim仿真。 實驗方案 首......

    EDA實驗 FPGA vhdl 兩個數(shù)碼管顯示12進制5則范文

    一、 實驗?zāi)康?學(xué)習(xí)時序電路的設(shè)計,特別是計數(shù)器的設(shè)計、仿真和硬件測試,進一步熟悉VHDL設(shè)計技術(shù)。 二、 實驗要求 1、 用VHDL語言設(shè)計4位加法計數(shù)器為同步十二進制計數(shù)器,并具......

    單片機,紅綠燈顯示實驗報告

    實 驗 報 告 學(xué)生姓名: 學(xué) 號:指導(dǎo)教師: 實驗地點:實驗時間:2018年4月2日 實驗 紅綠燈顯示實驗 一、實驗?zāi)康模?1. 掌握程序控制指令。 2. 掌握分支程序、子程序、循環(huán)程序的編寫......

    單片機實驗

    實驗一、MCS51單片機基本開發(fā)環(huán)境 1. 實驗?zāi)康模?1) 熟悉軟件的集成開發(fā)環(huán)境 2) 掌握單片機軟件設(shè)計流程 3) 掌握單片機存貯器結(jié)構(gòu)及各窗口之間的聯(lián)系 2. 實驗內(nèi)容: 1) 用三種方......

    單片機實驗

    實驗一清0、移數(shù) 將片內(nèi)20H~2FH及片外0010H~001FH單元清0; 然后將片內(nèi)30H~3FH的數(shù)據(jù)移到片外0000H~000FH中;判斷: 若(30H)≤10,則求其平方存到31H中,并將位00H置1(其它位清0) 若(30H)=1......

    2013單片機實驗教案

    單片機技術(shù)實驗 教 案 馮 杰 1 實驗一 順序結(jié)構(gòu)程序設(shè)計 一、實驗?zāi)康?掌握匯編語言設(shè)計和調(diào)試方法。 二、實驗內(nèi)容 把外部RAM中2000h單元的內(nèi)容拆開,高位送2001h單元,低位......

    單片機實驗 2

    單片微型計算機原理、應(yīng)用及接口技術(shù) 實驗報告 得分: 年級專業(yè): 測控1303班學(xué)生姓名/學(xué)號:崔振振/201323030325 評閱教師: 提交時間:2015—2016學(xué)年第1學(xué)期 單片機實驗1匯編語......

    單片機實驗心得體會

    單片機實驗心得體會 單片機實驗心得體會一:單片機實驗心得體會 時間過得真快,不經(jīng)意間,一個學(xué)期就到了尾聲,進入到如火如荼的期末考試階段。在學(xué)習(xí)單片機這門課程之前,就早早的......

主站蜘蛛池模板: 国产精品无码一区二区三区在| 亚洲国产一区二区三区| 国产精品亚洲专区无码蜜芽| 好看的欧美熟妇www在线| 中文字幕人妻被公上司喝醉| 日本aⅴ大伊香蕉精品视频| 国产精品嫩草影院入口一二三| 国产精品9999久久久久仙踪林| 久久久亚洲精华液精华液精华液| 国内精品久久久久影院嫩草| 免费人成在线观看网站| 无码熟妇人妻av| 久久亚洲国产精品123区| 偷拍激情视频一区二区三区| 亚洲日韩在线a视频在线观看| 人妻av中文字幕一区二区三区| 色94色欧美sute亚洲线路二| 熟妇人妻久久中文字幕| 亚洲va久久久噜噜噜久久| 成人欧美日韩一区二区三区| 中文字幕乱码人妻综合二区三区| 亚洲综合天堂av网站在线观看| 精品国产成人国产在线观看| 中文字幕久久综合伊人| 波多野结av在线无码中文| 国产成人精品无码片区在线观看| 日韩欧无码一区二区三区免费不卡| 熟妇人妻无码xxx视频| 亚洲国产成人无码影片在线播放| 理论片午午伦夜理片2021| 免费看性视频xnxxcom| 大肉大捧一进一出好爽视频| 亚洲精品成人片在线观看精品字幕| 蜜臀av无码精品人妻色欲| 国产丰满人妻一区二区| 青青草国产精品免费观看| 国产精品久久久久久久久久久不卡| 国产人妻精品一区二区三区| 国产成人亚洲精品无码影院bt| 亚洲字幕av一区二区三区四区| 西西午夜无码大胆啪啪国模|