第一范文网 - 专业文章范例文档资料分享平台

基于LCD1602制作的秒表c语言设计

来源:用户分享 时间:2025/5/26 10:55:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

LCD 数 码 管 显 示 秒 表

小组成员:

设 计 报 告

1.引言

1.1编写目的

(1)巩固和提高学过的基础理论和专业知识;

(2)提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力;

(3)通过设计数字秒表,了解秒表的工作原理和内部构造。

(4)学会系统(模块)的测试方法,并根据完整的测试数据对系统(模块)的性能指标做出分析和评价;

1.2定义

(1)单片机:单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

(2)STC89C52单片机:本设计中采用型号为STC89C52的单片机,STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含6个中断源,3个16位可编程定时计数器,2个全双工串行通信口,片内含8KB的可反复擦写的Flash只读程序存储器(ROM)和256B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元。

(3)中断:就是当CPU正在执行程序A时,发生了另一个急需处理的事件B,这时CPU暂停当前执行的程序A,立即转去执行处理事件B的程序,处理完事件B后,再返回到程序A继续执行,这个过程被叫做中断。

(4)LCD1602 1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光

电源线 VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。

1.3参考资料

(1)《51单片机c语言教程》 郭天祥编著 电子工业出版社出版.

(2)《单片机原理与应用及c51程序设计》 谢维成、杨加国编著 清华大学出版社出版. (3)《单片机原理及技术接口技术 》 北京航空航天大学出版社出版. (4) 网络资料

2.总体设计

2.1功能描述

此秒表可实现基本的秒表和显示时间分、秒、毫秒;可实现定时以及清零功能,具体如下:

(1)实现基本的走时和显示时间的分、秒、毫秒,上电自动显示初始时间00-00-00。 (2)当第一次按下第一个弹性按键时进入时间的调节状态。

(3)当第二次按下第一个弹性按键时进入定时时间的状态,并按下第二个按键时实现分钟的清零。

(4)当秒表时间一直时,按下第二个弹性按键时进入秒表的定时状态,可以连续按可以定时八次状态。

(5)当按下第三个弹性按键时进入显示定时情况,在连续按第三个按键时可以观察到第二个按键定时的八个时间状态。

2.2 总体电路图设计如下

3.程序代码

3.1定义部分程序如下

#include

#include\

void K_3();

void K_4();

sbit K1=P3^2;//开始和停止计时摁键,外部中断0 sbit K3=P3^7; sbit K4=P3^6;

unsigned int num1=0; //第一行基数1

unsigned char num2=0; //第一行基数2

unsigned char load=0;//存储的8组时间的选择基数 unsigned char load1=0; //屏幕显示选择基数 unsigned char th=0; //用于标示8组时间的顺序 unsigned char n=0; //存储8组时间是用 unsigned char m=0;//归零8组时间是用 //第一行显示数字 unsigned char dat1=0; unsigned char dat2=0; unsigned char dat3=0; unsigned char dat4=0; unsigned char dat5=0; unsigned char dat6=0; //第二行显示数字 unsigned char ddat1=0; unsigned char ddat2=0; unsigned char ddat3=0; unsigned char ddat4=0; unsigned char ddat5=0; unsigned char ddat6=0;

//8组时间的存储数组

unsigned char BBC1[8]={0,0,0,0,0,0,0,0}; unsigned char BBC2[8]={0,0,0,0,0,0,0,0}; unsigned char BBC3[8]={0,0,0,0,0,0,0,0}; unsigned char BBC4[8]={0,0,0,0,0,0,0,0}; unsigned char BBC5[8]={0,0,0,0,0,0,0,0}; unsigned char BBC6[8]={0,0,0,0,0,0,0,0};

此部分程序定义单片机p3.2 口为K1,p3.7口为K3,p3.6 口为K4,分别接三个弹性小按键,初始化显示时间为00-00-00。

3.2延时子函数

//1毫妙延迟函数,用于消除摁键抖动 delay1ms(int t) { int i,j;

for(i=0;i

for(j=0;j<120;j++); } 实现延时的功能。

3.3 T0定时器的初始化以及外部中断0、1的初始化

//T0定时器初始化 void reset_T0()

搜索更多关于: 基于LCD1602制作的秒表c语言设计 的文档
基于LCD1602制作的秒表c语言设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6cop41s8ys4oweh0pit1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top