原创 发一个1602滚动显示的C51程序,欢迎大家讨论

2006-10-11 08:52 4271 0 6 分类: MCU/ 嵌入式

功能:从左至右,分2行滚动显示:“www.xjtu.edu.cn”和“WELCOME TO XJTU”


[如果觉得可以就投我一票了,毕竟我也是花了点心思做的!谢谢!(有删节)


#include
#include
#define uchar unsigned char


typedef bit BOOL ;


sbit rs = P2^0;
sbit rw = P2^1;
sbit ep = P2^2;


void delay(uchar);
void lcd_wcmd(uchar);
BOOL lcd_bz();
void lcd_pos(uchar);
void lcd_wdat(uchar);
void display(uchar,uchar *);


uchar code dis1[] = {" www.xjtu.edu.cn"};
uchar code dis2[] = {"WELCOME TO XJTU"};


void longdelay(uchar s)  //长延时
{
 while(s--)
 {
  delay(60);
 }
}


void delay(uchar ms)
{       // 延时子程序
 uchar i;
 while(ms--)
 {
  for(i = 0; i< 250; i++);
 }
}


BOOL lcd_bz()
{       // 测试LCD忙碌状态
 BOOL result;
 rs = 0;
 rw = 1;
 ep = 1;
 result = (BOOL)(P0 & 0x80);
 ep = 0;
 return result;
}


void lcd_wcmd(uchar cmd)
{       // 写入指令数据到LCD
 while(lcd_bz());
  rs = 0;
  rw = 0;
  ep = 0;
  P0 = cmd;
  ep = 1;
  ep = 0; 
}


void lcd_pos(uchar pos)
{       //设定显示位置
 lcd_wcmd(pos | 0x80);
}


void lcd_wdat(uchar dat)
{       //写入字符显示数据到LCD
 while(lcd_bz());
  rs = 1;
  rw = 0;
  ep = 0;
  P0 = dat;
  ep = 1;
  ep = 0;
}


/*---------------
函数名称:display()
功能 :在LCD上显示数组的数据
说明 :先写显示地址,后写显示数据
调用 :lcd_wcmd(), lcd_pos()
入口参数:pos 写入的位置,q指向要写入的数据所在的数组
返回值 :无
----------------*/


main()
{
  while(1)
 {
  display(0x00,dis1);
  //display(0x40,dis2);
  //display(0x14,dis1);
  //display(0x54,dis2);
 }
}

文章评论6条评论)

登录后参与讨论

406891931_483851173 2011-8-4 10:04

可以尝试~!!

money 2007-8-28 22:10

能用吗,怎么没有初始化呢,哈哈

RainbowDream 2006-11-21 17:26

博主里面的东西真多呀,我看都看不过来了,这里有太多的好东西,今天受益良多!以后会常来这踩踩,希望博主不要嫌我烦呀,呵呵!感谢了!

zhqr2004019_331862034 2006-11-12 09:16

likaiweni_314002329 2006-10-21 23:03

不错

 

Info 2006-10-13 13:09

查询模式,呵呵
相关推荐阅读
chwb02_817835118 2012-11-22 08:47
Altera Quartus II软件12.1版借助强大的高级设计流程,加速系统开发
Altera公司 (Nasdaq: ALTR) 今天宣布,推出Quartus® II 软件12.1 版——在CPLD、FPGA、SoC FPGA和HardCopy® ASIC设计方面,性能和效能在...
chwb02_817835118 2012-11-17 23:26
介绍28nm创新技术,超越摩尔定律
在工艺方法基础上,Altera利用FPGA创新技术超越了摩尔定律,满足更大的带宽要 求,以及成本和功耗预算。Altera Stratix® V FPGA通过28-Gbps高功效收发器突破 了带...
chwb02_817835118 2012-11-17 23:22
Altera与Northwest Logic联合开发RLDRAM 3存储器接口解决方案
Altera公司 (NASDAQ: ALTR)与FPGA高性能知识产权(IP)内核领先供应商Northwest Logic今天宣布,开始提供硬件成熟的1,600 Mbps低延时DRAM (RLDR...
chwb02_817835118 2012-11-17 23:21
Altera电机控制开发工作台前所未有的提高系统集成度、可扩展的性能和灵活性
Altera公司(NASDAQ: ALTR)今天宣布,新的电机控制开发工作台前所未有的提高了电机控制系统设计的系统集成度和灵活性,而且性能还可以扩展,同时大幅度缩短开发时间,降低风险。工作台包括一...
chwb02_817835118 2012-11-07 11:05
Altera OpenCL统一的异构编程
观看OpenCL怎样为异构计算提供统一的平台。在这一演示中,我们将为GPU编写的NVIDIA代码重新定位到Stratix V FPGA上。  ...
chwb02_817835118 2012-11-07 10:58
Altera宣布业界首款支持FPGA的OpenCL工具——进一步加速了FPGA在异构系统中的应用
Altera公司 (NASDAQ: ALTR)今天宣布,提供FPGA业界的第一款用于OpenCL™ 的软件开发套件(SDK) (开放计算语言) 的软件开发套件,它结合了FPGA强大的并行体系结构以...
广告
我要评论
6
0
广告
关闭 热点推荐上一条 /5 下一条