基于C51单片机为主控芯片的电子表(内附完整程序源码) 联系客服

发布时间 : 星期四 文章基于C51单片机为主控芯片的电子表(内附完整程序源码)更新完毕开始阅读94fbcb40814d2b160b4e767f5acfa1c7aa0082a2

基于C51单片机为主控芯片的电子表

[内容摘要]本文论述了用C51单片机制作电子表的方法和过程,电路图以及程序源代码。包括时间基准的选取和实现;1602液晶显示屏的驱动和编程;独立键盘的使用和编程;单片机内部时间中断的原理及编程。

[关键词] C51单片机; 时间基准; 1602液晶显示屏; 编程

Based on C51 single chip microcomputer as main

control chip of electronic watch

[Abstract] This paper discusses the using C51 production method and process of digital watches, circuit diagram and the program source code. Including the selection of time benchmark and implementation; 1602 LCD driver and programming; The use of independent keyboard and programming; The principle and programming of single chip microcomputer internal time interrupt.

[Keywords] C51 production; Time benchmark; 1602 LCD; programming

目 录

1 引言 ............................................................................................................................................... 1 2 相关文献综述 ............................................................................................................................... 1 3 元件简述及应用 ........................................................................................................................... 1

3.1 STC89C51RC单片机简介及其应用 ................................................................................. 2

3.1.1 STC89C51RC单片机简介 ...................................................................................... 2 3.1.2 STC89C51RC单片机应用 ...................................................................................... 2 3.2 1602液晶屏简介及其应用 ................................................................................................ 3

3.2.1 1602液晶屏简介 ..................................................................................................... 3 3.2.2 1602液晶屏应用 ..................................................................................................... 4

4硬件电路构建 ................................................................................................................................ 5

4.1中控部分以及时间基准部分 ............................................................................................. 6 4.2按键交互部分 ..................................................................................................................... 7 4.3液晶显示部分 ..................................................................................................................... 8 5 软件程序编程 ............................................................................................................................... 9

5.1计算类函数代码 ................................................................................................................. 9

5.1.1闰年计算函数 .......................................................................................................... 9 5.1.2日期清零函数 .......................................................................................................... 9 5.1.3星期计算函数 ........................................................................................................ 10 5.2独立按键函数 ................................................................................................................... 11

5.2.1 S1数位选择按键 ................................................................................................ 11 5.2.2 S2数值加一按键 ................................................................................................ 12 5.2.3 S3数值减一按键 ................................................................................................ 14 5.3计时器函数 ....................................................................................................................... 15

5.3.1计时器初始化函数 ................................................................................................ 15 5.3.2计时器中断函数 .................................................................................................... 16 5.4全部源代码 ....................................................................................................................... 18 6结论 .............................................................................................................................................. 29

1 引言

单片机是一种集成电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU、随机存储器RAM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上,构成的一块小而完整的计算机系统。

本设计为采用89C51RC芯片作为主控芯片的电子表,电子表可以显示时间、日期和星期,可以手动调整时间和日期,星期将通过内部计算自动给定,拥有计算闰年功能,并且可以通过年份和月份自动计算当月最后一天日期。

2 相关文献综述

随着科技的不断发展,单片机的种类也变得多种多样,五花八门,以满足不同情况的需要。应用单片机的产品已经融入到各行各业,以单片机为主控芯片的电子时钟也应运而生。

在单片机应用以前,电子时钟主要使用震荡电路以及数字电路构成,然而振荡电路的频率不稳定,极易受到干扰,而且大量的数字器件具有较高的延迟,这些都会影响电子时钟的精度,并且利用数字元件搭建极其麻烦,无形中增大了电子时钟的体积。然而单片机是一种以C语言为基础语言的可编程MCU,配合较少的元件就可以做出功能强大的产品,提高精度的同时也极大的缩小了体积,而且复杂功能的计时器也成为了可能。

3 元件简述及应用

本时钟采用STC89C51RC作主控芯片芯片。

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等

优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

采用1602液晶屏作为显示元件。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵

字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

3.1 STC89C51RC单片机简介及其应用

本设计采取STC89C51RC为主控芯片,以提供时间基准和时间日期计算。

3.1.1 STC89C51RC单片机简介 STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。

3.1.2 STC89C51RC单片机应用

1) 内置4组8位I/O口,其中P0口为双向I/O口,P1,P2,P3为准双向I/O

口。

2) 内置2个16位定时器/计数器。

3) 内置外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外

部中断低电平触发中断方式唤醒。 4) 内置通用异步串行口。 5) 工作电压为5V。 6) 工作温度为0℃~70℃。