衡阳派盒市场营销有限公司

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

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

3天內不再提示

如何使用單片機制作一個手動計數器

Wildesbeast ? 來源:單片機教程網 ? 作者:單片機教程網 ? 2020-05-16 11:49 ? 次閱讀

1.實驗任務

利用AT89S51單片機來制作一個手動計數器,在AT89S51單片機的P3.7管腳接一個輕觸開關,作為手動計數的按鈕,用單片機的P2.0-P2.7接一個共陰數碼管,作為00-99計數的個位數顯示,用單片機的P0.0-P0.7接一個共陰數碼管,作為00-99計數的十位數顯示;硬件電路圖如圖19所示。

2.電路原理

圖4.10.1

3.系統板上硬件連線

(1. 把“單片機系統”區域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a-h端口上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。

(2. 把“單片機系統”區域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個數碼管的a-h端口上;

(3. 把“單片機系統”區域中的P3.7/RD端口用導線連接到“獨立式鍵盤”區域中的SP1端口上;

4.程序設計內容

(1. 單片機對按鍵的識別的過程處理

(2. 單片機對正確識別的按鍵進行計數,計數滿時,又從零開始計數;

(3. 單片機對計的數值要進行數碼顯示,計得的數是十進數,含有十位和個位,我們要把十位和個位拆開分別送出這樣的十位和個位數值到對應的數碼管上顯示。如何拆開十位和個位我們可以把所計得的數值對10求余,即可個位數字,對10整除,即可得到十位數字了。

(4. 通過查表方式,分別顯示出個位和十位數字。

5.

程序框圖

圖4.10.2

6.匯編源程序

Count EQU 30H

SP1 BIT P3.7

ORG 0

START: MOV Count,#00H

NEXT: MOV A,Count

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A

WT: JNB SP1,WT

WAIT: JB SP1,WAIT

LCALL DELY10MS

JB SP1,WAIT

INC Count

MOV A,Count

CJNE A,#100,NEXT

LJMP START

DELY10MS: MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

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

END

7. C語言源程序

#include 《AT89X51.H》

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

0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char Count;

void delay10ms(void)

{

unsigned char i,j;

for(i=20;i》0;i--)

for(j=248;j》0;j--);

}

void main(void)

{

Count=0;

P0=table[Count/10];

P2=table[Count];

while(1)

{

if(P3_7==0)

{

delay10ms();

if(P3_7==0)

{

Count++;

if(Count==100)

{

Count=0;

}

P0=table[Count/10];

P2=table[Count];

while(P3_7==0);

}

}

}

}

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

    關注

    6043

    文章

    44621

    瀏覽量

    638624
  • 計數器
    +關注

    關注

    32

    文章

    2261

    瀏覽量

    94996
  • 數碼管
    +關注

    關注

    32

    文章

    1887

    瀏覽量

    91409
收藏 人收藏

    評論

    相關推薦

    雷擊計數器的概述與應用分析

    雷擊計數器種用于監測和記錄電力系統、通信系統、建筑物等關鍵設施遭受雷擊次數的設備。它能夠有效地幫助管理人員掌握雷電活動的情況,以便進行預防性維護和風險評估。雷擊計數器根據工作原理可以分為無源
    的頭像 發表于 10-21 10:31 ?363次閱讀
    雷擊<b class='flag-5'>計數器</b>的概述與應用分析

    74ls163是幾進制同步計數器

    74LS163 是十進制同步計數器,它是集成電路(IC),用于數字電路中進行計數操作。它
    的頭像 發表于 10-18 13:54 ?1263次閱讀

    單片機的中斷機制

    單片機的中斷機制種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系
    的頭像 發表于 10-17 18:03 ?971次閱讀

    正交解碼計數器

    正交解碼計數器
    發表于 09-06 11:41 ?0次下載

    計數器的特點和參數

    計數器作為種常用的電子元件,在電子設備和系統中扮演著至關重要的角色。它們不僅用于存儲和增減數字值,還廣泛應用于時序和頻率測量、事件計數、控制步進電機和伺服系統、錯誤檢測和糾正以及計算機數據存儲和操作等領域。以下將詳細闡述
    的頭像 發表于 08-29 14:54 ?1351次閱讀

    計數器同步和異步怎么判斷

    計數器同步和異步是數字電路設計中的重要概念,它們在很多應用場景中都扮演著關鍵角色。 計數器概述
    的頭像 發表于 07-23 11:14 ?1704次閱讀

    二進制串行計數器工作原理是什么?

    在數字電路設計中,計數器種非常關鍵的組件,用于測量時間、計數事件或跟蹤狀態變化等。其中,二進制串行計數器作為種常用的
    的頭像 發表于 05-28 15:52 ?964次閱讀

    同步計數器和異步計數器的區別

    在數字電子領域中,計數器種用于統計脈沖信號數量的重要設備。其中,同步計數器和異步計數器是兩種不同類型的計數器,它們在工作原理、特性以及應
    的頭像 發表于 05-24 14:36 ?4734次閱讀

    同步計數器的主要類型和工作原理

    在數字電子領域,計數器種用于統計脈沖信號數量的設備,廣泛應用于各種數字系統和電路中。其中,同步計數器作為計數器種重要類型,具有其獨特
    的頭像 發表于 05-24 14:34 ?1551次閱讀

    計數器的結構和工作原理

    計數器,作為種基礎的電子設備,廣泛應用于數字電路、計算機系統以及工業自動化等多個領域。它通過對輸入信號進行計數和狀態轉換,實現對事件發生次數的統計和顯示。本文將深入探討計數器的定義、
    的頭像 發表于 05-23 15:34 ?5392次閱讀

    脈沖計數器的分類和作用

    在電子技術和數字系統中,脈沖計數器作為種基本而重要的邏輯器件,其應用廣泛且功能多樣。脈沖計數器不僅能夠實現基本的計數操作,還具備多種輸出功能和控制功能,滿足了電力、石化、冶金、輕工、
    的頭像 發表于 05-15 17:11 ?1372次閱讀

    簡單認識脈沖計數器

    在數字電路和電子測量領域中,脈沖計數器作為種基本而重要的工具,其應用十分廣泛。脈沖計數器,也被稱為脈沖頻率計或脈沖數計,主要用于統計和測量輸入脈沖信號的頻率或數量。本文將詳細闡述脈沖計數器
    的頭像 發表于 05-15 17:08 ?1972次閱讀

    單片機電子時鐘走時更精確的方法

    。 2.單片機電子時鐘利用內部定時,計數器溢出產生中斷(12MHz晶振般為50ms)再乘以相應的倍率,來實現秒、分、時的轉換。大家都知道,從定時,計數器產生中斷請求到響應中斷,需要
    發表于 04-08 07:19

    計數器怎么判斷同步和異步 計數器異步和同步的區別

    計數器是計算機領域中常用的種數據結構,用于記錄和控制程序執行中的指令或事件發生的次數。計數器可以根據同步機制或異步機制進行操作。本文將詳細
    的頭像 發表于 02-22 15:14 ?4083次閱讀

    單片機定時單片機計數器分析

     從生活中的例程看起:水盆在水龍頭下,水龍沒關緊,水滴滴地滴入盆中。水滴持續落下,盆的容量是有限的,過
    發表于 02-15 16:24 ?601次閱讀
    百家乐官网玩法及技巧| 百家乐游戏解密| 模拟百家乐官网游戏软件| 百家乐官网游戏平台排名| 明升开户 | 大发888娱乐真钱游戏下载| 大发888真钱帐户注册| bet365苹果| 永福县| 赌博游戏网站| 永利博线上娱乐| 房产| 百家乐官网关键词| 宝兴县| 百家乐官网包赢| 百家乐官网龙虎玩| 永利高百家乐开户| 百家乐路单规则| 百家乐专打方法| 六合彩图纸| 解析百家乐官网投注法| 容城县| 怎样玩百家乐官网才能| 百家乐有没有稳赢| 博彩百家乐字谜总汇| 大发888官方pt老虎机| 宣汉县| 百家乐官网公式与赌法| 百家乐是如何骗人的| 威尼斯人娱乐城澳门威| bet365维护| 百家乐官网波音平台路单| 名人百家乐官网的玩法技巧和规则 | 不夜城百家乐的玩法技巧和规则 | 大发888体育场| 漳州市| 金樽百家乐官网的玩法技巧和规则| e世博百家乐技巧| 百威百家乐的玩法技巧和规则 | 百家乐赌博筹码大不大| 威尼斯人娱乐城首选大丰收|