ZQ9712单片机汇编控制源程序

发布时间:2022-12-26  

;************IC:ZQ9712**************

;编缉: 版本:1.0 时间:2005.9.30

;功能: 七种模式 1.七色段填充

; 2.七色单填充

; 3.七色整体变化

;****10米**** 4.七色段慢追

; 5.七色段快追

; 6.七色流水

; 7.七色浪涌

;*********一般寄存器*************

p5==0x05

p6==0x06

iocb==0x0c

iocd==0x0d

pc==0x02

status==0x03

;*********位定义**********

c==0

z==2

data==0

LI==2

clk==1

;*********自定义*********

x1==13h

x1a==27h

y1==14h

xy==15h

temp==16h

temp0==1bh

temp1==1ch

temp_js==1dh

temp_js1==1eh

colorcs==17h

colorcs3==18h

swk==19h

count1==20h

count1a==26h

time2==21h

cs==22h

csa==28h

sw_cs1==23h

time1==24h ;速度的快慢

sumled==25 ;灯亮的个数

; piansu==3 ;可计算长度

modeum==1ah

lycolorcs==10h

ly5cs==11h


;***********主程序**************

ORG 00H

jmp main

org 0x11

main:

MOV A,@00H

IOW P5

mov a,@0xf0 ;port5下拉

iow iocb

mov a,@0x00

iow iocd ;p6口上拉使能

clr p5

clr colorcs

clr time2

clr sw_cs1

clr swk

clr x1

clr x1a

;*************清屏******************

qingpin:

mov a,@2 ; 2x250=500 定义20米

mov x1a,a

qpa2 mov a,@250 ;清250个点

mov x1,a

qp1 mov a,@0b00000000 ;给颜色表COLORGB=1

; call colorgb

call send3

djz x1

jmp qp1

djz x1a

jmp qpa2

call zli

; jmp mode6 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; jmp mode7

jmp mode1

colorgb:

add pc,a

nop

; retl @0b00000000 ;无色-1

retl @0b00000001 ;红---2

retl @0b00000010 ;绿----3

retl @0b00000100 ;蓝----4

retl @0b00000011 ;红绿--5

retl @0b00000110 ;绿蓝--6

retl @0b00000101 ;红蓝 --7

retl @0b00000111 ;红绿蓝---8

; retl @0b00000000 ;无色---9

colorgb_1:

add pc,a

nop

retl @0b00000001 ;红---2

retl @0b00000000

retl @0b00000010 ;绿----3

retl @0b00000000

retl @0b00000100 ;蓝----4

retl @0b00000000

retl @0b00000011 ;红绿--5

retl @0b00000000

retl @0b00000110 ;绿蓝--6

retl @0b00000000

retl @0b00000101 ;红蓝 --7

retl @0b00000000

retl @0b00000111 ;红绿蓝---8

retl @0b00000000 ;无色---9

colorgb_2:

add pc,a

nop

retl @0b00000011 ;无色-1

retl @0b00000101 ;红---2

retl @0b00000111 ;绿----3

retl @0b00000111 ;蓝----4

retl @0b00000111 ;红绿--5

retl @0b00000101 ;绿蓝--6

retl @0b00000111 ;红蓝 --7

retl @0b00000101 ;红绿蓝---8

retl @0b00000011 ;无色---9

lycolorb:

add pc,a

nop

retl @0b00000001 ;红---2

retl @0b00000011 ;红绿--5

retl @0b00000010 ;绿----3

retl @0b00000110 ;绿蓝--6

retl @0b00000100 ;蓝----4

retl @0b00000101 ;红蓝 --7

retl @0b00000111 ;红绿蓝---8

wbcolorb:

add pc,a

nop

retl @0b00000001 ;红

retl @0b00000011 ;红绿

retl @0b00000010 ;绿

retl @0b00000110 ;绿蓝

retl @0b00000100 ;蓝

retl @0b00000101 ;蓝红

retl @0b00000001 ;红

ZLI:

NOP

Bs P5,LI

mov a,@25

mov csa,a

zli1 djz csa

jmp zli1

clr csa

nop

Bc P5,LI

nop

mov a,@15

mov csa,a

zli2 djz csa

jmp zli2

clr csa

nop

RET

ZCLK:

NOP

mov a,@15

mov csa,a

zclk1 djz csa

jmp zclk1

clr csa

NOP

Bc P5,CLK

nop

mov a,@15

mov csa,a

zclk2 djz csa

jmp zclk2

clr csa

NOP

Bs P5,CLK

NOP

mov a,@25

mov csa,a

zclk3 djz csa

jmp zclk3

clr csa

NOP

RET

send3:

MOV TEMP,A

MOV A,@3

MOV CS,A

LOOPR4 BS P5,DATA ;p50

RRC TEMP

;

mov a,@10

mov csa,a

lcsa djz csa ;短暂延时

jmp lcsa

clr csa

JBC STATUS,C

BC P5,DATA

BS P5,CLK

;

mov a,@15

mov csa,a

lcsa1 djz csa ;短暂延时

jmp lcsa1

clr csa

nop

BC P5,CLK ;p51

nop

DJZ CS

JMP LOOPR4

ret


;**************模式1:七色段填充***************

;********每点32MS速度

;*******时间:32MSX42米X25点=33600MS=33.6S

mode1:

mov a,@100 ;模式1时间速度=150

mov time1,a

mov a,@6 ;遍7X6=42米

mov modeum,a

mode1_2 clr colorcs

colorchang mov a,@sumled ;=25点为1米一段

mov count1,a

inc colorcs

loop mov a,colorcs ;指定显示什么颜色查颜色表

call colorgb ;调用颜色表

call send3 ;调用发射3位数据

call zli ;显示3位数据

call delay1

mov a,swk ;swk=1

xor a,@1

jbs status,z ;结果为0,z=1

jmp jxmode1_1

clr colorcs

inc swk ;swk=2

jmp xfmode1_a

jxmode1_1 djz count1

jmp loop

clr count1

mov a,@7 ;查表第几行

xor a,colorcs

jbs status,z

jmp colorchang

clr colorcs

xfmode1_a mov a,swk

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    的一些例子怎么输出的和自己想的不一样等等诸如此类的问题,我想说的是机器是个死东西,程序的写法有千千万种,各路知乎大神不可能涵盖所有问题,只能提供指导思路,重要的还是自己要掌握排除问题的方法,其中调试程序就是让程序一步一步的执行,当出现疑难杂症时我们可以用这种方法去查看单片机......
    STM32软件运行过程,如何查看全局变量的实时数据;下面是一个单片机STM32RCT6的PA8,PA9,PA10引脚输出PWM波形的仿真步骤,此外还展示了软件运行过程,如何查看......
    STM32软件运行过程,如何查看全局变量的实时数据?;下面是一个单片机STM32RCT6的PA8,PA9,PA10引脚输出PWM波形的仿真步骤,此外还展示了软件运行过程,如何查看......
    ,需要查看单片机芯片的数据手册,确定需要升级的固件版本和升级方法,并将升级相关的程序代码和数据下载到电脑中。 3. 确定升级模式 在进行单片机UART升级时,需要确定芯片的升级模式。大多数单片机......
    开发环境的使用、单片机编程和调试。 对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手无策;单片机......
    就是它的可编程特性。 可编程的意思就说,我们可以通过编写C语言或者汇编程序,下载到单片机里面。 让它按照我们的程序逻辑去控制电路。 这样就灵活性就非常高了,我们完全可以根据自己的想法和创业,结合单片机......
    固件库使用的非常熟悉之后可以转战寄存器了。 对于寄存器操作绝不是点个小灯就完了,你需要做的是知道如何查看芯片手册,知道固件库里的每个宏定义或者函数这么写的依据是什么?如果让你来写一个固件库你会怎么写? 当你......
    沟通的桥梁。 第二个就是STC-ISP它是用来下载的,就是我们从Keil5写好程序之后它会生成一个文件,这个文件就是二进制的单片机可以识别的文件然后通过STC-ISP这个软件传送到单片机里,STC-ISP这个......
    上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教你单片机开发环境的使用、单片机编程和调试。 对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何......
    的时候,如何与电脑通信的呢?原因单片机在出厂前,就在LDROM里固化了程序,这样,全新的单片机,我们才能下载程序,不然的话,我们只能用专业的编程器去下载。LDROM里的程序用户是读不出来的,也不......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>