当前位置:首页 > 单片机 > 单片机
[导读] 给STC89C51安一个LCD1602液晶显示器。写一段程序,使得STC89C51有计时、显示功能。当给STC89C51一个连续的高电平时,单片机开始计时,同时在显示器上显示计时的秒数;当结束高电平时,计时停止,但是显

给STC89C51安一个LCD1602液晶显示器。写一段程序,使得STC89C51有计时、显示功能。


当给STC89C51一个连续的高电平时,单片机开始计时,同时在显示器上显示计时的秒数;

当结束高电平时,计时停止,但是显示器上保留计时数值。


当下一个高电平来到,显示器接着上次的时间继续计时。

简单的讲就是说显示器显示几个间断的高电平持续的时间之和。


再设一个脚实现清零。


这个题目,实际上就是设计一个采用液晶显示的秒表



LCD1602和51单片机的之间,如果采用常规接法,共需要11条线;


http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/eafb581918de515237fa4148.html


如果觉得LCD1602占用单片机的引脚太多,可以只用6条引线来实现对液晶屏的驱动。详情可看下列的链接:

http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/32d640df73343d4bcdbf1ac8.html

------------------------------------


驱动LCD1602,很简单,关键是要写好“写指令”和“写数据”两个函数,其它的设置、显示等等,就不难了。


晶振选用11.0592/12MHz,均可。


实现脉冲长度计时、显示的程序如下:


#include

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineLCD_IOP2


sbitLCD_RS=P3^0;

sbitLCD_RW=P3^7;

sbitLCD_EN=P3^1;

sbitsw1=P3^2;

sbitsw2=P3^3;


ucharcount;

uintsec;

ucharcodeLCD_line1[]="PulseContinued:";

ucharcodeLCD_line2[]="00000s";

//---------------------------------------------------

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)for(y=10;y>0;y--);

}

//---------------------------------------------------

voidW_LCD_Com(ucharcom)//写指令

{

LCD_RS=0;LCD_EN=0;//LCD_RS和R/W同时为低电平时,可以写入指令

LCD_IO=com;delay(5);//下面用EN输入一个高脉冲

LCD_EN=1;delay(5);LCD_EN=0;

}

//---------------------------------------------------

voidW_LCD_Dat(uchardat)//写数据

{

LCD_RS=1;LCD_EN=0;//LCD_RS为高,LCD_RW为低时,可以写入数据

LCD_IO=dat;delay(5);//下面用EN输入一个高脉冲

LCD_EN=1;delay(5);LCD_EN=0;

}

//---------------------------------------------------

voidW_LCD_STR(uchar*s)//写字符串

{

while(*s>0){W_LCD_Dat(*s);s++;}

}

//---------------------------------------------------

voidinit()

{

W_LCD_Com(0x38);

W_LCD_Com(0x0c);

W_LCD_Com(0x06);

W_LCD_Com(0x01);

W_LCD_Com(0x80);W_LCD_STR(LCD_line1);

W_LCD_Com(0xC0);W_LCD_STR(LCD_line2);


TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

ET0=1;

EX0=1;

EX1=1;

PX1=1;

EA=1;

}

//---------------------------------------------------

voidW_LCD_X1_Dat(uintsec)

{

W_LCD_Com(0xc0+7);

W_LCD_Dat(0x30+sec/10000);

W_LCD_Dat(0x30+(sec%10000)/1000);

W_LCD_Dat(0x30+(sec%1000)/100);

W_LCD_Dat(0x30+(sec%100)/10);

W_LCD_Dat(0x30+sec%10);

}

//---------------------------------------------------

voidmain()

{

init();

while(1);

}

//-------------------------------------------

voidtimer0()interrupt1

{

TL0=(65536-50000)%256;

TH0=(65536-50000)/256;

count++;

if(count==20){

count=0;

sec++;

W_LCD_X1_Dat(sec);

}

}

//-------------------------------------------

voidX0_INT()interrupt0

{

while(sw1==0);

}

//-------------------------------------------

voidX1_INT()interrupt2

{

while(sw2==0);

count=0;

sec=0;

W_LCD_X1_Dat(sec);

}

================================================


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Sept. 10, 2025 ---- 根据TrendForce集邦咨询最新发布的《全球电动车逆变器市场数据》,2025年第二季受惠纯电动车(BEV)销售成长,全球电动车(注1)牵引逆变器装机量达766万台,年增19%。...

关键字: 增程式电动车 SiC 牵引逆变器

Sept. 8, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NVIDIA(英伟达) Blackwell平台规模化出货,以及北美CSP业者持续扩大布局General Server(通用型...

关键字: SSD DDR4 服务器

Sept. 4, 2025 ---- Apple(苹果)即将发布iPhone 17、iPhone 17 Air(暂名)、iPhone 17 Pro及Pro Max四款旗舰新机,除了外观辨识度升级,处理器性能、散热和拍摄功...

关键字: iPhone 16 A19处理器 折叠机

Sept. 3, 2025 ---- 根据TrendForce集邦咨询最新发布的《2025近眼显示市场趋势与技术分析》报告,2025年随着国际品牌陆续推出AR眼镜原型,以及Meta预计在近期发布AR眼镜Celeste,市...

关键字: AR眼镜 OLED

Sept. 2, 2025 ---- TrendForce集邦咨询表示,2025年第二季DRAM产业因一般型DRAM (Conventional DRAM)合约价上涨、出货量显著增长,加上HBM出货规模扩张,整体营收为3...

关键字: DRAM 智能手机 ASP

Sept. 1, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季因中国市场消费补贴引发的提前备货效应,以及下半年智能手机、笔电/PC、Server新品所需带动,整体晶圆代工产能利用率与出货...

关键字: 晶圆代工 智能手机 笔电

Aug. 28, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NAND Flash产业虽面临平均销售价格(ASP)小幅下滑,所幸原厂减产策略缓解供需失衡,叠加中、美两大市场政策推动,整体...

关键字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英伟达)近日推出的Jetson Thor被视为机器人的物理智慧核心,以Blackwell GPU、128 GB记忆体堆叠出2070 FP4 TFLOPS AI算力,是前...

关键字: 机器人 大型语言模型 AI算力

Aug. 21, 2025 ---- 根据TrendForce集邦咨询最新液冷产业研究,随着NVIDIA GB200 NVL72机柜式服务器于2025年放量出货,云端业者加速升级AI数据中心架构,促使液冷技术从早期试点迈...

关键字: AI 数据中心 服务器

除了充电电路外,锂电池的放电过程也需要保护。锂电池的放电电压不能低于3.0V,否则电池寿命会大幅缩短。为了实现这一保护,工程师们设计了DW01芯片与8205 MOS管的电路组合。DW01芯片能够监控锂电池的放电电压和电流...

关键字: 锂电池 电池
关闭