第一范文网 - 专业文章范例文档资料分享平台

嵌入式应用实例 - 图文

来源:用户分享 时间:2025/5/30 22:23:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

点阵字符型LCD是专门用于显示数字、字母、图形符号及少量自定义符号的液晶显示器。这类显示器把LCD控制器、点阵驱动器、字符存储器、显示体及少量的阻容元件等集成一个液晶显示模块。鉴于字符型液晶显示模块目前在国际上已经规范化,其电特性及接口特性是统一的,因此,只要设计出一种型号的接口电路,在指令上稍加修改即可使用各种规格的字符型液晶显示模块。

点阵字符型液晶显示模块的控制器大多数为日立公司生产的HD44780及其兼容的控制电路,如SED1278(SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER JAPANRADIO)等。字符型液晶显示模块的主要特点如下:

1.液晶显示屏是以若干5*8或5*11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。

2.主控制电路为HD44780(HITACHI)及其他公司的兼容电路。从程序员的角度来说,LCD的显示接口与编程是面向HD44780的,只要了解HD44780的编程结构即可进行LCD的显示编程。

3.内部具有字符发生器ROM,可显示192种字符(160个5*7点阵字符和32个5*10点阵字符)。

4.具有64字节的字符发生器RAM,可以定义8个5*8点阵字符或4个5*11点阵字符。

5.具有64字节的数据显示RAM,供显示编程时使用 6.标准接口特性,与MC9S08系列MCU容易接口。 7.模块结构紧凑、轻巧、装配容易。

8.单+5V电源供电(宽温型需要加-7V驱动电源)。 9.低功耗、高可靠性。

7

第三章 系统软件设计

3.1 MCU方(C)程序

Main.c:

#include \#include \#include \#include \#include \//在此添加全局变量定义 uint8 g_time[8] ; uint8 g_DisplayInit[8] ; uint8 i; uint8 m;

#define GPIO_Run_PORT PORT_E void main(void) {

uint8 remember; uint32 mRuncount = 0; m=1; //1 关总中断

DisableInterrupt(); //禁止总中断 //2 芯片初始化 MCUInit(); //3 指示灯初始化

Light_Init(Light_Run_PORT,Light_Run,Light_OFF); TPMinit(TPM_NUM_1); LCDinit();

8

SCIInit(SCI_NUM_1,SYSTEM_CLOCK,9600); g_time[0] = 0; g_time[1] = 0; g_time[2] = ':'; g_time[3] = 0; g_time[4] = 0; g_time[5] = ':'; g_time[6] = 0; g_time[7] = 0; remember = g_time[7];

m=GPIO_Get(Light_Run_PORT,0); EnableSCIReInt();

EnabletimerInt(TPM_NUM_1); EnableInterrupt();

SCISendN(SCI_NUM_1,8,g_time); // LCDshow(g_time); //4 主循环

while (1) { m=GPIO_Get(GPIO_Run_PORT,0); mRuncount++;

if(mRuncount>=40000) { mRuncount = 0;

Light_Change(Light_Run_PORT,Light_Run); }

/**/ if(g_time[7]!=remember) { // SecAdd1(g_time); for( i=0;i<8;i++){ if(i!=2&&i!=5)

g_DisplayInit[i] = g_time[i]+'0'; else

9

g_DisplayInit[i] = g_time[i]; }

SCISendN(SCI_NUM_1,8,g_DisplayInit); // SCISendN(SCI_NUM_1,8,g_SCIreceive_data); LCDshow(g_DisplayInit); // g_SCIFlag=0;

SCISendN(SCI_NUM_1,3,g_time); remember= g_time[7]; } }; }

Isr.c:

//头文件

#include \//#include \#include \

//此处为用户新定义中断处理函数的存放处 interrupt void isrT1Out(void){ uint8 temp; DisableInterrupt(); if(m==0)SecAdd1(g_time);

TPM_CSTR(1) &=~(TPM1SC_TOF_MASK); EnableInterrupt(); } /*

interrupt void isrSCIre(void){ uint8 temp; uint8 SerialBuff[1]; DisableInterrupt();

10

搜索更多关于: 嵌入式应用实例 - 图文 的文档
嵌入式应用实例 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c474ur95ne286wqu5qtze_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top