1602LCD显示的秒表报告-18页

1602LCD显示的秒表报告-18页
1602LCD显示的秒表报告-18页

目录

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 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动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的第二功能

引脚号功能特性

P1.0 T2,时钟输出

P1.1 T2EX(定时/计数器2)

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 为硬件电路设计框图。

按键电路STC89C

52

LC D显示电路图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所示:

C1

30pF C2 30pF C3 10uF

X1

11.0592M

R1

10k

图3-3

4系统的软件设计

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

图4-1

5软硬件联调5.1正面图

5.2反面接线

5.3测试结果

结束语

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

其次,在这次课程设计中,我们运用到了以前所学的专业课知识。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

参考文献

[1]陈益飞.单片机原理及应用技术[M].北京:国防工业出版社,2011.

[2]彭伟.单片机C语言设程序设计实训100例[M]. 北京:电工业出版社,2009.

[3] 赵亮. 液晶显示模块LCD1602应用[J]. 电子制作,2007.

[4] 于志赣,刘国平,张旭斌. 液晶LCD1602模块的应用[J].机电技术,2009.

附录

附录1 protel 原理图

EA/VP

31 X1 19 X2 18

RESET 9

P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 P30 21 P31 22 P32 23 P33 24 P34 25 P35 26 P36 27 P37

28

U1

8051

x1

CRYSTAL

C1 20pF C2 20pF R1 10k

C3 10uF K1 SW-PB K2 SW-PB

VCC

LS1 SPEAKER

1 2 3 4 5 6 7 8

16 15 14 13 12 11 10 9 RP1

RESPACK4 VCC

d0 d1 d2 d3 d4 d5 d6 d7 RS RW E d0 d1 d 2 d3 d 4 d5 d 6 d7

RS RW E d0 d 1 d2 d 3 d4 d 5 d6 d 7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 JP1

HEADER 16

VCC

R2 10K

Q1 PNP

VCC

附录2 PCB图

附录3 protues 仿真图

d0d1d2d3d4d5d6d7d 0d 0d 1d 1d 2d 2d 3d 3d 4d 4d 5d 5d 6d 6d 7

d 7

RS R W E

R S R W E

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51CLOCK=12M

C1

20pF

C2

20pF

C3

10uF

X1

CRYSTAL

R1

10k

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

234567891

RP1

RESPACK-8

K2 (清零)

K1 (启停控制)LS1

SOUNDER

附录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]%10+'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();

}

else

if(K2==0)

{

TR0=0;

KeyCount=0;

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

Time_Buffer[i]=0; //清零计时缓冲

Display_String(msg1,0);

Beep();

DelayX(100);

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

}

Show_Second();

}

}

//1602LCD显示驱动函数

e

#include

#include

#define uchar unsigned char

#define uint unsigned int

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

bit LCD_Busy_Check();

void LCD_Initialize();

void LCD_Set_POS(uchar) ;

void LCD_Write_Command(uchar);

void LCD_Write_Data(uchar);

//延时

void DelayMS(uint ms)

{

uchar t;

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

}

//LCD忙检查

bit LCD_Busy_Check()

{

bit Result;

LCD_RS=0;LCD_RW=1;LCD_EN=1;DelayNOP(); Result=(bit)(P0&0x80);

LCD_EN=0;

return Result;

}

//向LCD写指令

void LCD_Write_Command(uchar cmd)

{

while (LCD_Busy_Check() );

LCD_RS=0;LCD_RW=0;LCD_EN=0;

_nop_(); _nop_();

P0=cmd; DelayNOP();

LCD_EN=1;DelayNOP();

LCD_EN=0;

}

//向LCD写数据…

void LCD_Write_Data(uchar str)

{

while (LCD_Busy_Check()) ;

LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=str;DelayNOP(); LCD_EN=1;DelayNOP();LCD_EN=0;

}

//初始化LCD

void LCD_Initialize()

{

DelayMS(5);LCD_Write_Command(0x38);

DelayMS(5);LCD_Write_Command(0x0c);

DelayMS(5);LCD_Write_Command(0x06);

DelayMS(5);LCD_Write_Command(0x01);

DelayMS(5);

}

//设置显示位置

void LCD_Set_POS(uchar Position)

{

LCD_Write_Command(Position|0x80);

}

//显示函数,在LCD指令行上显示字符串

void Display_String(uchar*str,uchar LineNo)

{

uchar k;

LCD_Set_POS(LineNo);

for (k=0;k<16;k++) LCD_Write_Data (str[k]);

}

附录5元器件清单

序号名称型号数量

1 单片机STC89C5

2 1

2 排针 2.54mm单排针2排

3 排阻2K 1

4 瓷片电容30pf 2

5 晶振11.0592MHZ 1

6 单片机插座40P 1

7 按键 1

8 万能板双面板10cm*15cm 1

9 电解电容10uF/16V 1

10 电阻10K 1

11 电阻1K 1

12 可调电阻W103 1

13 发光二极管红 1

14 蜂鸣器HYDZ 1

15 PNP三极管9012 1

数字式秒表实验报告

数字式秒表实验报告 摘要 本次设计任务是设计一个数字式秒表 经查阅资料后我把实验分为1.脉冲产生部分。2.电路控制部分。3.计数部分4.译码部分。5显示部分。 脉冲产生部分我选择555多谐振荡器,产生100Hz的脉冲。经参考资料,电路控制部分:启动和暂停控制开关使用由RS触发器组成的无抖动开关。 使用74ls160计数器计数,7447译码器驱动共阳极七段显示器。 实验要求 1.秒表最大计时值为99分59.99秒; 2. 6位数码管显示,分辨率为0.01秒; 3 .具有清零,启动计时,暂停及继续计数等控制功能; 4.控制操作间不超过二个。 实验分析 数字式秒表,所以必须有一个数字显示。按设计要求,须用七段数码管来做显示器。题目要求最大记数值为99,59,99,那则需要六个数码管。要求计数分辨率为0.01秒,并且需要相应频率的信号发生器。 选择信号发生器时,有两种方案:一种是用晶体震荡器,另一种方案是采用集成电路555定时器与电阻和电容组成的多谐振荡器。经过查询资料,555多谐振荡器性能稳定,故采用555多谐振荡器。 数字式秒表是一个频率(100HZ)进行计数的计数电路。由于数字式秒表计数的需要,故需要在电路上加一个控制电路,该控制电路清零、启动计时、暂停及继续计数等控制功能,同时100HZ的时间信号必须做到准确稳定。数字电子钟的总体图如图所示。由图可见,

数字电子钟由以下几部分组成:555振荡器秒脉冲发生器,防抖开关;秒表控制开关;一百进制秒、分计数器、六十进制秒计数器;以及秒、分的译码显示部分等 七段显示器 译码器译码器译码器 100进制计数器 60进制计数器 100进制计数器 控制开关 555多谐振器 1. 555构成的多谐振荡器 555构成的多谐振荡器电路图

数电课设 数字秒表的设计仿真

##大学 ##学院 数字电子技术课程设计 课程名称:数字电子技术基础 题目名称:数字电子秒表设计 学生系别:信息工程系 专业班级: 学号: 学生姓名: 指导教师: ..年..月..日

目录 一、设计要求 (3) 二、题目分析 (3) 三、总体方案 (3) 四、具体实现 (4) 1、总体方框图 (4) 2、原理图 (4) 如下图所示: (4) 五、各部分定性说明及定量计算 (5) 1、脉冲发生器(由555构成的多谐振荡器) (5) 2、计数器(74LS90) (7) 3、七段发光二极管(LED)数码管 (8) 4、BCD码七段译码驱动器——CC4511 (9) 六、实验仿真 (11) 七、元器件清单 (11) 八、设计心得体会 (12) 九、参考文献 (12)

数字秒表的设计与仿真 一、设计要求 设计并仿真一个数显电子秒表,要求: (1)能直接显示“分”、“秒”的电子秒表; (2)要求最大能显示9ˊ59〞; (3)能通过按键启动计时,并能通过按键停止计时,并保留显示计时时间; (4)能通过按键复位。 主要器件: 74LS00、555、74LS90、CC4511 二、题目分析 数字秒表是是一种常用的秒计时装置,它能实现手控记秒、停摆、清零功能,它的设计原理就是利用数字逻辑中的知识。 通过对该数字秒表的设计要求的分析,设计的此数字秒表主要由分频器、译码器、十进制计数器、六十进制计数器、控制电路组成。在整体秒表中最关键的如何获得一个精确的100HZ计时脉冲。除此之外,数字秒表还需要有清零控制端以及启动控制端,保持,以便数字时钟能随意、停止及启动。分频器用来产生100HZ计时脉冲;十进制计数器:对分进行计数;六十进制计数器是用来对秒进行计时,显示译码器是完成对7段数码管显示的控制。 按计数要求,须用数码管来做显示器,题目要求最大能显示9ˊ59〞,需要三个数码管,超过最大显示的数字要重新从0开始计数。 复位开关用来使计时器清零,并做好清零准备,复位开关可以在任意情况下使用,即使在计数过程中,只要按一下复位开关,计时进程终止,并对计时器清零。 三、总体方案 数字秒表,必须有一个数字显示。按设计要求,须用数码管来做显示器,题目要求最大能显示9ˊ59〞,则需要三个数码管。计数分辨率为1s,需要相应的信号发生器,选择信号发生器有两种方案: Ⅰ用晶体振荡器; Ⅱ用集成电路555计时器与电阻电容组成的多谐振荡器。 两者都可以产生振荡频率,我们选用方案Ⅱ,因为其核心部分是使用三个74LS90计数器采用串联方式构成,并且这种连接方式简单,使用元器件数量少。

数字电子秒表课程设计

西安航空职业技术学院 电子技术实践课程设计报告 课设题目:数字电子秒表 所属系部:电子工程系 指导老师: 作者: 专业:电子信息工程技术 西安航空职业技术学院制 西安航空职业技术学院 课程设计任务书 题目:数字电子秒表 任务与要求: 1、设计数字电子秒表原理图。 2、用6个数码管显示分、秒、毫秒。 3、计时误差不得超过1s;具有清零、启动计时、暂停计时及继续 计时等控制功能。 4、画出总体电路图。 5、安装自己设计的电路,按照自己设计的电路,在通用板上焊接。 焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、 虚焊的现象。 6、调试电路。 时间:2010年11月29 日至 2010年12 月10 日共2周

所属系部:电子工程系 指导单位或教研室:电子信息教研室 西安航空职业技术学院制 摘要: 采用现代数字电路设计方法和EDA技术,即自顶向下的设计方法,应用protues开发平台进行设计并仿真验证和硬件测试。从总体设计框图开始,将设计任务逐步分解,直到可以用标准的集成电路部件实现,然后将各部件联结成系统,通过protues集成开发平台进行设计的分析综合和时序仿真验证。最后,在分析时序仿真结果的基础上,对设计进行进一步的修改和完善,已达到对设计电路正确运行且学会运用protues电路设计与仿真的目的。 关键词: 555定时器;LED;暂停计时 Abstract: Adopt modern digital circuit design method and EDA technique, namely the top-down design methods, application protues development platform design and simulation validation and hardware test. From the beginning, overall design diagram design task decomposed step by step, until can use standard of integrated circuit components, and then will realize connecting components into system, through protues integrated development platform design of comprehensive analysis and time-series simulation prove. Finally, by analyzing the timing simulation results, on the basis of design for further revised and perfected, reached the correct operation of circuit design and learn to use protues circuit design and simulation of purpose. Key words: 555 timing, Leds, Suspended timing 目录 1 设计方案的选择 (1) 2 总体框架设计 (2) 3 分步电路设计 (3) 3.1控制电路的设计 (3) (3) (3) 3.2数码管显示电路 (4)

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++); ﹜ // // 显示计时

数字秒表的设计与实现实验报告课件

电子科技大学《数字秒表课程设计》 姓名: xxx 学号: 学院: 指导老师:xx

摘要 EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。该设计具有外围电路少、集成度高、可靠性强等优点。通过数码管驱动电路动态显示计时结果。给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。 关键词:FPGA, VHDL, EDA, 数字秒表

目录 第一章引言 (4) 第二章设计背景 (5) 2.1 方案设计 (5) 2.2 系统总体框图 (5) 2.3 -FPGA实验板 (5) 2.4 系统功能要求 (6) 2.5 开发软件 (6) 2.5.1 ISE10.1简介 (6) 2.5.2 ModelSim简介 (6) 2.6 VHDL语言简介 (7) 第三章模块设计 (8) 3.1 分频器 (8) 3.2 计数器 (8) 3.3 数据锁存器 (9) 3.4 控制器 (9) 3.5 扫描控制电路 (10) 3.6 按键消抖电路 (11) 第四章总体设计 (12) 第五章结论 (13) 附录 (14)

第一章引言 数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。

数字电子秒表课程设计报告

重庆机电职业技术学院课程设计说明书 设计名称:单片机原理设计 题目:数字电子秒表 学生姓名: X X 专业:电气自动化 班级: 1 班 学号: XXXXXXXXXXXXXXX 指导教师: X X X 日期: 2010 年 6 月 16 日

重庆机电职业技术学院 课程设计任务书 电气自动化专业2008 年级 1 班XX 一、设计题目 数字电子秒表设计 二、主要内容 利用独立式按键AN1(P0.0)启动定时器T0计时,AN2(P0.1)停止用于停止定 时器T0计时,使用2个八段数码管输出记时值,秒钟的计时时间范围在0~99秒内。 三、具体要求 3.1、实验电路连线 ①本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端;把跳线J9(紧贴51插座右方,蜂鸣器下方,RST复位键上方)跳到右端;把跳线J6跳到AN端,AN1(P0.0)~ AN4(P0.4),(J6在51插座右下方,4×4键盘左上方)。 3.2、实验说明 ①本实验中要将记时结果送2个数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将记时值一位一位的拆开,分别送到显示缓冲区(片内数据存储30H~35H设定为显示缓冲区用于存放段码数据, 其中32H~35H里面均存放0的段码0DFH)中去,然后调用显示子程序。②与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为:216* 0.9216μs= 60397.9776μs;再利用软件记数,当T0中断17次时,所用时间为60397.9776*17=1026765.6192μs≈1s因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电 子秒表记时值加1(十进制),请参考硬件实验四有关内容。③使用独立式按键 AN1(P0.0)~ AN2(P0.1)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,即通过P0.0和P0.1的输入值的变化控制秒表的启动和停止。 3.3

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;

秒表实验报告

实验三:秒表实验报告 一、实验目的 1、了解74ls273的工作原理; 2、看懂8086工作的时序图,并且掌握8086总线的技术; 3. 通过此实验,熟悉protues7.9的基本操作和工作环境以及MASM32文件的建立与运行; 二、实验原理 用74ls273扩展IO口,通过片选信号和写信号奖数据总线上的值锁存在273中,同时在273的输出端口输出,当数据总线上的值撤销以后,由于74ls273能够锁存信号,所以273的输出端保持不变,直到下次有新的数据被锁存,通过按键可以控制数据的变化,cpu根据按键变化控制输出,通过总线就可以控制数码管的变化,显示出秒表的效果。 3、实验步骤 1、根据实验目的及内容在proteus画出电路图,如下图所示 2、画好电路图后用汇编软件,按要求写出实验代码,代码如下: .MODEL SMALL .8086 .stack .code

.startup MOV DX,0200H LOOP0: MOV BL,SEC AND BX,000FH MOV SI,BX MOV AL,SITUATION[SI] MOV BL,SEC AND BX,00F0H MOV CL,4 SHR BX,CL MOV SI,BX MOV AH,SITUATION[SI] OUT DX,AX CALL DELAY MOV AL,SEC ADD AL,1 DAA MOV SEC,AL CMP SEC,60H JB LOOP0 MOV SEC,0 JMP LOOP0 DELAY PROC NEAR PUSH BX PUSH CX MOV BX,50 DEL1: MOV CX,5882 DEL2: LOOP DEL2 DEC BX JNZ DEL1 POP CX POP BX RET DELAY ENDP .data SEC DB 00H

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的第二功能

基于FPGA数字秒表设计报告

标准实验报告实验项目:基于FPGA数字秒表设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

数字电子秒表设计总结报告1

数字电子秒表设计总结报告 一. 工作原理 本数字电子秒表设计由启动、清零复位电路、多谐振荡电路、分频计数电路、译码显示电路等组成。如下图所示: 启动清零复位电路主要由U6A 、U6B 、U7B 、U7D 组成,其本质是一个RS 触发器和单稳态触发器。J1控制数字秒表的启动和停止,J2控制数字秒表的清零复位。开始时把J1合上,J2打开,运行本电路,数字秒表正在计数。 当打开J1,合上J2键,J2与地相接得到低电平加到U6B 的输入端,U6B 输出高电平又加到U6A 的输入端,而U6A 的另一端通过电阻R15与电源相接得到高电平,(此时U6B 与U6A 组成RS 触发器),U6A 输出低电加到U7A 的输入端,U7A 被封锁输出高电平加到U5的时钟端,因U5不具备时钟脉冲条件,U5不能输出脉冲信号,因此U3、U4时钟端无脉冲而停止计数。当J1合上时,打开J2键,J1与地相接得到低电平加到U6A 的输入端,U6A 输出高电平加到 U6B

的输入端,U6B输出低电平加至U7B,使U7B输出高电平,因电容两端电压不能跃变,因此在R7上得到高电平加到U7D输入端,U7D输出低电平(进入暂态)同时加到U3、U4、U5的清零端,使得U3、U4的Q D---Q A输出0000,经U1、U2译码输出驱动U9、U10显示“00”。因为U7B与U7D组成一个单稳态电路,经过较短的时间,U7D的输出由低电平变为高电平,允许U3、U4、U5计数。同时U6A输出高电平加到U7A的输入端,将U7A打开,让555的3脚输出100KHZ的振荡信号经U7A加到U5的时钟脉冲端,使得U5具备时钟脉冲条件,U5的9、10、7脚接高电平,U5构成十分频器,对时钟脉冲计数。当U5接收一个脉冲时,U5内部计数加1,如果U5接收到第十个脉冲时,U5的15脚(RCO端)输出由低电平跳变为高电平作为U4的时钟脉冲,从而实现了对振荡信号的十分频,产生周期为0.1S的脉冲加至U4的时钟端。U4的9、10、7脚接高电平,当U4接收到来自U5的脉冲时,U4的Q D---Q A输出0001加到U2的DCBA端,经U2译码输出1001111经电阻R8~R14驱动数码管U10显示,此时数码管显示“1”,当U4计数到1001时,U4的15脚输出高电平接到U7C,经反相后得到低电平,加到U3的时钟脉冲端,U3A不具备时钟脉冲条件,当U4再接收一个脉冲时,U4的输出由1001翻转为0000,此时U4的15脚输出低电平通过U7C反相输出高电平,从而得到一上升沿脉冲加至U3的时钟端,使得U3的Q D---Q A输出0001加到U1的DCBA输入端,经U1译码输出100111,经电阻R1~R7驱动数码管U9,数码管显示“1”。如此循环的计数,最后数码管U9、U10显示最大值99即9.9秒。 由集成块555、电阻R19、R18、电容C1、C2组成多谐振荡器,当接通电源,电源通过电阻R19与R18对电容C2进充电,当UC2上升到2/3VCC时,集成块555的3脚输出低电平,内部三极管导通,C2通电阻R19进行放电,当UC2下降到1/3VCC时,内部三极管截止,集成块555的3脚输出高电平,接着电源又通过电阻R19与R18对电容C2进充电,当UC2上升到2/3VCC时,集成块555的3脚输出低电平,如此循环的充、放电,555的3脚输出100HZ的矩形方波信号加到U7A的输入端。

带有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)

EDA实验报告-数字秒表

EDA实验报告 数字秒表的设计 指导老师:谭会生 班级:电技1503 学号: :博 交通工程学院 2017.10.28

实验二数字秒表电路的设计 一、实验目的 1.学习Quartus Ⅱ软件的使用方法。 2.学习GW48系列或其他EDA实验开发系统的基本使用方法。 3.学习VHDL程序的基本结构和基本语句的使用。 二、实验容 设计并调试一个计时围为0.01s~1h的数字秒表,并用GW48系列或其他EDA实验开发系统进行硬件验证。 三、实验要求 1.画出系统的原理框图,说明系统中各主要组成部分的功能。 2.编写各个VHDL源程序。 3.根据系统的功能,选好测试用例,画出测试输入信号波形或编好测试程序。 4.根据选用的EDA实验开发装置偏好用于硬件验证的管脚锁定表格或文件。 5.记录系统仿真,逻辑综合及硬件验证结果。 6.记录实验过程中出现的问题及解决方法。 四、实验条件 1.开发软件:Quartus Ⅱ13.0. 2.实验设备:GW48系列EDA实验开发系统。 3.拟用芯片:EP3C55F484C7 五、实验设计 1.设计思路 要设计一个计时为0.01S~1h的数字秒表,首先要有一个比较精确的计时基准信号,这里是周期为1/100s的计时脉冲。其次,除了对每一个计数器需要设置清零信号输入外,还需为六个技术器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起、停控制开关。因此数字秒表可由一个分频器、四个十进制计数器以及两个六进制记数器组成,如图1所示。

系统原理框图 2.VHDL程序 (1)3MHz→100Hz分频器的源程序CLKGEN.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CLKGEN IS PORT(CLK: IN STD_LOGIC; --3MHZ信号输入 NEWCLK: OUT STD_LOGIC); --100HZ计时时钟信号输出 END ENTITY CLKGEN; ARCHITECTURE ART OF CLKGEN IS SIGNAL CNTER: INTEGER RANGE 0 TO 10#239999#; --十进制计数预置数 BEGIN PROCESS(CLK) IS BEGIN IF CLK' EVENT AND CLK='1'THEN IF CNTER=10#239999#THEN CNTER<=0; --3MHZ信号变为100MHZ,计数常熟为30000 ELSE CNTER<=CNTER+1; END IF; END IF; END PROCESS; PROCESS(CNTER) IS --计数溢出信号控制 BEGIN IF CNTER=10#239999#THEN NEWCLK<='1'; ELSE NEWCLK<='0';

数字秒表课程设计报告

《电子技术》课程设计 题目:数字秒表设计 专业:电气工程系 班级:本电气自动化126 姓名:黎梓浩学号:11 指导老师:钟立华 小组成员:曾志辉麦照文黎梓浩成绩:

目录 摘要,关键词,引言 3 一.设计目的 3 二.设计总体框图4三.设计原理及说明 4 四.单元电路设计 5 五.器件选择9 六.设计电路图9 七.安装与调试9 八.设计心得与体会10 九.参考文献11十.附录(实物图、原理图)12

摘要:本文的数字秒表设计是利用数字电路,实现时、分、秒计时功能的装置。具有较长的使用寿命,因此得到了广泛的应用。 关键词:计时精确计数器显示器74LS160 引言:在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活中已逐渐崭露头角,大多数电子产品多是有计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。秒表在很多领域充当一个重要角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,他们对时间精确度达到了几纳秒级别。 一.设计目的 1.了解数字秒表的主体电路的组成及工作原理; 2.熟悉集成电路及有关电子原件的使用; 3.学习和掌握数字电路中的时钟发生器及计数、译码显示等单元电路的综合应 用; 4.掌握电子电路一般设计方法和设计流程; 5.掌握protel等绘图软件的使用。

二.设计总体框图 三.设计原理及说明 数字秒表具有操作方便、使用简单、计数精准等使用优点,在日常生活中的到了广泛认可和使用。 数字秒表的设计属于中规模集成芯片设计。本设计中CP脉冲采用555多谐振荡方波脉冲,频率为100Hz。如果需要更精确的计数条件,可以选择石英晶振输入。主计时电路采用3片74LS160构成的同步清零计数器,毫秒计数级为100进制,即毫秒计数100次向上进1,依此类推,秒计数为60进制。输出为3片7448芯片匹配3枚共阴极数码管。其中最小计时精度为0.01S(即10mS),能满足一般的计时场合使用。最大计时时长为59秒9,超过1分钟重新从0开始计数。暂停功能采用阻断CP脉冲输入设置,具有较高的优先级。清零功能用与非门并联计数器同步清零(清零时控制脉冲为高,计数器内部清零脉冲为无效的高状态,计数器被强制清零),由双向开关控制,在任意时间可以使用(不管暂停与否)。

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)具有调整日期与时间的功能。

简易秒表设计实验报告

实 验 报 告 系别 信工系 专业 班级 姓名 学号 简易秒表设计 实验目的: 1、 熟悉Keil C51软件的使用方法及proteus 仿真软件的使用; 2、 综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。 3、 通过本次试验,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。 设计要求: 制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用两位共阴级的数码管显示时间。 设计思路: 硬件设计:数码管部分采用2位共阴极的数码管,在P0口接上拉电阻,公共端低电平扫描。按键电路部分,将按键一侧与单片机任一I/O 口相连。 软件设计:模块化思想,使用定时器T0的工作方式1,编写显示子程序,延时子程序,初始化程序,主程序设计时注意按键消抖。 原理图: XTAL218XTAL119ALE 30EA 31PSEN 29RST 9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01P1.12P1.23P1.34P1.45P1.56P1.6 7P1.7 8P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51C1 1nF C21nF R110k C31uF 234567891 RP1 RESPACK-8 源代码: #include<>

基于verilog数字秒表的设计实现

生产实习报告 班级:通信13-2班 姓名:闫振宇 学号: 成绩: 电子与信息工程学院 信息与通信工程系

基于verilog数字秒表的设计实现 1. 概述 硬件描述语言HDL ( HardwareDescription Langyage) 是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计这里用这种语言可以从上层倒下层逐层描述自设计思想用一系列分层的模块来表示极其复杂的数字系统,然后用EDA 工具逐层验证,把其中需要为具体物理电路的模块组合由自动综合工具转换到门级电路网表。Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。使用VERILOG 进行系统设计时采用的是从顶至下的设计,自顶向下的设计是从系统机开始巴西同划分为若干个基本单元,然后再把每个单元划分为下一层的基本单元,这样下去直到可以直接用EDA 元件库中的基本元件来实现为止。 2. 设计目的及要求 a.有源晶振频率:50MHZ; b.测试计时范围:00’00”00 ~ 59’59”99,显示的最长时间为59分59 秒; c.数字秒表的计时精度是10ms; d.显示工作方式:六位BCD七段数码管显示读数,两个按钮开关(一个按钮使秒表复位,另一个按钮控制秒表的启动/暂停)。 3.设计原理 秒表的逻辑结构较简单,它主要由四进制计数器、十六进制计数器、分频器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止、启动以及清零复位。 秒表有共有6个输出显示,其中6个显示输出数据,分别为百分之一秒、十分之一秒、

电子秒表课程设计报告

西安郵電學院 控制系统课程设计报告书 系部名称:信息与控制系 学生姓名:XXX 专业名称:测控技术与仪器 班级:测控XXXX 2010年9月13日至 时间: 2010 年9月26日

电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。 二、 设计方案分析 1.方案设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD 显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。 图1.1 数字秒表硬件电路基本原理图 本设计中,数码管显示的数据存放在内存单元31H -33H 中。其中31H 存放分钟变量,32H 存放秒钟变量,33H 存放10ms 计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD 码数据的对应段码存放在ROM 表中。显示时,先取出31H -33H 某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。 计时通过1INT 中断完成,定时溢出中断周期为1ms ,当一处中断后向CPU

相关文档
最新文档