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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5632|回復: 3
收起左側

單片機電子時鐘匯編語言課程設計

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


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

軟件程序流程代碼
1. T0中斷服務程序流程圖
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     ;定時器/計數器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  R7,DL2
        DJNZ  R6,DL1
        RET
;延時20MS子程序
DL20MSACALL  SCAN
                ACALL  SCAN
                ACALL  SCAN
                RET
;數碼管顯示程序
SCAN        MOV  A,78H       ;時間存入顯示緩沖區相應位置
                MOV  B,#0AH
                DIV  AB
                MOV  71H,A
                MOV  70HB
                MOV  A79H
                MOV  B,#0AH
                DIV  AB
                MOV  74H,A
                MOV  73HB
MOV  A7AH
                MOV  B#0AH
                DIV  AB
                MOV  77H,A
MOV  76H,B
        MOV  R1#70H     ;循環掃描顯示
                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,0F8H,80H90H,0BFH
                ;0~9”,“-”的共陽極字段碼

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

回復

使用道具 舉報

ID:568296 發表于 2019-6-20 22:55 | 顯示全部樓層
老哥  有圖嗎
回復

使用道具 舉報

ID:613471 發表于 2019-9-19 12:39 | 顯示全部樓層
感謝樓主,剛剛學單片機,正要用匯編編時鐘
回復

使用道具 舉報

ID:740427 發表于 2020-4-28 21:25 | 顯示全部樓層
有圖片么
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表