日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
單板機(jī)監(jiān)控程序介紹
單板機(jī)監(jiān)控程序介紹
 更新時(shí)間:2008-7-26 19:46:38  點(diǎn)擊數(shù):3
【字體: 字體顏色

(二) 單板機(jī)監(jiān)控程序簡(jiǎn)介

1. 什么是監(jiān)控程序?

單板機(jī)的底層管理程序,直接面向硬件,接受鍵盤(pán)命令,執(zhí)行基本操作,并向用戶提供子程序模塊。

* 研究監(jiān)控程序,才能深入了解單板機(jī)的工作原理。

* 監(jiān)控程序是運(yùn)用匯編語(yǔ)言的良好實(shí)例,分析監(jiān)控程序可以學(xué)到許多基本的編程方法和軟硬結(jié)合的系統(tǒng)設(shè)計(jì)技術(shù)。

* 了解監(jiān)控程序,以便調(diào)用其中的子程序,提高編程效率,

2. 單板機(jī)監(jiān)控程序的基本功能

* 系統(tǒng)初始化。

* 提供人機(jī)對(duì)話界面,接受鍵盤(pán)命令,顯示操作結(jié)果。

* 執(zhí)行鍵盤(pán)命令:

1) 狀態(tài)設(shè)置

2) 檢查、修改存儲(chǔ)器的內(nèi)容或I/O端口的輸出。

3) 與上位機(jī)進(jìn)行串行通信,傳送數(shù)據(jù)或下載程序。

4) 存儲(chǔ)器數(shù)據(jù)塊傳送。

5) 運(yùn)行用戶程序,可單步調(diào)試。

* 提供常用運(yùn)算、A/D轉(zhuǎn)換及打印驅(qū)動(dòng)等子程序。

3. 監(jiān)控程序占用的資源

* 監(jiān)控程序存放在2764的前4k,0000H-0FFFH。

* 工作寄存器用0區(qū)

* 監(jiān)控狀態(tài)標(biāo)志使用內(nèi)部2FH單元。

* 數(shù)據(jù)緩沖區(qū)使用30H-3FH

* 堆棧棧底 40H

* 顯示緩沖區(qū)7EH-79H。

* 使用INT0及T1中斷。

4. 監(jiān)控主程序分析

ORG 0000H

0000 00 NOP

0001 0130 AJMP START

0003 C2A8 CLR EX0 ;INT0入口,用于單步執(zhí)行。

0005 02039C LJMP PUSH_REG ;轉(zhuǎn)去單步現(xiàn)場(chǎng)保護(hù)。

ORG 000BH ;T0中斷入口

000B 02200B LJMP 200BH ;轉(zhuǎn)至200BH,向用戶開(kāi)放。

ORG 0013H ;INT1入口

0013 022013 LJMP 2013H ;轉(zhuǎn)至2013H,向用戶開(kāi)放。

ORG 001BH ;T1中斷入口

001B 020BB2 LJMP 0BB2H ;監(jiān)控占用,轉(zhuǎn)去打印控制。

ORG 0023H ;串行口中斷入口

0023 022023 LJMP 2023H ;轉(zhuǎn)至2023H,向用戶開(kāi)放。

;

;***************** 監(jiān)控程序初始化 *********************

ORG 0030H

0030 7879 START: MOV R0,#79H ;監(jiān)控初始化程序段

0032 7601 MOV @R0,#01H ;送“CPU-51”顯示代碼。

0034 08 INC R0

0035 7605 MOV @R0,#05H

0037 08 INC R0

0038 7614 MOV @R0,#14H

003A 08 INC R0

003B 761C MOV @R0,#1CH

003D 08 INC R0

003E 7610 MOV @R0,#10H

0040 08 INC R0

0041 760C MOV @R0,#0CH

0043 758140 MOV SP,#40H ;堆棧指針初值設(shè)為40H。

0046 7400 MOV A,#00H ;監(jiān)控用的存儲(chǔ)單元清零。

0048 F52F MOV 2FH,A ;狀態(tài)標(biāo)志單元2FH清零。

004A 7830 MOV R0,#30H ;30H—3FH單元清零。

004C 7910 MOV R1,#10H

004E F6 START0: MOV @R0,A

004F 08 INC R0

0050 D9FC DJNZ R1,START0

;**************** 監(jiān)控開(kāi)始,等待鍵命令 *******************

0052 1204AF MONITOR: LCALL KEY_SCAN ;掃描鍵盤(pán)。

0055 7005 JNZ KEY_PROC ;有鍵則轉(zhuǎn)鍵處理。

0057 1204D0 LCALL DISPLAY ;維持顯示。

005A 0152 AJMP MONITOR

005C 120340 KEY_PROC: LCALL OFF_DISP ;鍵命令處理程序。

005F 120460 K_P1:LCALL KEY_GET

0062 20E40D JB ACC.4,COMMAND;功能鍵,轉(zhuǎn)命令處理。

0065 857D7E MOV 7EH,7DH ;數(shù)字鍵,送顯示。

0068 857C7D MOV 7DH,7CH

006B 857B7C MOV 7CH,7BH

006E F57B MOV 7BH,A

0070 015F AJMP K_P1

0072 5407 COMMAND: ANL A,#07H ;命令分析。

0074 F8 MOV R0,A ;命令功能參見(jiàn)附錄五。

0075 23 RL A

0076 28 ADD A,R0

0077 90007B MOV DPTR,#FUNCTION

007A 73 JMP @A+DPTR ;用散轉(zhuǎn)指令轉(zhuǎn)相應(yīng)分支。

007B 02024E FUNCTION: LJMP MOV ;轉(zhuǎn)MOV命令分支。

007E 0200A0 LJMP DOWN ;轉(zhuǎn)MON命令分支。

0081 0201B1 LJMP WRIT ;轉(zhuǎn)WRI命令分支。

0084 020161 LJMP READ ;轉(zhuǎn)RDS命令分支。

0087 0200AF LJMP EXEC ;轉(zhuǎn)EXE命令分支。

008A 0200E6 LJMP EXAM ;轉(zhuǎn)EXA命令分支。

008D 020209 LJMP F ;轉(zhuǎn) [F] 命令分支。

0090 0201FB LJMP UP ;轉(zhuǎn)USE命令分支。

;********************* MON 命令分支 *********************

ORG 00A0H

00A0 11A5 DOWN: ACALL DOWND

00A2 020052 LJMP MONITOR

00A5 120340 DOWND: LCALL OFF_DISP

00A8 757E10 MOV 7EH,#10H

00AB 752F00 MOV 2FH,#00H ;監(jiān)控標(biāo)志置待命狀態(tài)0。

00AE 22 RET ;即 78H位 = 0 。

;************* EXE 命令分支 *****************

00AF 307803 EXEC: JNB 78H,EXECD ;待命方式0,轉(zhuǎn)連續(xù)執(zhí)行。

00B2 020520 LJMP STEP ;待命方式1,轉(zhuǎn)單步執(zhí)行。

00B5 11BE EXECD: ACALL EXECS

00B7 020052 LJMP MONITOR

轉(zhuǎn)載須保留地址:http://www.51hei.com/mcu/291.html

;*************** USE 命令分支 ***********************

01FB 5100 UP: ACALL UPS

01FD 020052 LJMP MONITOR

0200 D278 UPS: SETB 78H

0202 120340 LCALL OFF_DISP

0205 757E1B MOV 7EH,#1BH

0208 22 RET

;*************** 取鍵值子程序 ************************


ORG 0460H

KEY_GET:ACALL KEY_SCAN

JNZ K_G1

LCALL DISPLAY

AJMP KEY_GET

K_G1: LCALL DISPLAY

LCALL DISPLAY

LCALL KEY_SCAN

JNZ K_G2

LCALL DISPLAY

AJMP KEY_GET

K_G2: MOV R2,#0FEH

MOV R4,#00H

K_G3: MOV DPTR,#6000H

MOV A,R2

MOVX @DPTR,A

MOV A,P1

JB ACC.0,LINE1

MOV A,#00H

AJMP K_G_END

LINE1: JB ACC.1,LINE2

MOV A,#08H

AJMP K_G_END

LINE2:JB ACC.2,NEXT_COL

MOV A,#10H

K_G_END: ADD A,R4

PUSH ACC

KEY_FREE: LCALL DISPLAY

ACALL KEY_SCAN

JNZ KEY_FREE

POP ACC

RET

NEXT_COL: INC R4

MOV A,R2

JNB ACC.7,KEY_NEXT

RL A

MOV R2,A

AJMP K_G3

KEY_NEXT: AJMP KEY_GET

KEY_SCAN: MOV DPTR,#6000H

MOV A,#00H

MOVX @DPTR,A

MOV A,P1

CPL A

ANL A,#07H

RET


;*************** 顯示掃描子程序 ******************

DIS0000: MOV A,#0FFH ;顯示準(zhǔn)備

MOV DPTR,#8000H

MOVX @DPTR,A

MOV R0,#79H

MOV R3,#01H

AJMP DIS0001

ORG 04D0H

DISPLAY: AJMP DIS0000

DIS0001: MOV A,R3

DISPLAY1: MOV DPTR,#6000H

04D6 F0 MOVX @DPTR,A

04D7 E6 MOV A,@R0

04D8 2419 ADD A,#19H

04DA 83 MOVC A,@A+PC

04DB 908000 MOV DPTR,#8000H

04DE F0 MOVX @DPTR,A

04DF 91EB ACALL DELAY

04E1 08 INC R0

04E2 EB MOV A,R3

04E3 20E504 JB ACC.5,DISPLAY2

04E6 23 RL A

04E7 FB MOV R3,A

04E8 81D3 AJMP DISPLAY1

04EA 22 DISPLAY2: RET

;***** 延時(shí)子程序

04EB 7F02 DELAY: MOV R7,#02H

04ED 7EFF DELAY1: MOV R6,#0FFH

04EF DEFE DELAY2: DJNZ R6,DELAY2

04F1 DFFA DJNZ R7,DELAY1

04F3 22 RET

;*******字形碼表

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H

DB 90H,88H,83H,0C6H,0A1H,86H,8EH,8CH,0DEH

DB 0F3H,91H,0BFH,7FH,0FFH,00H,0AFH,0A3H,00H

DB 0CH,0C1H,40H,79H,24H,30H,19H,12H,02H,78H,00H,10H

  • 上一篇: 單片機(jī)上拉電阻的問(wèn)題
  • 下一篇: 溫度傳感器DS18B20資料
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1