文档库 最新最全的文档下载
当前位置:文档库 › 1602lcd显示的秒表(1)

1602lcd显示的秒表(1)

1602lcd显示的秒表(1)
1602lcd显示的秒表(1)

1602lcd显示的秒表(1)

目录

1概述 (1)

1.1课题的研究意义和目的 (1)

2方案论证 (1)

2.1 STC89C52主要功能特性 (1)

2.2系统分析 (4)

3硬件系统的设计 (4)

3.1硬件介绍 (4)

3.2部分硬件原理图 (5)

3.3最小单片机系统 (6)

4系统的软件设计 (7)

5软硬件联调 ................................................................................. 错误!未定义书签。

5.1正面图...................................................................................错误!未定义书签。

5.2反面接线...............................................................................错误!未定义书签。

5.3测试结果...............................................................................错误!未定义书签。结束语 (8)

参考文献 ........................................................................................ 错误!未定义书签。附录 ................................................................................................ 错误!未定义书签。附录1 protel原理图. (9)

附录2 PCB图 (10)

附录3 protues仿真图 (11)

附录4 程序清单 (11)

附录5元器件清单 (24)

1概述

1.1课题的研究意义和目的

1、通过本实验的设计初步了解单片机工作原理和各功能端口的相关设置;

2、掌握PROTEUS软件的安装和配置过程;

3、学会绘制电路原理图;

4、了解装载程序和调试;

5、PROTEUS VSM 与uVision3的联调;

6、用单片机仿真软件,并进行调试;

7、掌握单片机相应的编程步骤,了解秒表相关的工作流程;

8、熟悉KEIL\PROTEUS等相关软件的使用。

2方案论证

2.1 STC89C52主要功能特性

1、兼容MCS51指令系统

2、8k可反复擦写(大于1000次)Flash ROM;

3、32个双向I/O口;

4、256x8bit内部RAM;

5、3个16位可编程定时/计数器中断;

6、时钟频率0-24MHz;

7、2个串行中断,可编程UART串行通道;

8、2个外部中断源,共8个中断源;

9、2个读写中断口线,3级加密位;

10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

STC89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。表.P1.0和P1.1的第二功能

P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。

P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

2.2系统分析

设计的电路主要是能多次记时和查询时间,记时的多少通过显示电路显示出来,每一次计时可以通过控制电路查询出来。设计框图如图2-1所示;

图2-1

3硬件系统的设计

3.1硬件介绍

根据设计要求和设计思路,硬件电路有两部分组成,即单片机按键电路,LCD显示器电路。图2-2 为硬件电路设计框图。

图2-2

系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机89C52RC、电源、时分秒显示模块。

时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过89C52RC的I/O口控制。显示模块中的复位电路由89C52RC的RESET端控制。

电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由5V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。

3.2部分硬件原理图

3.2.1STC89C52管脚图

如图3-1所示:

图3-1 3.2.2 1602LCD液晶硬件图

如图3-2所示:

图3-2 3.3最小单片机系统

如图3-3所示:

图3-3

4系统的软件设计

此部分主要介绍显示模块,显示模块是实现数字钟的重要部分,在显示时,首先将时间十进制数据转化为显示段码,然后送往液晶显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变@R1(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。如图4-1所示:

图4-1

结束语

通过这次实验,我学会了熟练运用protues,keil,protel等软件,在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪

些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。 附录1 protel 原理图

9

12345678

39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 21 22 23 24 25 26 27 28

8051

LS1

SPEAKER

VCC

d0

d1d2d3d4d5d6d7RS RW E VCC

R2 10K

VCC

附录2 PCB图

附录3 protues仿真图

附录4 程序清单

#include

#include

#define uchar unsigned char

#define unit 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[]={"Second Watch 0"}; uchar code msg2[]={">>>> "}; uchar code Prompts[][16]=

{

{"::1----> "},

{"::1----> ::2 "},

{"::1->2 ::3--> "},

{"::1->2 ::3-->4"}

};

//计时缓冲与显示缓冲

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

uchar

LCD_Display_Buffer[]={"00:00:00:00"};

//蜂鸣器

void Beep()

{

uchar i,j=70;

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

{

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

}

BEEP=0;

}

//延时

void DelayX(unit ms)

{

uchar i;

while(ms--) for(i=0;i< 120;i++) ;

}

//显示计时

void Show_Second()

{

uchar i;

LCD_Set_POS(0x45);//设置LCD显示起点

for(i=3;i!=0xff;i--)

{

//将两位整数的1/100s,秒,分,时转换为8位数字字符

LCD_Display_Buffer[2*i+1]=Time_Buffer[i]/10 +'0';

LCD_Display_Buffer[2*i ]=Time_Buffer[i]%1 0+'0';

//在i=3,2,1,0时分别显示时,分,秒,1、100s

LCD_Write_Data(LCD_Display_Buffer[2*i+1]);

LCD_Write_Data(LCD_Display_Buffer[2*i]);

LCD_Write_Data(':');

}

}

//Time0中断

void Time0() interrupt 1 using 0

{

TH0=-10000/256;

TL0=-10000%256;

Time_Buffer[0]++;

if(Time_Buffer[0]==100)

{

Time_Buffer[0]=0; Time_Buffer[1]++; }

if(Time_Buffer[1]==60) //秒

{

Time_Buffer[1]=0;Time_Buffer[2]++;

}

if(Time_Buffer[2]==60) //分

{

Time_Buffer[2]=0;Time_Buffer[3]++;

}

if(Time_Buffer[3]==24) //时

Time_Buffer[3]=0;

}

//主函数

void main()

{

uchar i;

IE=0x82;

TMOD=0x01;

TH0=-10000/256;

TL0=-10000%256;

LCD_Initialize();

Display_String(msg1,0x00); Display_String(msg2,0x40); while(1)

{

if(K1==0)

{

DelayX(100);

i=++KeyCount;

switch(i)

{

case 1:

case 3:TR0 =1;

Display_String(Prompts[i-1],0); break;

case 2:

case 4:TR0 =0;

Display_String(Prompts[i-1],0);

break;

default:TR0=0;

break;

}

while (K1==0) ; //等待释放K1键Beep();

}

1602LCD显示的秒表 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_Date(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[] = ﹛〞Second Watch 0 〞﹜; uchar code msg2[] = ﹛〞>>>> 0 〞﹜; uchar code Prompts[] [16] = { ﹛〞:: 1- - - - > 〞﹜,

﹛〞:: 1- - - - > ::2 〞﹜, ﹛〞:: 1 - >2 ::3- - > 〞﹜, ﹛〞:: 1 - >2 ::3- - >4 〞﹜ }; // 计时缓冲与显示缓冲 uchar Time_Buffer[] ={0,0,0,0}; uchar LCD_Display_Buffer[]={〞00: 00: 00:00〞}; // // 蜂鸣器 // void Beep () ﹛ uchar i,j = 70; for (i = 0;i< 180;i++ ) ﹛ while(--j);BEEP = ~BEEP; ﹜ BEEP = 0; ﹜ // // 延时 // void DelayX(uint ms) { uchar i; while(ms--) for (i= 0;i< 120;i++); ﹜ // // 显示计时

1602显示秒表

/**********************BST-V51实验开发板例程************************ * 平台:BST-V51 + Keil U3 + STC89C52 * 名称:1602显示秒表 ****************************************************************** * * * 描述:* * * * 上电后液晶屏先显示信息,接着按下K3,定时开始,再次按下* * * * K3暂停,第3次按下显示累积计时,第4次按下暂停计时,任何时候按下K4* * * * 计数清零。* * * * * ************************************************************************/ #include #include #define uchar unsigned char #define uint unsigned int uchar KeyCount=0; sbit K3 = P3^6; sbit K4 = P3^7; sbit BEEP = P2^3; //蜂鸣器 uchar code cdis1[ ] = {" STOPWA TCH 0 "}; uchar code cdis2[ ] = {" BST-V51 "}; uchar code cdis3[ ] = {"TIME "}; uchar code cdis4[ ] = {" BEGIN COUNT 1 "}; uchar code cdis5[ ] = {" PAUSE COUNT 2 "}; uchar code cdis6[ ] = {" BEGIN COUNT 3 "}; uchar code cdis7[ ] = {" PAUSE COUNT 4 "}; uchar code cdis8[ ] = {" "}; sbit LCD_RS = P1^0; sbit LCD_RW = P1^1; sbit LCD_EN = P2^5;

1602lcd显示的秒表(1)

1602lcd显示的秒表(1)

目录

7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 STC89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。表.P1.0和P1.1的第二功能

带有LCD显示的音乐倒数计时器

信息工程学院 课程设计报告书题目: 带有LCD显示的音乐倒数计时器 专业:计算机科学与技术 日

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制系统日新月益更新。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本次课程设计的项目是带有LED显示的音乐倒数计时器。主体使用89C52,通过几个开关进行控制,其中开关K1用于切换时间设置状态和时钟运行状态;开关K2用于切换修改时间数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定倒计时时间,并且设定好后到时间通过实验箱音频放出一段乐曲作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能 关键词:单片机课程项目计时器 89C52

摘要 ..................................................................................................................................... I 1前言 (1) 1.1课题开发背景 (1) 1.2课题研究的目的和意义 (1) 1.3课题的主要研究工作 (1) 2 系统硬件设计及说明 (3) 2.1系统组成及总体框图 (3) 2.2部分硬件方案论述 (3) 2.3硬件电路图 (4) 2.4元件清单 (4) 2.4.1 AT89C52 (4) 2.4.2 LCD1602 (5) 2.4.3按键控制单元 (6) 2.4.4 SPEAKER (7) 3系统软件设计 (8) 3.1系统总体功能流程图 (8) 3.2使用单片机实现音乐节拍 (10) 3.3使用单片机产生音频脉冲 (11) 3.4使用定时器实现定时功能 (12) 3.5程序描述 (12) 4总结与展望 (15) 参考文献 (16)

1602lcd显示的秒表

目录 1 概述 0 1.1 1602LCD研究的历史背景和意义 0 1.2 1602LCD研究的发展和现状 0 2 课题方案设计 0 2.1系统设计目的 0 2.2系统结构模块论证 (1) 2.2.1 显示部分 (1) 3 系统硬件设计 (1) 3.1 总体设计 (1) 3.2 单片机运行的最小系统 (2) 3.2.1 电源电路 (2) 3.2.2晶振电路 (2) 3.2.3复位电路 (3) 3.3 显示电路 (4) 3.3.1引脚说明: (4) 3.4 单片机STC89C52 (5) 3.4.1主要特性 (5) 3.4.2功能特性概述 (6) 3.4.3主要引脚及芯片基本工作条件说明 (6) 4 系统软件设计 (7) 4.1 总流程图 (7) 4.2 最小系统检测电路程序 (8) 4.3 编程调试界面 (9) 4.4 Proteus仿真结果 (9) 5软硬件联调及调试结果 (10) 5.1 实物图 (10) 5.2 调试结果 (11) 结束语 (12) 参考文献 (12) 附录2 1602LCD设计的秒表PCB图 (14) 附录3 1602LCD设计的秒表Proteus仿真图 (15) 附录4 1602LCD设计的秒表C语言程序清单 (15) 附录5 基于单片机的1602LCD设计的秒表元器件目录表 (21)

1 概述 1.1 1602LCD研究的历史背景和意义 LCD1602是16字乘以2行的字符型液晶模板。其特点是: (1)位数多,可显示32位。 (2)显示内容丰富,可显示所有数字、字母、符号等192种ASCII码对应的字符。(3)程序简单 1.2 1602LCD研究的发展和现状 液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。目前字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+SV电源供电,外围电路配置简单,价格便宜,具有很高的性价比。 2 课题方案设计 2.1系统设计目的 设计一个单片机控制的秒表系统,利用单片机的定时器计数器定时和计数的原理,结合显示电路、LCD液晶显示器以及按键来设计计数器。将软、硬件有机地结合起来,使得系统能够正确的进行加、减计时,液晶显示器能够正确的显示时间。使学生增进对单片机的感性认识,加深对单片机理论方面的理解。掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。同时了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。 (1)使用集成数字电路或单片机作为主控制芯片 (2)使用LCD来显示现在的时间,显示格式为: 上行显示:Current Time; 下行显示:时时:分分:秒秒; (3)具有调整日期与时间的功能。

1602lcd显示的秒表(1)

目录 1概述 (1) 1.1课题的研究意义和目的 (1) 2方案论证 (1) 2.1 STC89C52主要功能特性 (1) 2.2系统分析 (3) 3硬件系统的设计 (3) 3.1硬件介绍 (3) 3.2部分硬件原理图 (4) 3.3最小单片机系统 (5) 4系统的软件设计 (5) 5软硬件联调 (7) 5.1正面图 (7) 5.2反面接线 (8) 5.3测试结果 (8) 结束语 (9) 参考文献 (9) 附录 (10) 附录1 protel原理图 (10) 附录2 PCB图 (11) 附录3 protues仿真图 (12) 附录4 程序清单 (12) 附录5元器件清单 (17)

1概述 1.1课题的研究意义和目的 1、通过本实验的设计初步了解单片机工作原理和各功能端口的相关设置; 2、掌握PROTEUS软件的安装和配置过程; 3、学会绘制电路原理图; 4、了解装载程序和调试; 5、PROTEUS VSM 与uVision3的联调; 6、用单片机仿真软件,并进行调试; 7、掌握单片机相应的编程步骤,了解秒表相关的工作流程; 8、熟悉KEIL\PROTEUS等相关软件的使用。 2方案论证 2.1 STC89C52主要功能特性 1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 STC89C52为8 位通用微处理器,采用工业标准的C51核,在部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总

基于51单片机LCD1602数字钟

基于51单片机的数字时钟 实训单位: 南耕科技 系别: 工程技术系 专业: 姓名:

摘要 本文介绍了基于AT89C51单片机的数字式时钟的设计,详细叙述了系统硬件、软件的具体实现过程。本文在硬件、软件设计上均采用模块化的方法,使得在设计和调试方面取得很大的方便。软件同样采用模块化的设计,包括中断模块、时间调整模块等设计,并采用简单流通性强的C语言编写实现。本设计实现了时、分、秒的显示和时间修改的功能。通过对比实际的时钟,查找出误差的来源,确定调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。 关键字:AT89C51单片机;数字钟;模块化;

目录 1 绪论 (1) 1.1 课题背景 (1) 1.2 课题意义 (2) 1.3 数字式时钟的应用 (2) 1.4 本章小结 (3) 2 单片机简介 (3) 2.1 单片机的选择 (3) 2.1.1 单片机的特点 (5) 2.1.2 单片机的应用领域 (5) 2.2 AT89C51单片机的基本结构 (6) 2.3 本章小结 (11) 3 数字式时钟的硬件设计 (12) 3.1 最小系统设计 (13) 3.2 数字式时钟的外围电路设计 (14) 3.3 本章小结 (19) 4 数字式时钟的软件设计 (19) 4.1 系统软件设计内容 (19) 4.2主程序 (20) 4.3时钟设置子程序 (22) 4.4中断子程序 (24) 4.5 LCD显示子程序 (24) 4.6 本章小结 (26) 5 数字式时钟的Protues软件仿真 (26) 5.1 Protues软件的概述 (26) 5.2 Protues软件的功能特点 (27) 5.3 Protues软件具有4大功能模块 (27) 5.4 数字式时钟的Proteus软件仿真 (29) 5.5 本章小结 (35) 结论 (36) 致谢 (37) 单片机介绍 (37) 附录 (41)

基于单片机的LCD1602电子时钟设计

基于单片机的LCD1602电子时钟设计 一、设计任务和目的 1.1、设计任务 (1):用单片机设计基于LCD1602的电子时钟,显示时间和日期; (2):误差精度控制在1s/天; (3):具有时间和日期的校准功能; (4):能区分某年是闰年或平年,并对应显示2月份的天数; (5):根据月份的不同显示不同的最大日数; (6):搭建仿真电路图,模拟单片机要实现的功能; (7):焊接单片机开发板; (8):编写程序,下载并调试,实现要求的功能。 1.2、设计目的 (1):熟练掌握KEIL软件的使用方法; (2):熟练掌握PROTEUS软件的使用方法; (3):掌握单片机I/O接口的工作原理; (4):掌握LCD显示器的工作原理及编程方法; (5):掌握独立式键盘的工作原理及编程使用方法; (6):掌握单片机的下载使用方法。 二、设计思路和方案论证 2.1、设计思路 电路总体上分为控制和显示部分。以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。 2.2、方案论证 (1):时钟芯片的选择和论证 方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。 方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。 (2):显示模块选择方案和论证: 方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。 方案二:采用点阵式字符型LCD1602液晶显示屏,LCD1602是专门用于显示字母、数字、符号等的点阵型液晶显示模块,分4位和8位数据传输方式。提供“5×7点阵+光标”和“5×10点阵+光标”的显示模式。价格现对便宜,所以用此种作为显示。

1602显示时钟

成绩 题目:简易电子时钟 设计 学生姓名:殷焱 学生学号: 1008030320 系别:电气学院 专业:电子信息工程 年级: 103 任课教师:朱士永 电气信息工程学院制 2012年11月

一、设计任务及要求 1.1背景: 数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 1.2课程设计目的 (1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。 1.3设计要求 1).时制式为24小时制。 2).采用LCD1602液晶显示年、月、日、时、分,秒采用数字显示。 3).具有方便的时间调校功能。

单片机课程设计实验报告lcd电子时钟

单片机原理与应用课程名称:单片机原理与应用 设计题目:LCD电子钟 院系:电子信息工程学院 班级:自动化0706 设计者:全宏宇 指导教师: 一,设计目标 LCD显示电子钟的基本功能 1,实现时钟功能; 2,实现闹铃功能; 3,实现秒表功能; 4,具有一定的计时精度。 LCD显示电子钟的基本要求 1,掌握单片机开发编程设计的基本流程; 2,了解Keil及Proteus软件的基本使用; 3,了解LCD的基本使用; 4,学习单片机硬件制作。 二,具体实现 1,软件平台 1)Keil编程 Keil 的开发工具的使用的基本过程: ○1创建 C 或汇编语言的源程序;

○2编译或汇编源文件; ○3纠正源文件中的错误; ○4从编译器和汇编器连接目标文件; ○5测试连接的应用程序。 2)Proteus仿真 Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。在编译方面,它也支持IAR,Keil,PLAB等多种编译器。 2,硬件开发平台 JD51开发板的基本资料 ○1 LED 电路,8 只独立LED 发光管,可做指示或各种闪烁效果用。 ○2数码管电路,4只共阳一体8 段数码显示管,可实现各种数据显示,如计数、时钟等。○3蜂鸣器电路,可用于设计各种提示音、演奏音乐等。 ○4键盘电路,学习按键控制相关编程。 ○5 LCD 显示电路,编程控制LCD 显示。 ○6串口电路,学习编程实现JD51 和PC 或其他符合该通信协议的电路之间的通信。 ○7红外电路,通过选配的红外遥控器,学习红外解码并可实现红外遥控JD51。 ○8温度模块电路,采用一线式温度传感器实现温度的采集并可显示在数码管或者LCD 上,通过温度数据处理便可实现温度控制器功能。 ○9除了以上提到的可编程电路本学习板还有一些常用的不可编程电路,包括电源电路、复位电路、晶振电路等。 本次LCD电子钟实验用到其中的蜂鸣器,按键,LCD显示接口。 3,总体设计 1)基本资源的使用

LCD1602液晶显示秒表程序

1.LCD1602驱动程序的编程 要想让LCD1602显示出我们需要的内容,就的严格按照LCD1602的工作时序来进行编程。驱动LCD1602显示程序主要有几个子程序组成: 1.1 初始化子程序 ;***************************************************************** ;LCD 初始化子程序 ;8位数据传送方式,双行显示,字形5*7点阵。 ;开显示,不显示光标。 ;***************************************************************** ; INIT_LCD: ACALL DELAY5MS ;延时15MS,等待LCD电源稳定 ACALL DELAY5MS ACALL DELAY5MS MOV A,#38H ;双行显示,字形5*7点阵,8位数据转移。 ACALL WCOM_NC ;不检测忙信号 ACALL DELAY5MS MOV A,#38H ACALL WCOM_NC ACALL DELAY5MS MOV A,#38H ACALL WCOM_NC ACALL DELAY5MS MOV A,#38H ;双行显示,字形5*7点阵,8位数据转移。 ACALL WCOM ;检测忙信号 ACALL DELAY5MS MOV A,#0CH ;开显示,不显示光标,光标不闪烁。 ACALL WCOM ACALL DELAY5MS MOV A,#06H ;移动光标(光标加1) ACALL WCOM ACALL DELAY5MS MOV A,#01H ;清除 LCD 显示屏 ACALL WCOM ACALL DELAY5MS RET 完全可以根据自己实际的使用情况来对LCD1602进行初始化操作。 例如: 选择单行显示时,选择下列操作指令。 MOV A,#30H ;单行显示,字形5*7点阵,8位数据转移。 ACALL WCOM ;检测忙信号

最新1602LCD显示秒表汇编汇总

1602L C D显示秒表汇 编

//******************************************************************** *******// ; K2=P3.3 K4=P3.5 ;* 1602LCD显示秒表 * ;* K2 --- 控制按键 * ;* 按一下计时,再按一下暂停计时 * ;* ;* K4 --- 清零按键: * ;* 在任何状态下,按一下K4,均可清零。 * ;* * ;--------------------------------------- ;晶振 11.0592M ;定时器0,方式1 ;计时中断程序每隔10ms中断一次 ;--------------------------------------- TLOW EQU 0CH ;定时器初值 THIGH EQU 0DCH HOUR EQU 30H MIN EQU 31H SEC EQU 32H SEC0 EQU 33H ;10ms计数值 KEY_D EQU 34H ;为键当前的端口状况 KEY_S EQU 35H ;为键上次的端口状况 X EQU 36H ;LCD 地址变量 KEY_C EQU 37H ;键计数单元

;K1 EQU P3.2 K2 EQU P3.3 ;K3 EQU P3.4 K4 EQU P3.5 BEEP EQU P2.4 RS EQU P3.5 ;LCD控制端口定义 RW EQU P3.6 EN EQU P3.7 ;---------------------------------------------------- ORG 0000H JMP START ORG 0BH JMP T0_INT ;---------------------------------------------------- START: MOV R3,#00H MOV SP,#60H CLR EN CALL SET_LCD CALL INIT ;初始化变量 MOV KEY_S,#01H CALL INIT_TIMER ;初始化定时器 ; CALL MENU LOOP: CALL CONV ;时间计数处理CALL SKEY MOV KEY_S,KEY_D JZ XP MOV A, KEY_S JB ACC.0,XP CLR A MOV B,A INC R3 MOV A,R3 MOV B,#2 DIV AB MOV A,B

基于LCD1602的简易秒表的设计与实现

数字电路与逻辑设计 实验报告 学院:电子工程学院 班级:2014211212 姓名: 学号: 班内序号:

一、设计课题的任务要求 简易秒表的设计与实现 设计制作一个计时精度为百分之一秒的计时秒表 基本要求: 1.用LCD1602液晶屏显示计时; 2.秒表计时长度为23小时59分59.99秒; 3.用BTN0作为启动/停止开关; 4.用BTN1作为复位开关,在任何情况下,只要按下复位开关,秒表都要无 条件执行清零操作。 提高要求: 1.增加定时器功能,可根据用户设定的时间进行倒计时,时间到0后蜂鸣器 报警提示; 2.自拟其他功能。 二、系统设计(设计思路、总体框图、分块设计) 1.设计思路: ①分别设计6进制计数器、10进制计数器和24进制计数器用于秒表计时 部分。具体来说:将两个10进制计数器级联分别作为秒表的十分秒位(最 小单位为0.1秒)和百分秒位(最小单位为0.01秒);将一个10进制计 数器和6进制计数器级联,分别作为秒表秒钟部分的个位(最小单位为1 秒)和十位(最小单位为10秒);再将一个10进制计数器和6进制计数 器级联,分别作为秒表分钟部分的个位(最小单位为1分钟)和十位(最 小单位为10分钟);将24进制计数器作为秒表小时部分,其中低位输 出作为秒表小时部分的个位(最小单位为1小时),高位输出作为秒表小 时部分的十位(最小单位为10小时)。最后把秒表百分秒、十分秒部分、 秒钟部分、分钟部分、小时部分这四部分级联起来便构成了简易数字秒 表的计时部分。 ②将各个计数器部分的输出信号通过译码模块,变成LCD1602液晶屏能够 读取并从而显示相关字符的8位二进制数据。再定义一个存储器ram, 存储各个计数器部分的输出信号经过译码部分之后得到的数据,然后将 这个存储器ram代表的数据在LCD1602液晶屏上显示。 ③考虑到秒表的最小计时长度为0.01秒(频率为100HZ),如果系统时钟设 置为50MHZ,则需要500000分频;实验时发现LCD1602液晶屏的时钟在 1KHZ时,显示效果较好,故需要在系统时钟为50MHZ的基础上进行50000 分频。 ④考虑到基本要求中需要用BTN0作为启动/停止开关,用BTN1作为复位 开关,所以需要设计相应的按键防抖电路,这里我采用的是计数型防抖。 2.总体框图:

LCD1602液晶秒表C51程序

LCD1602液晶秒表C51程序 此程序是基于51hei单片机开发板上面写的,如需要移植到自己的电路上,修改相应的端口即可,开发板完整的电路图下载: 点这里(注意:只需要看1602部分即可,其他部分可以忽略) /** ************************************************* ********************** * @file main.c * @author xr * @date 2014年5月8日22:11:33 -- 2014年5月9日12:03:49 * @version V1.2.3 * @brief LCD1602液晶跑表单片机STC89C52RC MCU 晶振 11.0592MHZ ************************************************* ********************** */

#include ; /* 系统时钟 */ #define SYS_XTAL (11059200UL/12) /* 定时器T0重载值 */ unsigned char thr0, tlr0; unsigned char thr1, tlr1; /* 跑表计数 */ unsigned char timer[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; //分别表示跑表的各个位上的数字 bit flag10ms = 0; extern bit stopflag;//跑表走停标志位 extern void InitalLCD1602(); extern void LcdShowStr(unsigned char x, unsigned char y, unsigned char * str); extern void KeyDriver(); extern void KeyScan(); void DisplayTimer(); void ConfigTimer0(unsigned int xms); void ConfigTimer1(unsigned int xms); /* 主函数main() */ void main(void) {

根据LCD1602的简单秒表的设计与实现

数字电路与逻辑设计实验报告 学院:电子工程学院 班级:2014211212 姓名: 学号: 班内序号:

一、设计课题的任务要求 简易秒表的设计与实现 设计制作一个计时精度为百分之一秒的计时秒表 基本要求: 1.用LCD1602液晶屏显示计时; 2.秒表计时长度为23小时59分59.99秒; 3.用BTN0作为启动/停止开关; 4.用BTN1作为复位开关,在任何情况下,只要按下复位开关,秒表都要无 条件执行清零操作。 提高要求: 1.增加定时器功能,可根据用户设定的时间进行倒计时,时间到0后蜂鸣器 报警提示; 2.自拟其他功能。 二、系统设计(设计思路、总体框图、分块设计) 1.设计思路: 分别设计6进制计数器、10进制计数器和24进制计数器用于秒表计时部分。具体来说:将两个10进制计数器级联分别作为秒表的十分秒位(最 小单位为0.1秒)和百分秒位(最小单位为0.01秒);将一个10进制计 数器和6进制计数器级联,分别作为秒表秒钟部分的个位(最小单位为1 秒)和十位(最小单位为10秒);再将一个10进制计数器和6进制计数 器级联,分别作为秒表分钟部分的个位(最小单位为1分钟)和十位(最 小单位为10分钟);将24进制计数器作为秒表小时部分,其中低位输出 作为秒表小时部分的个位(最小单位为1小时),高位输出作为秒表小时 部分的十位(最小单位为10小时)。最后把秒表百分秒、十分秒部分、秒 钟部分、分钟部分、小时部分这四部分级联起来便构成了简易数字秒表 的计时部分。 将各个计数器部分的输出信号通过译码模块,变成LCD1602液晶屏能够读取并从而显示相关字符的8位二进制数据。再定义一个存储器ram,存 储各个计数器部分的输出信号经过译码部分之后得到的数据,然后将这 个存储器ram代表的数据在LCD1602液晶屏上显示。 考虑到秒表的最小计时长度为0.01秒(频率为100HZ),如果系统时钟设置为50MHZ,则需要500000分频;实验时发现LCD1602液晶屏的时钟在 1KHZ时,显示效果较好,故需要在系统时钟为50MHZ的基础上进行50000 分频。 考虑到基本要求中需要用BTN0作为启动/停止开关,用BTN1作为复位开关,所以需要设计相应的按键防抖电路,这里我采用的是计数型防抖。 2.总体框图:

单片机控制的1602LCD分组独立秒表课程设计报告

宁波工程学院 设计与讨论 课程设计报告 课题题目:用1602LCD显示秒表 学院名称:电子与信息工程学院 专业: 学生姓名: 3 学生姓名: 学生姓名: 指导教师: 起讫时间:2013年1月2日至2013年1月11日

目录第一章技术指标 1.1整体功能要求 1.2系统结构要求 1.3设计条件 第二章整体方案设计 1. 整体方框图及原理 第三章硬件设计模块 3.1相关元器件的简介 3.2 晶振电路设计 3.3复位电路设计 3.4控制电路设计 3.5 秒表显示电路设计 3.6整体电路图 3.7整机原件清单 第四章软件设计 第五章仿真与测试 第六章设计小结 5.1 设计任务完成情况 5.2 问题及改进 5.3心得体会 参考文献

第一章 技术指标 1. 整体功能要求 分组独立计时秒表:设计一个单片机控制的秒表系统,利用单片机的定时器计数器定时和计数的原理,结合显示电路、LCD 液晶显示器以及按键来设计计数器。用K1键控制秒表1计时的启动与暂停,用K2键控制秒表1的复位。用K3键控制秒表2的启动与暂停,用K4键控制秒表2的复位,每按一次按键蜂鸣器都会发出警报声。并且秒表1,2互不影响各自计时,同时在1602LCD 上显示。 2. 系统结构要求:系统结构如图2-1所示 图2-1 用1602LCD 设计的秒表系统框图 3. 设计条件 软件要求:uVision ,protuse 仿真软件 电源条件:5V 。 单片机 显示电路 键盘电路 外围电路 电源电路

第二章整体方案设计 图2-1原理框图 注:图2-1原理框图中K1键为秒表1的启动与暂停控制键,K3键为秒表1的复位键,K2为秒表2的启动与暂停控制键,K4为秒表2的复位键。

单片机课程设计实验报告_LCD电子时钟

单片机原理与应用 课程名称:单片机原理与应用 设计题目:LCD电子钟 院系:电子信息工程学院 班级:自动化0706 设计者:全宏宇 指导教师:

一,设计目标 LCD显示电子钟的基本功能 1,实现时钟功能; 2,实现闹铃功能; 3,实现秒表功能; 4,具有一定的计时精度。 LCD显示电子钟的基本要求 1,掌握单片机开发编程设计的基本流程; 2,了解Keil及Proteus软件的基本使用; 3,了解LCD的基本使用; 4,学习单片机硬件制作。 二,具体实现 1,软件平台 1)Keil编程 Keil 的开发工具的使用的基本过程: ○1创建C 或汇编语言的源程序; ○2编译或汇编源文件; ○3纠正源文件中的错误; ○4从编译器和汇编器连接目标文件; ○5测试连接的应用程序。 2)Proteus仿真 Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。在编译方面,它也支持IAR,Keil,PLAB等多种编译器。

2,硬件开发平台 JD51开发板的基本资料 ○1LED 电路,8 只独立LED 发光管,可做指示或各种闪烁效果用。 ○2数码管电路,4只共阳一体8 段数码显示管,可实现各种数据显示,如计数、时钟等。○3蜂鸣器电路,可用于设计各种提示音、演奏音乐等。 ○4键盘电路,学习按键控制相关编程。 ○5LCD 显示电路,编程控制LCD 显示。 ○6串口电路,学习编程实现JD51 和PC 或其他符合该通信协议的电路之间的通信。 ○7红外电路,通过选配的红外遥控器,学习红外解码并可实现红外遥控JD51。 ○8温度模块电路,采用一线式温度传感器实现温度的采集并可显示在数码管或者LCD 上,通过温度数据处理便可实现温度控制器功能。 ○9除了以上提到的可编程电路本学习板还有一些常用的不可编程电路,包括电源电路、复位电路、晶振电路等。 本次LCD电子钟实验用到其中的蜂鸣器,按键,LCD显示接口。 3,总体设计 1)基本资源的使用 本次实验采用了89C52型单片机,1602LCD液晶显示屏,蜂鸣器。为了实现时钟,定时,闹钟,秒表的功能,用到了单片机的外部中断,计时器中断,及 2)软件仿真 (1)程序设计的一些关键问题(具体参照后面的程序清单) ○1建立Keil工程时,注意对程序编译环境进行设置; 设置内容包括器件,频率,产生hex文件等。 ○2LCD管脚及控制字; LCD管脚的定义

用LED数码管显示的秒表设计

单片机课程设计说明书用LED数码管显示的秒表设计 专业电气工程及其自动化 学生姓名刘宁 班级B电气081 学号0810601114 指导教师张兰红 完成日期2011年6月26 日

目录 1、概述 (1) 2、课题方案设计 (1) 2.1系统总体设计要求 (1) 2.2系统模块结构论证 (1) 3、系统硬件设计 (2) 3.1总体设计 (2) 3.2单片机运行的最小系统 (3) 3.2.1 52单片机最小系统电路介绍 (3) 3.2.2单片机的振荡电路与复位电路 (6) 3.3数码管介绍 (7) 3.4驱动电路 (8) 4、软硬件联调及调试结果 (9) 4.1软硬件调试中出现的问题及解决措施 (9) 4.2实物图 (10) 4.3调试结果 (12) 5、结束语 (12) 参考文献 (13) 附录 (13) 附录1:基于单片机的秒表设计原理图 (13) 附录2:基于单片机的秒表设计PCB图 (14) 附录3:PROTEUS仿真图 (15) 附录4:基于单片机的秒表设计C语言程序清单 (16) 附录5:基于单片机的秒表设计元器件目录表 (18)

1、概述 21世纪是一个电子技术和电子元件有更大发展的世纪。回顾百年来电子技术和电子工业发展的成就,举世瞩目。作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。课程设计就是一个理论联系实际的机会。 本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。 在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。 2、课题方案设计 2.1 系统总体设计要求 用AT89C52设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键。接上电源后从00开始计时,至59后再回到00,继续循环。 2.2系统模块结构论证 1.单片机模块选择 方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对要高,而且对此不熟悉。

基于LCD1206的电子时钟

课程设计 课程名称单片机原理及应用 课题名称基于LCD1206的电子时钟专业自动化 班级1403 学号201401020305 姓名贺天佑 指导老师汪超 2017年6月2日

电气信息学院 课程设计任务书 课题名称基于CLD1206的电子时钟 姓名贺天佑专业自动化班级1403学号05指导老师汪超 课程设计时间2017年5月22日-2017年6月2日(13、14周) 教研室意见意见:审核人: 一、任务及要求 1、设计任务: 本课题要求以MCS-51系列单片机为核心,设计一个简易电子时钟。 (1)采用液晶显示模块LCD1602进行显示; (2)显示年/月/日/时/分/秒; (3)具备调时功能、闹钟功能、秒表功能; (4)其它功能。 2、设计要求: (1)确定系统设计方案; (2)进行系统的硬件设计; (3)完成应用程序设计; (4)应用系统的硬件和软件的调试。 二、进度安排 第一周: 周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。 周二~周三:完成硬件设计和电路连接。 周四~周日:完成软件设计。 第二周: 周一~周三:程序调试。 周四~周五:设计报告撰写。周五进行答辩和设计结果检查。 三、参考资料 1、王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,2011. 2、胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.

目录 第1章系统概述 1.1系统简介 (1) 1.2任务与要求 (1) 1.2.1设计任务: (1) 1.2.2设计要求: (1) 第2章系统方案设计 2.1 设计方案 (1) 2.2 设计思路及系统框架图 (1) 第3章系统硬件设计 3.1 单片机STC89C52 (2) 3.2 矩阵键盘电路 (3) 3.3 蜂鸣器电路 (4) 3.4 LCD数码管显示电路 (5) 第4章系统软件设计 4.1 系统主程序 (5) 4.2 矩阵键盘功能程序 (6) 4.3 定时功能程序 (7) 第5章系统调试 5.1调试方法 (7) 5.2调试结果 (7) 设计总结 (9) 参考文献 (9) 附录A 实物图 (10) 附录B 仿真图 (10) 附录C 程序清单 (10)

相关文档
相关文档 最新文档