導航:首頁 > 操作系統 > 51單片機定時005秒

51單片機定時005秒

發布時間:2024-10-15 17:10:51

1. 『求助』用51單片機定時器實現99秒錶倒計時

K1EQUP1.0
K2EQUP1.1
K3EQUP1.2
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0ISR
ORG0030H
MAIN:
MOVTMOD,#01H
MOVTH0,#HIGH(65536-10000)
MOVTL0,#LOW(65536-10000)
SETBET0
SETBTR0
SETBEA
MOVR0,#9
MOVR1,#9
MOVR2,#0
MOVR3,#99
CLR00H
CLR01H
LOOP:
JBK1,LP01
JNBK1,$
CLR01H
INCR3
CJNER3,#100,LOOP0
MOVR3,#0
SJMPLOOP0
LP01:
JBK2,LP02
JNBK2,$
CLR01H
CJNER3,#0,LP011
MOVR3,#99
SJMPLOOP0
LP011:
DECR3
SJMPLOOP0
LP02:
JBK3,LOOP
JNBK3,$
SETB01H
SJMPLOOP
LOOP0:
MOVA,R3
MOVB,#10
DIVAB
MOVR0,B
MOVR1,A
SJMPLOOP
T0ISR:
CLRTR0
MOVTH0,#HIGH(65536-10000)
MOVTL0,#LOW(65536-10000)
SETBTR0
MOVDPTR,#TABLE
T0C:
CPL00H
JB00H,T001
MOVP3,#0FDH
MOVA,R1
MOVCA,@A+DPTR
MOVP2,A
SJMPT002
T001:
MOVP3,#0FEH
MOVA,R0
MOVCA,@A+DPTR
MOVP2,A
T002:
JNB01H,T0E
INCR2
MOVA,R2
CJNEA,#100,T0E
MOVR2,#0
MOVA,R0
JZT003
DECR0
SJMPT0E
T003:
MOVA,R1
JZT004
DECR1
MOVR0,#9
T0E:
RETI
T004:
CLR01H
MOVR4,#16
T005:
CPLP0.0
LCALLDELAY
DJNZR4,T005
RETI
DELAY:
MOVR6,#200
DLY:
MOVR7,#250
DJNZR7,$
DJNZR6,DLY
RET
TABLE:;共陰極數碼管顯示代碼表
DB3FH,06H,5BH,4FH,66H;01234
DB6DH,7DH,07H,7FH,6FH;56789

END

2. 急求單片機紅綠燈的匯編語言程序設計

去買一本書吧!單片機原理與應用,你可能還不雜個會吧,這個你得慢慢來,只要你把那本書學會了差不多你能看會了,你可能還很年輕吧,要慢慢來,別人給你說沒的意思的,年輕嘛慢慢來,我也是這樣來的,我看過你這個還是簡單的,我是搞儀表的,你看看我的程序吧!!! 十分之一
文件名:*******.ASM
;* 型號 : M603-VA
;* 產品名稱:4位三相電流/電壓表
;* PCB硬體:M603-3P-VA-01(01)/M603-3P-VA-03(01)
;* 實現功能:(1)可測三相三線電壓/電流
;(2)對輸入電流/電壓值做任意刻度顯示
;* 版本號: 第1.0版
;* 起草日期:2006.3.30 最後修改日期: 2006.8.16
;* 修改日誌:
;* V1.1 解決測量漂移問題
;* 完善1:LiuQK-2007.1.1
;* 1、增加RS485通訊功能
;* 2、增加變送功能
;* 3、增加上下限報警
;//////////////////////////////////////////////////////////////
ORG 0000
AJMP MAIN

ORG 0003H;INT0中斷入口地址停電保存
;ljmp irq_int0
NOP
NOP
LJMP Err;程序飛跑,轉到處理程序,重新啟動.
ORG 000BH;T0中斷入口, 用於顯示定時
LJMP IRQ_t0
NOP
NOP
LJMP Err;程序飛跑,轉到處理程序,重新啟動.
ORG 0013H;INT1中斷口地址
LJMP IRQ_int1
NOP
NOP
LJMP Err;程序飛跑,轉到處理程序,重新啟動.
ORG 001BH;T1中斷入口 用於A/D轉換
ljmp irq_t1
NOP
NOP
LJMP Err;程序飛跑,轉到處理程序,重新啟動.
ORG 23H
LJMP IRQ_UART;用於RS-485通訊
NOP
NOP
LJMP Err
org 002bh ;D/A
ljmp irq_t2
nop
nop
LJMP Err

;////////////////////////////////////////////////
;主程序從MAIN開始 執行
;////////////////////////////////////////////////
;////////////////////////////////////////////////
;STC單片機附加功能宏定義
P4 DATA 0e8h;P4口地址
WDT_CONTR DATA 0E1H;看門狗控制地址
AUXR DATA 8EH ;只寫寄存器,只能用MOV AUXR,#DATA 命令. 用於控制擴展RAM和使能ALE.
AUXR1 DATA 0A2H;本寄存器用於數據指針選擇://=0 選擇DPTR0 , =1 選擇DPTR1 //
XICON DATA 0C0H;特殊功能寄存器申明
;89C52定時器T2
;T2CON DATA 0C8H
;TH2 DATA 0CDH
;TL2 DATA 0CCH
;RCAP2H DATA 0CBH
;RCAP2L DATA 0CAH
;RL2 BIT 0C8H.0
;CT2 BIT 0C8H.1
;TR2 BIT 0C8H.2
;EXEN2 BIT 0C8H.3
;TCLK BIT 0C8H.4
;RCLK BIT 0C8H.5
;EXF2 BIT 0C8H.6
;TF2 BIT 0C8H.7
;ET2 BIT 0A8H.5
;PT2 BIT 0B8H.5
ORG 35h

MAIN: mov r0,#0Ffh
FILL: clr a
MOV @R0,A
DJNZ R0,FILL;(填充)初始化RAM內的數據全部為00H。
mov psw,#0
MOV SP,#80H;堆棧指針
MOV AUXR,#00
MOV CHECK_CODE,#0AAH
ACALL DATA_CHECK;數據校驗
; setb 21h.0;置儀表起動標志
;EA中斷允許,ET1中斷允許,ET0中斷允許
SETb ea ;EA中斷允許

setb IT1;INT1中斷方式是負邊沿觸發方式
setb it0;INT0中斷方式是負邊沿觸發方式

mov pcon,#00h;
SETB PT0

CLR PX0
CLR PT1
CLR PX1
;SETB PX1
setb et0;T0中斷允許
setb ET2
JNB 25H.2,IE_1
LCALL R_LOAD;載入波特率
mov t2con,#34h
setb p1.0;將485置為接收狀態
mov scon,#0D0h;初始化並啟動串口
SETB ES;開中斷
SETB PS;串口中斷優先
CLR PS
sjmp ie_OK

ie_1: JNB 25H.1,IE_OK
mov RCAP2H,#0ffh
mov RCAP2L,#0ffh
mov t2con,#04h
SETB PT2

IE_OK: SETB 20H.0 ;儀表啟動標志
mov 2fh,#0;
lcall ie_ch;啟動通道
;clr p1.2
;clr p1.3

;/////////////////////////////////////////////////
;/顯示程序/
main2: ;啟動看門狗以及定時時間為4S
MOV WDT_CONTR,#34H
setb et0
setb tr0
main20: JB 20H.7,MAIN3;查看A/D是否運行
lCALL IE_SET ;啟動測量初始化
SETB 20H.7 ;測量啟動標記
main3: ;A.數據校驗
ACALL DATA_CHECK;數據校驗
;B.測量頻率計算
ACALL CY_HZ;計算
;C.顯示比例值計算
acall dis_scale
;D:計算平均值
acall Hz_av
;E:上下限報警
ACALL ALARM_OUTPUT
;F:RS485通訊/變送輸出
LCALL COMMUNICATION

;g:按鍵處理
LCALL SETKEY
LCALL SHIFTKEY
LCALL DOWKEY
LCALL ATKEY

;h:BCD碼轉換
ACALL bcdCode;bcd碼轉換

AJMP MAIN2;重新回到MAIN2

;//////////////////////////////////////
;A/D轉換采樣啟動程序
IE_SET: MOV 1eH,#4;INT1不中斷等待次數
MOV 1fH,#0;T0定時循環次數
MOV 1cH,#0;采樣脈沖個數緩沖器
MOV 1dH,#0
MOV TMOD,#00010001B;T1,T0為16位定時器.
;再次初始化T1;int1
setb ea;再次啟動中斷
setb et1
clr tr1
mov tl1,#0
mov th1,#0
setb tr1
CLR IE1; 清除int1中斷標志
SETB EX1;開啟INT1中斷
RET

;********************
;測量通道設置
ie_ch: push dpl
push dph

ie_ch1: mov a,2fh
ie_ch2: rl a;左移
cjne a,#7,ie_ch20;A/D轉換共5次循環
ie_ch20: jc ie_ch21
clr a
ie_ch21: mov dptr,#ie_ch3
jmp @a+dptr
nop
nop
;通道循環表
ie_ch3: sjmp ie_offset ;零點偏移測量;0
sjmp ie_pa;A相過程值1
sjmp ie_pb;B相過程值2
sjmp ie_pc;C相過程值3
nop
nop

;4051 地址引腳排列 (9) (10 ) (11) 為地址 A2(c) A1(b) A0(a).
;CPU控制引腳: (Gnd) (p1.6) (p1.7)
;地址對應關系:000-- 0 0 0------PC通道(13PIN)
;001---0 0 1-----PB通道(14PIN)
;002---0 1 0-----PA通道(15PIN)
;003---0 1 1-----offset通道(12PIN)
;004---0-----GND
;005---0-----GND
;006---0-----GND
;007---0-----GND

;PA測量
ie_pa: nop
;功能檢查
setb p1.6
clr p1.7
ie_ch_com: pop dph
pop dpl
ret
nop

;PB測量
ie_pb: setb p1.7
clr p1.6
sjmp ie_ch_com
;PC測量
ie_pc: CLR p1.7
clr p1.6
sjmp ie_ch_com

;零點偏移OFFSET測量0通道,硬體連接4051 的13引腳
ie_offset: SETB p1.7
SETB p1.6
sjmp ie_ch_com
nop
nop

;**************************
;頻率計算
NOSWAP:
RET
nop
CY_HZ: JNB 3EH,NOSWAP;無采樣結束標志
CLR 20H.7;清除測量掛起標記
CLR 3EH;清除測量結束標記

;T0中斷次數浮點數轉換

cy_hz_1: CLR 3CH
MOV R2,#0
MOV R3,1fh
MOV R1,#08H
LCALL INTF;浮點數存儲08H 09H 0AH

;T0中斷次數計算成時間周期;每中斷1次時間為65536uS
MOV 0BH,#17;65536
MOV 0CH,#80H
MOV 0DH,#00H
MOV R0,#0BH
LCALL FMUL;
mov r1,#08h
LCALL FSTR;存儲08H 09H 0AH
;T0剩餘時間浮點數轉換
MOV R3,1Bh
MOV R2,1Ah
MOV R1,#0BH
LCALL INTF;T0內檢測到的時間轉換浮點數存入0BH
;計算超出定時60mS以外的時間周期
MOV R0,#08H
CLR 3AH
LCALL FABP;T0+08H內時間和
LCALL FSTR;存儲0BH,0CH 0DH
;計數總時間周期
MOV 08H,#18;65.535*2mS
MOV 09H,#80H
MOV 0AH,#0h
CLR 3AH
LCALL FABP;定時時間+T0+30H得到檢測總時間
LCALL FSTR;存儲0BH 0CH 0DH

;---------------------------------------
;在定時周期內采樣到的脈沖個數轉換成浮點數
MOV R2,1ch;測量周期個數轉換浮點數
MOV R3,1dH
mov r1,#08h
Lcall intf;數據存放在08H 09H AH
;計算頻率值
MOV R0,#08H
MOV R1,#0bH
LCALL Fdiv;頻率
LCALL FSTR;存儲0b 0c 0d
mov 08h,#20
mov 09h,#0f4h
mov 0ah,#24h
Lcall fmul
; Lcall fstr

mov a,2fh
jnz time_1
;(零點測量)
; mov 10h,0bh
; mov 11h,0ch
; mov 12h,0dh
MOV R1,#10H
; lcall fstr
sjmp TIME_4
nop
nop
time_1: ; mov r0,#0bh
; mov r1,#10h
; setb 3ah
; Lcall fabp
mov a,2fh
cjne a,#1,time_2
;第二次采樣值存放到30H 31H 32H 地址(PA過程值測量)
; mov 36h,0bh
; mov 37h,0ch
; mov 38h,0dh

mov r1,#30h
; Lcall fstr
sjmp time_4
; nop
; nop

time_2: cjne a,#2,time_3
;第3次采樣值存放33H 34H 35H (PB過程值測量)
; mov 33h,0bh
; mov 34h,0ch
; mov 35h,0dh
mov r1,#33H
; Lcall fstr
Sjmp time_4
;第4次采樣值存放36H 37H 38H (PC過程值測量)
time_3: MOV R1,#36H
setb 20h.6;置A/D轉換結束標志,用於過程值計算
INC 0EH;A/D轉換計數器,用於延遲報警/數據刷新
; mov 30h,0bh
; mov 31h,0ch
; mov 32h,0dh
TIME_4: LCALL FSTR

;通道切換
TIME_COM: INC 2FH
mov a,2fh
cjne a,#4,time_COM0
time_COM0: jc time_COM1
mov 2fh,#0
time_COM1: acall ie_ch
ret

3. 51單片機網站

這是我根據自己的單片機設計的程序。請根據自己的需要修改各個參數。
org 0000H
ajmp begin
org 000BH;時鍾中斷0入口
mov tl0,#00000B;每次中斷設初值
mov th0,#110B
ajmp time0;轉跳到定時器0子程序
org 0040H
begin:;初始化部分
;設置變數RAM位置
x equ 50H
y equ 51H
z equ 52H
times equ 53H;此變數是中斷次數,只有中斷250次,才能積累2M個機器周期,即1秒鍾,
rtimes equ 54H
wtimes1 equ 55H
wtimes2 equ 56H
;設置字型碼
mov 60H,#005H;0
mov 61H,#0DDH;1
mov 62H,#046H;2
mov 63H,#054H;3
mov 64H,#09CH;4
mov 65H,#034H;5
mov 66H,#024H;6
mov 67H,#05DH;7
mov 68H,#004H;8
mov 69H,#014H;9
mov 5FH,#0FEH;-
;設置各LED位數字的RAM單元
n8 equ 71H
n7 equ 72H
n6 equ 73H
n5 equ 74H
n4 equ 75H
n3 equ 76H
n2 equ 77H
n1 equ 78H
;設置數位選線的位置
l8 bit p3.0
l7 bit p3.6
l6 bit p3.5
l5 bit p3.7
l4 bit p3.1
l3 bit p3.2
l2 bit p3.3
l1 bit p3.4
;設置定時器
setb ea
setb et0
mov th0,#11111111B
mov tl0,#11111B
clr tr0
mov p3,#00H
start:;r2-小時/r3-分鍾/r4-秒/r1是按鍵的值,無按鍵時為10H
mov r2,#00
mov r3,#00
mov r4,#00
;第3、6位顯示橫線「-」
mov n6,5FH
mov n3,5FH
main:;主程序
mov r1,#10H;r1賦10H,沒按鍵
acall chcut;調用r2-r4值轉換為字型碼並存入n1-n8的子程序
acall show;掃描一遍LED
acall key;調用鍵盤掃描子程序(此程序在51dz提供的程序上略加修改,保留注釋)
jb tr0,walkstop;若在走時,不允許調時,跳到walkstop
cjne r1,#4,s2;若r1不是4則跳到下一個計時部分s2(下同)
acall hinc;調用小時加1子程序
acall chcut
acall longdelay;調用長延時子程序
ajmp main;此次設置完成,跳到主程序
s2:
cjne r1,#5,s3
acall minc;調用分鍾加1子程序
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
s3:
cjne r1,#6,s4
acall sinc;調用秒加1子程序
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
s4:
cjne r1,#7,s5
acall hdec;調用小時減1子程序
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
s5:
cjne r1,#8,s6
acall mdec;調用分鍾減1子程序
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
s6:
cjne r1,#9,s7
acall sdec;調用秒減1子程序
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
s7:
cjne r1,#0,walkstop
mov r2,#0;時分秒清0
mov r3,#0H
mov r4,#0H
acall chcut
acall longdelay
ajmp main;此次設置完成,跳到主程序
walkstop:
cjne r1,#11,s0
acall stop;調用停止走時子程序
ajmp main;此次設置完成,跳到主程序
s0:
cjne r1,#12,main
acall walk;調用開始走時子程序
ajmp main;此次設置完成,跳到主程序

;以下是子程序
show:;掃描子程序
mov p1,n8;將第8位數字型碼送上P1(下同)
setb l8;使第8位LED亮
acall delay;調用掃描延時子程序
clr l8;使第8位LED滅
mov p1,n7
setb l7
acall delay
clr l7
mov p1,n6
setb l6
acall delay
clr l6
mov p1,n5
setb l5
acall delay
clr l5
mov p1,n4
setb l4
acall delay
clr l4
mov p1,n3
setb l3
acall delay
clr l3
mov p1,n2
setb l2
acall delay
clr l2
mov p1,n1
setb l1
acall delay
clr l1
ret

hdec:
cjne r2,#0,hdnext;如果小時不是0就到hdnext
jnb tr0,hskip;小時是0且tr0是0即不在計時,到hskip
acall warning;小時是0且tr0是1即在計時,就調用報警子程序
clr tr0;停止計時
ret;返回
hskip:mov r2,#100;小時是0又不在計時,就讓r2賦100,到下一些條減1後就是59
hdnext:dec r2;如果小時不是0就到這里減1
ret

mdec:;分鍾減1子程序
cjne r3,#00,mdnext;如果分鍾不是0就到minext
mov r3,#60;如果分鍾是0就到變為60,到下一些條減1後就是59
acall hdec;從小時退位
mdnext:dec r3;如果分鍾不是0就到這里減1
ret

sdec:;秒減1子程序
cjne r4,#00,sdnext;如果秒不是0就到sdnext
mov r4,#60;如果秒是0就到變為60,到下一些條減1後就是59
acall mdec;從分鍾退位
sdnext:dec r4;如果秒不是0就到這里減1
ret

hinc:;小時加1子程序
cjne r2,#99,hinext;如果小時不是99就到hinext
mov r2,#255;如果小時是23就到變為255,到下一些條加1後就是0
hinext:inc r2;如果小時不是99就到這里加1
ret

minc:
cjne r3,#59,minext;如果分鍾不是23就到minext
mov r3,#255;如果分鍾是59就到變為255,到下一些條加1後就是0
acall hinc;分鍾滿,向小時進位
minext:inc r3;如果分鍾不是59就到這里加1
ret

sinc:
cjne r4,#59,sinext;如果秒不是23就到sinext
mov r4,#255;如果是秒是59就到變為255,到下一些條加1後就是0
acall minc;秒滿,向分鍾進位
sinext:inc r4;如果秒不是59就到這里加1
ret

chcut:;將r2-r4值轉換為字型碼並存入n1-n8的子程序
mov a,r2;小時值送Acc(下同)
mov b,#10;B賦10
div ab;AB相除,此時A是小時的十位,B是小時的個位
mov n7,b;小時的個位B送第七位數
mov n8,a;小時的十位A送第八位數
mov a,r3;分解分鍾到第四、五位數
mov b,#10
div ab
mov n4,b
mov n5,a
mov a,r4;分解秒到第一、二位數
mov b,#10
div ab
mov n1,b
mov n2,a
;以下開始轉換各數位的二進制數到字型碼(第6、3位是橫線,由定時器控制有無)
mov a,n8;第8位數送Acc(下同)
add a,#60H;Acc加60H,此時Acc中值所指的RAM地址中為第8位數的字型碼
mov r0,a;Acc送r0
mov n8,@r0;r0間接地址送回n8
mov a,n7;轉換第7位數
add a,#60H
mov r0,a
mov n7,@r0
mov a,n5;轉換第5位數
add a,#60H
mov r0,a
mov n5,@r0
mov a,n4;轉換第4位數
add a,#60H
mov r0,a
mov n4,@r0
mov a,n2;轉換第2位數
add a,#60H
mov r0,a
mov n2,@r0
mov a,n1;轉換第1位數
add a,#60H
mov r0,a
mov n1,@r0
ret

longdelay:;長延時子程序
mov r6,#0FFH
reshow1:acall show
djnz r6,reshow1
mov r6,#0FFH
reshow2:acall show
djnz r6,reshow2
ret

delay:;掃描延時子程序
mov r5,#40H
djnz r5,$
ret
ringdelay:mov r5,#0FFH
djnz r5,$
ret

time0:;定時器0子程序
push Acc;Acc壓棧
mov a,times;已中斷次數送Acc
inc a;次數加1
mov times,a;加1後送回次數變數
cjne a,#250,gotoend;如果Acc不是250說明不到1秒,跳過加秒操作
mov times,#0;是250說明到1秒了,次數變數清0
mov n6,#0FFH;第3、6位清除橫線「-」
mov n3,#0FFH
acall sdec;調用秒減1子程序
ajmp next;退出
gotoend:cjne a,#125,next;若Acc不是125就退出
mov n6,5FH;若是125就給第3、6位顯示5FH中的字型碼橫線「-」
mov n3,5FH
next:pop Acc;退出時,從棧中彈出Acc
reti;此程序中次數在0-124就不顯示橫線,在125-250就顯示橫線

walk:;開始走時子程序
setb tr0
ret
stop:;停止走時子程序
clr tr0
ret

warning:;報警子程序
;放入-FINISH-字型碼
mov n8,#0FEH;-
mov n7,#02EH;F
mov n6,#0DDH;I
mov n5,#00DH;N
mov n4,#0DDH;I
mov n3,#034H;S
mov n2,#08CH;H
mov n1,#0FEH;-
mov wtimes1,#50;設置蜂鳴次數50次
res1:mov wtimes2,#08FH;一次蜂鳴開始
res2:clr p2.0;從此句開始蜂鳴器發聲
mov p3,#0H;LED熄滅
mov r6,#5;掃描延時子程序延時太短,要重復5次
redelay:acall delay;此2句重復5次
djnz r6,redelay
setb p2.0
djnz wtimes2,res2;轉到RES2讓蜂鳴器發聲,轉wtimes2次,即8FH次
mov p3,#0H;從此句開始蜂鳴器不發聲
mov r7,#08FH;LED掃描次數
reshow:acall show
djnz r7,reshow;LED掃描08FH次,即不發聲延時
djnz wtimes1,res1;到RES1開始一次蜂鳴
finish:acall show;這兩句使LED顯示,並進入死循環
ajmp finish
key:mov p0,#00001111b;上四位和下四位分別為行和列,所以送出高低電壓檢查有沒有按鍵按下
jmp k10;跳到K10處開始掃描,這里可以改成其它條件轉移指令來決定本次掃描是否要繼續,例如減1為0轉移或者位為1或0才轉移,這主要用來增加功能,確認上一按鍵功能是否完成?是否相當於經過了延時?是否要封鎖鍵盤?
goend:jmp kend;如果上面判斷本次不執行鍵盤掃描程序,則立即轉到程序尾部,不要浪費CPU的時間
k10:jb p0.0,k20;掃描正式開始,先檢查列1四個鍵是否有鍵按下,如果沒有,則跳到K20檢查列2
k11:mov p0,#11101111b;列1有鍵按下時,P0.0變低,到底是那一個鍵按下?現在分別輸出各行低電平
jb p0.0,k12;該行的鍵不按下時,p0.0為高電平,跳到到K12,檢查其它的行
mov r1,#13;如果正好是這行的鍵按下,將寄存器R0寫下1,表示1號鍵按下了
k12:mov p0,#11011111b
jb p0.0,k13
mov r1,#15;如果正好是這行的鍵按下,將寄存器R0寫下2,表示2號鍵按下了
k13:mov p0,#10111111b
jb p0.0,k14
mov r1,#0;如果正好是這行的鍵按下,將寄存器R0寫下3,表示3號鍵按下了
k14:mov p0,#01111111b
jb p0.0,kend;如果現在四個鍵都沒有按下,可能按鍵松開或干擾,退出掃描(以後相同)
mov r1,#14;如果正好是這行的鍵按下,將寄存器R0寫下4,表示4號鍵按下了
jmp kend;已經找到按下的鍵,跳到結尾吧

k20:jb p0.1,k30;列2檢查為高電平再檢查列3、4
k21:mov p0,#11101111b;列2有健按下時,P0.0會變低,到底是那一行的鍵按下呢?分別輸出行的低電平
jb p0.1,k22;該行的鍵不按下時p0.0為高電平,跳到到K22,檢查另外三行
mov r1,#12;如果正好是這行的鍵按下,將寄存器R0寫下5,表示5號鍵按下了(以後相同,不再重復了)
k22:mov p0,#11011111b
jb p0.1,k23
mov r1,#9
k23:mov p0,#10111111b
jb p0.1,k24
mov r1,#8
k24:mov p0,#01111111b
jb p0.1,kend
mov r1,#7
jmp kend;已經找到按下的鍵,跳到結尾吧(以後相同,不要重復了)

k30:jb p0.2,k40
k31:mov p0,#11101111b
jb p0.2,k32
mov r1,#11
k32:mov p0,#11011111b
jb p0.2,k33
mov r1,#6
k33:mov p0,#10111111b
jb p0.2,k34
mov r1,#5
k34:mov p0,#01111111b
jb p0.2,kend
mov r1,#4
jmp kend

k40:jb p0.3,kend
k41:mov p0,#11101111b
jb p0.3,k42
mov r1,#10
k42:mov p0,#11011111b
jb p0.3,k43
mov r1,#3
k43:mov p0,#10111111b
jb p0.3,k44
mov r1,#2
k44:mov p0,#01111111b
jb p0.3,kend
mov r1,#1
kend: ret
end

4. 鎬ュ誨崟鐗囨満鍒朵綔瀹為獙鎶ュ憡

銆銆鐢ㄥ崟鐗囨満鍒朵綔鍙緙栫▼鎺у埗鍣ㄥ疄楠
銆銆闊﹀織璇
銆銆(鍗庝笢鑸硅埗宸ヤ笟瀛﹂櫌鏈烘扮郴.奼熻嫃闀囨睙212003)
銆銆鎽樿:鍒嗘瀽PT.C鐨勮繍琛屽師鐞嗙郴緇熺▼搴忕殑瀹夋帓.浠ュ強鐢ㄦ埛紼嬪簭鐨勭紪璇戞柟娉.灝憑鍦ㄦゅ熀紜涓婅存槑濡備綍鐢
銆銆鍗曠墖鏈哄埗浣滃彲緙栫▼閫昏緫鎺у埗鍣ㄣ
銆銆鍏抽敭璇:涓涓鐗囨満;鍙緙栫▼閫昏緫鎺у埗鍣
銆銆涓鍥懼垎綾誨彿:T P 273鏂囩尞鏍囪瘑鐮:13鏂囩珷緙栧彿:1006 7167( 2003) 01-0056-05
銆銆Using Single Chip Computer to Fabricate PLC
銆銆l}Fl 77.1-C}7.}1Zba
銆銆(Dept.of Mechanical Eng浜孍ast China Shipbuilding Tnst浜7,henjiang 212003, China)
銆銆Abstract: This paper discussed the principle of PT.C and the method to transform PT.C command to CP[涓乧on
銆銆mand, and explained how to fabricate PT.C by using single chip computer.
銆銆Key words: single chip computer, programmable logical controller(PT.C)
銆銆鍦ㄦ櫘閫氶珮鏍℃満姊扮郴鏈哄簥鐢墊皵鎺у埗鎶鏈銆嬭劇▼涓.
銆銆鍙緙栫▼鎺у埗鍣ㄦ槸涓欏瑰緢閲嶈佺殑鏁欏﹀唴瀹.涓轟簡閰嶅悎璇
銆銆璇劇▼鐨勬暀瀛︿竴鑸閮藉紑璁劇浉搴旂殑P1.C瀹為獙銆
銆銆鎴戦櫌鏈烘扮郴瀹為獙瀹や篃閰嶅悇浜咷E鍏鍙搞佷簩鑿卞叕鍙
銆銆絳夊巶鍟嗙敓浜х殑鍙緙栫▼鎺у埗鍣.渚涘︾敓瀹為獙浣跨敤銆傝繖瀵瑰
銆銆鐢熸帉鎻″彲緙栫▼鎺у埗鍣ㄧ殑搴旂敤鎶鑳.璧峰埌浜嗗緢濂界殑浣滅敤銆
銆銆鍦ㄥ巻灞婂疄楠屾暀瀛﹁繃紼嬩腑.涓嶅皯瀛︾敓J{涓嶆弧瓚沖皯
銆銆P1.C鐨勫簲鐢.甯稿父鎻愬嚭濡傚崪闂棰:`}'1.C鐨勭‖浠舵槸鎬庢牱
銆銆鏋勬垚鐨?" }'1.C鐨勮繍琛岀▼搴忔槸鎬庢牱緙栧埗鐨?鈥濆墠涓涓闂
銆銆棰樻暀璇緘J涓鏈変簺綆鐣ヤ粙緇.鍚庝竴涓闂棰樺線寰鏄鐢熶駭鍘
銆銆鍟嗕笉鍏寮鐨勬妧鏈.鍥犳や笉濂藉悜瀛︾敓瑙i噴銆
銆銆涓轟簡瑙e喅榪欎釜闂棰.絎旇呯粨鍚堝崟鐗囨満瀹為獙.灝濊瘯鐢
銆銆51緋誨垪鍗曠墖鏈8031鏉ュ疄鐜癙1.C鐨勫姛鑳.浠ユ弧瓚沖︾敓
銆銆鐨勮佹眰銆
銆銆鐢ㄦ埛
銆銆鍥1 PLC紜浠剁粍鎴愭嗗浘
銆銆P1.C榪愯屾椂.紼嬪簭鎵ц岃繃紼嬪傚浘2.宸″洖鎵鎻廔
銆銆P1.C鐨勫熀鏈ㄥ伐浣滄柟寮忋
銆銆緋葷粺紼嬪簭鐢ㄦ埛紼嬪簭
銆銆1 PLC鐨勬瀯鎴
銆銆P1.C鐨勭‖浠剁粍鎴愭嗗浘濡傚浘1:
銆銆P1.C鐨勮蔣浠跺簲鍖呮嫭緋葷粺杞浠跺拰搴旂敤杞浠朵袱閮ㄥ垎銆
銆銆緋葷粺杞浠舵湁浠ュ崪鍔熻兘:(1)緋葷粺閰嶇疆鍙婂垵濮嬪寲;
銆銆}2)緋葷粺鑷璇婃柇;}3)鍛戒護璇嗗埆涓庡勭悊;(4)鐢ㄦ埛紼嬪簭
銆銆緙栬瘧;(5)妯″潡鍖杛紼嬪簭鍙婅皟鐢ㄧ$悊銆
銆銆搴旂敤杞浠跺嵆鐢ㄦ埛鐢≒1.C紼嬪簭璇璦緙栧啓鐨勫簲鐢ㄧ▼
銆銆搴忋傚畠鏄鏍規嵁棰勬湡鐨勬帶鍒跺姛鑳界紪鍐欑殑.鍙闅忔椂淇鏀廣
銆銆鍥2 PLC涓峊lY鎵ц屾祦紼
銆銆濡傛灉涓涓鍗曠墖鏈虹郴緇熷彲浣滀負P1.C榪愯.鍏抽敭紕
銆銆璇ョ郴緇熻兘澶熻よ瘑鈥濈敤P1.C璇璦緙栧啓鐨勫懡浠ゃ傚叾瀹炲崟)
銆銆鏈虹郴緇熷彧璁ゅ緱鏈哄櫒鐮.鍥犳.鑻ヨ兘鎶奝1.C鍛戒護緙栬瘧涓
銆銆鍗曠墖鏈虹浉搴旂殑鏈哄櫒鐮.姝ょ郴緇熷氨鑳戒綔P1.C榪愯屼簡銆
銆銆2 PLC鍛戒護鍒板崟鐗囨満鎸囦護鐨勭紪璇
銆銆鍦ㄦ満搴婄數姘旀帶鍒朵腑閫氬父閮戒綔涓浜涢昏緫鎺у埗P1.C
銆銆鍦ㄨラ嗗煙鐨勫簲鐢ㄤ篃浠ラ昏緫鎺у埗灞呭氥傚崪鑰屼粎璁ㄨ哄備綍
銆銆瀹炵幇榪欎簺閫昏緫鎺у埗鍔熻兘銆
銆銆緇勬垚綆鏄揚1.C鐨勫崟鐗囨満緋葷粺濡傚浘30
銆銆+5V
銆銆X000
銆銆鑼嶰(i7
銆銆XI)鏃)
銆銆XOL7
銆銆YIf?I1
銆銆vnz}
銆銆鍥3緇勬垚PLC鐨勬渶灝忓崟鐗囨満緋葷粺
銆銆鐢8255鐨凱A鍙.PR鍙d綔涓鴻緭鍏ョ.鍒嗗埆瀹氫箟涓哄湪8031鑺鐗囩殑鍐呴儴瀛樺偍鍣ㄤ腑鏈変竴涓浣嶅誨潃鍖.鍏
銆銆X 000 X 007鍜孹010 X017; PC鍙d綔涓鴻緭鍑虹.瀹氫箟涓烘湁128涓鍙瀵誨潃浣.鍦板潃緙栧彿涓篛OH 7FH.瀹冧滑姝eソ
銆銆Y020 Y027銆傛寜P1.C緋葷粺鎯渚.緙栧彿涓8榪涘埗鏁般傛湪鍙浠ョ敤鏉ヤ綔涓篜1.C鐨勮緭鍏ャ佽緭鍑烘槧鍍忓瘎瀛樺櫒.浠ュ強鍏
銆銆鏂囧彧璁ㄨ虹畝鏄撶郴緇.鎵浠ヨ緭鍏ラ儴鍒嗙暐鍘諱簡鍏夌數紲稿悎鐢靛畠P1.C鍏浠剁殑鏄犲儚瀵勫瓨鍣ㄣ備負綆渚胯搗瑙.瀹氫箟杈撳叆涓-
銆銆璺.杈撳嚭閮ㄥ垎鐣ュ幓浜嗙戶鐢靛櫒鐢佃礬銆傚龎X 000 X 007瀵瑰簲鐨勫彲瀵誨潃浣嶄負OOH-07H, XO10-
銆銆閫氬父P1.C搴旇ユ湁鑻ュ共鍐呴儴緇х數鍣∕.瀹氭椂鍣═ X017涓簂OH-17H,杈撳嚭涓涓鍏Y020 Y027涓20H-
銆銆鍜岃℃暟鍣–絳夈傜幇鍙瀹氫箟16涓鍐呴儴緇х數鍣∕ 130- 27H銆傚廣嶅嚑鍐呴儴緇х數鍣∕130 M137,M140 M147.瀹氭椂
銆銆M137.M140 M147.榪樻湁4涓瀹氭椂鍣═ 050 T 053鍜4鍣═ 050 T 053鍜岃℃暟鍣– 054-(. 057絳.涔熺敤CPU鍐
銆銆涓璁℃暟鍣– 054-(. 057銆傝繖閲孨_鎶奨 000 , Y 020絳夎緭鍏ャ侀儴RAM鐨勫彲瀵誨潃浣嶄笌涔嬩竴涓瀵瑰簲銆
銆銆杈撳嚭涓涓鍏.浠ュ強鍐呴儴緇х數鍣∕.瀹氭椂鍣═.璁℃暟鍣–絳夊垪鍑哄唴閮≧AM鐨勫湴鍧鍒嗛厤琛ㄥ傝〃to
銆銆縐頒負P1.C鍏浠躲
銆銆琛1 8031鍐呴儴RAM鍦板潃鍒嗛厤琛
銆銆20H OOH/X000 OIH/X001 02H/X002 03H/X003 04H/X004 OSH/X005 06H/X006 07H/X007
銆銆IOH/X010 I IH/X01 I 12H/X012 13H/X013 14H/X014 ISH/X015 16H/X016 17H/X017
銆銆20H/Y020 21H/Y021 22H/Y022 23H/Y023 24H/Y024 25H/Y025 26H/Y026 27H/Y027
銆銆30H/VI 130
銆銆31H/VI 131
銆銆32H/VI132 33H/VI133 34H/VI134 35H/VI135 36H/VI136
銆銆37H/VI 137
銆銆40H/VI 140
銆銆41H/VI 141
銆銆42H/VI142 43H/VI143 44H/VI144 45H/VI145 46H/VI146
銆銆47H/VI 147
銆銆SOH/T 050
銆銆58H/T 050
銆銆S I H/T O51
銆銆59H/T OS I
銆銆52H/T 052
銆銆SA H/T 052
銆銆53H/T 053
銆銆SBH/T053
銆銆54H鍏:054
銆銆SC H/C 054
銆銆SSH鍏
銆銆SDH/(
銆銆56H鍏
銆銆SEH/(
銆銆57H鍏:057
銆銆SF H/C 057
銆銆H H H H H H H H H H H H H HH
銆銆21 22 23 24 25 26 27 2829鍙2B楸21) ZEZF
銆銆SOHT 050甯告暟
銆銆58HT050 i1鏁
銆銆SIHTO51 }'鏁
銆銆59HT051 i1鏁
銆銆52HT052 }'鏁
銆銆SAHT052 i1鏁
銆銆53HT 053甯告暟
銆銆SBHT053 i1鏁
銆銆54H C 054甯告暟
銆銆SCHC054 i1鏁
銆銆SSHCO55甯告暟
銆銆SDHCO55 i1鏁
銆銆56HC056甯告暟
銆銆SEHC056 i1鏁
銆銆57HC057甯告暟
銆銆SFHC057 i1鏁
銆銆琛ㄤ腑姣忎釜杈撳叆銆佽緭鍑簂浠.鍐呴儴緇х數鍣ㄥ垎鍒瀵瑰簲涓
銆銆涓鍙瀵誨潃浣嶃侷fn姣忎釜瀹氭椂鍣.璁℃暟鍣ㄥ垎鍒瀵瑰簲涓や釜鍙瀵
銆銆鍧浣嶈繕瀵瑰簲涓や釜瀛楄妭瀛樺偍鍗曞龎銆
銆銆瀵瑰簲銆嶅嚑P1.C鐨勯昏緫鎺у埗鍔熻兘.CPU鑺鐗8031涓
銆銆鑸鏄鐢ㄤ綅鎿嶄綔鎸囦護鏉ヨ繘琛岃繍綆楃殑銆傚崪杈硅ㄨ哄備綍鎶
銆銆P1.C鍛戒護緙栬瘧鎴8031浣嶆搷浣滄寚浠ょ爜銆
銆銆鍏堢湅涓鏉$畝涓涓鐨凱1.C
銆銆浜岃彵緋誨垪鍙緙栫▼鎺у埗鍣ㄣ
銆銆X000
銆銆紼嬪簭銆傜▼搴忕殑緙栧埗鏂規硶鍙傜収
銆銆姣斿:
銆銆X000
銆銆Xool
銆銆涓020
銆銆涓020
銆銆鏃ヤ竴鈥
銆銆鏃/涓涓涓
銆銆榪欐潯紼嬪簭寰堢畝榫烶1.C鍛戒護涓1. D X 000, O U T
銆銆Y 0200鍏墮昏緫鍏崇郴涓:
銆銆Y 020=X 000
銆銆鍗崇洿鎺ユ妸杈撳叆絝鐨勭姸鎬侀佸埌杈撳嚭絝.鏃犻』榪愮畻銆
銆銆鍐嶇湅涓鏉℃帶鍒剁數鍔ㄦ満璧峰姩銆佸仠姝㈢殑P1.C紼嬪簭:
銆銆X000 Xool涓020
銆銆絎涓鏉PLC鍛戒護A031鎸囦護A031鏈哄櫒鐮
銆銆LDI X000 M0VC,OOII A200
銆銆CPL r. r3
銆銆鏈哄櫒鐮佷負3瀛楄妭銆
銆銆鍙堝傚畾鏃跺櫒鍥炶礬:
銆銆X000 T 050
銆銆鏃ヤ竴鈥(>ICloo
銆銆涓涔犱竴/涓鈥
銆銆鏃({2鍙
銆銆P1.C鍛戒護涓1,D X000, OR Y020, AN1 X001,
銆銆OUT Y020.閫昏緫鍏崇郴濡傚崪:
銆銆Y 020=(X 000+Y 020)*X 001
銆銆鏄劇劧涓鑸鍗曠墖鏈虹郴緇熶笉鑳藉勭悊榪欎釜鍏崇郴寮忋
銆銆鍋囧傝緭鍏ユ壂鎻忓繁灝嗚緭鍏ョ鐘舵佹壂鍏ュ叾瀵瑰簲鐨勬槧鍍
銆銆瀵勫瓨鍣ㄤ腑.閭d箞涓婅堪閫昏緫鍏崇郴寮忓彲杞鍖栦負:
銆銆(20H)=l(OOH)+(20H)銆*(O1H)
銆銆杈撳叆銆佽緭鍑哄崟鍏鍒嗗埆鐢ㄥ畠浠鐨勬槧鍍忓瘎瀛樺櫒鍙栦唬.鍦
銆銆鍧灞辮〃1紜瀹氥傝繖鏍.涓涓鐗囨満緋葷粺灝辮兘澶熷疄鐜拌繖鏉¢昏緫
銆銆榪愮畻浜嗐
銆銆瀹屾垚榪欐潯閫昏緫榪愮畻鎵闇瑕佺殑8031鎸囦護鍙婃満鍣ㄧ爜
銆銆涓嶱1.C鍛戒護鏈夊傚崪瀵瑰簲鍏崇郴:
銆銆PLC鍛戒護A031鎸囦護A031鏈哄櫒鐮
銆銆L P X 000 M0VC, 0011 A2 QQ
銆銆O R I 020 O R L C , 2011 72 20
銆銆ANI X001 ANL C, /0111 P}0 O1
銆銆OLT涓020 M 0V 2011, C 92 2Q
銆銆鍙瑕佹妸P1.C鍛戒護杞鎹㈡垚鍙充晶鐨勬満鍣ㄧ爜.杈撳叆鍒板浘
銆銆3鐨勭敤鎴峰瓨鍌ㄥ櫒6264涓.鍗沖彲鎵ц屼笂杈硅繖鏉$▼搴忎簡銆
銆銆鍏堝北緋葷粺紼嬪簭灝嗚緭鍏ョ鐘舵佹壂鍏ュ叾瀵瑰簲鐨勬槧鍍忓瘎瀛樺櫒
銆銆涓.鐒跺悗鎵ц岀敤鎴風▼搴.鍐嶅北緋葷粺紼嬪簭鎶婄粨鏋滄壂鎻忓埌杈
銆銆鍑-W},銆
銆銆褰撹緭鍏X 000鎺ラ氭椂.杈撳嚭Y 020鎺ラ.瀵瑰簲鐨勫彂
銆銆鍏変竴鏋佺′寒;X 000鏂寮.杈撳嚭浠嶅北Y 020鐨勬帴l浠庝繚鎸;
銆銆鍙鏈塜 001鎺ラ氭椂.杈撳嚭Y 020鎵嶆柇寮銆
銆銆涓婅竟鏈夊崪鍒掔嚎鐨勬暟瀛楁槸涓嶺,Y,M,T,C絳塒1.C
銆銆鍏浠跺彿瀵瑰簲鐨8031鍐呴儴RAM鍙瀵誨潃浣嶅湴鍧.灞辮〃1
銆銆紜瀹氥傚湪榪欓噷.瀹冩eソ涓嶱1.C鐨勫龎浠跺彿鐩哥︺
銆銆鍥犳.鏍規嵁P1.C鍛戒護鍙奨,Y ,M絳夊龎浠剁殑緙栧彿.
銆銆鍗沖彲杞鎹㈡垚鐩稿簲鐨勬満鍣ㄧ爜鍜屾槧鍍忓瘎瀛樺櫒鍦板潃銆
銆銆鍒嗘瀽P1.C鍛戒護鍙婄浉搴旂殑8031鎸囦護.浼氬彂鐜癙1.C
銆銆鍛戒護澶氬崐鍙杞鎹涓2瀛楄妭鏈哄櫒鐮.Ifn鏈夌殑鍛戒護鍒欒漿鎹
銆銆涓3瀛楄妭銆4瀛楄妭銆佺敋鑷沖氬瓧鑺傛満鍣ㄧ爜蹇呴』鍖哄埆瀵瑰緟銆
銆銆PLC鍛戒護A031鎸囦護A031鏈哄櫒鐮
銆銆L P X 000 M0VC , OOI I A 2 00
銆銆OCT 1050 M0V SAIL C 92 5A
銆銆K 100 M 0V 50II#(4II 75 50 (4
銆銆鍏朵腑涓庤緭鍏ユ椂闂村父鏁板懡浠ゅ瑰簲鐨勬満鍣ㄧ爜涓轟簩鈥
銆銆鑺傘
銆銆浣58H涔熸槸涓嶵 050瀵瑰簲鐨勫彲瀵誨潃浣.瀹冪敤鏉
銆銆璁癟 050鐨勮緭鍏ョ姸鎬.Ifn浣50H鍒欒〃紺篢 050鐨勮緭{
銆銆鐘舵併傝繕鏈夊瓧鑺傚崟鍏50H鐢ㄦ潵瀛樻斁T 050鐨勫畾鏃跺父椴
銆銆#64H鏄鍗佽繘鍒舵暟100杞鎹㈡垚鐨勫嶮鍏榪涘埗鏁般
銆銆鍐嶇湅姣旇緝澶嶆潅鐨勫潡JI鑱斿洖璺:
銆銆X000 Xool涓020
銆銆宸濅竴浠(鈥
銆銆榪欐潯P1.C紼嬪簭鏄灝嗕笂涓鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋
銆銆鍗滀竴鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋滅浉鎴栧悗閫佸埌杈撳嚭絝.鍥犳)
銆銆鍏堟妸涓婁竴鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋滀繚瀛樿搗鏉.鐒跺悗鎵嶈兘J
銆銆琛屽崪涓鍒嗘敮鍥炶礬鐨勮繍綆.鍚﹀垯灝變細閫犳垚閫昏緫娣蜂貢銆傛墍}
銆銆綆涓涓鍦板楃敤鍓嶈堪IJD鍛戒護鐨勭紪璇戞柟娉曞氨涓嶈屼簡銆
銆銆鏍規嵁P1.C緙栫▼緇忛獙.涓嶇℃湁鏃犲垎鏀鍥炶礬.姣忔。錛
銆銆褰㈠浘紼嬪簭鎬繪槸浠1.D鎴1.D1鍛戒護寮濮嬬殑銆傛垜浠鍙浠ヤ簩
銆銆1.D,1.D1鍛戒護緙栬瘧紼嬪簭鐨勫紑澶村勫姞涓鏉8031鎸囦護.:
銆銆浣嶈繍綆楀櫒C鐨勭姸鎬(鍗充笂涓鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋)鈥
銆銆瀛樿搗鏉.絳夐亣鍒板潡姝{鑱0RT3鍛戒護鏃跺啀鍙栧嚭鏉ュ拰鍗
銆銆鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋滅浉鎴.榪欐牱灝變笉浼氶犳垚閫昏緫娣穕
銆銆浜嗐傚彲浠ラ噰鐢ㄦ寚瀹氫笓鐢ㄤ綅瀛樺偍鍣ㄥ瘎瀛樼殑鍔炴硶.涔熷彲閲)
銆銆涓撶敤瀛楄妭瀛樺偍鍣ㄧЩ浣嶅瘎瀛樼殑鍔炴硶銆傚弬鑰冭祫鏂橻2],鍚
銆銆縐嶆柟娉曡緝濂姐傝繖閲屾寚瀹8031鐨勭墖鍐呭瓨鍌ㄥ櫒1FH涓-
銆銆涓轟笓鐢ㄧЩ浣嶅瘎瀛樺櫒.鐢ㄦ潵鏆傚瓨浣嶈繍綆楀櫒C鐨勭姸鎬併
銆銆榪欐牱涓鏉.瀵廣嶅嚑鏈夋{鑱斿垎鏀鍥炶礬鐨凱1.C紼嬪簭.)
銆銆闇瑕佺殑8031鎸囦護鍙婃満鍣ㄧ爜涓嶱1.C鍛戒護鏈夊傚崪瀵瑰簲
銆銆緋:
銆銆PLC鍛戒護A031鎸囦護A031鏈哄櫒鐮
銆銆L P X 000 M0VA錛1FII I;5 1F
銆銆RLC A 33
銆銆M()銆
銆銆M()銆
銆銆1FII, A
銆銆C, OOII
銆銆AND X001
銆銆T. D X 002
銆銆AND X003
銆銆()RR
銆銆0 T; T涓020
銆銆ANL C, OlII
銆銆M 0YA, 1FII
銆銆RLC A
銆銆M 0Y 1FII, A
銆銆M 0YC, 02II
銆銆ANL C, 03II
銆銆M 0YA, 1FII
銆銆RR A
銆銆M 0Y 1FII, A
銆銆ORL C,ACC.
銆銆MOY 20II, C
銆銆FS 1F
銆銆A 2 00
銆銆82 O1
銆銆DS 1F
銆銆33
銆銆FS 1F
銆銆A 2 02
銆銆82 03
銆銆DS 1F
銆銆03
銆銆FS 1F
銆銆72 L7
銆銆92 20
銆銆娉ㄦ剰.絎涓鏉1.D鍛戒護瀵瑰簲鐨8031鎸囦護鍏堟妸浣嶈繍
銆銆綆楀櫒C鐨勭姸鎬(鍗充笂涓鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋)瀛樺叆
銆銆1FH涓涓鍏鐨凞O浣嶃傚緟鍒癘RT3鍛戒護鏃.瀵瑰簲鐨8031鎸
銆銆浠ゅ垯鎶1FH涓涓鍏鐨凞O浣嶇姸鎬佸瓨鍏ョ瘡鍔犲櫒ACC鐨凞7
銆銆浣嶄腑銆傚北J鍑犺ュ彸寰鐜鎸囦護涓嶅獎鍝嶄綅榪愮畻鍣–.姝ゆ椂C鐨
銆銆鐘舵佷粛涓哄崪涓鍒嗘敮鍥炶礬鐨勮繍綆楃粨鏋.榪欐牱C涓嶢CC.7
銆銆鐩告垨灝辨槸鎬葷殑榪愮畻緇撴灉銆
銆銆涓轟簡澶勭悊JI鑱斿垎鏀鍥炶礬.1.D鍛戒護鍜孫RT3鍛戒護瀵
銆銆搴旂殑鏈哄櫒鐮佷負7瀛楄妭.If}J 1.D1鍒欐洿澶氥
銆銆鍙﹀.絎涓鏉1.D鍛戒護瀵瑰簲鐨勫乏寰鐜鎸囦護鍦ㄨ繖閲
銆銆鏃犳晥銆備絾涓轟簡緙栬瘧鏂逛究.鍙瑕佹槸1.D鍛戒護.鎴1.D1鍛戒護.
銆銆緙栬瘧鏃墮兘浣滃乏寰鐜澶勭悊.鍖呮嫭鍓嶈竟鐨勪緥r銆
銆銆涓嶰RT3鍛戒護瀵瑰簲鐨勫彸寰鐜鎸囦護鍙堣繕鍘熶簡涓婁竴鍒
銆銆鏀鍥炶礬鐨勮繍綆楃粨鏋.浠ヤ究澶勭悊澶氬垎鏀疛I鑱斿洖璺銆
銆銆閲囩敤榪欑嶇Щ浣嶅驚鐜鏂規硶鏈澶氬彲浠ュ勭悊8璺疛I鑱斿垎
銆銆鏀鐨凱1.C紼嬪簭銆
銆銆鍏熾嶅嚑JI鑱斿潡涓嶫I鑱斿潡鐨勪覆鑱.榪欑嶆儏鍐佃佺敤鍒板潡
銆銆涓茶仈鍛戒護ANT3.鍙浠跨収涓婅堪鍔炴硶澶勭悊銆
銆銆閫氳繃浠ヤ笂鍒嗘瀽.鍙浠ョ湅鍑哄笿鍑犱笉鍚岀殑P1.C鍛戒護.
銆銆8031閮芥湁涓庝箣瀵瑰簲鐨勬搷浣滅爜.Ifn闅忓悗鐨勬搷浣滄暟鍒欏北鐩
銆銆搴旂殑P1.C鍏浠跺彿紜瀹氥傛牴鎹榪欎釜瑙勫緥.鎶奝1.C鍛戒護緙
銆銆璇戞垚8031鐨勬満鍣ㄧ爜灝變笉闅句簡銆
銆銆鍓嶈竟宸辯粡鎻愬埌浜嗗畾鏃跺櫒鐨勭紪紼.鐜板湪瀵瑰畾鏃跺櫒鐨
銆銆榪愯屽啀浣滀竴浜涜存槑銆
銆銆浠T 050涓轟緥.琛1鍒楀嚭浜嗗畠鐨勪袱涓鍙瀵誨潃浣嶄負
銆銆50H鍜58H,鍓嶈呭瓨鏀懼畠鐨勮緭鍑虹姸鎬.鍚庤呭瓨鏀懼畠鐨勮緭
銆銆鍏ョ姸鎬併傚洜涓哄畾鏃跺櫒鐨勮緭鍑虹姸鎬佷笉浠呬粎灞卞叾杈撳叆鐘舵
銆銆鍐沖畾.榪樿佸彇鍐熾嶅嚑璁℃椂鏄鍚﹀埌.鎵浠ユ瘡涓瀹氭椂鍣ㄨ侊紝鐗囩敤
銆銆涓や釜鍙瀵誨潃浣嶃傚彟澶栬繕瑕佹湁涓や釜瀛楄妭瀛樺偍鍣50H鍜
銆銆58H.鍓嶈呭瓨鏀懼畠鐨勯勭疆鏃墮棿甯告暟.鍚庤呯敤鏉ヤ綔瀹冪殑璁
銆銆鏁板櫒銆
銆銆鍦ㄧ郴緇熺▼搴忎腑瀹夋帓涓涓瀹氭椂鍣ㄤ腑鏂.鏃舵爣涓0. 1
銆銆縐掋傝繍琛屼腑鑻ユ嫻嬪埌鍙瀵誨潃浣58H(杈撳叆鐘舵)涓1.鍒
銆銆鍦ㄤ腑鏂紼嬪簭涓鎶婂瓧鑺傚瓨鍌ㄥ櫒58H鍔爐o褰撳叾涓鐨勮℃暟
銆銆涓庡瓧鑺傚瓨鍌ㄥ櫒50H涓鐨勯勭疆鏁扮浉絳夋椂鍒欏皢鍙瀵誨潃浣
銆銆50H(杈撳嚭鐘舵)緗1銆傛湪渚嬩腑甯告暟涓篕 100.鏁匱 050鐨
銆銆瀹氭椂鍊間負10縐掋
銆銆鏈ㄦ枃鍙璁ㄨ虹敤涓涓涓瀛樺偍鍣ㄦ潵璁℃暟.鍥營fn瀹氭椂鑼冨洿
銆銆鏈夐檺銆傝嫢瑕佹墿澶у畾鏃惰寖鍥.鍒欑敤鍙屽瓨鍌ㄥ櫒鏉ヨ℃暟銆
銆銆瀵笿鍑犺℃暟鍣– 054-(. 057.鍙鐢ㄥ栭儴涓鏂瀹炵幇鍏跺姛
銆銆鑳姐傜紪紼嬫柟娉曞強緋葷粺紼嬪簭鐨勫畨鎺掍笌瀹氭椂鍣ㄧ浉浼箋
銆銆緋葷粺CPU鍦ㄥ勭悊瀹氭椂鍣ㄣ佽℃暟鍣ㄦ椂.闇鐢ㄥ瓧鑺傛搷
銆銆浣滄寚浠ゃ傛墍浠ュ湪P1.C緋葷粺涓.浣嶆搷浣滄寚浠ゅ拰瀛楄妭鎿嶄綔
銆銆鎸囦護閮借佺敤鍒般
銆銆鍏熾嶅嚑P1.C鐨勪富鎺у懡浠MC,MCR.鍏跺疄鍙鏄澶氫竴
銆銆鏉$患鍚堥昏緫鍏崇郴;榪樻湁甯哥敤鐨凷FT ,RST鍛戒護.鐢ㄣ嶅嚑瀵
銆銆璁℃暟鍣ㄧ疆浣嶃佸嶄綅銆傝繖浜涢兘涓嶉毦鍒嗘瀽銆
銆銆鑷熾嶅嚑FND鍛戒護.瀹為檯涓婃槸瀹夋帓涓鏉¤煩杞鎸囦護.灞
銆銆鐢ㄦ埛紼嬪簭璺寵漿鍒扮郴緇熺▼搴忚緭鍑烘壂鎻忕殑鍏ュ彛澶勫幓銆傝繖鏉
銆銆鍛戒護鏄蹇呬笉鍙灝戠殑銆
銆銆涓嶉毦鐪嬪嚭.鍙瑕侀傚綋瀹夋帓P1.C鐨勫龎浠跺彿.姝{鍦ㄧ紪
銆銆璇戞椂浣滄椂鍙封濆勭悊.琛1涓絀虹櫧鐨勫唴閮≧AM鍙瀵誨潃
銆銆浣嶉兘鏄鍙浠ュ埄鐢ㄧ殑銆傝繖灝辨剰鍛崇潃.鍙鐢8031鑺鐗囧唴閮
銆銆RAM.灝卞彲浠ユ妸P1.C鐨勫龎浠(X,Y,M,T,C絳)鍋氬埌
銆銆100涓浠ヤ笂銆
銆銆3緇撴潫璇
銆銆絎旇呭埄鐢ㄥ岺榪囧幓鐢熶駭鐨勪竴鍧桵CS 51閫氱敤瀹為獙
銆銆鏉垮拰涓鍧24閿,8鍙鏁扮爜綆$殑閿鐩樻樉紺哄櫒涓璇曚綔浜嗙敤
銆銆51涓涓鐗囨満鍒朵綔鍙緙栫▼鎺у埗鍣ㄥ疄楠屻侾1.C鐢ㄦ埛紼嬪簭鍒
銆銆8031鎸囦護鐨勭紪璇戝湪浣滀負緙栫▼鍣ㄧ殑閿鐩樻樉紺哄櫒涓瀹屾垚.
銆銆瀵瑰簲鐨勬満鍣ㄧ爜欏哄簭瀛樺叆鍥3鐨6264涓銆侷fn P1.C鐨勪富
銆銆紼嬪簭杈撳叆鎵鎻忋佽緭鍑烘壂鎻忋佸畾鏃跺櫒涓鏂銆佽℃暟鍣ㄤ腑鏂絳
銆銆鍒欏滻鍖栧湪2764涓銆傛墍鐢ㄧ殑P1.C緙栫▼鏂規硶鍙傜収浜嗕簩鑿
銆銆緋誨垪浜у搧.絎﹀悎閫氱敤鍙緙栫▼鎺у埗鍣ㄦ儻渚嬨傚畠鐨勬妧鏈鎸囨爣
銆銆濂沖彛鍗:
銆銆杈撳叆1(鐐筙000- X007. X010- X017
銆銆杈撳嚭8鐐1' 000- 1' 007
銆銆鍐呴儴緇х數鍣24鐐筂 100- M 107. M 110- M 117
銆銆M 120-M 127
銆銆瀹氭椂鍣4鐐筎 050 T 053鏃舵爣0. 1 s鏈浜哄畾鏃朵集
銆銆25. 5s
銆銆i}涓鏁板櫒4鐐笴 054-C 057鏈浜篿}涓鏁頒集255
銆銆緙栫▼鍛戒護LD LDI
銆銆AND ANI
銆銆OR ORI
銆銆OLT
銆銆M C M CR
銆銆ORP} ANP}
銆銆51;T R5T
銆銆nNn
銆銆杈撳叆紼嬪簭姝ユ暟soo

閱讀全文

與51單片機定時005秒相關的資料

熱點內容
安卓手機有噪音怎麼回事 瀏覽:977
ios程序員飽和 瀏覽:2
51單片機控制pwm程序 瀏覽:299
汽車壓縮機串氣可以修么 瀏覽:633
30天學會全部語法pdf 瀏覽:52
java反編譯修補bug 瀏覽:614
如何修改伺服器ftp地址 瀏覽:119
雲伺服器如何用c盤分d盤 瀏覽:597
蘋果的單片機 瀏覽:804
程序員喝麻辣燙 瀏覽:140
安卓怎麼玩微軟的游戲 瀏覽:54
安卓如何在桌面同時操作好幾個app 瀏覽:72
美國app在哪裡看 瀏覽:320
java文件內容追加 瀏覽:622
為什麼下載壓縮包會變成文檔 瀏覽:727
自我安慰程序員的話 瀏覽:369
android備份程序 瀏覽:713
建設銀行亞洲手機app哪裡下載 瀏覽:502
桌面有一個文件夾圖標變透明了 瀏覽:382
vb文件如何加密 瀏覽:238