====== CSG2 모듈 ======
CSG2를 사용하려면 BASIC소스를 약간 고쳐야 합니다. (CUBLOC STUDIO V4.5이상 사용요망)
- Setcsg2 명령어로 활성화(Active)시켜주어야 합니다.
- 모든 명령어 이름이 Csg2 가 들어갑니다. 예를들어 기존 Csgdec는 Csg2dec로 바꾸어주어야 합니다.
뒷면 슬레이브 어드레스 셋팅 DIP 스위치 조작법은 아래 그림을 참조하세요.
{{ :cubloc:csg2_관련명령:dip.png?nolink |}}
^ A2 A1 A0 ^ 슬레이브 어드레스 ^
| 0 0 0 | 0 |
| 0 0 1 | 1 |
| 0 1 0 | 2 |
| 0 1 1 | 3 |
| 1 0 0 | 4 |
| 1 0 1 | 5 |
| 1 1 0 | 6 |
| 1 1 1 | 7 |
====== Setcsg2 ======
''Setcsg2 SlaveAdr''
| //SlaveAdr : CSG2모듈의 Slave Address // |
| //Data : 표시 데이터 // |
==== 설명 ====
해당 슬레이브 어드레스의 CSG2를 활성화 시킵니다. 반드시 처음에 꼭 한번은 실행시켜주어야 하는 명령어입니다.
====== Csg2dec ======
''Csg2dec SlaveAdr, Data''
| //SlaveAdr : CSG2모듈의 Slave Address // |
| //Data : 표시 데이터 // |
==== 설명 ====
CUBLOC과 CSG2를 연결한 상태에서 사용할 수 있는 명령어입니다.
10진수 형식으로 데이터를 표시합니다.
소스 앞부분에 Set I2c 명령과 Setcsg2명령을 실행시켜주어야 동작합니다.
==== 사용예 ====
Const Device = cb280
Set I2c 9,8
Setcsg2 0 '0번 슬레이브 어드레스 CSG2 모듈을 활성화합니다.
b=8
Do
Csg2dec 0,b
Delay 100
b = b + 1
If b=0 Then b=200
Loop
----
====== Csg2hex ======
''Csg2hex SlaveAdr, Data''
| //SlaveAdr : CSG2모듈의 Slave Address // |
| //Data : 표시 데이터 // |
==== 설명 ====
CUBLOC과 CSG2를 연결한 상태에서 사용할 수 있는 명령어입니다.
16진수 형식으로 데이터를 표시합니다. 소스 앞부분에 Set I2c 명령과 Setcsg2명령을 실행시켜주어야 동작합니다.
==== 사용예 ====
Const Device = cb280
Set I2c 9,8
Setcsg2 0 '0번 슬레이브 어드레스 CSG2 모듈을 활성화합니다.
b=8
Do
Csg2hex 0,b
Delay 100
b = b + 1
If b=0 Then b=200
Loop
----
====== Csg2nput ======
''Csg2nput SlaveAdr, Digit, Data''
| //SlaveAdr : CSG2모듈의 Slave Address// |
| //Digit : 위치 (왼쪽부터 0, 1, 2, 3) // |
| //Data : 표시 데이터 (&h30~&h39, &h41~&h4f) // |
==== 설명 ====
CUBLOC과 CSG2를 연결한 상태에서 사용할 수 있는 명령어입니다.
CSG2모듈의 원하는 위치에 원하는 숫자를 표시하는 명령입니다.
Data의 상위 1비트는 Dot를 On할 때 사용하는 비트입니다. Data는 Ascii코드로 써주어야 하며,
숫자 0~9, 영문자 A~F까지만 표시할 수 있습니다.
소스 앞부분에 Set I2c 명령과 Setcsg2명령을 실행시켜주어야 동작합니다.
==== 사용예 ====
Const Device = cb280
Set I2c 9,8
Setcsg2 0 '0번 슬레이브 어드레스 CSG2 모듈을 활성화합니다.
Csg2nput 0,1,&h30 '1번위치에 0을 표시
----
====== Csg2xput ======
''Csg2xput SlaveAdr, Digit, Data''
| //SlaveAdr : CSG2모듈의 Slave Address// |
| //Digit : 위치 (왼쪽부터 0, 1, 2, 3) // |
| //Data : 표시 데이터 (&h30~&h39, &h41~&h4f) // |
==== 설명 ====
CUBLOC과 CSG2를 연결한 상태에서 사용할 수 있는 명령어입니다.
CSG2모듈의 원하는 위치에 원하는 LED를 On합니다.
8개의 LED를 각각 On / Off할 수 있으므로 Csgnput명령으로 표현할 수 없는 숫자이외의 모양을 표현하고 싶을 때 사용합니다.
소스 앞부분에 Set I2c 명령과 Setcsg2명령을 실행시켜주어야 동작합니다.
{{ :cubloc:csg:7seg.gif?nolink |}}
^ 비트 | 7| 6| 5| 4| 3| 2| 1| 0|
^ LED | H| G| F| E| D| C| B| A|
==== 사용예 ====
Const Device = cb280
Set I2c 9,8
Setcsg2 0 '0번 슬레이브 어드레스 CSG2 모듈을 활성화합니다.
Csg2xput 0,1,&hff '1번위치에 LED전부를 On합니다.
====== Csg2colron ======
''Csg2colron SlaveAdr, 1또는0''
| //SlaveAdr : CSG2모듈의 Slave Address // |
| //OnOff결정 : 1=On, 0=Off // |
==== 설명 ====
CUBLOC과 CSG2를 연결한 상태에서 사용할 수 있는 명령어입니다.
CSG2모듈은 가운데 콜론led가 있습니다. (시계표시에 사용) 이 콜론 led를 켜거나 끌 수 있는 명령어입니다. 소스 앞부분에 Set I2c 명령과 Setcsg2명령을 실행시켜주어야 동작합니다.
==== 사용예 ====
Const Device = cb280
Set I2c 9,8
Setcsg2 0 '0번 슬레이브 어드레스 CSG2 모듈을 활성화합니다.
Csg2colron 0,1 '0번 슬레이브 어드레스의 콜론표시를 On합니다.
====== CSG2 샘플 프로그램 ======
CB210의 포트 8을 SDA, 9번을 SCL로 연결해주세요. CSG2의 슬레이브 어드레스는 0으로 하시면 아래 샘플 프로그램의 실행결과를 보실 수 있습니다.
Const Device = CB210
Set I2c 8,9
Setcsg2 0
Delay 50
Dim A As Integer
Dim b As Integer
Dim c As Integer
Dim Stra As String * 5
Ramclear
Do
'1. beef 16진수 소수점 test(Csg2hex,Csg2nput)
A = &hbeef
Csg2hex 0, A
Csghex 0, A
Delay 1000
For b=0 To 4
Csg2xput 0, b, 0
Csgxput 0, b, 0
Next
Delay 500
Stra = hex4 A
b = 0
Do While b < 4
Csg2nput 0, b, Stra_a(b) + &h80
Csgnput 0, b, Stra_a(b) + &h80
Incr b
Delay 500
Loop
Delay 1000
For b=0 To 4
Csg2xput 0, b, 0
Csgxput 0, b, 0
Next
'2. 위치별 데이터(&h30~&h39 / &h41~&h46) test(Csg2nput)
b=0
Do While b<5
A =&h30
Do While A<&h3A
Csg2nput 0, b, A
Csgnput 0, b, A
Incr A
Delay 150
Loop
Incr b
Loop
Delay 1000
b=0
Do While b<5
A =&h41
Do While A<&h47
Csg2nput 0, b, A Or &H80
Csgnput 0, b, A Or &H80
Incr A
Delay 150
Loop
Incr b
Loop
'3. 개별 세그먼트 led test (Csg2colron, Csg2xput)
b=0
Do While b<5
A=0
Do While A<16
Csg2colron 0, 1
Csg2xput 0, b,1<1
Csg2hex 0, A
Csghex 0, A
Decr A
Loop
Loop
https://youtu.be/6HDxi0JSYlg
[[cubloc:|명령어 목록으로 가기]]