导航:首页 > 操作系统 > 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秒相关的资料

热点内容
mc命令方块怎么提取 浏览:364
有关程序员的五大魔咒你中了几个 浏览:204
本地文件如何上传linux服务器 浏览:17
传奇资源网站源码 浏览:377
f26app怎么下载 浏览:120
程序员与酒 浏览:439
php政府网站源码 浏览:912
前端面试常问算法 浏览:153
pythonopen可以打开文件夹吗 浏览:635
不锈钢加密网带厂家 浏览:347
哪一年除夕不算法定节假日 浏览:40
程序员对键盘的需求 浏览:605
程序员的峥嵘岁月 浏览:58
python调用类里面的函数 浏览:473
pre加密头发医院 浏览:547
优先级高服务算法 浏览:840
抖音最火解压游戏名字 浏览:952
java打jar包命令 浏览:176
阿里云服务器可以当挂机宝用吗 浏览:200
oppo微信加密图案如何取消 浏览:146