printf函数在lcd1602上的实现.doc_第1页
printf函数在lcd1602上的实现.doc_第2页
printf函数在lcd1602上的实现.doc_第3页
printf函数在lcd1602上的实现.doc_第4页
printf函数在lcd1602上的实现.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用printf()函数在51系统中显示到lcd上将.KeilC51LIB目录下的PUTCHAR.C文件copy到自己的工程文件下,并修改:PUTCHAR.C/*/* This file is part of the C51 Compiler package */* Copyright KEIL ELEKTRONIK GmbH 1990 - 2002 */*/* */* PUTCHAR.C: This routine is the general character output of C51. */* You may add this file to a uVision2 project. */* */* To translate this file use C51 with the following invocation: */* C51 PUTCHAR.C */* */* To link the modified PUTCHAR.OBJ file to your application use the */* following Lx51 invocation: */* Lx51 , PUTCHAR.OBJ */* */*/#include #define XON 0x11#define XOFF 0x13/* * putchar (full version): expands n into CR LF and handles * XON/XOFF (Ctrl+S/Ctrl+Q) protocol */char putchar (char c) if (c = n) if (RI) if (SBUF = XOFF) do RI = 0; while (!RI); while (SBUF != XON); RI = 0; while (!TI); TI = 0; SBUF = 0x0d; /* output CR */ if (RI) if (SBUF = XOFF) do RI = 0; while (!RI); while (SBUF != XON); RI = 0; while (!TI); TI = 0; return (SBUF = c);#if 0 / comment out versions below/* * putchar (basic version): expands n into CR LF */char putchar (char c) if (c = n) while (!TI); TI = 0; SBUF = 0x0d; /* output CR */ while (!TI); TI = 0; return (SBUF = c);/* * putchar (mini version): outputs charcter only */char putchar (char c) while (!TI); TI = 0; return (SBUF = c);#endif/*/MAIN.C/#include #include void main()int i;i=100;init_lcd1602();printf(hello!nyour goald:%d,i);while(1);/LCD1602.H/*-LCD1602.HHeader file for LCD_NS1602A.Programer:bai-*/#ifndef _LCD1602_H_#define _LCD1602_H_#include char putchar (char c);void init_lcd1602();#endif/LCD1602.C/* *This is a program for LCD_NS1602Abase on 89C52rc */#include reg52.H#include bit lcd_flag=0;sbit LCD1602_RS=P24;/*definition of RS*/sbit LCD1602_RW=P25;/*definition of RW*/sbit LCD1602_EN=P26;/*definition of E*/* * * * */void lcd_delay()int i;for(i=0;i2;i+)_nop_();void com_w(int com)lcd_delay(); LCD1602_RS = 0;/*RS=0 : command */ LCD1602_RW = 0; /*RW=0 : write*/ LCD1602_EN = 0; LCD1602_EN = 1; P0 = com; LCD1602_EN = 0;void dat_w(int dat)lcd_delay(); LCD1602_RS = 1;/*RS=0 : command */ LCD1602_RW = 0; /*RW=0 : write*/ LCD1602_EN = 0; LCD1602_EN = 1; P0 = dat; LCD1602_EN = 0;void init_lcd1602()com_w(0x01);/*clear screen */com_w(0x02);/*clear screen */com_w(0x38);/*8位接口,双行,5*10点阵*/com_w(0x06);/*reset Address Co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论