导航:首页 > 编程知识 > clrc编程什么意思

clrc编程什么意思

发布时间:2024-08-01 04:40:51

⑴ 求单片机编程找最大数

程序如下:
MOV
R0,
#21H
;起始地址.
MOV
MAX,#00H
;先用0当做最大值.
MOV
R2,
#20H
;数据长度.
LOOP:
MOV
A,
@R0
;取来一个数据.
CLR
C
SUBB
A,
MAX
;减“最大值”.
JNC
rel1
;不够减就算了.
MOV
A,
@R0
;够减,就把这个数据.
MOV
MAX,A
;当做最大值.
rel1:
INC
R0
;转向下一个.
DJNZ
R2,
LOOP
;循环.
SJMP
$
;结束.
END

⑵ 单片机数码管编程 汇编语言,急

U16INC	MACRO	U16,;;16位无符号型变量加1
LOCALZZ
INC U16+1
MOV A,U16+1
JNZ ZZ
MOV U16+1,#0
INC U16
ZZ:
ENDM

U16MOV MACRO U16,VAL;;16位无符号型变量赋值
MOV U16+1,#LOW(VAL)
MOV U16,#HIGH(VAL)
ENDM

U16DAYV MACRO U16,VAL,;;16位无符号型变量判断大小,最后根据Cy判断
MOV A,U16+1
CLR C
SUBB A,#LOW(VAL)
MOV A,U16
SUBB A,#HIGH(VAL)
ENDM

WX1 EQU P2.0
WX2 EQU P2.1
WX3 EQU P2.2
WX4 EQU P2.3

S4 EQU P1.3
S5 EQU P1.4

LED1 EQU P1.6;;两个LED
LED2 EQU P1.7

JDQ EQU P1.5;;继电器

SMGBZ1 EQU 0X30
DS1 EQU 0X31

ZT EQU DS1+4
JSBZ1 EQU ZT+1;0-39的计数
JSBZ2 EQU ZT+2;计时标志,用于闪烁和计时
JSBZ3 EQU JSBZ2+2;;继电器通断两次的计时和计数

ORG 0
JMP MAIN
ORG 0XB
JMP TimeInterupt

MAIN:
MOV SP,#0X70
MOV R0,#0x70
CLR A
MA1: MOV @R0,A ;数据全清0
DJNZ R0,MA1
CALL JDQLC_STOP
CALL Time0Init

;主循环
LOOP: CALL AJPD
CALL RUN
JMP lOOP

;主运行函数
RUN: MOV A,ZT
CJNE A,#1,RR1
JMP RUN1
RR1: CJNE A,#2,RR2
JMP RUN2
RR2: RET

;;0-39循环
RUN1:
MOV DS1+0,#0X10
MOV DS1+1,#0X10
MOV A,JSBZ1
MOV B,#10
DIV AB
MOV DS1+2,A
MOV DS1+3,B

U16DAYV JSBZ2,1000
JC RUN1_1
U16MOV JSBZ2,0
INC JSBZ1
MOV A,JSBZ1
CJNE A,#39+1,RUN1_1
MOVJSBZ1,#0
RUN1_1:
RET

;;FFFF闪烁
RUN2: U16DAYV JSBZ2,500
JC RUN2_1
MOV DS1+0,#0X10
MOV DS1+1,#0X10
MOV DS1+2,#0X10
MOV DS1+3,#0X10
SETB LED1
SETB LED2
U16DAYV JSBZ2,1000
JC RUN2_2
U16MOV JSBZ2,0
JMP RUN2_2
RUN2_1:
MOV DS1+0,#0X0F
MOV DS1+1,#0X0F
MOV DS1+2,#0X0F
MOV DS1+3,#0X0F
CLR LED1
CLR LED2
RUN2_2:
CALL JDQLC

RET

;按键判断
AJPD:
JNB S4,AJ1
JNB S5,AJ2
RET
AJ1: JNB S4,$
MOV ZT,#2
CALL JDQLC_START
RET
AJ2: CALL JDQLC_STOP
SETB LED1
SETB LED2
JNB S5,$
MOV ZT,#1
MOV JSBZ1,#0
U16MOV JSBZ2,0
RET

JDQLC_START:
U16MOV JSBZ3,0
RET
JDQLC_STOP:
U16MOV JSBZ3,30000
SETB JDQ
RET
;继电器通断两次
JDQLC:
U16DAYV JSBZ3,1000
JNC JDQ_1
CLR JDQ;通1s
RET
JDQ_1: U16DAYV JSBZ3,1500
JNC JDQ_2
SETB JDQ;断0.5s
RET
JDQ_2: U16DAYV JSBZ3,1500+1000
JNC JDQ_3
CLR JDQ;通1s
RET
JDQ_3: U16DAYV JSBZ3,3000
JNC JDQ_4
SETB JDQ;断
JDQ_4: RET


;;定时器初始化
Time0Init:
MOV TMOD,#0X01
MOV TH0,#HIGH(65536-1000)
MOV TL0,#LOW(65536-1000)
SETB TR0
SETB ET0
SETB EA
RET

;;数码显示
SMXS:
INC SMGBZ1
MOV A,SMGBZ1
SUBB A,#4
JC SMXS1
MOV SMGBZ1,#0

SMXS1:
MOV P2,#0XF0
MOV A,SMGBZ1
ADD A,#DS1
MOV R0,A
MOV A,@R0
MOV DPTR,#TABD
MOVC A,@A+DPTR
MOV P0,A
MOV DPTR,#TABW
MOV A,SMGBZ1
MOVC A,@A+DPTR
MOV P2,A
RET

TABD:;段码
DB0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
DB0X88,0X83,0XC6,0XA1,0X86,0X8E,0XFF,0XBF
TABW:;位码
DB0xF1,0xF2,0xF4,0xF8


;;定时器0中断
TimeInterupt:
PUSH PSW
PUSH ACC

MOV TH0,#HIGH(65536-1000)
MOV TL0,#LOW(65536-1000)
CALL SMXS
U16INC JSBZ2
U16DAYV JSBZ3,30000
JNC TimeOut
U16INC JSBZ3


TimeOut:
POP ACC
POP PSW
RETI

END

阅读全文

与clrc编程什么意思相关的资料

热点内容
linuxsftp如何上传文件 浏览:603
苹果文件覆盖 浏览:327
网络足彩名人有哪些 浏览:639
pc共享网络给电脑 浏览:796
linuxkill重启进程 浏览:658
sketchup景观教程 浏览:730
win10管理找不到模块 浏览:472
苹果手机查看电脑文件 浏览:61
微信不访问视频文件夹吗 浏览:259
文件夹加密大师注册码 浏览:1
onedrive怎么上传文件 浏览:488
android多线程写文件栈溢出 浏览:242
台电酷闪量产工具 浏览:837
如何破坏文件 浏览:15
从什么网站上查找国家标准 浏览:254
iphone5s最省电的浏览器 浏览:225
用数据线如何接摄像头 浏览:110
qq手机电脑互传文件 浏览:613
linux内核升级方法 浏览:986
iphone5没有热点 浏览:189

友情链接