色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

8位數碼管電子時鐘仿真圖及程序源代碼

2oON_changxuemc ? 來源:cc ? 2019-01-21 16:24 ? 次閱讀

利用8位數碼管顯示時間,原理與4位數碼管顯示的基本一樣

仿真圖:

程序源代碼:

本程序已經通過在線軟件仿真和硬件制作.

org 0000h ;程序開始入口地址

sjmp main ;跳轉至主程序

org 000bh ;T0中斷入口地址

ljmp inti0 ;跳轉至T0中斷程序

org 001bh ;T1中斷入口地址

ljmp inti1 ;跳轉至T1中斷程序

org 0030h

main:mov tmod,#11h ;設T0、T1為模式1

mov ie,#8ah ;開T0、T1允許中斷

mov th0,#4ch ;賦T0 50ms初值

mov tl0,#00h

mov th1,#4ch ;賦T1 50ms初值

mov tl1,#00h

mov sp,#60h ;設置堆棧指針

mov 38h,#00 ;鬧鐘分初值

mov 39h,#00 ;鬧鐘時初值

mov 31h,#00 ;時間秒初值

mov 32h,#00 ;時間分初值

mov 33h,#00 ;時間時初值

setb tr0 ;啟動定時器T0

setb tr1 ;啟動定時器T1

loop:lcall display ;調用時間顯示程序

lcall keysan ;調用時間調節按鈕

lcall keynz ;調用鬧鐘控制按鈕

ajmp loop

inti0:push psw ;壓入堆棧指針,保護現場

push acc

clr ea ;關中斷www.dgzj.com

mov th0,#4ch ;重賦T0定時初值

mov tl0,#00h

inc 3ah ;3ah為50ms計數單元

mov a,3ah

cjne a,#20,out ;1秒計數是否到

mov 3ah,#00 ;清50ms計數初值

inc 31h ;秒加1

mov a,31h

cjne a,#60,out ;60秒計數是否到

mov 31h,#00

inc 32h ;分加1

mov a,32h

cjne a,#60,out ;60分計數是否到

mov 32h,#00

inc 33h ;時加1

mov a,33h

cjne a,#24,out ;24時計數是否到

mov 33h,#00

out: setb ea ;開中斷

pop acc ;彈出堆棧指針,恢復現場

pop psw

reti ;中斷返回

inti1:push psw ;壓入堆棧指針,恢復現場

push acc

clr ea

mov th1,#4ch ;重賦T1定時初值

mov tl1,#00h

inc 71h ;71h為50ms計數單元

mov a,71h

cjne a,#20,out1

mov 71h,#00

mov a,32h ;鬧鐘判斷

cjne a,38h,out1 ;鬧鐘時間分判斷

mov a,33h

cjne a,39h,out1 ;鬧鐘時間時判斷

clr p1.0 ;到鬧鐘時間,清p1.0

out1:setb ea ;開中斷

pop acc

pop psw

reti ;中斷返回

display:mov a,31h ;秒顯示

mov b,#10

p ab

mov 20h,a ;將十位放入20h單元

mov 21h,b ;將個位、余數放入21h單元

disp1: mov a,20h ;秒十位顯示

mov dptr,#table

movc a,@a+dptr ;將A的內容+table內容,結果回存給A

mov p0,a ;將A給P0口

clr p2.6 ;清p2.6,點亮第7位數碼管

lcall del1ms ;調用1ms延時子程序

setb p2.6 ;滅第7位數碼管

disp2: mov a,21h ;秒個位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.7

lcall del1ms

setb p2.7

disp4: mov a,32h ;分顯示

mov b,#10

p ab

mov 22h,a

mov 23h,b

disp5: mov a,22h ;分十位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.3

lcall del1ms

setb p2.3

disp6: mov a,23h ;分個位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.4

lcall del1ms

setb p2.4

disp7: mov a,33h ;時顯示

mov b,#10

p ab

mov 24h,a

mov 25h,b

disp8: mov a,24h ;時十位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.0

lcall del1ms

setb p2.0

disp9: mov a,25h ;時個位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.1

lcall del1ms

setb p2.1

disp10: mov 34h,#0bfh ;"-"顯示

mov a,34h

mov p0,a

clr p2.5

lcall del1ms

setb p2.5

disp11: mov 35h,#0bfh ;"-"顯示

mov a,35h

mov p0,a

clr p2.2

lcall del1ms

setb p2.2

ret

display1:mov a,38h ;鬧鐘分顯示

mov b,#10

p ab

mov 26h,a

mov 27h,b

d1:mov a,26h ;鬧鐘分十位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.3

lcall del1ms

setb p2.3

d2:mov a,27h ;鬧鐘分個位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.4

lcall del1ms

setb p2.4

dispnz: mov a,39h ;鬧鐘時顯示

mov b,#10

p ab

mov 28h,a

mov 29h,b

d5: mov a,28h ;鬧鐘時十位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.0

lcall del1ms

setb p2.0

d6: mov a,29h ;鬧鐘時個位顯示

mov dptr,#table

movc a,@a+dptr

mov p0,a

clr p2.1

lcall del1ms

setb p2.1

mov 35h,#0bfh ;"-"顯示

mov a,35h

mov p0,a

clr p2.2

lcall del1ms

setb p2.2

ret

table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;數字0—9

del1ms:mov r7,#10 ;1ms延時子程序

del1: mov r6,#50

del2:djnz r6,del2

djnz r7,del1

ret

del20ms:mov r5,#40 ;20ms延時子程序

del3: mov r4,#250

del4: djnz r4,del4

djnz r5,del3

ret

keysan:jnb p3.1,key1 ;秒加1按鈕

jnb p3.2,key2 ;分加1按鈕

jnb p3.3,key3 ;時加1按鈕

sjmp keyout

key1: lcall del20ms

jb p3.1,keyout

jnb p3.1,$

inc 31h ;秒加1

mov a,31h

cjne a,#60,keyout

mov 31h,#00

sjmp keyout

key2:lcall del20ms

jb p3.2,keyout

jnb p3.2,$

inc 32h ;分加1

mov a,32h

cjne a,#60,keyout

mov 32h,#00

sjmp keyout

key3:lcall del20ms

jb p3.3,keyout

jnb p3.3,$

inc 33h ;時加1

mov a,33h

cjne a,#24,keyout

mov 33h,#00

sjmp keyout

keyout:ret

keynz:jnb p3.4,keynz4 ;顯示鬧鐘并可修改和顯示當前時間

jnb p3.7,keynz5

jnb p3.5,nz3

jnb p3.6,nz4

sjmp nzout

nzout:ret

nz2:lcall display1

jnb p3.5,nz3

jnb p3.6,nz4

keynz4:jnb p3.4,nz2

sjmp nzout

nz3:lcall del20ms

jb p3.5,nzout

jnb p3.5,$

inc 38h

mov a,38h

cjne a,#60,nzout

mov 38h,#00

sjmp nzout

nz4:lcall del20ms

jb p3.6,nzout

jnb p3.6,$

inc 39h

mov a,39h

cjne a,#24,nzout

mov 39h,#00

sjmp keyout

keynz5:jb p3.7,nzout

jnb p3.7,$

setb p1.0

sjmp nzout

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

    關注

    6035

    文章

    44554

    瀏覽量

    634641
  • 數碼管
    +關注

    關注

    32

    文章

    1882

    瀏覽量

    91064

原文標題:51單片機8位數碼管電子時鐘仿真圖及源代碼

文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AT89C51數碼管電子時鐘源代碼

    AT89C51數碼管電子時鐘源代碼
    發表于 08-13 23:30

    DS302+++6位數碼管顯示程序...帶仿真

    DS302+++6位數碼管顯示程序...帶仿真
    發表于 05-08 08:46 ?0次下載

    8位數碼管顯示的電子時鐘

    采用8位數碼管顯示,DS1302時鐘芯片,89S51單片機。 四個輸入按鍵,已加入調時程序。電路已運行測試走時穩定。
    發表于 05-18 09:08 ?43次下載

    數碼管時鐘電路(仿真+程序

    電子發燒友網站提供《數碼管時鐘電路(仿真+程序).rar》資料免費下載
    發表于 06-08 08:00 ?264次下載

    74HC573驅動8位數碼管連接程序代碼分享

    74HC573包含八路3態輸出的非反轉透明鎖存器,筆者介紹了74hc573內部結構圖及其原理,主要給出了74HC573驅動8位數碼管連接和基于51單片機74HC573驅動8
    發表于 10-23 11:01 ?5.2w次閱讀
    74HC573驅動<b class='flag-5'>8</b><b class='flag-5'>位數碼管</b>連接<b class='flag-5'>圖</b>及<b class='flag-5'>程序代碼</b>分享

    8位數碼管顯示時間

    8位數碼管顯示時間 keil源程序+protues仿真   采用8位數碼管顯示,DS1302
    發表于 11-21 17:32 ?18次下載

    基于數碼管電子時鐘代碼設計詳細資料免費下載

    本文檔的主要內容詳細介紹的是基于數碼管電子時鐘代碼設計資料免費下載。
    發表于 07-04 08:00 ?34次下載

    基于51單片機的8位數碼管電子時鐘仿真源代碼詳細資料概述

    利用8位數碼管顯示時間,原理與4位數碼管顯示的基本一樣
    的頭像 發表于 07-19 17:13 ?2.5w次閱讀

    使用51單片機設計的六位數碼管電子時鐘程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機設計的六位數碼管電子時鐘程序免費下載。
    發表于 09-26 14:58 ?122次下載
    使用51單片機設計的六<b class='flag-5'>位數碼管</b><b class='flag-5'>電子時鐘</b><b class='flag-5'>程序</b>免費下載

    使用51單片機實現8位數碼管時鐘程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現8位數碼管時鐘程序免費下載。
    發表于 11-13 08:00 ?11次下載
    使用51單片機實現<b class='flag-5'>8</b><b class='flag-5'>位數碼管</b><b class='flag-5'>時鐘</b>的<b class='flag-5'>程序</b>免費下載

    51單片機系列--8位數碼管

    數碼管通常用于電子時鐘電子秤、日歷、電梯顯示等用于顯示數字的電子器件上,其優點是顯示明亮清晰、容易控制、價格低廉,缺點是占用引腳過多。在實際生活中應用廣泛。下面是集成板上的
    發表于 11-20 16:51 ?21次下載
    51單片機系列--<b class='flag-5'>8</b><b class='flag-5'>位數碼管</b>

    基于8位數碼管顯示0-F和數字時鐘的設計

    基于8位數碼管顯示0-F和數字時鐘的設計
    發表于 04-11 16:56 ?2次下載

    基于ATmega8單片機四位數碼管靜態顯示Proteus仿真程序

    基于ATmega8單片機四位數碼管靜態顯示Proteus仿真程序
    發表于 05-05 09:18 ?2次下載

    基于51單片機的數碼管顯示電子時鐘例程源代碼

    基于51單片機的數碼管顯示電子時鐘例程源代碼
    發表于 05-12 16:33 ?48次下載

    8位數碼管在Proteus中的使用技巧

    的基本概念 8位數碼管是一種用于顯示數字和部分字母的電子器件,通常由8個獨立的七段顯示器組成,每個七段顯示器可以顯示0-9的數字和部分字母。8
    的頭像 發表于 08-28 16:31 ?3946次閱讀
    主站蜘蛛池模板: 久久五月综合婷婷中文云霸高清| 97视频免费观看| 色偷偷男人| 欧美久久综合性欧美| 免费精品美女久久久久久久久| 黄色软件视频app| 国产永久视频| 国产精品日韩欧美一区二区三区| 虫族bl文全肉高h| 把手戳进美女尿口里动态图| 99久久亚洲精品影院| 99久久免费看国产精品| 777黄色片| 99视频在线免费| XXX国产麻豆HD真实乱| sihu国产精品永久免费| WWW国产精品人妻一二三区| YY8848高清私人影院| 成人在免费视频手机观看网站| 超碰97人人做人人爱少妇| 超碰99热在线精品视频| 高清无码中文字幕影片| 国产精品18久久久久久欧美| 国产成人女人在线视频观看| 国产精品一区二区制服丝袜| 国产亚洲精品久久久久久入口 | 亚洲AV精品乱码专区| 亚洲AV成人无码网天堂| 一攻多受h嗯啊巨肉bl巨污| 中文天堂www资源| 99热在线免费观看| 大胸美女脱内衣黄网站| 国产精品久久久久a影院| 精品国产影院| 毛片在线看片| 日韩少妇爆乳无码专区| 天天影视香色欲综合网| 亚洲欧洲免费三级网站| 1级午夜影院费免区| a4you销魂gogo人体| 国产精品观看视频免费完整版|