最新的1602LCD显示的秒表毕业设计

发布时间 : 星期五 文章最新的1602LCD显示的秒表毕业设计更新完毕开始阅读

安徽理工大学软件学院

图2.4 复位电路

安徽理工大学软件学院

安徽理工大学软件学院

3 软件设计

在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。所以在设计此次的毕业设计时,将程序分开,主程序实现每个功能与按键,实现对函数的延时及计时器的缓冲与累加显示功能,而子程序1602LCD实现各功能的接口。

3.1 主程序的设计

本电路设计采用AT89C51单片机为核心,利用晶振产生频率为1HZ的时钟脉冲信号,利用液晶屏LCD1602显示计算及其时间信息,通过对AT89C51单片机的编程控制液晶屏LCD1602的显示。显示计时、累加、清零在LCD1602显示屏幕上,通过按键K1\\K2切换选择。外部按键可及时暂停、计时、清零等秒表计时的信息。 3.3.1 主程序功能概述

1602LCD秒表显示器的主程序功能是调用每个功能的函数,声明每个功能函数,实现K1、K2键函数的功能,与时间timer()函数计时器的完成。 3.3.2 主程序设计流程

在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂程序划分为若干的简单的、功能单一的程序模块,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。为了能够更清楚的表达主程序设计流程,所以用流程图3.1展示其在实验设计中的作用。

安徽理工大学软件学院

安徽理工大学软件学院

图3.1 流程图

3.3.3 主程序代码与分析

//------------------------------------Main.c----------------------------------------- //名称:用1602LCD设计秒表

//----------------------------------------------------------------------------------- //说明:首次按下K1键时开始计时,再次按下时暂停,第三次按下时继续 // 累计计时,再次按下时停止计时,K2键用于清零秒表

//----------------------------------------------------------------------------------- # include # include

#define uchar unsigned char

安徽理工大学软件学院

安徽理工大学软件学院

#define uint unsigned int

#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}

//LCD控制函数

void LCD_Initialize();

void LCD_Set_POS(uchar); void LCD_Write_Data(uchar);

void Display_String(uchar *,uchar); //按键的设计与实现 sbit K1=P1^0; sbit K2=P1^1; sbit BEEP=P3^0; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_EN=P2^2; uchar KeyCount=0;

uchar code msg1[]={%uchar code msg2[]={\ %uchar code Prompts[][16]= {

{\ \ {\ \ {\ \ {\}

//计时缓冲与显示缓冲

uchar Time_Buffer[] ={0,0,0,0};

uchar LCD_Display_Buffer[] ={\

//------------------------------------------------------------------------------------- //蜂鸣器

//------------------------------------------------------------------------------------- void BeeP() {

uchar i,j=70;

for (i=0;i<180;i++) {

while (--j); BEEP=~BEEP; }

BEEP=0; }

//------------------------------------------------------------------------------------- //延时

安徽理工大学软件学院

联系合同范文客服:xxxxx#qq.com(#替换为@)