欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)電子時鐘匯編語言課程設(shè)計(jì) [打印本頁]

作者: 發(fā)的啥地方    時間: 2017-5-23 22:01
標(biāo)題: 單片機(jī)電子時鐘匯編語言課程設(shè)計(jì)
課程設(shè)計(jì)的目的
單片計(jì)算機(jī)即單片微型計(jì)算機(jī)。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM ,定時,計(jì)數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)通過對它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬的能力。
二、課程設(shè)計(jì)的具體要求:
該課程設(shè)計(jì)是利用MCS-51單片機(jī)內(nèi)部的定時/計(jì)數(shù)器、中斷系統(tǒng)、以及行列鍵盤和LED顯示器等部件,設(shè)計(jì)一個單片機(jī)電子時鐘。設(shè)計(jì)的電子時鐘通過數(shù)碼管顯示,并能通過按鍵實(shí)現(xiàn)設(shè)置時間和暫停、啟動控制等。用定時/計(jì)數(shù)器T0,工作于定時,采用方式1,對12MHZ的系統(tǒng)時鐘進(jìn)行定時計(jì)數(shù),初值設(shè)為XXYY(自己計(jì)算)。形成定時時間為50ms。用片內(nèi)RAM7BH單元對50ms計(jì)數(shù),計(jì)20次產(chǎn)生秒計(jì)數(shù)器78H單元加1,秒計(jì)數(shù)器加到60則分計(jì)數(shù)器79H單元加1,分計(jì)數(shù)器加到60則時計(jì)數(shù)器7AH單元加1,時計(jì)數(shù)器加到24則時計(jì)數(shù)器清0。然后把秒、分、時計(jì)數(shù)器分成十位和個位放到8個數(shù)碼管的顯示緩沖區(qū),通過數(shù)碼管顯示出來。顯示格式為小時十位、小時個位---分十位、分個位---秒十位、秒個位。在處理過程中加上了按鍵判斷程序,能對按鍵處理
三. MCS-51單片機(jī)系統(tǒng)簡介
40個引腳按引腳功能大致可分為4個種類:電源、時鐘、控制和I/O引腳。
  電源:
  ⑴ VCC - 芯片電源,接+5V;
  ⑵ VSS - 接地端;
  注:用萬用表測試單片機(jī)引腳電壓一般為0v或者5v,這是標(biāo)準(zhǔn)的TTL電平。但有時候在單片機(jī)程序正在工作時候測試結(jié)果并不是這個值而是介于0v-5v之間,其實(shí)這是萬用表的響應(yīng)速度沒這么快而已,在某一個瞬間單片機(jī)引腳電壓仍保持在0v或者5v
  時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。
  控制線:控制線共有4根,
  ⑴ ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖
  ① ALE功能:用來鎖存P0口送出的低8位地址
  ② PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。
  ⑵ PSEN:ROM讀選通信號。
  ⑶ RST/VPD:復(fù)位/備用電源。
  ① RSTReset)功能:復(fù)位信號輸入端。
  ② VPD功能:在Vcc掉電情況下,接備用電源。
  ⑷ EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。
  ① EA功能:內(nèi)外ROM選擇端。
  ② Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。
  ⒋ I/O
  80C51共有48位并行I/O端口:P0、P1P2P3口,共32個引腳。
  P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)  
、MCS-51單片機(jī)內(nèi)部定時器/計(jì)數(shù)器、中斷系統(tǒng)簡介
定時/計(jì)數(shù)器是單片機(jī)中重要的功能模塊之一,在檢測,控制和智能儀器等設(shè)備中經(jīng)常用它來定時。MCS-51系列中51子系列有216位的可編程定時/計(jì)數(shù)器:T0T1;每個定時計(jì)數(shù)器既可以對系統(tǒng)時鐘計(jì)數(shù)實(shí)現(xiàn)定時,也可以對外部信號計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能,通過編程設(shè)定來實(shí)現(xiàn)。T04種工作方式,T13種工作方式,T23種工作方式,可通過編程設(shè)定。每個定時/計(jì)數(shù)器計(jì)數(shù)事件到時產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式處理。
2.中斷系統(tǒng)簡介
MCS-51單片機(jī)提供5個硬件中斷源:2個外部中斷源INT0(P3.2)INT1(P3.3),2個定時/計(jì)數(shù)器T0T1的溢出中斷TF0TF1;1個串行口發(fā)送TI和接收RI中斷。
T0中斷服務(wù)程序流程圖如圖11.3。
、鍵盤和LED數(shù)碼管顯示器簡介
本系統(tǒng)共用8個數(shù)碼管,從右到左依次顯示秒個位、秒十位、橫線、分個位、分十位、橫線、時個位和時十位。采用軟件譯碼動態(tài)顯示。按鍵處理設(shè)置為:如沒有按鍵,則時鐘正常走時。當(dāng)按下K0按鍵時,進(jìn)入調(diào)分狀態(tài),時鐘停止走動;按K1K2按鍵可進(jìn)行加1或減1操作;繼續(xù)按K0鍵可分別進(jìn)行分和小時的調(diào)整;最后按K0鍵將退出調(diào)整狀態(tài),時鐘開始計(jì)時運(yùn)行。


、基本原理
1.定時器/計(jì)數(shù)器 T0   
        定時器/計(jì)數(shù)器T0用于時間計(jì)時。選擇方式1,重復(fù)定時,定時時間設(shè)為50ms,定時時間到則中斷,在中斷服務(wù)程序中用一個計(jì)數(shù)器對50ms計(jì)數(shù),計(jì)20次則對秒單元加1,秒單元加到60則對分單元加1,同時秒單元清0;分單元加到60則對時單元加1,同時分單元清0;時單元加到24則對時單元清0,標(biāo)志一天時間計(jì)滿。在對各單元計(jì)數(shù)的同時,把它們的值放到存儲單元的指定位置。。
七.硬件電路
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps112D.tmp.png

、軟件程序流程代碼
1. T0中斷服務(wù)程序流程圖
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps112E.tmp.png  file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps112F.tmp.pngfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps1140.tmp.png
3.程序代碼
ORG  0000H
LJMP  START
ORG  000BH     ;定時器/計(jì)數(shù)器T0中斷程序入口
LJMP  INTT0
;主程序
STARTMOV  R0#70H
                MOV  R7#0CH
INIT:  MOV  @R0#00H
                INC  R0
                DJNZ  R7,INIT
                MOV  72H,#10
                MOV  75H#10
                MOV  TMOD#01H
                MOV  TL0#0B0H
                MOV  TH0#03CH
                SETB  EA
                SETB  ET0
                SETB  TR0
START1LCALL  SCAN
                LCALL  KEYSCAN
                SJMP  START1
;延時1MS子程序
DL1MSMOV  R6,#14H
DL1MOV  R7,#19H
DL2DJNZ  R7DL2
        DJNZ  R6DL1
        RET
;延時20MS子程序
DL20MSACALL  SCAN
                ACALL  SCAN
                ACALL  SCAN
                RET
;數(shù)碼管顯示程序
SCAN        MOV  A,78H       ;時間存入顯示緩沖區(qū)相應(yīng)位置
                MOV  B,#0AH
                DIV  AB
                MOV  71H,A
                MOV  70H,B
                MOV  A79H
                MOV  B#0AH
                DIV  AB
                MOV  74HA
                MOV  73H,B
MOV  A,7AH
                MOV  B,#0AH
                DIV  AB
                MOV  77H,A
MOV  76H,B
        MOV  R1,#70H     ;循環(huán)掃描顯示
                MOV  R5,#80H
                MOV  R3#08H
        SCAN1MOV  A,R5
                MOV  P2,A
                MOV  A,@R1
                MOV  DPTR,#TAB
                MOVC  A,@A+DPTR
                MOV  P0,A
                MOV  A,R5
                LCALL  DL1MS
                INC  R1
                MOV  AR5
                RR  A
                MOV  R5,A
                DJNZ  R3,SCAN1
                MOV  P2,#00H
                MOV  P0,#0FFH
                RET
        TABDB  0C0H,0F9H0A4H,0B0H99H,92H,82H,0F8H80H90H0BFH
                ;0~9”,“-”的共陽極字段碼

;定時器/計(jì)數(shù)器T0中斷服務(wù)程序
INTT0        PUSH  ACC
                PUSH  PSW
                CLR  ET0
                CLR  TR0
                MOV  TL0,#0B0H
                MOV  TH0#03CH
                SETB  TR0
                INC  7BH
                MOV  A,7BH
                CJNE  A,#14H,OUTT0
                MOV  7BH#00
                INC  78H
                MOV  A,78H
                CJNE  A,#3CH,OUTT0
                MOV  78H,#00
INC  79H
MOV  A,79H
                CJNE  A#3CHOUTT0
                MOV  79H,#00
INC  7AH
MOV  A,7AH
                CJNE  A#18HOUTT0
                MOV  7AH#00
OUTT0
SETB  ET0
POP  PSW
POP  ACC
                RETI
;按鍵處理程序
KEYSCANCLR  EA
                JNB  P1.0,KEYSCAN0
                JNB  P1.1KEYSCAN1
                JNB  P1.2KEYSCAN2
KEYOUTSETB  EA
RET
KEYSCAN0LCALL  DL20MS
JB  P1.0KEYOUT
WAIT0JNB  P1.0WAIT0
                INC  7CH
                MOV  A,7CH
                CLR  ET0
                CLR  TR0
                CJNE  A#03HKEYOUT
                MOV  7CH,#00
                SETB  ET0
                SETB  TR0
                SJMP  KEYOUT
KEYSCAN1LCALL  DL20MS
JB  P1.1,KEYOUT
WAIT1JNB  P1.1WAIT1
                MOV  A7CH
                CJNE  A,#02HKSCAN11
                INC  79H
MOV  A,79H
CJNE  A#3CHKEYOUT
                MOV  79H,#00
SJMP  KEYOUT
KSCAN11INC  7AH
MOV  A,7AH
CJNE  A#18H,KEYOUT
                MOV  7AH,#00
SJMP  KEYOUT
KEYSCAN2LCALL  DL20MS
JB  P1.2,KEYOUT
WAIT2JNB  P1.2,WAIT2
                MOV  A,7CH
                CJNE  A#02H,KSCAN21
                DEC  79H
MOV  A79H
CJNE  A,#0FFHKEYOUT
                MOV  79H,#3BH
SJMP  KEYOUT
KSCAN21DEC  7AH
MOV  A,7AH
CJNE  A#0FFHKEYOUT
                MOV  7AH#17H
SJMP  KEYOUT
END               
九.設(shè)計(jì)制作流程
1、在PROTEUS中設(shè)計(jì)硬件
PROTEUS軟件使用過程如下:
        1)選擇元器件
        2)放置元器件
        3)連線
        4)添加程序
        5)運(yùn)行仿真
元器件清單如下:
單片機(jī):80C52
按鍵:BUTTON
電阻:RES
電容:CAP
晶振:CRYSTAL
LED數(shù)碼管:7SEG-MPX8-CA-BLUECA:共陽,CC:共陰)
地:GRAND
電源:POWER
2、在KEIL51中編寫程序,編譯、連接形成HEX文件。
3、在PROTEUS中把HEX文件加載到單片機(jī)芯片上。
4、運(yùn)行仿真看結(jié)果。


作者: 趙子龍OL    時間: 2019-6-20 22:55
老哥  有圖嗎

作者: 研究僧學(xué)單片機(jī)    時間: 2019-9-19 12:39
感謝樓主,剛剛學(xué)單片機(jī),正要用匯編編時鐘
作者: yang...1    時間: 2020-4-28 21:25
有圖片么





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1