单片机学习教程

Similar documents
DPJJX1.DOC

Microsoft Word - P3.doc

微處理機期末專題

CA24064B LED LED LED EL EL CCFL EL CCF /

12232A LED LED LED EL EL CCFL EL CCF

目 录

1 TPIS TPIS 2 2

Microsoft Word - 專題封面.doc

untitled

W77E58中文手册

專題最終版.doc

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>


HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

untitled

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

<4D F736F F D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63>

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

µPSD3000 系列

单片机原理及应用实验指导书.doc

逢 甲 大 學

7688使用手冊V10.doc

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1

学习MSP430单片机推荐参考书

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

() () () () () () () () DDRAM () II

PowerPoint 簡報

Microsoft PowerPoint - chap5.ppt

51 C 51 isp 10 C PCB C C C C KEIL

??????????????????

Ps22Pdf


Ⅰ Ⅱ 2 Ⅲ 2 Ⅳ 耀

诺贝尔生理学医学奖获奖者

第5章:汇编语言程序设计

四、通 讯 规 约

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

dfgdafhdafhdafhdafh

因 味 V 取 性 又 鸟 U 且 最 大 罗 海 惜 梅 理 春 并 贵 K a t h l ee n S c h w e r d t n er M f l e z S e b a s t i a n C A Fe rs e T 民 伊 ' 国 漳 尤 地 视 峰 州 至 周 期 甚 主 第 应

untitled

! *!"#$%&'()*+,-./#01 6, 8 6, 8 6, 8 8!"# ( / )!"# ( / )!"# ( / )! ( ) 3SB3!" Ø22mm!"# ( / ) 6, 8 6, 8 6, 8 8!"# ( / )!"# ( / )!"# ( ) 7, 10 7, 9 7, 8

2005.book

TouchWin Human Machine Interface

E170C2.PDF

该 奈 自 受 PZ 多 透 soc i e B t h y. y t is NA YL OR exp os ed t h a t b e i n g wh o res or sa in t es s e s we r e m ad e n b ot om. M ean wh i l e NA YL

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

車在走天在看 PC前的三輪車日記

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

SIGNUM 3SB3

ORG 00BH JMP TIMER0 ORG 100H MOV TMOD,# B MOV IE,# B MOV TH0,#( )/32 MOV TL0,#( ).MOD.32 SETB P2.0 SETB TR0 JMP $ MOV R0,#

2 12

untitled

Microsoft PowerPoint - chap3.ppt

LSTA126中文操作说明

SPMC75F2413A_EVM_使用说明_V1.2.doc

从MCS51向AVR的快速转换.PDF

呕血推荐51程序库,希望大家能资源共享

Microsoft PowerPoint - chap4.ppt

MCS FCC

Microsoft Word - FM12232C.doc

Persuasive Techniques (motorcycle helmet)

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63#

Microsoft Word - SMB-63-2(簡体字).doc

中文手册

2 PIC PIC 1 / CPU PIC MCU PIC RC

CH559指令周期.doc



untitled

幻灯片 1

微型计算机原理及应用试题 机电96

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg


(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

ULTRAMAT 6 NDIR 2~9 m CO CO 2 NO SO 2 NH 3 H 2 O CH ~1200hPa ~1500hPa NAMUR 316SS/ ULTRAMAT 6 TA-Luft / BlmSchV LCD

Microsoft Word - BL5372_UMAN_V1.1.doc


5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas

规格说明

SIMOCODE pro 3UF PCS SIMOCODE ES SIMOCODE pro 3UF UL22 38 PROFIBUS MCC Siemens LV

untitled

untitled

目录

bingdian001.com

instructions.PDF

Microsoft Word - LU-C 记录仪使用说明书V3.0版.doc

! "! "! # $ # # %#!# $# &# # ()*+, )-.) /# () () 0# 1,2.34, 4*.5)-*36-13)7,) ,9,.).6.(+ :# 13).+;*7 )-,7,<*7,-*=,>,7?#


*33*!!! "!! #$! %#! "& "! #! %! # ( ) * # +, # -, # +., $ /# ( ) 0 $ +# ( ) 0 $.# ( ) 0 $ # $! % "" " % 1 % & ( * ) * % " " %.! % 2!!"+# ( "&! " ( "#

《计算机应用基础》学习材料(讲义)

SIK) 者, 需 實 施 1 年 以 上, 經 體 格 檢 查 無 後 遺 症 者 5. 身 體 任 何 部 分 有 刺 青 紋 身 穿 耳 洞 者, 不 得 報 考, 各 項 檢 查 結 果 須 符 合 體 位 區 分 標 準 常 備 役 體 位 二 在 校 軍 訓 成 績 總 平 均 70 分

untitled


Transcription:

. 89S51 1. 2.p1 3.8 3 4.8 3. 1. 0-F 2. 0000 0255. 1. : BB 2. : ( --- ) : :. 1. 2..232.I 2 C 1. X24C02 MCS-51 2. : 22H 24C02 50H 3. : ; 8 4. :I2C. / 1. 1 2. 2. 1. 1. 2. 2.. 1. 1: 2. 2: 3. 3 1

LED 1 89S51 8 8 LED 2 ORG 0000H START:MOV P1,#01111111B LCALL DELAY MOV P1,#10111111B LCALL DELAY MOV P1,#11011111B LED 1 LED 1 LED LCALL DELAY MOV P1,#11101111B LCALL DELAY 2

MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B AJMP START DELAY: MOV R4,#2, 0.25 12M 250 L3: MOV R2,#250 L1: MOV R3,#250 L2: DJNZ R3,L2 DJNZ R2,L1 DJNZ R4,L3 RET END 3 1 1 1 DP1 OFF DP1 ON 2 EPro 2 3 WAVE bin hex ISP 3

WAVE bin hex DP1 P1.7 P1.6 P1.5 OFF P1.7 P1.6 P1.5 1-2 DP1 P1.7 P1.6 P1.5 OFF DP1 P1.7 P1.6 P1.5 OFF DP1 P1.7 P1.6 P1.5 OFF 3 2 51 3 4

f=12mhz 1 DS01 MOV R4 #20 1 D1 MOV R5 #249 1 D2 DJNZ R5 D2 2 DJNZ R4 D1 2 1+1*249=250 1+20*250=5001 RET 2 ---------------------------2+5001=5003 =5003*1=5003 5 1 200 DS01 MOV R1 #200 LP MOV D1 MOV R4 #20 R5 #249 D2 DJNZ R5 D2 DJNZ R4 D1 DJNZ R1 LP RET 1 1 1 3 5 2 4 8 2 1 P1 7FH BFH DFH EFH F7H FBH FDH FEH P1 00H P1 FFH 1 3 5 7 P1 55H 5

2 2 6 8 P1 AAH ORG 0000H START MOV DPTR #0200H LP1 MOV A #00 MOVC A @A+DPTR CJNE A #0F0H LP2 OF 0F LJMP START LP2 MOV P1 A LCALL DS01 INC LJMP DPTR LP1 DS01 MOV R1 #200 LP MOV D1 MOV R4 #20 R5 #249 D2 DJNZ R5 D2 DJNZ R4 D1 DJNZ R1 LP RET DB DB 7FH BFH DFH EFH F7H FBH FDH FEH 00H FFH 55H AAH F0H END 1 p1 org 0000h ajmp start org 0030h start mov a,#0ffh clr c mov r2,#08h ; 6

loop: rlc a ; mov p1,a ; P1 call delay ; djnz r2,loop ; mov r2,#07h ; loop1: rrc a ; mov p1,a ; P1 call delay ; djnz r2,loop1 ; jmp start ; delay: mov r3,#20 ; d1: mov r4,#20 d2: mov r5,#248 djnz r5,$ djnz r4,d2 2 p1 8 org 0000h ajmp main org 0030h main mov p1,#00h ; lcall delay ; lcall delay ; lcall delay ; mov a,#0feh ; loop: mov p1,a ; lcall delay ; lcall delay ; lcall delay ; rl a ; ajmp loop ; 7

delay mov r7,#00h ; tt: mov r6,#00h djnz r6,$ djnz r7,tt ret end 3 8 3 ORG 0000H LJMP MAIN ORG 030H MAIN:MOV P1,#0DBH ACALL DELay MOV P1,#06DH ACALL DELay MOV P1,#0B6H ACALL DELay AJMP MAIN delay:mov r7,#255 d1:mov r6,#255 d2:djnz r6,d2 djnz r7,d1 ret end 8

1 1 LED LED g f GND a b a b c d e f g h f a g b e d c h a b c d e f g h 1 LED e d GND c dp LED 8 7 8 LED 300-750 2 2 P2.6 P2.7 2 +5V IN4148 9

P0 1 1 1/50 1 0-F ORG 0000H START MOV DPTR,#TAB MOV A #00H LP MOVC A,@A+DPTR CJNE A,#0FH,START A=F MOV P1 A CLR P2.4 LCALL DS1MS SETB P2.4 INC A LJMP LP DS1MS: MOV R7,#80 DJNZ R7,$ RET TAB: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H END 2 0000 0255 00 99 ORG 0000H a_bit equ 20h b_bit equ 21h c_bit equ 22h d-bit equ 23 temp equ 24h 10

star: mov temp,#0 ;, 0 stlop: acall display; inc temp; 1 mov a,temp cjne a,#255,next ; 100? mov temp,#0; 100 next: ljmp stlop; display:mov d-bit,#00h mov a,temp ; temp 10 mov b,#100 div ab mov c_bit,a mov a,b 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 ; dplop: mov a,a_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.4 ; acall d1ms ; 162 setb p2.4;, mov a,b_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.5 ; acall d1ms ; 162 11

setb p2.5;, mov a,c_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.6 ; acall d1ms ; 162 setb p2.5;, mov a,d_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.7 ; acall d1ms ; 162 setb p2.5;, djnz r1,dplop ; 250 djnz r0,dpl1 ; 250X4=1000 ret D1MS: MOV R7,#80 DJNZ R7,$ RET numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H END 3 0000 0255 0 9999 p3.2, 000000 org 0000h a_bit equ 20h b_bit equ 21h 10 c_bit equ 22h d_bit equ 23h star: mov a,#00h mov a_bit,a mov b_bit,a 12

mov c_bit,a mov d_bit,a stlop: acall display jb p3.2,stlop p3.2=1 p3.2 we: acall display; acall d1ms ; 1ms jnb p3.2,we ; p3.2=0 count:inc a_bit 1 mov a,a_bit cjne a,#10,stlop ; a 10 stlop mov a_bit,#00h ; a=0 inc b_bit ;10 1 mov a,b_bit cjne a,#10,stlop ; 10 mov b_bit,#00h ; 10 inc c_bit ; 1 mov a,c_bit cjne a,#10,stlop mov c_bit,#00h inc d_bit mov a,d_bit cjne a,#10,stlop mov d_bit,#00h ajmp stlop display:mov dptr,#numtab ; mov r0,#4 dpl1: mov r1,#250 ; dplop: mov a,a_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.4 ; 13

acall d1ms ; 162 setb p2.4;, mov a,b_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.5 ; acall d1ms ; 162 setb p2.5;, mov a,c_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.6 ; acall d1ms ; 162 setb p2.5;, mov a,d_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.7 ; acall d1ms ; 162 setb p2.5;, djnz r1,dplop ; 250 djnz r0,dpl1 ; 250X4=1000 ret D1MS: MOV R7,#80 DJNZ R7,$ RET numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H END 14

. 200HZ 200HZ 1/200 5ms P2.5 2.5ms 200HZ. ( 12MHZ) 1 2 3 4 5 6 7 1 : BB org 0000h bb bit p3.6 star: clr bb acall d1ms setb bb acall d1ms sjmp star d1ms: mov r0,#2 dloop: mov r1,#250 djnz r1,$ 15

djnz r0,dloop ret end ORG 0000H LOOP: SETB P3.6 LCALL DELAY CLR P3.6 LCALL DELAY AJMP LOOP DELAY: MOV R7,#25 D1:MOV R6,#25 D2:DJNZ R6,D2 DJNZ R7,D1 RET END DO,RUI,MI,FA SO, LA, XI,DO. ORG 0000H dlv: mov r2,#08h 1kz dlv1:mov r3,#0fah dlv2:cpl p3.6 1khz lcall d5ms 1 djnz r3,dlv2 1 djnz r2,dlv1 mov r2,#10h 2khz dlv3:mov r3,#0fah dlv4:cpl p3.6 2khz lcall d25ms 2 djnz r3,dlv4 16

djnz r2,dlv3 sjmp dlv d5ms:mov r7,#0ffh 1 loop:nop nop djnz r7,loop ret d25ms:mov r6,#0ffh 2 lin:djnz r6,lin ret end 2005. ORG 0000H LJMP START ORG 000BH LJMP FREDEC ORG 0100H START DIRECT BIT 00H LOWFRE EQU 50H HIGFRE EQU 51H MOV A #25H MOV R1 A MOV TMOD #01H MOV TH0 #49H TH0 TH0 T0 1 MOV TL0 #0AFH T0 T0 MOV LOWFRE #0AFH MOV HIGFRE #49H SETB DIRECT SETB EA SETB ET0 SETB TR0 LCALL SOUND SJMP WEND TH0 TH0 00H CPU T0 T0 -------------------------------------- ------------------------------------------------------ SOUND CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY SJMP SOUND P1.0 P1.0 17

RET --------------------------------------------- ------------------------------------------------------- DELAY MOV R0,#04H DE0 MOV R1 A DE1 DJNZ R1 DE1 DJNZ R0 DE0 RET ---------------------------------- ----------------------------------------------------------- FREDEC JNB DIRECT FREADD INC A MOV R1 A INC HIGFRE MOV TH0 HIGFRE MOV TL0 #0B8H 00H =0 CJNE R1 #100H BACK MOV HIGFRE #49H CPL DIRECT SJMP BACK FREADD DEC A BACK RETI MOV R1 A DEC LOWFRE MOV TH0 LOWFRE MOV TL0 #0B8H CJNE R1 #25H BACK TH0 MOV LOWFRE #0AFH TH0 CPL DIRECT SWEND END 2 : ( --- ) org 0000h ajmp main org 000bh jmp tim0 org 0030h main: mov tmod,#01h ; mov ie,#82h ; start0: mov 30h,#00h ; 18

next: mov a,30h mov dptr,#table movc a,@a+dptr ; mov r2,a jz end0 ;,. anl a,#0fh mov r5,a ; R5 mov a,r2 swap a anl a,#0fh jnz sing ;. clr tr0 jmp d1 sing: dec a mov 22h,a ; 22H. rl a mov dptr,#table1 movc a,@a+dptr ;. mov th0,a ; TH0 mov 21h,a mov a,22h rl a inc a movc a,@a+dptr mov tl0,a ; TL0 mov 20h,a setb tr0 ; d1: call delay inc 30h jmp next 19

end0: clr tr0 jmp start0 tim0: push acc push psw mov tl0,20h ;. mov th0,21h cpl p3.6 pop psw pop acc reti delay: mov r7,#02h ; d2: mov r4,#187 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 djnz r5,delay ret table1: dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217 table: db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00 end : ORG 0000H LJMP START 20

ORG 000BH ; INC 20H ;, 1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M 10 RETI START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: MOV DPTR,#DAT ; DPTR MOV 20H,#00H ; 0 MOV B,#00H ; 0 MUSIC1: CLR A MOVC A,@A+DPTR ; JZ END0 ; 00H, CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5: MOV R6,A INC DPTR MOV A,B MOVC A,@A+DPTR ; R7 MOV R7,A SETB TR0 ; 21

MUSIC2: CPL P3.6 MOV A,R6 MOV R3,A CPL A MOV P1,A ; ( ) CPL A MUSIC3: MUSIC4: END0: LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ; (20H)=R7? MOV 20H,#00H ;, INC DPTR LJMP MUSIC1 CLR TR0 ; 100 MOV R2,#0DH MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 MOV R2,#64H ;, 1 MUSIC6:MOV R3,#00H DEL: LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL3: 22

MOV R4,#05H DEL4: DJNZ R4,DEL4 DJNZ R3,DEL3 RET DAT: DB 18H, 30H, 1CH, 10H DB 20H, 40H, 1CH, 10H DB 18H, 10H, 20H, 10H DB 1CH, 10H, 18H, 40H DB 1CH, 20H, 20H, 20H DB 1CH, 20H, 18H, 20H DB 20H, 80H, 0FFH,20H DB 30H, 1CH, 10H, 18H DB 20H, 15H, 20H, 1CH DB 20H, 20H, 20H, 26H DB 40H, 20H, 20H, 2BH DB 20H, 26H, 20H, 20H DB 20H, 30H, 80H, 0FFH DB 20H, 20H, 1CH, 10H DB 18H, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 20H, 1CH, 10H DB 18H, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H DB 18H, 20H, 15H, 20H DB 1CH, 20H, 20H, 20H 23

DB 26H, 40H, 20H, 20H DB 2BH, 20H, 26H, 20H DB 20H, 20H, 30H, 80H DB 20H, 30H, 1CH, 10H DB 20H, 10H, 1CH, 10H DB 20H, 20H, 26H, 20H DB 2BH, 20H, 30H, 20H DB 2BH, 40H, 20H, 15H DB 1FH, 05H, 20H, 10H DB 1CH, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H DB 18H, 20H, 15H, 20H DB 1CH, 20H, 20H, 20H DB 26H, 40H, 20H, 20H DB 2BH, 20H, 26H, 20H DB 20H, 20H, 30H, 30H DB 20H, 30H, 1CH, 10H DB 18H, 40H, 1CH, 20H DB 20H, 20H, 26H, 40H DB 13H, 60H, 18H, 20H DB 15H, 40H, 13H, 40H DB 18H, 80H, 00H end : ORG 0000H LJMP START ORG 000BH INC 20H ;, 1 24

MOV TH0,#0D8H MOV TL0,#0EFH ;12M 10 RETI START: MOV SP,#50H MUSIC0: MUSIC1: MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MOV DPTR,#DAT ; DPTR MOV 20H,#00H ; 0MOV B,#00H ; 0 CLR A MUSIC5: MUSIC2: MOVC A,@A+DPTR ; JZ END0 ; 00H, CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MOV R6,A INC DPTR MOV A,B MOVC A,@A+DPTR ; R7 MOV R7,A SETB TR0 ; CPL P3.6 MOV A,R6 MOV R3,A LCALL DEL MOV A,R7 25

CJNE A,20H,MUSIC2 ; (20H)=R7? MOV 20H,#00H ;, INC DPTR INC B MUSIC3: MUSIC4: END0: LJMP MUSIC1 CLR TR0 ; 100 MOV R2,#0DH MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 MOV R2,#64H ;, 1 MUSIC6:MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: DEL3: MOV R4,#02H DEL4: DJNZ R4,DEL4 DJNZ R3,DEL3 RET DAT:db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h 26

db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00H END 27

. 1 51 RS232 TTL MAX232 9 3 5 GND 2 RXD 3 TXD MAX232 10 11 9 10 15 20 51 2 WINDOWS 1 I/O 0 I/O 1 0 A 28

4014 P S 1 P/S=0 ORG 2000H START CLR P S SETB P S MOV LOOP JNB RI LOOP 8051 SCON 10H 0 RXD TXD 14 P/S CLR RI P1 0 MOV A SBUF END 2 0 CD4094 CD4094 STB 1 8 STB 0 8 DATAL ORG 2000H START MOV SCON 00H CLR P1.0 MOV A,#80H ; ; LOOP: MOV SBUF, #A LOOP1:JNB TI,LOOP1 CLR TI RR A LJMP DS01 8051 RXD TXD LJMP DS01:------------- LOOP P1 0 (3) I/O =f/12. SCON 29

SCON=00H SCON=10H IE=90H IE=00H RI=1 TI=1 RI TI 2 1 T1 T0 GATE C T M1 M0 GATE C T M1 M0 T0 0 =f/12 M1M0 00 01 10 11 0 1 0 1 0 1 2 3 INT0 INT0 1 = 2 SMOD /32 * T1 2 = 2 SMOD /64 *f 3 = 2 SMOD /32 * T1 PCON= 80 30

TCON TCON 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 O 0 1 1 T0 T0 T1 T1 IE IE A8H 1 0 T 1 T1 2 PC AF 4800KBPS, K1 P3.2 16 AF ORG 0000H MOV SCON,#50H MOV TMOD,#20H MOV PCON,#80H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 ; 1 ; T1 2 ; 2400x2=4800BPS ; ( 2400BPS ) ; ( 2400BPS ) ; T1 ; WRIT:JB P3.2 $ ACALL DELAY10 JB P3.2,WRIT ; K1, ; 10 ; 31

JNB P3.2,$ MOV A,#0AFH MOV SBUF,A ; ; 16 AF ; AF AJMP WRIT ;10 DELAY10:MOV R4,#20 D2:MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 RET END WINDOWS G 4800 COM K1 AF AF 32

89S51 51 rs232 89c51test ic.... ORG 0000H AJMP main0 ORG 0030H main0: MOV 20H,#00H MOV TMOD,#22H MOV SCON,#40H MOV TH1,#0FAH ; MOV PCON,#80H SETB TR1 SETB REN ajmp start 33

start: mov dptr,#ok senda: clr a ; movc a,@a+dptr cjne a,#'$',senda_0 ret senda_0:mov sbuf,a JNB TI,$; CLR TI ; inc dptr Ljmp senda ok: db 0dh,0ah,0dh,0ah,".... ",0dh,0ah,'$' end HEX TXT :020000000130CD :10003000752000758922759840758DFA758780D274 :100040008ED29C0145900059E493B4240122F59985 :100050003099FDC299A30200480D0A0D0AC8E7B9FC :10006000FBCED2BBB9D3D0D2BBCCECCAD9C3FCA394 :10007000ACC4C7CCECCED2D2AAD7F6C4E3C5AED3BB :10008000D1A1A3CED2BBB9D3D0D2BBCCECB5C4C323 :10009000FCC2F0A3BF2E2EC3BBD3D0A1A3CBF9D2F9 :1000A000D4A3ACBADCBFC9CFA7A1A3CED2BDF1C93E :1000B000FAC8D4C8BBB2BBCAC7C4E3B5C4C5AED3C3 :1000C000D1A1A3C8E7B9FBCED2D3D0B3E1B0F2A39C :1000D000ACCED2D2AAB4D3CCECCCC3B7C9CFC2C0B9 :1000E000B4BFB4C4E3A1A3CED2D3D0B3E1B0F2C2C3 :1000F000F0A3BF2E2EC3BBD3D0A1A3CBF9D2D4A3E0 :10010000ACBADCD2C5BAB6A1A3CED2B4D3B4CBCEEE 34

:10011000DEB7A8D4D9BFB4B5BDC4E3A1A30D0A24EA :00000001FF.232 ORG 0000H ; AJMP main0 ORG 0030H main0: MOV SP,#5FH ; MOV TMOD,#22H MOV SCON,#40H MOV TH1,#0F3H ; 4800,(12M MOV PCON,#80H SETB TR1 clr p2.7 ; SETB REN ; loop:jbc ri,rec mov p0,#0ffh rec: mov a,sbuf; a mov p1,a CJNE A,#00110001b,T00 MOV P0,#07eH ; 2 mov p0,#0ffh t00: CJNE A,#00110010b,T2 MOV P0,#0A2H ; 2 mov p0,#0ffh T2: CJNE A,#00110011b,T3 MOV P0,#62H T3: CJNE A,#00110100b,T4 MOV P0,#74H 35

T4: CJNE A,#00110101b,T5 MOV P0,#61H T5: CJNE A,#00110110b,T6 MOV P0,#21H T6: CJNE A,#00110111b,T7 MOV P0,#7AH T7: CJNE A,#00111000b,T8 MOV P0,#20H T8: CJNE A,#00111001b,t9 MOV P0,#60H T9: CJNE A,#00110000b,t10 MOV P0,#28H t10:ljmp loop delay: mov r7,#00h ; tt: mov r6,#00h djnz r6,$ djnz r7,tt ret end 36

I 2 C I 2 C 1 I2C I 2 C CPU I 2 I 2 C I 2 C 80C552 83C752 I 2 C I2C 2 I 2 C I 2 C SDA SCL SRAM E 2 PROM ADC/DAC RTC I/O DTMF LED E 2 PROM I 2 C 100Kb/S 400PF I 2 C CMOS I 2 C 5 10K +5V LED LCD I/O I/0 SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL DTMF ADC/DAC MCU EEPROM 37

I2C 1 E 2 PROM 1010 2 / / I 2 C 3 E 2 PROM E2PROM 1010 E2PROM E2PROM A2A1A0 R/W 1 0 4 I 2 C 38

5 1 8 16 8 24WC01/02/04/08/16 16 24WC32/64/128/256 2 8 16 8 24WC01/02/04/08/16 8 16 24WC32/64/128/256 39

24WC02 20H 2Kb-21X8b /8 3 8 24WC01/02/04/08/16 16 24WC32/64/128/256 4 I2C 40

X24C02 MCS-51 AT24C02 ATMEL CMOS EEPROM 256 8 2.5 5.5V 10000 10ms P2.1 P2.0 AT24C02 1 2 3 8 4 5 SDA / I2C P2.0 6 SCL P2.1 SDA SCL 5.1K 7 24C02 1 8, 0600H 8 24C02 01H ORG 0000H SCL BIT P1.1; 24C02 SDA BIT P2.0; 24C02 LJMP START START:LCALL STAR; MOV R2,#08H; 8 MOV DPTR,#0600H; LOOP: MOV A,#00H MOVC A,@A+DPTR LCALL SDATA LCALL ACK JC LOOP 41

INC DPTR DJNZ R2,LOOP LCALL STOP; STAR: SETB SDA SETB SCL CLR SDA CLR SCL RET SDATA:MOV R0,#08H LOOP0:RLC A MOV SDA,C SETB SCL CLR SCL DJNZ R0,LOOP0 RET ACK:SETB SDA 42

SETB SCL MOV C,SDA CLR SCL RET STOP:CLR SDA SETB SCL SETB SDA RET ORG 0600H DB 0A0H,10H,01H,02H,03H,04H,05H,06H END 43

: 22H 24C02 50H ORG 0000H ; 22H 24C02 50H SCL BIT P2.1 SDA BIT P2.0 LJMP START START:SETB SDA SETB SCL CLR SDA CLR SCL MOV R0,#08H MOV A,#0A0H LOOP0:RLC A MOV SDA,C SETB SCL CLR DJNZ SCL R0,LOOP0 44

SETB SDA SETB SCL MOV CLR C,SDA SCL JC START MOV A,#50H MOV R0,#08H LOOP1:RLC MOV A SDA,C SETB SCL CLR DJNZ SCL R0,LOOP1 SETB SDA 45

SETB SCL MOV C,SDA CLR SCL JC START MOV A,#22H MOV R0,#08H LOOP2:RLC A MOV SDA,C SETB SCL CLR SCL DJNZ R0, LOOP2 SETB SDA SETB SCL MOV C,SDA CLR SCL JC START 46

CLR SDA SETB SCL SETB SDA END : ; 8 ORG 0000H SCL BIT SDA BIT P2.1 P2.0 LJMP START START:MOV R3,#0DH MOV DPTR,#0600H LCALL STA WRDA:MOV A,#00H MOVC A,@A+DPTR LCALL WRBYT LCALL CACK JB F0,START INC DPTR 47

DJNZ R3,WRDA LCALL STOP LJMP START STA:SETB SDA ; SETB SCL CLR SDA CLR SCL RET WRBYT:MOV WLP:RLC R0,#08H A ; SDA ACC JC WR1 SJMP WR0 WLP1:DJNZ R0,WLP RET WR1:SETB SDA SETB SCL CLR SCL CLR SDA SJMP WLP1 WR0:CLR SDA SETB SCL CLR SCL 48

SJMP WLP1 CACK:SETB SDA ; SETB SCL CLR F0 JNB SDA,CEND SETB F0 CEND:CLR SCL RET STOP:CLR SDA ; SETB SCL SETB SDA CLR SCL RET ORG 0600H DB 0A0H,00H,01H,02H,03H,04H,05H,06H,07H,08H DB 09H,0AH, 0BH,0DH,55H,56H,57H END :I2C P2.1 BIT VSCL P1.0 BIT VSDA ;---- I2C ----- START:SETB VSDA SETB VSCL 49

CLR VSDA CLR VSCL RET ---- I2C------- STOP CLR VSDA SETB VSCL SETB VSDA CLR VSDA CLR VSCL RET ------ ------- MACK CLR VSDA SETB VSCL CLR VSCL SETB VSDA RET ------ MNACK SETB VSDA SETB VSCL CLR VSCL 50

CLR VSDA RET ---- RMACK SETB VSDA SETB CLR F0 VSCL MOV C VSDA JNC CEND SETB F0 CEND CLR VSCL RET ------ ------- WRBYT MOV R0 #08H CLR VSCL CLR VSDA LOOP1: RLC A MOV VSDA, C SETB VSCL CLR VSCL CLR VSDA DJNZ R0, LOOP1 RET ----- RDBYT:MOV R0,#08H CLR VSCL RLP SETB VSDA SETB VSCL MOV C VSDA 51

RLC A CLR VSCL DJNZ R0 RLP RET 52

/. / 1. 2. 0 1 INT0 INT0 88H TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 T0 T0 1 O 1 0 T0 T1 GATE C T M1 M0 GATE C T M1 M0 M1M0 00 11 01 0 1 1 2 3 0 T0 10 T1 3. T1 1 T T1 1 0 IE A8H 53

4. / 2 n -X * 0 :N=13 1 N=16 2 N=8 G /. / 1 P1.0, 0.2 P1.1, 7 P1.7, P1.6, 7 P1.0. ORG 0030H MOV TMOD,#00H START:CLR C MOV A,#0FFH MOV R2,#08 LOOP: RLC A MOV P1,A MOV R3,#100 CALL DELAY DJNZ R2,LOOP MOV R2,#07 LOOP1:RRC A MOV P1,A MOV R3,#100 CALL DELAY DJNZ R2,LOOP1 ; ; TIMER0 MODE0 ;C=0 ;ACC=FFH, ;R2=08, 8 ; ; P1 ;0.2 ;2000 ; 8 ;R2=07, 7 ; ; P1 ;0.2 ;2000 ; 7 54

JMP START DELAY:SETB TR0 AGAIN:MOV TL0,#(8192-2000) MOV TH0,#(8192-2000) LOOP2:JBC TF0,LOOP3 JMP LOOP2 ; TEMER0 ; TL0 ; TH0 ;TF0 1, LOOP3, TF0 ; LOOP2 LOOP3: DJNZ R3,AGAIN CLR TR0 ;R3 0? AGAIN ; TIMR0 RET END 2 0000 P3.4 1 ORG 0000H a_bit equ 20h b_ bit equ 21h c_bit equ 22h d-bit equ 23 LJMP START ORG 000BH LJMP ZDFU ORG 0100H START MOV 20H #00 0 MOV 21H #00 MOV 22H #00 MOV 23H #00 MOV A #00 MOV TCOM #05H T0 1 55

SETB TR0 LP CJNE A #255 DAPY 255 LJMP START DAPY: mov b,#100 div ab mov c_bit,a mov a,b 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 ; dplop: mov a,a_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.4 ; acall d1ms ; 162 setb p2.4;, mov a,b_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.5 ; acall d1ms ; 162 setb p2.5;, mov a,c_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.6 ; acall d1ms ; 162 56

setb p2.5;, mov a,d_bit ; MOVC A,@A+DPTR ; 7 mov p0,a ; 7 clr p2.7 ; acall d1ms ; 162 setb p2.5;, djnz r1,dplop ; 250 djnz r0,dpl1 ; 250X4=1000 LJMP LP D1MS: MOV R7,#80 DJNZ R7,$ RET numtab: DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H ZDFU INC A RETI END 57

. 1. TI RI IT0=0 IT0=1 IT0=0 1 IT0=1 TCON IE0 TF0 IE1 TF1 TI RI IT0=0 EX0 ET0 EX1 ET1 ES EA IP 1 2. 3. 0 0003H T 1 001BH T 0 000BH 0023H 1 0013H 0023H 3. IE A8H 1 0 T 1 T1 4. 1). IP IP * * * PS PT1 PX1 PT0 PX0 PX0------------ 0 PT0----------- / T0 58

PX1---------- 1 PT1---------- / T1 PS----------- 2). SCON 9F 9E 9D 9C 9B 9A 99 98 SM0 SM1 SM2 REN TB8 3). RB8 TI RI TCON 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 O 0 1 1 T0 T0 T1 T1.. 1 : P1 8 LED INT0 P1 8 LED 5 ORG 0000H JMP START ORG 0003H JMP EXT0 ; ; START ;INT0 ; START: MOV IE,#10000001B ;INT0 MOV IP,#00000001B MOV TCON,#00000000B MOV SP,# 70H ; ;INT0 ;INT0 ; LOOP: MOV A,#0FFH ; CLR C MOV R2,#08 ;C=0 ; 8 LOOP1: RLC A ; C MOV P1,A ; P1 59

CALL DELAY ; 0.2 DJNZ R2,LOOP1 MOV R2,#07 ; 8 ; 7 LOOP2: RRC A ; C EXT0: LOOP3: MOV P1,A CALL DELAY DJNZ R2,LOOP2 JMP LOOP PUSH ACC PUSH PSW SETB RS0 CLR RS1 MOV A,#00 MOV R2,#10 MOV P1,A CALL DELAY CPL A DJNZ R2,LOOP3 POP PSW POP ACC RETI ; P1 ; 0.2 ; 7 ; ; ; PSW ; 1 ; P1 ; 5 (, 10 ) ; A P1 ; 0.2 DELAY: MOV R5,#20 ;0.2 ; A ; 5 ( 10 )? ; PSW ; A ; D1: MOV R6,#20 ;10 D2: MOV R7,#248 ;0.5 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END 2. : 8 p32 org 00h; jmp start; org 03h;int0 p32 60

jmp ext0; start: mov ie,#10000001b; mov ip,# 00000001b; mov tcon,#0000000b; mov sp,#70h; main:; mov p1,#00h ; lcall delay ; mov a,#0feh ; loop: mov p1,a ; p1 lcall delay ; rl a ; ajmp loop ; main ext0: push acc ; A A push psw ; MOV R1,#10 LP: cpl p3.6; call del ; SETB p3.6 DJNZ R1,LP pop psw ; pop acc reti delay:mov r5,#20; 1 d1: mov r6,#20 d2: mov r7,#250 djnz r7,$ djnz r6,d2 djnz r5,d1 ret del: ; 2 61

mov r4,#250 djnz r4,$ ret end 62

1: : 0 1 2 3 4 5 6 7 8, 0 1 2 3 4 5 6 7 8. P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, ORG 0000H START:CLR P2.4 SETB P2.5 SETB P2.6 SETB P2.7 MOV P0,#0C0H 0C0h p0 0 LCALL DELAY MOV P0,#0FFH CLR P1.0 0ffh p0 p1.0 MOV P0,#0F9H 0F9h p0 1 LCALL DELAY MOV P0,#0FFH CLR P1.1 MOV P0,#0A4H ; p1.0 ; 2 LCALL DELAY MOV P0,#0FFH CLR P1.2 MOV P0,#0B0H ; 3 LCALL DELAY MOV P0,#0FFH CLR P1.3 MOV P0,#99H ; ; 4 63

LCALL DELAY MOV P0,#0FFH CLR P1.4 MOV P0,#92H ; 5; LCALL DELAY MOV P0,#0FFH CLR P1.5 MOV P0,#82H ; 6 LCALL DELAY MOV P0,#0FFH CLR P1.6 MOV P0,#0F8H ; 7 LCALL DELAY MOV P0,#0FFH CLR P1.7 MOV P0,#80H ; 8 LCALL DELAY MOV P0,#0FFH LCALL DELAY MOV P1,#0FFH 0 1 2 3 4 5 6 7 8 p1.0------------p1.7,. SETB P2.4 8 CLR P2.5 MOV P0,#0C0H LCALL DELAY MOV P0,#0FFH CLR P1.0 MOV P0,#0F9H LCALL DELAY 64

MOV P0,#0FFH SETB P1.0 CLR P1.1 MOV P0,#0A4H LCALL DELAY MOV P0,#0FFH SETB P1.1 CLR P1.2 MOV P0,#0B0H LCALL DELAY MOV P0,#0FFH SETB P1.2 CLR P1.3 MOV P0,#99H LCALL DELAY MOV P0,#0FFH SETB P1.3 CLR P1.4 MOV P0,#92H LCALL DELAY MOV P0,#0FFH SETB P1.4 CLR P1.5 MOV P0,#82H LCALL DELAY MOV P0,#0FFH SETB P1.5 CLR P1.6 MOV P0,#0F8H LCALL DELAY 65

MOV P0,#0FFH SETB P1.6 CLR P1.7 MOV P0,#80H LCALL DELAY MOV P0,#0FFH SETB P1.7 MOV P0,#0FFH MOV P1,#0FFH 012345678 p1 AJMP START DELAY: CLR P3.6 3.3 MOV R7,#255 D1: MOV R6,#255 setb p3.6 D2: DJNZ R6,D2 clr p3.6 DJNZ R7,D1 SETB P3.6 RET END 2: : p3. 2 0 p3.3 1 66

p3.4 2 p3.5 3, JB bit, rel bit 1 JNB bit, el bit 0 org 0000h ljmp start org 30h start: mov sp,#5fh mov p1,#0ffh CLR P2.4 SETB P2.5 SETB P2.6 SETB P2.7 mov p3,#0ffh mov p0,#0ffh l1: jnb p3.2,l2 p3.2 l2 jnb p3.3,l3 p3.3 l3 jnb p3.4,l4 jnb p3.5,l5 p3.4 l4 p3.5 l5 ljmp l1 l2: mov p0,#0c0h; 0 ljmp l1 l3:mov p0,#0f9h; 1 ljmp l1 l4:mov p0,#0a4h; 2 ljmp l1 l5: mov p0,#0b0h; 3 ljmp l1 end 67

3 p3.2. P3.2 p1.0---1.7 P3. 4 p1.0-1.7 P3.5 p0.o P0. 2 P0.4 P0.6 p0.1 P0.3 P0.5 P0.7 ORG 0000H LJMP START ORG 0003H LJMP STOP ORG 000BH LJMP LP1 ORG 0013H LJMP LP2 ORG 001BH LJMP LP3 ORG 0023H ORG 0100H START:MOV TL0 #0FEH MOV TH0 #0FEH MOV TL1 #0FEH MOV TH1 #0FEH MOV TMOD #01100110B T0 T1 2 SETB IT0 SETB 1T1 SETB TR0 SETB TR1 MOV IE #10001111B LJMP $ 68

LP1 MOV R0 #02H 2 MOV P1 #0FFH LCALL DL05S MOV P1 #0FEH LCALL DL05S MOV P1 #0FCH LCALL DL05S MOV P1 #0F8H LCALL DL05S MOV P1 #0F0H LCALL DL05S MOV P1 #0E0H LCALL DL05S MOV P1 #80H LCALL DL05S MOV P1 #00H LCALL DL05S MOV P1 #FFH RETI LP2:MOV R0 #08H MOV A,#0FEH LPP:MOV P1,A LCALL DL05S RL A DJNZ R0 LPP RETI LP3 MOV R0 #04H 4 MOV A #10101010B LPPP MOV P1 A 69

LCALL DL05S CPL A DJNZ R0 LPPP RTEI DL05S:MOV R4,#0AH LOOP3: LCALL DL10MS DJNZ R4,LOOP3 RET End 70