====== 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:|명령어 목록으로 가기]]