Creator4510b LCD 12/01.

Slides:



Advertisements
Similar presentations
单片机 C 语言应用程序设计 主讲教师:廉哲 QQ: 电话: 办公室:综合楼 C318.
Advertisements

「基改退出竹市校園」 說明會 新竹市政府教育處 105 年 1 月 22 日 1.  壹、緣由  貳、法源依據  參、使用非基因改造食材考量問題  肆、結語 2.
第一單元 建立java 程式.
第二节 植物的生殖生长 植物经历了一定的营养生长之后,在适当的条件下转入生殖生长阶段。 一、植物由营养生长转向生殖生长的条件
现代电子技术实验 ——综合实验之单片机部分
第四單元 通電的玩具 張老師的網頁.
江苏省城市污水处理厂污泥处置现状及管理对策
屏東監理站電腦筆試e化系統 考生操作使用說明及注意事項.
TMS320F2812串行外设接口 Serial Peripheral Interface (SPI)
青铜器的器型 炊食器: 炊具:鼎、鬲、甗等 食器:豆、簋、敦、盨、簠等 酒器: 饮酒器:爵、角、觚、觯等 温酒器:斝
四資二甲 第三週作業 物件導向程式設計.
嵌入式图形显示.
新北市廠商聯合抗旱會議 104年3月23日.
第九章日治時期的台灣(下).
房地产企业(项目)银行融资 授信工作指引 2007年版.
雲林縣總合治水研討會 陳 殿 寶 中 華 民 國 102年12月 1 1.
產業分析報告 藥妝品產業分析 班級:財金三甲 姓名:張慶柔 許憶如 林育嘉
社会调查辅导 适用于电大开放教育行政管理本科专业.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
C语言程序设计 第十二章 位运算.
微處理機原理與應用 Chapter 1 簡介 Chung-Min Wu, Ph.D
计算概论 第二十一讲 文件操作 北京大学信息学院.
Timer & KEYPAD 11/24.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
编译原理与技术 类型检查 2018/11/21 《编译原理与技术》-类型检查.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 閃爍燈 2018年11月23日 8051 單晶片實習---E0901閃爍燈.
SWITCH&7-SEG元件控制 嵌入式作業系統實作 11/17.
多进程编程.
2-1 接腳說明 2018/11/30 第2章 系統分析.
8-1 功能簡介 8-4 實驗成果 8-2 電路說明 8-5 延伸應用與練習 8-3 程式設計
嵌入式系統進階 日期 : 2018/12/4.
一、LCD显示器的基本原理 二、汉字显示原理 三、SED1330液晶显示控制器 四、HD44780液晶显示控制器 8.3 LCD显示器接口
第十三章 其他的C語言課題.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
嵌入式系统设计与实例开发 ——ARM与C/OS-Ⅱ 第六讲 基于ARM的嵌入式硬件结构设计.
智慧電子應用設計導論(1/3) Display
11-1 液晶顯示器(LCD) 2018/12/31 第11章 液晶顯示器LCD介面實習.
第十章 人机交互接口 本章学习目标 掌握键盘接口技术 掌握数码、液晶显示技术 了解数码管显示驱动和键盘扫描控制专用芯片.
Ch9 Communicating with Hardware
#include <stdio.h> #include "console.c" main(){ int x=20, y=10;
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
Holtek C Compiler V3--advanced
第1章 基础知识 1.1 微型计算机中数的表示 1.2 二进制编码 1.3 二进制数的运算.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
高雄地區供水概況及限水說明 106年4月11日.
程式設計期末測驗 通訊一甲 B 楊穎穆.
基本IO.
SOCKET( ).
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C语言程序设计 李祥 QQ:
C qsort.
4.19 Fsys _ SLOW MODE HT66F70A.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第3章 数据类型、运算符与表达式.
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握C程序中常用的运算符和表达式 了解数据类型的转换.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
第二章 基本数据类型 ——数据的表示.
Introduction to the C Programming Language
結構、檔案處理(Structure, File)
第十二章 位运算.
第五章 序列埠通訊 並列與序列通訊簡介 認識序列埠 認識字元資料類型 字串資料類型 從序列埠監控視窗觀察變數 從Arduino接收序列資料
查表法&電腦IO Port二進制轉七段顯示器
LED Pili LED 中州技術學院 電子系 副教授 余文俊.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
資料!你家住哪裏? --談指標 綠園.
單晶片實作講義 微電腦控制界面 (LCD) 。.
InputStreamReader Console Scanner
Presentation transcript:

Creator4510b LCD 12/01

LCD 模組 LCD面板+控制器 LCD型號 AF-128128CFI-H 控制器 HD-66750 controller 128×128 dots 8×8 font size  16×16 word 4色灰階的FSTN 控制器 HD-66750 controller 內部暫存器為16-bit,介面為16-bit/8 定義2個常數來對LCD作讀寫 LCD_CMD LCD_DATA

電路圖 Address Bus ARM CPLD LCD Data Bus Buffer

實習基礎 使用8-bit 介面,因此對LCD內部的16-bit暫存器讀寫時,必需對位址執行2次 第一次High byte (MSB) 第二次Low byte (LSB) LCD-CMD下命令時,MSB值為0xFF,否則會與同步LCD的控制命令相同而產生錯誤

main@main.c int main(void) { Initial_Creator(); //對Creator做初始化,重置LCD LCD_printf("hello\n"); while (1) { } return(0);

Initial_LCD@lcd.c // 規畫LCD操作模式 // 總共多少行, 每行多少字 // 設定游標型態 void Initial_LCD (void) { byFontHeight = 8; //文字字型高度為8 byFontWidth = 8; //文字字型寬度為8 ScrWidth = 128 / byFontWidth; //LCD每行共多少文字 ScrHeight = 128 / byFontHeight; //LCD總共有多少行 InitialLCD(); //LCD工作模式設定 LCD_CursorMode(BLACK_BLINK_CURSOR); //黑色閃爍的游標 LCD_EnableCursor(UM); //啟動游標,UM=0 }

游標模式定義@lcd.h // 游標各種操作模式 #define WHITE_BLINK_CURSOR 0 // 白色閃爍游標 #define BLACK_BLINK_CURSOR 1 // 黑色閃爍游標 #define REVERSE_CURSOR 2 // 黑白交換的游標 #define REVERSE_BLINK_CURSOR 3 // 黑白閃爍交換的游標

InitialLCD@lcd.c // 初始化LCD的命令集 void InitialLCD (void) { int i; for (i=0; i < 4; i++){ LCD_CMD = 0; //同步命令 OptimizationDelay(); } WriteLCD(LCD_START_OSC, 1); //重新啟動LCD Delay(15); //延遲等待LCD進入穩定工作狀態

InitialLCD@lcd.c //設定LCD顯示模式 //128 * 128 ; Inervt COM & SEG //CMS=1, SGS=1, CN=0, NL3-0=1111:128*128 dots, WriteLCD(LCD_DRV_OUT, 0x030f); //設定游標顯示模式 //C=1:Cursor display started, CM1-0=00:White-blink cursor) WriteLCD(LCD_CURSOR, 4); LCD_ClearScreen(); //清除畫面成空白 } …… ……

ReadLCD@lcd.c //對LCD讀取資料 unsigned short ReadLCD (unsigned short addr) { unsigned short data; LCD_CMD = 0xff; //MSB OptimizationDelay(); //for Optimization LCD_CMD = addr; //LSB data = LCD_DATA << 8; //MSB data |= LCD_DATA; //LSB //若是讀取LCD顯示區域,第一次是錯誤的,需讀取第二次 if (addr == LCD_RAM_DATA) { LCD_CMD = 0xff; //MSB OptimizationDelay(); //for Optimization LCD_CMD = addr; //LSB data = LCD_DATA << 8; //MSB data |= LCD_DATA; //LSB } return (data); }

WriteLCD@lcd.c //對LCD設定資料 void WriteLCD (unsigned short addr, unsigned short data) { LCD_CMD = 0xff; //MSB OptimizationDelay(); //for Optimization LCD_CMD = addr; //LSB LCD_DATA = (data >> 8) ; //MSB LCD_DATA = data; //LSB }

可呼叫函式@lcd.c 設定指標座標 void LCD_Cursor(int x, int y) 清除全部畫面 void LCD_ClearScreen (void) 列印字串於LCD上 void LCD_printf (char *fmt,...) 設定游標座標 void LCD_Cursor(int x, int y) 清除螢幕將游標歸回原點 void LCD_ClearScreen (void) 清除指定的Line void LCD_ClearOneLine (int y) 顯示字元 void LCD_putchar (char c) 顯示字元於設定的座標中 void LCD_displ (int x, int y, int ch) 設定游標是否顯示 void LCD_EnableCursor (int bCursorOn)

可呼叫函式@lcd.c 向下捲動 void LCD_scroll (void) 設定游標樣式 void LCD_CursorMode (unsigned char Mode) 取得游標現在位置 void LCD_GetCursor(int *x, int *y) 設定游標位置 void LCD_SetCursor(int x, int y) 螢幕填滿 void LCD_DrawFullImage (unsigned short *pImageBuffer) 丟資料於記憶體中 void LCD_PutRAMData (unsigned short address, unsigned short data)

實習題目 實習一:修改LCD實習,將自己的英文名字, 顯示在螢幕中間。 實習二:將一個字元繞著螢幕跑,每0.5s移動一次。 實習三:將Hello在第7行向右做跑馬燈的動作, 每1s移動一次。

A 第二題 第三題 Hello ello llo lo o Hell Hel He H