labview2011,用指示灯做了一个布尔二维数组,想实现一列流水灯,如何实现?

labview2011,用指示灯做了一个布尔二维数组,想实现一列流水灯,如何实现?,第1张

这个其实是很简单的程序,给你个思路吧

1、设计好你想显示的样式,做成一个2维布尔数组常量,需要灯亮的地方为T,不需要的为F,设常量数组的春桐列数量是a

2、设计扒裤坦好前面板上显示控件的样式,就是若干行若干列的一个2维布尔数组显示控件,设显示控件数组的列数量是b

3、既然是流水灯,这里假定第2步中显示控件数组的列数量小于第3步中常量数组的列数量,也就是a>b

4、建立一个while循环,每次循环提取常量数组中纯谈的第i列开始的b列组成的子数组,赋值给显示控件数组

程序完成

希望能帮到你

实验目宴棚嫌的:本程序主晌手要实现一个简单的流水灯程序

即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。)

硬件要求:拨码开关S2全部置ON。

#include<p16f877A.inc> 调用头文件

__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC

芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体和档HS振荡

**********************用户寄存器定义********************

count equ 20h 移位次数寄存器

del_va1 equ 0ffh 外层延时参数

del_va2 equ 0ffh 内层延时参数

org 00h 程序人口地址

addlw0ffh

**********************主程序开始***********************

main

nop ICD所需要的一条空指令

clrf PORTC 先清楚C口所有显示

banksel TRISC 选择I/O口方向寄存器所在的体

clrf TRISC 设置C口全为输出

clrf STATUS 返回体0

movlw.8

movwfcount 装载循环次数8(C口共8位)

bsf STATUS,C置进位标志位为1,因循环移位是带进位循环的

loop

rlf PORTC,1 C口左移1位

call delay

call delay

CALL delay 调用三次延时程序(保证亮度,以及流水灯闪烁速度)

bcf STATUS,C清0进位标志位(永远只有一只LED亮)

DECFSZ count,1 判断是否一轮循环结束

goto loop否,继续循环移位

GOTO main是,程序重头开始

***********************延时程序*************************

delay

movlwdel_va1 延时程序外层参数

movwf30h

movlwdel_va2 延时程序内层参数

movwf31h

decfsz 31h,1

goto $-1

decfsz 30h,1

goto $-4

return

********************程序结束****************************

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12385185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存