MB-LCD1 アセンブラ・ライブラリによる制御

Similar documents
MB-LCD1 標準入出力関数による表示

アプリケーションノート MT-R300 割り込みプログラムのデバッグ方法

uPC1093 DS

uPC258,4558 DS

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

Microsoft Word - TC4011BP_BF_BFT_J_P8_060601_.doc

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

Microsoft Word - TA79L05_06_08_09_10_12_15_18_20_24F_J_P11_070219_.doc

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

Prog1_10th

Microsoft Word - TC4538BP_BF_J_2002_040917_.doc

HD74HCT564, HD74HCT574

RD2.0S~RD150S DS

The DatasheetArchive - Datasheet Search Engine

2SC1213, 2SC1213A データシート

CS+ RL78コンパイラ CC-RL V リリースノート

TC74HC00AP/AF

2SD667. 2SD667A データシート

TC74HC14AP/AF

TC74HC4017AP/AF

2SC458, 2SC2308 データシート

TC7SET08FU_J_

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

RY_R8C38ボード RY-WRITER基板 自動書き込み・実行解説マニュアル

<4D F736F F D B D A778F4B835A EC B290882E646F63>

プログラミング実習I

RL78/F13, F14 割り込み要因判別方法

Microsoft Word - TC74HC107AP_AF_J_P9_060201_.doc

uPA2000 Series DS

TC74HC109AP/AF

HD74LV2G74A

TC74HC112AP/AF

2SC460, 2SC461 データシート

AC08DSMA, AC08FSMA DS

TC4093BP/BF

Microsoft Word - Training10_プリプロセッサ.docx

TC7WT126FU

HD74LV2GT34A

Microsoft Word - Cubesuite+_78K0R.doc

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

DF2B29FU_J_

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

CR02AM-8 データシート <TO-92>

TC7SZU04AFS_J_

TC7SHU04FU_J_

PowerPoint Presentation

DF2B6.8FS_J_

DF10G5M4N_J_

TC7SET125FU_J_

スライド 1

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

Microsoft Word - TC74HCT245AP_AF_J_P8_060201_.doc

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

EB-RL7023+SB/D2

2SC5200N_J_

Microsoft PowerPoint - CproNt02.ppt [互換モード]

SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い

スライド 1

TC74HCT245AP/AF

Microsoft Word - TC74HC245_640AP_AF_P8_060201_.doc

TTC004B_J_

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

V850ES/KE2, V850ES/KF2, V850ES/KG2, V850ES/KJ2 デバイス・ファイル DF (V1.00) ユーザーズ・マニュアル

TTD1415B_J_

TC4017BP/BF

Products catalog

ColorNavigator 7インストールガイド

TC74HC245,640AP/AF

TTD1409B_J_

2SK2313

Microsoft PowerPoint - TLP184,185_TLP290,291 比較表 ppt

Microsoft Word - f203f5da7f8dcb79bcf8f7b2efb0390d406bccf30303b doc

Microsoft PowerPoint ppt

PowerPoint Presentation

TLP521-1,TLP521-2,TLP521-4 東芝フォトカプラ赤外 LED + フォトトランジスタ TLP521-1,TLP521-2,TLP521-4 電子計算機の I / O インタフェース システム機器や計測器のノイズカット 各種コントローラ 複写機 自動販売機 電位が異なる回路間の信

PN-T321

Microsoft Word - Cubesuite+_V850_AM.doc

M4Gグループ(1)_CEC-A

Prog1_12th

02: 変数と標準入出力

TTB1067B_J_

ブート領域、フラッシュ領域の分割方法 RL78ファミリ用Cコンパイラ CC-RL

RL78/G1D評価ボード搭載モジュール 基板設計データ

Microsoft PowerPoint pptx

TM Bluetooth® Connector ユーザーズマニュアル

ファイル入出力

講習No.9

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

02: 変数と標準入出力

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

UMB-CP2114 User's Manual

Visual DSP++ install and tutorial

TRS3E65F_J_

Microsoft PowerPoint - m54583fp_j.ppt

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

Transcription:

アプリケーションノート MB-LCD1_2 2005/9 液晶表示ユニット MB-LCD1 アセンブラ ライブラリによる制御 概要 本アプリケーションノートは 液晶表示ユニット MB-LCD1 を制御するアセンブラルーチンを C 言語プログラムでライブラリとして使用する方法を説明するものです 動作環境は以下のとおりとします ターゲットマイコン :SR8C15CP ターゲットボード :MB-RS8 開発環境 : ルネサステクノロジ社統合化開発環境 HEW Version 4.00.01.001 ツールチェイン Renesas M16C Standard Toolchain 5.30.02 MB-LCD1 の H/W 構成 液晶表示部 (Sunlike Display Tech 社 SC1602BS*B) にシフトレジスタ 74HC164 を接続し ポート信号 3 線とリセット信号のみによる制御を実現しています 各ポート接続表 SR8C15CP 74HC164( シフトレジスタ ) SC1602BS*B( 液晶表示部 ) P3_3( 出力 ) A,B シリアルデータ入力 - P3_4( 出力 ) - E 動作起動信号入力 P3_5( 出力 ) CLK クロック入力 - RESET( 出力 ) CLR クリア信号入力 - 図 1 MB-LCD1 接続 1/13 SG043108

サンプルプログラムの構成 本アプリケーションノートで紹介するサンプルプログラムは HEW のプロジェクトフォルダで提供しています 以下にプロジェクトフォルダの構成を示します ncrt0.a30 M16C ツールチェイン標準のスタートアップルーチン ncrt0.a30 に 外部発振回路からのクロックをメインクロックとする設定を追加しています 本スタートアップルーチン実行後 メインクロックは 20MHz となります ( ターゲットボード MB-RS8 に搭載した場合の動作を想定しています ) 全セクションを設定する定義ファイル SECT30.INC をインクルードしています 本スタートアップルーチンは必ず先頭にリンクしてください sect30.inc M16C ツールチェイン標準のセクション定義ファイルです ncrt0.a30 からインクルードされます sfr_r815.inc ターゲットマイコン SR8C15CP( ルネサステクノロジ R8C/Tiny シリーズ R5F21154SP) の SFR(Special Function Register) の定義ファイルです Lcd.a30 からインクルードされています Lcd.h Lcd.a30 ファイル内のルーチンを C 言語でライブラリとして使用するためのヘッダファイルです 2/13 SG043108

Lcd.a30 MB-LCD1 を制御するアセンブリ言語プログラムのソースファイルです 本プログラムで使用する周辺機能は以下のとおりです 入出力ポート :P3_3( 出力 ) P3_4( 出力 ) P3_5( 出力 ) LCD_LIB.c MB-LCD1 に文字キャラクタを表示させる C 言語のプログラムです Lcd.a30 内のルーチンを表示ドライバとして使用しています (string.h) 本サンプルプログラム内で文字列操作関数を使用しているので string.h をインクルードしています 本サンプルプログラムでは 環境変数 INC30 より指定されたディレクトリ ( デフォルトのインストールで C:\Renesas\NC30WA\V530R02\inc30 に設定されています ) にあることが前提となります (r8clib.lib) 本サンプルプログラム内で文字列操作関数を使用しているので r8clib.lib が環境変数 LIB30 より指定されたディレクトリ ( デフォルトのインストールで C:\Renesas\NC30WA\V530R02\lib30 に設定されています ) にあることが前提となります 3/13 SG043108

サンプルプログラムの内容 main <LCD_LIB.c> 液晶表示ユニット MB-LCD1( キャラクタタイプ 16 文字 2 行 ) に Let s try R8C15! Welcome to R8C! と表示させる 名前 main 引数 戻り値 呼び出し元 - 使用ライブラリルーチン (Lcd.a30 より ) LCD_init,LCD_puts,LCD_cursor LCD_gotoXY,LCD_putc 使用標準入出力関数ライブラリ strcpy ( コンパイラ NC30WA で提供 ) < リスト > #include <string.h> // LCD ライブラリヘッダ void main(void) char str[20]; char c; long l; // LCD 初期化 strcpy(str,"let's try H8?"); LCD_puts(str); LCD_cursor(1); // 文字列表示 // カーソル表示 ; // wait time LCD_gotoXY(12,0); // カーソル移動 ; // wait time LCD_gotoXY(11,0); // カーソル移動 ; // wait time LCD_gotoXY(10,0); // カーソル移動 ; // wait time c='r'; LCD_putc(c); // 1 文字表示 4/13 SG043108

; LCD_gotoXY(12,0); LCD_puts("C15!"); for (l=0;l<500000;l++) ; LCD_cursor(0); LCD_gotoXY(0,1); // wait time // カーソル移動 // wait time // カーソル非表示 LCD_puts("Welcome to R8C!"); while(1) ; // 無限ループ 1 1 行目に Let s try H8? と表示させたあと カーソルを 1 文字づつ戻して H を R に? を C15! に書き換える 2 2 行目に Welcome to R8C! と表示させる 1 2 図 2 サンプルプログラム実行 5/13 SG043108

ライブラリの仕様 LCD_init <Lcd.a30> 液晶表示ユニット MB-LCD1 の初期設定を行う 名前引数戻り値 LCD_init 入出力ポート 3 の P3_3,P3_4,P3_5 を出力ポートに設定する MB-LCD1 を以下のとおり設定する インタフェースデータ長 :4 ビット長デューティ (1 行の表示文字数 ):16 文字表示文字構成 :5 8 ドットマトリクスカーソル : 点灯させない ( 位置はホーム (0 番地 ) に設定 ) カーソル方向 : インクリメント表示 : オン カーソルのある桁は点滅しない LCD_puts(*str) <Lcd.a30> 液晶表示ユニット MB-LCD1 に文字列を表示する 名前引数 戻り値 LCD_puts unsigned char *str ( 文字列は対応する文字 16 文字まで ) MB-LCD1 に引数 *str の示す文字列を表示する MB-LCD1 のホーム位置から Sunhayato と表示する char str[10]="sunhayato"; LCD_puts(str); S u n h a y a t o 6/13 SG043108

LCD_putc(c) <Lcd.a30> 液晶表示ユニット MB-LCD1 に文字を表示する 名前 LCD_putc 引数 char c (c= 対応する文字 1 文字 ) 戻り値 MB-LCD1 に文字を表示する MB-LCD1 のホーム位置に A を表示する char c; c='a'; LCD_putc(c); A LCD_cursor(b) <Lcd.a30> 液晶表示ユニット MB-LCD1 のカーソル表示を制御する 名前引数戻り値 LCD_cursol unsigned char b (b=0,1) MB-LCD1 のカーソルを 引数 char b が 1 の場合は表示 0 の場合は消去する MB-LCD1 のホーム位置にカーソルを表示する LCD_cursor(1); _ 7/13 SG043108

LCD_gotoXY(x,y) <Lcd.a30> 液晶表示ユニット MB-LCD1 のカーソル位置を設定する 名前引数戻り値 LCD_gotoXY unsigned char x,y (x=0~15 y=0,1) MB-LCD1 のカーソルを引数 x( 列 ) y( 行 ) の位置に設定する MB-LCD1 の 2 行目の左端にカーソルを設定する LCD_cursor(1); LCD_gotoXY(0,1); 0 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 LCD_locate(pos) <Lcd.a30> 液晶表示ユニット MB-LCD1 のカーソル位置を設定する (DDRAM アドレスを設定する ) 名前 LCD_locate 引数 unsigned char pos (pos=ddram アドレス ) 戻り値 MB-LCD1 のカーソルを引数の DDRAM アドレスの位置に設定する DDRAM のアドレスと表示位置 (HEX) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F MB-LCD1 の 2 行目の左端にカーソルを設定する LCD_cursor(1); LCD_locate(0x40); _ 8/13 SG043108

LCD_gotoX(x) <Lcd.a30> 液晶表示ユニット MB-LCD1 のカーソル位置を設定する 名前引数戻り値 LCD_gotoX unsigned char x (x=0~15) MB-LCD1 のカーソルを引数 x( 列 ) の位置に設定する MB-LCD1 の 1 行目の左端から右端へカーソルを移動する long l; LCD_cursor(1); ; LCD_gotoX(15); 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 LCD_gotoY(y) <Lcd.a30> 液晶表示ユニット MB-LCD1 のカーソル位置を設定する 名前引数戻り値 LCD_gotoY unsigned char y(y=0,1) MB-LCD1 のカーソルを引数 y( 行 ) の位置に設定する MB-LCD1 の 0 行目の左端から 1 行目左端にカーソルを移動する long l; LCD_cursor(1); ; LCD_gotoY(1); 0 _ 1 _ 9/13 SG043108

LCD_clear <Lcd.a30> 液晶表示ユニット MB-LCD1 の表示を消去する 名前引数戻り値 LCD_clear MB-LCD1 の表示を消去し カーソルをホーム位置に設定する LCD_data(c) <Lcd.a30> 液晶表示ユニット MB-LCD1 に DDRAM のデータを書き込む 名前引数 戻り値 LCD_data unsigned char c (c= 対応する文字コード 1 文字 ) MB-LCD1 に DDRAM のデータに対応する文字パターンを表示する ( 文字コードと文字パターンの対応については MB-LCD1 添付資料を参照 ) MB-LCD1 のホーム位置に A を表示する LCD_data(0x41); A 10/13 SG043108

標準ライブラリ strcpy (r8clib.lib) 1 < 文字列操作関数 > [ 機能 ] 文字列の複写を行います [ 書式 ] #include <string.h> char _far * strcpy( s1, s2 ); [ 実現方法 ] 関数 [ 引数 ] har _far *s1;... 複写先の文字列へのポインタ const char _far *s2;... 複写元の文字列へのポインタ [ 戻り値 ] 複写先の文字列へのポインタを返します "s1" で示される領域に "s2" で示される (NULL で終了している ) 文字列を複写します [ 解説 ] 複写先の文字列は NULL で終了します オプション -O[3~5],-OR 及び -OS を指定した場合は 最適化により関数のインライン展開を行う可能性があります 1 ルネサステクノロジ社 R8C/Tiny,M16C/60,30,Tiny,20,10 シリーズ用 C コンパイラパッケージ V.5.30C コンパイラユーザーズマニュアル より抜粋 11/13 SG043108

参考文献 液晶表示ユニットの取扱説明書 :MB-LCD1 添付資料 1 統合化開発環境 High-performance Embedded Workshop の使い方 : High-performance Embedded Workshop ユーザーズマニュアル (JHEWU51.pdf) 2 SR8C15CP スタートアップガイド (SR8C15CP_SG043101.pdf) 1 1 サンハヤト株式会社発行 2 株式会社ルネサステクノロジ発行 12/13 SG043108

< 本資料について > 本資料は 電子工作や電子回路 パーソナルコンピュータの操作について一般的な知識をお持ちの方を対象にしています 本資料を元に操作するには 株式会社ルネサステクノロジ社製 R8C/Tiny マイコンについての知識や開発環境などが必要です < 安全設計に関するお願い > 一般的に半導体を使用した製品は 誤動作したり故障することがあります 半導体の誤動作や故障の結果として事故や損害などを生じさせないように考慮した安全設計をご購入者の責任で行ってください < 本資料のご利用にあたって > この取扱説明書に掲載している内容は お客様が用途に応じた適切な製品をご購入頂くことを目的としています その使用により当社及び第三者の知的財産権その他の権利に対する保証 又は実施権の許諾を意味するものではありません また 権利の侵害に関して当社は責任を負いません 本資料に記載した情報を流用する場合は お客様のシステム全体で充分評価し適用可能かご判断願います 当社では適用可能判断についての責任は負いません 本資料に記載してある内容は 一般的な電子機器 ( 学習教材 事務機器 計測機器 パーソナル機器 コンピュータ機器など ) に使用されることを目的としています 高い品質や信頼性が要求され 故障や誤作動が直接人命を脅かしたり人体に危害を及ぼす恐れのある 医療 航空宇宙 原子力制御 運輸 移動体 各種安全装置などの機器への使用は意図も保証もしておりません この取扱説明書の一部 又は全部を当社の承諾で いかなる形でも転載又は複製されることは堅くお断りします 全ての情報は本資料発行時点のものであり 当社は予告に本資料に記載した内容を変更することがあります この資料の内容は慎重に制作しておりますが 万一記述誤りによってお客様に損害が生じても当社はその責任を負いません 本資料に関してのお問合せ その他お気付きの点がございましたら 当社までお問合せください 本資料に関する最新の情報はサンハヤト株式会社ホームページ (Hhttp://www.sunhayato.co.jp/H) に掲載しております 13/13 SG043108