Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;
- ;========== 機能 ========== MCLC_Ver-B 31/04/11
- ;<ハード>
- ;*コントローラとしてtiny2313を使用
- ;*I/OはSW入力1~8、LED出力1~6、通信UART(RxD、TxD)の3種
- ;*SW入力、LED出力は共に負論理(スィッチオンでローレベル入力、
- ; ローレベル出力でLED点灯)
- ;*入出力ピン番号
- ; reset |1 U 20| Vcc
- ; RxD |2 19| SW7
- ; TxD |3 18| SW6
- ; |4 17| LED6
- ; SW8 |5 16| LED5
- ; SW1 |6 15| LED4
- ; SW2 |7 14| LED3
- ; SW3 |8 13| LED2
- ; SW4 |9 12| LED1
- ; GND |10 11| SW5
- ;*変更したヒューズビット
- ; BOODLEVEL1,0:0,0 for BOD 4.3V (Vcc=5V)
- ; CKDIV8:1 for 8MHz internal OSC
- ;
- ;<SWによる点灯・消灯操作、明るさ変更操作>
- ;*SWはタクトスィッチ(プッシュオン、モメンタリ動作)の使用を想定している。
- ;*SW1~SW6を押すと対応する番号のLED1~LED6のいずれかが点灯し
- ; 、SWを離した後、再度押すとそのLEDが消灯する。
- ;*SW1~SW4に対応しているLED1~LED4は連続点灯し、
- ; SW5、SW6は対応しているLED5、LED6が点滅点灯する(ウィンカーを想定)。
- ; SW7はハザードを想定しており、LED5とLED6の2個が同時に点滅点灯する
- ;*SW1とSW2に対応するLED1とLED2はヘッドライトのハイビームとロービームを
- ; 想定しており、同時に点灯することはできない。
- ; たとえばLED1が点灯している時にSW2を押すと、LED1は自動的に消灯する。
- ; SW5とSW6に対応するLED5とLED6は左右のウィンカーを想定しており、
- ; 同時に点滅点灯することはできない。
- ; たとえばLED5が点灯している時にSW6を押すと、LED5は自動的に消灯する。
- ;
- ;*SW8による明るさの変更
- ; +SW8を押す毎に、点灯しているLEDの明るさのレベルが1段階上がる。
- ; したがって任意のLEDを任意の明るさに、1個あるいは複数個まとめて
- ; 設定できる。
- ; 設定レベルは1~8の8段階あり、周期的に変化する。
- ; すなわち最も明るいレベル8を越えると、もっとも暗いレベル1に戻る。
- ; +ウィンカー、ハザードを想定しているLED5とLED6は同じ明るさとなる。
- ; LED5とLED6とで異なる明るさを設定することはできない。
- ; +変更した明るさレベルは電源オフ時も保持され、
- ; 次回の電源オン(リセット)時に再現される。
- ;
- ;<UARTによる点灯・消灯操作、明るさ変更操作>
- ;*通信規格は19.2Kボー、8データビット、パリティ無し。
- ;*電源オン(リセット)時にスタートメッセージとして
- ; 「Gentlemen, start your engine.」
- ; を送信する。通信状況(ボーレィトや信号線の接続状況など)を確認できる。
- ;*コマンド文字'1'~'8'の何れかを受信すると、SW1~SW8の操作と同様に
- ; 対応するLEDを点灯、または消灯し、明るさを変更する。
- ;*正しいコマンド文字'1'~'8'であれば、受信後0.5秒以内にその文字をエコーバックする。
- ; これら以外の文字であれば、不正コマンドとして'?'を送信する。
- ;*エコーバックを使用しないのであれば(コマンド文字送信間隔を0.5秒以上あけるなら)
- ; 接続ケーブル本数を3本(電源とRxD)にできる。
- ;
- ;<点灯順序を当てるゲーム>
- ;*コマンド文字[9]を受信するとゲームが始まる。
- ;*CPUはLED6個の中から4個を選んで順に点灯しようとしている。
- ; それらの点灯順序と点灯位置(1~6)を当てるゲームである。
- ;*解答の順序と位置が一致しているLEDの個数を[H]として
- ; 順序が異なるLEDの個数を[L]として表示する。
- ; この[H]と[L]の個数を参照して点灯順序と点灯位置を当てる。
- ; つまりH4と表示されれば正解であり、ゲームは終了する
- ;*答えが表示されている時に[9]で再ゲーム、[0]でゲーム終了する。
- ; 例 CPUがLED5、LED3、LED1、LED2の順に点灯しようとしている時
- ; Guess 4LEDs ON sequence as XXXX[1-6][Cr] or Abort[0]
- ; #1 ? 1234 H0,L3
- ; #2 ? 2345 H1,L2
- ; #3 ? 3456 H0,L2
- ; #4 ? 1235 H0,L4
- ; #5 ? 3512 H2,L2
- ; #6 ? 3521 H0,L4
- ; #7 ? 5312 H4,L0 Hit, congratulations !
- ; New game[9] or Bye[0] ? 0
- ;*9回まで解答できる。
- ; #9 ? 2134 H1,L2 Over try times, my sequence is 2453
- ;*正解、または中止で解答の数字を送信すると共に、そのLED4個を順に点灯する。
- ;*リターンキーを入力する直前の4個の数字が有効なので、
- ; 解答を間違えた時、変更したい時は続けて希望する4個の数字を入力する。
- ;*Abort(中止)で解答を表示し、Bye(終了)で通常のLED点灯制御に戻る。
- ;
- ;今後の作業
- ;*SWを廃止してUART受信のみで点灯し、
- ; 周波数安定のために内部発振から水晶に変え、LEDを7点増やす。
- ;*CPUをmega328やmega1284などに変更してSWとLED点数を増やす。
- ;*ワイアレス化する。
- ;*他のゲーム(モグラ叩きなど)に変更する。
- ;
- ;HEXファイル
- :020000020000FC
- :1000000062C01895189518951895189518950BC0F5
- :100010001895189518951895189510C01895189555
- :100020001895189518956CB1603328F0693328F04D
- :1000300011F4F8948BC06FE36CB91895E39409F44C
- :10004000F394CF93DF93EF93FF93EFB7EF93869BF8
- :100050009F7EB69B9F7DB79B9F7B80FF04C08A16C7
- :1000600010F0C09801C0C09A81FF04C09A1610F029
- :10007000C19801C0C19A82FF04C0AA1610F0C298AC
- :1000800001C0C29A83FF04C0BA1610F0C39801C021
- :10009000C39A84FF04C0CA1610F0C49801C0C49A61
- :1000A00085FF04C0DA1610F0C59801C0C59AEDB7F7
- :1000B000ED93A770EC91EDBFEF91EFBFFF91EF9142
- :1000C000DF91CF911895E0E8EDBFEFEFEBBBECEFE0
- :1000D000EABBEFEFE8BBEFE3E7BB80E070E02ED0D8
- :1000E000EFEFE2BBE0E0E1BB6627E9E1E9B9E8E96F
- :1000F000EAB9F5E0E2ED60D2E2E0E0BFE3E0E3BFC1
- :10010000EE27E2BFEDE7E6BFE5E0E9BFE0E2D6D1EA
- :100110008D2ED4D19D2ED2D1AD2ED0D1BD2ECED10B
- :10012000CD2ECCD1DD2EDDD1E7D1F1D1FBD105D261
- :100130000FD219D2B0E0A0E0789409C1D6E0CFE3A5
- :10014000C095C8BB19D2DA95D9F70895E0E8EDBF9C
- :10015000D9E32AD2F3DFF5E0E2EF2ED2DFEFD8BB0E
- :10016000C7D050E3DBB1DBB953955A33A0F41BD2AF
- :10017000D3E21AD2D52F18D214D211D212D28CD0E7
- :10018000D03369F04CD042954F70443068F3F6E0BC
- :10019000ECE412D20CC0F6E0E8E20ED204C004D2C5
- :1001A00000D2DDE401D2F6E0ECE306D215D0F6E0B1
- :1001B000E4E602D21AD0DFEFD8BBDED1DBB1D7FF45
- :1001C000F9CFE7D1F1D1D03321F0D93321F2E7D102
- :1001D000F1CFE7D1E8D177CFD32FE6D1D22FE4D139
- :1001E000D12FE2D1D02FE0D1DEC1D32F05D0D22F35
- :1001F00003D0D12F01D0D02FD13309F4C098D233FE
- :1002000009F4C198D33309F4C298D43309F4C398DC
- :10021000D53309F4C498D63309F4C598ADC1442741
- :10022000B31609F4405FB21609F44395B11609F408
- :100230004395B01609F44395A31609F44395A21605
- :1002400009F4405FA11609F44395A01609F44395FB
- :10025000931609F44395921609F44395911609F4FF
- :10026000405F901609F44395831609F4439582166E
- :1002700009F44395811609F44395801609F4405F0B
- :1002800090D1D8E403D0DCE28FD1DCE48DD142956B
- :10029000D42FDF70D06388C188249924AA24BB247A
- :1002A00078D1DD3061F0D033F9F07ED1D133E8F090
- :1002B000D733D8F4BA2CA92C982C8D2EF1CFD0E0BE
- :1002C0008D1699F09D1689F0AD1679F0BD1669F07E
- :1002D000891459F08A1449F08B1439F09A1429F0D2
- :1002E0009B1419F0AB1409F00895D1E25DD1D4CF7D
- :1002F000EE2DFF2DEE0CFF1CEE0CFF1CEE0EFF1E74
- :10030000E5EEEE0EE3E0EE1E0E2D1E2D12952F2DC6
- :100310003F2D32950F701F702F703F70063040F7E1
- :10032000163030F7263020F7363010F7011701F37A
- :100330000217F1F20317E1F21217D1F21317C1F20B
- :100340002317B1F20F5C1F5C2F5C3F5C0895829B0A
- :1003500003C06133E1F7A6D0C4D0D1E07D278D275B
- :100360000ED1829BFDCFF3CF839B03C06233E1F7B5
- :1003700099D0ACD0D2E07D278D2701D1839BFDCFD2
- :10038000F3CF849B03C06333E1F78CD0D4E07D27A7
- :100390008D27F5D0849BFDCFF4CF859B03C06433BC
- :1003A000E1F780D0D8E07D278D27E9D0859BFDCF70
- :1003B000F4CF869B03C06533E1F774D0BED0C8D0BC
- :1003C000D0E17D2B8D2BDBD090618D27D8D094FF91
- :1003D00003C06533D1F766D07F7E8F7ED0D0E9CF62
- :1003E000B69B03C06633E1F75DD09CD0B1D0D0E2BC
- :1003F0007D2B8D2BC4D090628D27C1D095FF03C07B
- :100400006633D1F74FD07F7D8F7DB9D0E9CFB79BD1
- :1004100003C06733E1F746D085D08FD0D0E37D2B82
- :100420008D2BADD090648D27AAD096FF03C0673383
- :10043000D1F738D07F7C8F7CA2D0E9CFC89B03C096
- :100440006833E1F72FD070FF06C08394D7E08D2288
- :10045000D82DE0E22AD071FF06C09394D7E09D2208
- :10046000D92DE1E222D072FF06C0A394D7E0AD22DD
- :10047000DA2DE2E21AD073FF06C0B394D7E0BD22B2
- :10048000DB2DE3E212D074FD02C075FF09C0C394F6
- :10049000D7E0CD22DC2CDC2DE4E207D0E5E205D06C
- :1004A0006ED0CCCF6CB966270895E199FECFEEBB34
- :1004B000DDBBF894E29AE19A78940895E199FECF31
- :1004C000EEBBE09ADDB3D770E39508957E7F8E7F13
- :1004D000F0E0EFE7D1E0D193D7EAD083D9E70D2E52
- :1004E00008957D7F8D7FF0E0EAE8D1E0D193D4EBF1
- :1004F000D083D4E81D2E08957B7F8B7FF0E0E5E963
- :10050000D1E0D193D1ECD083DFE82D2E0895777F11
- :10051000877FF0E0E0EAD1E0D193DDECD083DAE947
- :100520003D2E08957F7E8F7EF0E0EBEAD1E0D193FF
- :10053000D9EDD083D5EA4D2E08957F7D8F7DF0E0F3
- :10054000E6EBD1E0D193D0EFD083D0EB5D2E0895D0
- :100550007F7C8F7CF0E0E1ECD2E0D193D7E0D083D8
- :10056000DBEB6D2E0895F0E0ECECD2E0D193DEE110
- :10057000D083D6EC7D2E0895DF93D3E302C0DF93C2
- :10058000D5E0E0E2FEE43197F1F7DA95D1F7DF91BB
- :100590000895DBB1D7FFFDCFDBB9DCB10895DFE310
- :1005A00003C0D0E201C0DDE0DCB9DF93DBB1D6FFF0
- :1005B000FDCFDBB9DF910895C895D02D3196D030AD
- :1005C000D9F3DF3F29F0DCB95E9BFECF5E9AF4CF12
- :1005D00008950D47656E746C656D656E2C2073749F
- :1005E00061727420796F757220656E67696E652E11
- :1005F0000DFF0D477565737320344C454473204FD0
- :100600004E2073657175656E63652061732058585F
- :1006100058585B312D365D5B43725D206F7220410F
- :10062000626F72745B305DFF204F7665722074726A
- :10063000792074696D65732C206DFFFF79207365D7
- :100640007175656E636520697320FFFF20486974CA
- :100650002C20636F6E67726174756C6174696F6E64
- :10066000732021FF0D4E65772067616D655B395DF5
- :0E067000206F72204279655B305D203F20FFD5
- :00000001FF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement