APP下载

单片机控制的可调LCD时钟

2011-12-20范礼平

城市建设理论研究 2011年23期
关键词:单片机

范礼平

摘要:单片机到底是什么呢?就是一个电脑,只不过是微型的,麻雀虽小,五脏俱全:它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机,排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。

关键词单片机、字符型LCD显示器、可调时钟

利用单片机的控制程序结合LCD设计一个简易的微电脑时钟,可以告知现在的时间或记录完成一件工作花费的时间(通过重置计时),设计过程中可以学习利用单片机定时器设计时间计时处理,这是许多电子装置最基本的功能。LCD在电子产品设计中使用率相当的高,普通的七段显示器只能用来显示数字若遇到要显示英文文字时,则一定会选用LCD。通常我们在电子商城买到的LCD,其背面都含有控制电路,其上面有专门的IC来完成LCD的动作控制,在自行设计的接口中,只要送入适当的命令码和欲显示的数据,LCD便会将其字符显示出来,在控制上非常方便。本次设计是利用单片机8051的控制程序结合LCD设计一个简易的可调微电脑时钟。

一、设计思路

定时器0计时中断程序每隔5ms中断一次当作一次中断完成,每中断一次计数器加1,计数200次,表示1秒依次判断1min、1h,计数到了相关变量清零;用K1、K2、K3、K4进行时间调节:K1(P2.4)---进入时间调节;K2(P2.5)---调节小时;K3(P2.6)---调节分钟;K4(P2.7)---调节完成。

工作流程图:

1、主程序控制流程图2、计时中断程序流程图

二、硬件电路

1、原理图

其中LCD引脚说明如下:

D0----D7:双向数据总线

RS:寄存器选择控制线

R/W:读写控制线

EN:启用控制线

VCC:电源正端

VO:字符显示亮度控制引脚

GND:电源地端

值得注意的是:有的第1脚是接+5V,第2脚接地;有的第1脚是接地的,第2脚接+5V(最好能拿到原厂的引脚图)。

2、实物电路

三、开发环境

开发环境选择Keil C51 Vision2,Keil C51软件是德国Keil Software/Keil Elektronik 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。

在keil的uV2集成环境下使用伟福仿真器需要在keil环境中做如下设定:1、设置“编译后运行程序”,以便初始化伟福仿真器;2、设置硬件调试方式,并设置串口参数。

四、软件原理

1、使用定时器0模式0

INIT_TIMER:

MOV TMOD,#00000000B

MOV IE,#10000010B

MOV TL0,#LO

MOV TH0,#HI

SETB TR0

RET

2、设置目前的时间

SZSJ:

CLR TR0

MOV SEC,#0

L0:

JB K2,L1

INC HOUR

MOV A,HOUR

CJNE A,#24,L2

MOV HOUR,#0

L2:

CALL CONV

MOV R5,#20

CALL DELAY

JMP L0

L1:

JB K3,L3

INC MIN

MOV A,MIN

CJNE A,#60,L4

MOV MIN,#0

L4:

CALL LCDZB

MOV R5,#20

CALL DELAY

JMP L0

L3:

JB K4,L0

JNB K4,$

SETB TR0

RET

3、一秒中断子程序

INT:

PUSH ACC

MOV TL0,#24

MOV TH0,#99

INC DEDA

MOV A,DEDA

CJNE A,#200,K

K:

POP ACC

RETI

4、将时分秒的数据转换成数字数据显示在LCD上

LCDZB:

MOV A,HOUR

MOV X,#5

CALL SZZA

INC X

MOV A,#':'

MOV B,X

CALL LCDXS

MOV A,MIN

INC X

CALL SZZA

INC X

MOV A,#':'

MOV B,X

CALL LCDXS

MOV A,SEC

INC X

CALL SZZA

RET

5、在LCD上显示数字

SZZA:

MOV B,#10

DIV AB

ADD A,#30H

PUSH B

MOV B,X

CALL LCDXS

POP B

MOV A,B

ADD A,#30H

INC X

MOV B,X

CALL LCDXS

RET

6、以4位控制方式将命令写至LCD

MDL:

MOV P0,A

CLR RS

CALL DMC

RLC A

RLC A

RLC A

RLC A

MOV P0,A

CLR RS

CALL DMC

RET

7、以4位控制方式將数据写入LCD

SDL:

MOV P0,A

SETB RS

CALL DMC

RLC A

RLC A

RLC A

RLC A

MOV P0,A

SETB RS

CALL DMC

RET

8、更新时分秒数据

TIMERGX:

MOV A,SEC

MOV B,SEC0

CJNE A,B,W1

JMP W2

W1:

CALL LCDZB

MOV SEC0,SEC

W2:RET

9、在LCD上显示字符

LCDXS:

PUSH ACC

MOV A,B

ADD A,#0C0H

CALL MDL

POP ACC

CALL SDL

RET

10、总延迟时间(R5*10ms)

DELAY:

MOV R6,#50

LOOP:

MOV R7,#100

DJNZ R7,$

DJNZ R6,LOOP

DJNZ R5,DELAY

RET

其中:DMC-----短脉冲信

结语:本次设计使用了一般的LCD显示器来显示字符数据,尤其是在教学中不仅能使学生L灵活掌握定时器的应用,而且能掌握模块化的设计思路。另外根据本设计可以自行扩充其他的功能,如:增加闹铃、产生音乐声、启动继电器控制家电等。

参考文献

[1] 单片机实践与应用.吴金成.清华大学出版社

[2] 单片机实用技术.陶春鸣.人民邮电出版社

[3] 单片机原理与应用.李群芳.武汉大学出版社

注:文章内所有公式及图表请以PDF形式查看。

猜你喜欢

单片机
基于单片机MCU的IPMI健康管理系统设计与实现
浅析51单片机的特点与应用
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
MCS—51单片机多串口通讯技术应用分析
一种单片机虚拟实验室的建立方法
点阵式液晶显示器lMl2864与51单片机的接口设计
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器