a_bit equ 20h ;個位數存放處 b_bit equ 21h ;十位數存放處 temp equ 22h ;計數器寄存器 star: mov temp,#0 ;初始化計數器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重來 mov temp,#0 next: ljmp stlop ;顯示子程序 display: mov a,temp ;將temp中的十六進制數轉換成10進制 mov b,#10 ;10進制/10=10進制 div ab mov b_bit,a ;十位在a mov a_bit,b ;個位在b mov dptr,#numtab ;指定查表啟始地址 mov r0,#4 dpl1: mov r1,#250 ;顯示1000次 dplop: mov a,a_bit ;取個位數 MOVC A,@A+DPTR ;查個位數的7段代碼 mov p0,a ;送出個位的7段代碼
上傳時間: 2013-11-06
上傳用戶:lx9076
摘要:討論了MCS一51單片機匯編語言中的偽指令,并介紹若干主要的經常用到的偽指令使用方法。關鍵詞:單片機;偽指令;ORG;equ;DB;DW;BIT
上傳時間: 2013-12-21
上傳用戶:283155731
全遙控6聲道AV機的匯編程序:;;;;;;;;;;;;;;;;;;;6CH AMPLIFIER;;;;;;;;;;;;;;;;;----腳位定義-----;;;;;;;;;;;;;;;;;;;6CH AMPLIFIER;;;;;;;;;;;;;;;;;----腳位定義----- PT6311_CLK equ P3.4PT6311_STB equ P3.5PT6311_DATA equ P3.3 UP equ P3.1DOEN equ P3.0 PT2313_DATA equ P0.7PT2313_CLK equ P2.7 AC3 equ P2.6 ;(控制4053的信號) M62429_DA equ P2.3 ;(SURL/R)M62429_CK equ P2.4 M62429_CK1 equ P2.5 ;(C/BW) M62429_CK3 equ P0.0 ;(ECHO,MVOL)M62429_DA3 equ P1.7M_DELAY1 equ P0.1M_DELAY2 equ P0.2 AD_OUT BIT P0.5AD_IN BIT P0.6 ;----片內RAM定義--------GIF_SIGN equ 40H ; 動畫進程標記(=1,走過場字幕 )GIF_TIME1 equ 41H ; 動畫跑字的時間間隔速度GIF_LONG equ 42H ; 動畫字幕的長度 DISP_BUFFER equ 43H ; 顯示緩沖區地址指針DISP_INDEX equ 44H ; PT6311片內地址指針
上傳時間: 2013-10-19
上傳用戶:fac1003
基于AT89C2051的紅外遙控學習器源程序6 源程序 ORG 0000H AJMP MAIN ORG 0003H AJMP KEYPRESS ORG 000BH AJMP TIMEOUT ORG 001BH AJMP TIMEOUT SENDDUAN BIT P3.0 JIEDUAN BIT P3.1 INTRPO BIT P3.2 JIEXUAN BIT P3.3 SENDLIGHT BIT P3.4 JIELIGHT BIT P3.5 CS BIT P3.7 DATADUAN BIT P1.6 CLK BIT P1.7 JIANWEI equ R5 JIANMA equ R6 SHANGJIAN equ 07H;R7 OPENKEY equ 81H CLOSEKEY equ 00H CHUT0 equ 11H CHUT1 equ 11H BUFBEGIN equ 18H OPENT1 equ 88H CLOSET1 equ 00H OPENT0 equ 82H CLOSET0 equ 00H DATABEG1 equ 0AAH DATABEG2 equ 33H ORG 0030HMAIN: MOV IE,#80H MOV IP,#00H MOV P3,#0FFH CLR CS SETB P1.0 SETB P1.1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 CLR P1.7 MOV R3,#80H MOV R0,00HCYCLE1: MOV @R0,#00H INC R0 DJNZ R3,CYCLE1 MOV PSW,#00H MOV SP,#07H MOV TMOD,#11H MOV TCON,#00H START: MOV SP,#07H SETB SENDDUAN CLR F0 SETB EXOWAITKEY: MOV C,F0 JNC WAITKEY CJNC JIANMA,#1BH,SEND LCALL LEARNP LJMP STARTSEND: LCALL SENDP LJMP START SENDP: SETB SENDDUAN CLR F0 MOV TMOD,#CHUT1
上傳時間: 2013-10-15
上傳用戶:lyy1234
1、程序的基本格式先介紹二條偽指令:equ ——標號賦值偽指令ORG ——地址定義偽指令PIC16C5X在RESET后指令計算器PC被置為全“1”,所以PIC16C5X幾種型號芯片的復位地址為:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般來說,PIC的源程序并沒有要求統一的格式,大家可以根據自己的風格來編寫。但這里我們推薦一種清晰明了的格式TITLE This is ⋯⋯ ;程序標題;--------------------------------------;名稱定義和變量定義;--------------------------------------F0 equ 0RTCC equ 1PC equ 2STATUS equ 3FSR equ 4RA equ 5RB equ 6RC equ 7┋PIC16C54 equ 1FFH ;芯片復位地址PIC16C56 equ 3FFHPIC16C57 equ 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在復位地址處轉入主程序ORG 0 ;在0000H開始存放程序;-----------------------------------------;子程序區;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序區;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由偽指令定義為6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序結束注:MAIN標號一定要處在0頁面內。2、程序設計基礎
上傳時間: 2013-11-14
上傳用戶:cjf0304
晶振:12M TEMPER_L equ 36H TEMPER_H equ 35H TEMPER_NUM equ 60H FLAG1 BIT 00H DQ BIT P3.3AAA:MOV SP,#70H LCALL GET_TEMPER LCALL TEMPER_COV LJMP AAA NOP ;------------------讀出轉換后的溫度值 GET_TEMPER: SETB DQ ; 定時入口 BCD:LCALL INIT_1820 JB FLAG1,S22 LJMP BCD ; 若DS18B20不存在則返回S22:LCALL DELAY1 MOV A,#0CCH ; 跳過ROM匹配------0CC LCALL WRITE_1820 MOV A,#44H ; 發出溫度轉換命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAY CBA:LCALL INIT_1820 JB FLAG1,ABC LJMP CBA ABC:LCALL DELAY1 MOV A,#0CCH ; 跳過ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 發出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 ;READ_1820 RET ;------------------讀DS18B20的程序,從DS18B20中讀出一個字節的數據 READ_1820: MOV R2,#8 RE1: CLR C
上傳時間: 2013-10-09
上傳用戶:heart_2007
§4-1 程序設計語言計算機程序設計語言是指計算機能夠理解和執行的語言。 程序設計語言的種類很多,歸納起來有三種: 機器語言、匯編語言和高級語言。 編程時采用哪種語言由程序設計語言的特點和適用場合決定。 機器語言、匯編語言和高級語言比較一覽表§4-2 匯編語言源程序格式匯編語言源程序格式如下:1、匯編語言源程序由一條一條匯編語句組成。2、每條匯編語句獨占一行,以CR—LF結束。3、典型的匯編語句由四部分組成: 標號:操作碼 操作數;注釋§4-3 偽指令一、偽指令與指令的區別: 偽指令由匯編程序識別,用來對匯編過程進行某種控制,或者對符號、標號賦值。在匯編過程中, 偽指令不產生可執行的目標代碼;而指令由CPU執行,在匯編過程中,產生可執行的目標代碼,完成對數據的運算與處理。二、常用的偽指令:ORG END equ DATA DB DW DS §4-4 匯編語言程序設計基礎一、匯編語言程序設計的一般步驟 分析課題 確定算法 畫流程圖 編寫程序 上機調試二、程序結構 按程序的走向可以將程序分成4種結構: 簡單程序 分支程序 循環程序 子程序
上傳時間: 2013-10-15
上傳用戶:daoxiang126
PLC TM卡開發系統匯編程序(ATM8051) ;***************** 定義管腳*************************SCL BIT P1.0SDA BIT P1.1GC BIT P1.2BZ BIT P3.6LEDI BIT P1.4LEDII BIT P1.5OK BIT 20H.1OUT1 BIT P1.3OUT2 BIT P1.0OUT3 BIT P1.1RXD BIT P3.0TXD BIT P3.1PCV BIT P3.2WPC BIT P3.3RPC BIT P3.5LEDR BIT P3.4LEDL BIT P3.6TM BIT P3.7;********************定義寄存器***********************ROMDTA equ 30H;NUMBY equ 61H;SLA equ 60H;MTD equ 2FH;MRD equ 40H;TEMP equ 50H;;ORG 00H;;INDEX:MOV P1, #00H;MOV P2, #0FFHMOV MTD ,#00HCALL REEMOV R0,40HCJNE R0,#01,NO;MOV P2,#1CHLJMP VIMEN MOV P2,#79HACALL TOUCHRESET ;JNC NO ;CALL READTM ;CJNE A,#01H,NO;NOPMOV MTD, #00HCALL WEENOPMOV P2,#4AHSETB BZCALL TIMECLR BZMOV PCON, #0FFHVIME:CALL TIME1CALL TOUCHRESETJNC VIMECALL READTMCJNE A, #01H,VIME;NOPNOPNOPIII: MOV MTD,#00HCALL REECALL BBJNB OK,NO1LJMP ZHUNO1:MOV MTD,#10H
上傳時間: 2014-03-24
上傳用戶:448949
12864液晶時鐘顯示程序 LCD 地址變量 ;**************變量的定義***************** RS BIT P2.0 ;LCD數據/命令選擇端(H/L) RW BIT P2.1 ;LCD讀/寫選擇端(H/L) EP BIT P2.2 ;LCD使能控制 PSB equ P2.3 RST equ P2.5 PRE BIT P1.4 ;調整鍵(K1) ADJ BIT P1.5 ;調整鍵(K2) COMDAT equ P0 LED equ P0.3 YEAR DATA 18H ;年,月,日變量 MONTH DATA 19H DATE DATA 1AH WEEK DATA 1BH HOUR DATA 1CH ;時,分,秒,百分之一秒變量 MIN DATA 1DH SEC DATA 1EH SEC100 DATA 1FH STATE DATA 23H LEAP BIT STATE.1 ;是否閏年標志1--閏年,0--平年 KEY_S DATA 24H ;當前掃描鍵值 KEY_V DATA 25H ;上次掃描鍵值 DIS_BUF_U0 DATA 26H ;LCD第一排顯示緩沖區 DIS_BUF_U1 DATA 27H DIS_BUF_U2 DATA 28H DIS_BUF_U3 DATA 29H DIS_BUF_U4 DATA 2AH DIS_BUF_U5 DATA 2BH DIS_BUF_U6 DATA 2CH DIS_BUF_U7 DATA 2DH DIS_BUF_U8 DATA 2EH DIS_BUF_U9 DATA 2FH DIS_BUF_U10 DATA 30H DIS_BUF_U11 DATA 31H DIS_BUF_U12 DATA 32H DIS_BUF_U13 DATA 33H DIS_BUF_U14 DATA 34H DIS_BUF_U15 DATA 35H DIS_BUF_L0 DATA 36H ;LCD第三排顯示緩沖區 DIS_BUF_L1 DATA 37H DIS_BUF_L2 DATA 38H DIS_BUF_L3 DATA 39H DIS_BUF_L4 DATA 3AH DIS_BUF_L5 DATA 3BH DIS_BUF_L6 DATA 3CH DIS_BUF_L7 DATA 3DH DIS_BUF_L8 DATA 3EH DIS_BUF_L9 DATA 3FH DIS_BUF_L10 DATA 40H DIS_BUF_L11 DATA 41H DIS_BUF_L12 DATA 42H DIS_BUF_L13 DATA 43H DIS_BUF_L14 DATA 44H DIS_BUF_L15 DATA 45H FLAG DATA 46H ;1-年,2-月,3-日,4-時,5-分,6-秒,7-退出調整。 DIS_H DATA 47H DIS_M DATA 48H DIS_S DATA 49H
上傳時間: 2013-11-09
上傳用戶:xingisme
12864液晶時鐘顯示程序 LCD 地址變量 ;**************變量的定義***************** RS BIT P2.0 ;LCD數據/命令選擇端(H/L) RW BIT P2.1 ;LCD讀/寫選擇端(H/L) EP BIT P2.2 ;LCD使能控制 PSB equ P2.3 RST equ P2.5 PRE BIT P1.4 ;調整鍵(K1) ADJ BIT P1.5 ;調整鍵(K2) COMDAT equ P0 LED equ P0.3 YEAR DATA 18H ;年,月,日變量 MONTH DATA 19H DATE DATA 1AH WEEK DATA 1BH HOUR DATA 1CH ;時,分,秒,百分之一秒變量 MIN DATA 1DH SEC DATA 1EH SEC100 DATA 1FH STATE DATA 23H LEAP BIT STATE.1 ;是否閏年標志1--閏年,0--平年 KEY_S DATA 24H ;當前掃描鍵值 KEY_V DATA 25H ;上次掃描鍵值 DIS_BUF_U0 DATA 26H ;LCD第一排顯示緩沖區 DIS_BUF_U1 DATA 27H DIS_BUF_U2 DATA 28H DIS_BUF_U3 DATA 29H DIS_BUF_U4 DATA 2AH DIS_BUF_U5 DATA 2BH DIS_BUF_U6 DATA 2CH DIS_BUF_U7 DATA 2DH DIS_BUF_U8 DATA 2EH DIS_BUF_U9 DATA 2FH DIS_BUF_U10 DATA 30H DIS_BUF_U11 DATA 31H DIS_BUF_U12 DATA 32H DIS_BUF_U13 DATA 33H DIS_BUF_U14 DATA 34H DIS_BUF_U15 DATA 35H DIS_BUF_L0 DATA 36H ;LCD第三排顯示緩沖區 DIS_BUF_L1 DATA 37H DIS_BUF_L2 DATA 38H DIS_BUF_L3 DATA 39H DIS_BUF_L4 DATA 3AH DIS_BUF_L5 DATA 3BH DIS_BUF_L6 DATA 3CH DIS_BUF_L7 DATA 3DH DIS_BUF_L8 DATA 3EH DIS_BUF_L9 DATA 3FH DIS_BUF_L10 DATA 40H DIS_BUF_L11 DATA 41H DIS_BUF_L12 DATA 42H DIS_BUF_L13 DATA 43H DIS_BUF_L14 DATA 44H DIS_BUF_L15 DATA 45H FLAG DATA 46H ;1-年,2-月,3-日,4-時,5-分,6-秒,7-退出調整。 DIS_H DATA 47H DIS_M DATA 48H DIS_S DATA 49H
上傳時間: 2013-12-25
上傳用戶:wvbxj