搜档网
当前位置:搜档网 › 单片机多功能秒表

单片机多功能秒表

单片机多功能秒表
单片机多功能秒表

.

单片机综合实验报告

题目: 多功能数字时钟

班级:

姓名:

学号:

一、实验内容:

设计一个单片机控制的秒表系统。利用单片机的定时器的原理,结合显示电路、LED 数码管以及按键来设计计时器,使系统能够正确地进行加、减(倒)计时,数码管能够正确地显示时间。

目的要求

1)两位LED显示,显示时间为00~99秒。

2)每秒自动加1。

3)一个开始按键、一个复位按键和一个暂停按钮。

4)翻页按钮查看四个不同的计时值。

5)添加倒计时初始值设置功能

6)不同功能通过功能键Setup实现切换。

二、实验电路及功能说明

本实验以51单片机为核心,应用其中断来定时,通过按键来控制时间和日期的调整,通过1602LCD来数字显示时钟,做成一个简易的数字时钟。本实验要求能定时,还要能设置闹铃,由于对C51程序代码的写法不是很熟,没能实现闹铃功能。所以,最后该实验能实现的功能为时间和日期的调整。

其原理图如下图所示:

三、实验程序流程图:主程序:主程序流程图

子流程图(按键功能设置)

四、实验结果分析

经过proteus仿真可知:该方案可行,能够对时间进行精确的调整,也能对日期进行更正,基本上能实现上述功能。

五、心得体会

通过该试验我对51的了解更加深入了一层,特别是对C51的写法更加了解,还对1602的基本操作有了一定的了解。同时,也发现C语言的重要性,以后要多加强对C语言的学习.

六、程序清单

#include

#include //库函数头文件,代码中引用了_nop_()函数

// 定义控制信号端口

sbit RS=P2^4; //P2.4

sbit RW=P2^5; //P2.5

sbit E=P2^6; //P2.6

sbit set=P1^4; //设置键

sbit add1=P1^5; //加1键

sbit sub1=P1^6; //减1键

sbit enter=P1^7; //确认键

bit k=0,f=0;//k为0表示运行状态,k为1表示设置状态;f为0表示第一行显示,f为1表示第二行显示char sec,n,m;

unsigned char count,key;

unsigned char lcdd[]="0123456789";

/*声明调用函数*/

void dispd(); //日期显示函数

void dispt(); //时间显示函数

unsigned char keys();//按键扫描函数

void lcd_w_cmd(unsigned char ); //写命令字函数void lcd_w_dat(unsigned char dat); //写数据函数unsigned char lcd_r_start(); //读状态函数void int1(); //LCD初始化函数

void delay(unsigned char t); //可控延时函数

.

void delay1(); //软件实现延时函数,5个机器周期

/*主函数*/

void main()

{

TMOD=0x01; //设置为定时器模式1

TH0=(65536-50000)/256; //晶振6MHz,定时时间100ms

TL0=(65536-50000)%256;

IE=0x82; //开全局中断和定时中断

TR0=1; //启动定时器

sec=0; //秒

count=0; //中断次数清0

n=-3; //设置键按下次数,第一行日期

m=-3; //设置键按下次数,第二行时间

P0=0xff; // 送全1到P0口

int1(); // 初始化LCD

delay(255);

while(1)

{

key=keys(); //读取按键

switch(key)

{

case 0xe0: //按下设置键

{

TR0=0;

k=1;

if(f==0)

{

n=n+3;

if(n==9)

{

n=0;

m=0;

f=1;

}

}

else

{

m=m+3;

if(m==12)

{

m=0;

n=0;

f=0;

}

}

if(f==0)

{

lcd_w_cmd(0x0d);

lcd_w_cmd(0x86+n);

}

else

{

lcd_w_cmd(0x0d);

lcd_w_cmd(0xc4+m);

}

} break;

case 0x70: //按下确认键

{

k=0;

TR0=1;

n=-3;

m=-3;

f=0;

} break;

case 0xd0: //按下加1键

{

if(k==1)

{

if(f==0)

{

(m==6){sec++;if(sec==100) sec=0;} dispt(); //调用第二行显示函数

lcd_w_cmd(0x0d); //光标闪烁

lcd_w_cmd(0xc4+m);//返回设置值显示地址

}

}

} break;

case 0xb0: //按下减1键

{

if(k==1)

{

if(f==0)

{

if(m==6){sec--;if(sec<0) sec=99;}

dispt(); //调用第二行显示函数

.

lcd_w_cmd(0x0d); //光标闪烁

lcd_w_cmd(0xc4+m);//返回设置值显示地址

}

}

} break;

}

if(k==0) {dispd();dispt();} //调用LCD显示函数

}

}

/*延时函数*/

void delay(unsigned char t)

{

unsigned char j,i;

for(i=0;i

for(j=0;j<20;j++);

}

/*延时函数1*/

void delay1()

{

_nop_();

_nop_();

_nop_();

}

/*LCD初始化函数*/

void int1()

{

lcd_w_cmd(0x3c); // 设置工作方式

lcd_w_cmd(0x0c); // 设置光标

lcd_w_cmd(0x01); // 清屏

lcd_w_cmd(0x06); // 设置输入方式

lcd_w_cmd(0x80); // 设置初始显示位置

}

/*LCD读状态函数*/

//返回值:返回状态字,最高位D7=0,LCD控制器空闲;D7=1,LCD控制器忙

unsigned char lcd_r_start()

{

unsigned char s;

RW=1; //RW=1,RS=0,读LCD状态

delay1();

RS=0;

delay1();

E=1; //E端时序

delay1();

s=P0; //从LCD的数据口读状态

delay1();

E=0;

delay1();

RW=0;

delay1();

return(s); //返回读取的LCD状态字

}

/*LCD写命令函数*/

void lcd_w_cmd(unsigned char )

{

unsigned char i;

do { // 查LCD忙操作

i=lcd_r_start(); // 调用读状态字函数

i=i&0x80; // 与操作屏蔽掉低7位

delay(2);

} while(i!=0); // LCD忙,继续查询,否则退出循环

RW=0;

delay1();

RS=0; // RW=0,RS=0,写LCD命令字

delay1();

E=1; //E端时序

delay1();

P0=; //将中的命令字写入LCD数据口

delay1();

E=0;

delay1();

RW=1;

delay(255);

}

/*LCD写数据函数*/

void lcd_w_dat(unsigned char dat)

{

unsigned char i;

do { // 查忙操作

i=lcd_r_start(); // 调用读状态字函数

i=i&0x80; // 与操作屏蔽掉低7位

delay(2);

} while(i!=0); // LCD忙,继续查询,否则退出循环RW=0;

delay1();

RS=1; // RW=1,RS=0,写LCD数据

delay1();

E=1; // E端时序

delay1();

.

P0=dat; // 将dat中的显示数据写入LCD数据口

delay1();

E=0;

delay1();

RW=1;

delay(255);

}

/*****定时中断函数*****/

void timer0() interrupt 1

{

TH0=(65536-50000)/256; //晶振6MHz,定时时间100ms

TL0=(65536-50000)%256;

count++;

if(count==20)

{

count=0;

sec++;

if(sec==99)

{

sec=0;

} /*按键扫描函数*/

unsigned char keys()

{

unsigned char cod,del;

P1=0xf0;

cod=P1&0xf0; //读入P3口键值if(cod!=0xf0) //先检测有无按键按下{

delay(100); //去抖

if(cod!=0xf0)

{

cod=P1&0xf0; //读入键值

do //等待键释放

{

P1=0xf0;

del=P1&0xf0;

}while(del!=0xf0);

return(cod);//返回键值

}

}

return(0xf0); //返回该值

}

void dispt()

{

lcd_w_dat(lcdd[sec%10]);

delay(2);

lcd_w_dat(' ');

delay(2);

lcd_w_dat('W');

delay(2);

}

基于单片机的多功能秒表课程设计

基于单片机的多功能秒表课程设计

郑州科技学院 单片机课程设计 题目基于单片机的 多功能秒表 学生姓名陈裕禄 专业班级11级通信工程2班学号201151037 院(系)信息工程学院指导教师周喜 完成时间2015 年1 月16 日

目录 1 设计概述 (1) 1.1设计目的 (1) 1.2设计要求 (1) 1.3设计意义 (1) 2 系统总体方案及硬件设计 (2) 2.1系统总体方案 (2) 2.2硬件设计 (2) 2.3时钟电路 (3) 2.4复位电路 (4) 2.5按键电路 (5) 2.6显示电路 (6) 3 软件设计 (7) 3.1设计思路 (7) 3.2程序流程框图设计 (7) 4 PROTEUS软件仿真 (9) 5 课程设计体会 (10) 参考文献 (12) 附录1:总体电路原理图 (13)

附录2:元器件清单 (14) 附录3:实物图 (15) 附录4:源程序 (16)

1 设计概述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2 设计要求 (1)共四位LED显示,显示时间为00:00~59.99 (2)共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3)能同时记录多个相对独立的时间并分别显示; (4)按上下翻按钮查看多个不同的计时值; 1.3 设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录 1

基于51单片机的跑表,秒表程序c语言程序

基于51单片机的跑表,秒表程序c语言程序#include #define uchar unsigned char #define uint unsigned int uchar table[]=" 00:00:00:00 "; bit flag=0; sbit en=P2^0; sbit rs=P2^1; sbit s1=P1^0; sbit s2=P1^1; sbit bb=P1^2; uchar shi,fen,miao,biao,tt,num1,aa; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void write_com(uchar com) { rs=0; P0=com;

delay(10); en=1; delay(10); en=0; } void write_date(uchar date) { rs=1; P0=date; delay(10); en=1; delay(10); en=0; } void display(uchar com1,uchar date1) { uchar aa,bb; aa=date1/10; bb=date1%10; write_com(0x80+com1); write_date(0x30+aa);

write_date(0x30+bb); } void init() { TMOD=0x01; ET0=1; TR0=0; EA=1; TH0=(65536-10000)/256; TL0=(65536-10000)%256; en=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80+0x40); for(num1=0;num1<17;num1++) { write_date(table[num1]); delay(5); }

单片机的秒表系统设计方案

编号:201834140148 本科毕业设计 基于单片机的秒表系统设计 系 (院>:信息工程学院 姓名: 学号:0835140148 专业:通信工程 年级:2008级 指导教师: 职称:副教授 完成日期:2018年5月

摘要 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。单片机的出现是现代科技发展的一个重要的里程碑。由于单片机的集成度高、功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。 本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为59.9秒,每毫秒自动加1,一个开始按键、一个暂停按键、一个复位按键,其突出的优点是:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活。最后通过仿真调试,在proteus环境下建立了仿真模型,仿真结果表明本设计是正确的。 关键词:单片机;秒表;时钟电路;系统设计 Abstract

In the present era, is a new technology emerge in an endless stream time. In the field of electronics, especially the intelligent automatic control field, the traditional discrete components or digital logic circuit of the control system is at an unprecedented pace was replaced by intelligent control system. SCM has the advantages of small volume, strong function, low cost, wide application range and other advantages, can say, intelligent control and automation is the core of scm. SCM is the emergence of modern science and technology development of an important milepost. As the single-chip high integration, strong function, good versatility, especially it has the advantages of small volume, light weight, low energy consumption, low price, the single chip microcomputer rapidly spreading, has now become the measurement control in the application system of optimization models and the new electronic product key parts. This design is the use of a single chip computer controlled multi-function stopwatch system, which is based on the51 series single-chip system design. It uses AT89C51 microcontroller as the center device, use the timer / counter timing and counting principles, combined with display circuit, power supply circuit, LED digital tube and a keyboard circuit to design the timer. The soft, hardware combination, so that the system can achieve four LED display, maximum display time is 59.9 seconds, each MS add 1, a start button, a pause button, a reset button, the utility model has the advantages of small volume, off-site operations:, lowest power consumption, to use the battery as a power, compact hardware structure, simple and flexible software design. Finally through the simulation debugging, in the Proteus environment to establish the simulation model, the simulation results show that the design is correct. Key words: single chip microcomputer。 stopwatch clock circuit。 system design

基于51单片机的秒表设计

江西理工大学应用科学学院信息工程系单片机原理与应用课程设计报告 设计题目:基于51单片机的秒表设计 专业:电子信息工程 班级:电信121 学号: 08060312109 参与人员:贺佳、周代元、周昶旭、张浥中 指导老师:王苏敏 完成日期: 2015年1月20日

目录 1 设计任务和性能指标 (1) 1.1 课题内容 ....................... 错误!未定义书签。 1.2 课题要求 ........................ 错误!未定义书签。 2 设计方案............................. 错误!未定义书签。 2.1 需求分析 (3) 2.2 方案论证 (3) 3系统软件设计 (5) 4.1 系统软件流程图................... 错误!未定义书签。 4.2 实验程序清单 .................... 错误!未定义书签。 4 系统硬件设计 (10) 5.1 调试步骤 (11) 5.2 性能分析 ........................ 错误!未定义书签。5系统硬件设计.......................... 错误!未定义书签。参考文献.. (14)

1 设计任务和性能指标 1 课题内容要求及目的 1.1课题内容 用AT89C51设计一个秒表,该秒表课可显示0.0~99.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时 器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED 数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。 1.2课题要求 本课题是基于单片机的秒表系统设计,它的具体要求有以下几点: (1)用单片机AT89C51实现; (2)以0.1秒为最小单位进行显示; (3)秒表量程为0.0-99.9秒,用 LED显示;

基于单片机的多功能秒表

郑州科技学院 单片机课程设计 题目基于单片机的 多功能秒表 学生姓名 专业班级 学号 院(系) 指导教师 完成时间2015 年1 月16 日

目录 1 设计概述 (1) 1.1设计目的 (1) 1.2设计要求 (1) 1.3设计意义 (1) 2 系统总体方案及硬件设计 (2) 2.1系统总体方案 (2) 2.2硬件设计 (2) 2.3时钟电路 (3) 2.4复位电路 (4) 2.5按键电路 (5) 2.6显示电路 (6) 3 软件设计 (7) 3.1设计思路 (7) 3.2程序流程框图设计 (7) 4 PROTEUS软件仿真 (9) 5 课程设计体会 (10) 参考文献 (12) 附录1:总体电路原理图 (13)

附录2:元器件清单........................................... 错误!未定义书签。附录3:实物图 . (15) 附录4:源程序 (16)

1 设计概述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2 设计要求 (1)共四位LED显示,显示时间为00:00~59.99 (2)共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3)能同时记录多个相对独立的时间并分别显示; (4)按上下翻按钮查看多个不同的计时值; 1.3 设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用A T89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录

51单片机定时器秒表设计程序

51单片机定时器秒表设计程序 #include typedef unsigned char UINT8; typedef unsigned int UINT16; code UINT8 SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; code UINT8 SHU[10] ={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; code UINT8 SELECT[8] ={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; #define S1 0x0e #define S2 0x0d #define S3 0x0b #define S4 0x07 sbit SPEAK=P3^5; sbit P3_3=P3^3; UINT8 mSecond,Second; void Delay(UINT16 t) { UINT16 i,j; for(i=0;i

51单片机课程设计秒表

微控制器技术课程 设计报告 设计题目:秒表 专业:供用电技术 班级:供电141 学号:140315143 姓名:王晨铭 指导教师:李昊 设计时间:2016.6.21

微控制器技术课程设计任务书 设计题目:秒表 设计时间:2016.6.20 设计任务: 在单片机开发板或软件仿真,编制程序,实现以下功能 1、利用定时器实现秒表功能,精确到0.1S; 2、数码管显示当前计时时间; 3、设定三个键,计时开始,停止计时和复位清零。 背景资料:1、单片机原理与应用 2、检测技术 3、计算机原理与接口技术 进度安排: 1、第1天,领取题目,熟悉设计内容,分解设计步骤和任务; 2、第3天,规划设计软硬件,编制程序流程、绘制硬件电路。 3、第5天,动手制作硬件电路,或编写软件,并调试。 4、第7天,中期检查。 5、第9天,完善设计内容,书写设计报告。 6、第13天,提交设计报告,整理设计实物,等待答辩。 7、第14天,设计答辩。

目录 一、设计任务和要求 (3) (1)设计任务 (3) (2)设计要求 (3) 二、设计方案与论证 (3) 三、单元电路设计与参数计算 (4) (1)时钟电路 (4) (2)按钮电路 (4) (3)显示电路 (5) (4)单片机 (5) 四、原理图及器件清单 (6) ( 1 )总原理图 (6) (2)PCB图 (7) (3)Proteus仿真图 (7) (4)元器件清单 (8) 五、安装与调试 (8) (1)安装 (8) (2)调试 (8) 六、性能测试和分析 (9) 七、结论和心得 (9) 八、参考文献 (9)

题目:秒表 二、方案设计与论证 本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。但根据显示方式的不同选择,我们可以有几种方案: 方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。 方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。 本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略) 显示电路 单片机 AT89C51 时钟电路 按钮电路

单片机 10秒秒表课程设计

赣南师范学院物理与电子信息学院 课程设计Ⅳ设计报告书 基于AT89S52单片机的 10秒秒表的设计 姓名:匡远熹 班级:09电子信息工程 学号:090802015 指导老师:刘小燕 时间:2012.1.01

目录 内容摘要 (1) 关键词................................................................. 错误!未定义书签。Abstract............................................................. 错误!未定义书签。Keywords............................................................. 错误!未定义书签。1绪论. (2) 2 系统设计 (2) 2.1 设计任务与要求 (3) 2.2 方案的选择与论证 (3) 3 系统硬件设计 (4) 3.1 AT89C52简介 (4) 3.2 时钟电路 (5) 3.3 复位电路 (5) 3.4 显示电路 (6) 3.5引脚控制 7 3.6 硬件元件清单 (7) 4软件设计与仿真 (7) 4.1主程序设计 (7) 4.2 仿真软件简介 (9) 4.3 仿真结果 (10) 4.4 系统调试 (11) 结束语 (12) 附录:程序清单 (14) 参考文献 (16)

内容摘要:本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.1s,是各种体育竞赛的必备设备之一。本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程。硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键字:秒表;单片机AT89S52;硬件;软件;仿真 Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after the last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition. Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation

单片机电子秒表程序设计

沈阳工程学院课程设计设计题目:电子秒表程序设计

电子秒表程序设计 1.设计主要内容及要求: 要求:1)具有秒表基本功能。 2)显示最小数为0.1秒。 3)能够进行多路计数并分别显示。 2.对设计论文撰写内容、格式、字数的要求: (1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。 (2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。 (3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。 (4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。 3.时间进度安排; 顺序阶段日期计划完成内容备注 1 1月2日教师讲解题目,学生查阅相关资料 2 1月3日查阅相关资料、进行方案论证 3 1月4日确定多路计数和显示方法 4 1月5、6、9 编写程序 日 5 1月10、11日调试程序 6 1月12日撰写论文 7 1月13日论文答辩

沈阳工程学院 单片机课程设计成绩评定表指导教师评审意见 评价内容具体要求权重评分 加权 分 调研论证能独立查阅文献,收集资料;能制定课程设计方案 和日程安排。 0.1 5 4 3 2 工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能 够独立完成设计工作, 0.2 5 4 3 2 工作量按期圆满完成规定的设计任务,工作量饱满,难度 适宜。 0.2 5 4 3 2 说明书的质量 说明书立论正确,论述充分,结论严谨合理,文字 通顺,技术用语准确,符号统一,编号齐全,图表 完备,书写工整规范。 0.5 5 4 3 2 指导教师评审成绩 (加权分合计乘以12) 分加权分合计 指导教师签名:年月日 评阅教师评审意见 评价内容具体要求权重评分 加权 分 查阅 文献 查阅文献有一定广泛性;有综合归纳资料的能力0.2 5 4 3 2 工作 量 工作量饱满,难度适中。0.5 5 4 3 2 说明书的质量说明书立论正确,论述充分,结论严谨合理,文字 通顺,技术用语准确,符号统一,编号齐全,图表 完备,书写工整规范。 0.3 5 4 3 2 评阅教师评审成绩 (加权分合计乘以8) 分加权分合计 评阅教师签名:年月日课程设计总评成绩分

基于单片机的秒表设计

题目:基于单片机的秒表设计 姓名: 学号: 专业班级: 指导老师: 所在学院: 年月日

摘要 本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为9分59.9秒,每毫秒自动加1,一个开始暂停按键、一个复位按键。其突出的优点:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活. 当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。单片机的出现是现代科技发展的一个重要的里程碑。由于单片机的集成度高、功能强,通用性好,特别是它具有体积下、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。

目录 1 概述 (4) 1.1设计任务 (4) 1.2设计要求 (4) 2 系统总体方案及硬件设计 (5) 2.1系统总体方案 (5) 2.2硬件电路设计 (6) 3 软件设计 (10) 3.1软件设计概述 (10) 3.2程序流程图 (10) 3.3子程序模块设计 (12) 4 Proteus软件真 (13) 4.1软件功能简介 (13) 4.2 Proteus运行流程 (14) 5课程设计会 (16) 参考文献 (16) 附1:源程序代码 (17) 附2:系统原理图 (20)

单片机多功能秒表课程设计报告

单片机课程设计 课程设计任务书 20 17 -20 18 学年第一学期第17周-18 周 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 本设计是设计一个单片机控制的多功能秒表系统。 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。 本设计的多功能秒表系统采用A T89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。我们设计的秒表可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序,按键消抖程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机,多功能秒表 小组成员:许乐,郭利铂 小组分工: 小组成员:讨论并确定秒表要实现哪些功能 许乐:硬件电路的设计仿真,查阅资料 郭利铂:编写程序,撰写实验报告

目录 1.概述 (4) 1.1设计目的 (4) 1.2设计要求 (4) 1.3设计意义 (4) 2.系统总体方案及硬件设计 (4) 2.1系统总体方案 (4) 2.2硬件设计 (5) 2.2.189C51单片机 (5) 2.2.2晶体振荡电路 (6) 2.2.3 复位电路 (7) 2.2.5显示电路 (8) 2.2.6 系统电路图 (9) 3.软件设计 (9) 3.1设计特点 (9) 3.2设计思路 (10) 3.2.1程序流程图 (10) 3.2.2程序 (10) 4.PROTEUS软件仿真 (14) 4.1仿真 (14) 4.2仿真结果描述 (15) 4.3结论及进一步设想 (16) 5.元器件清单 (16) 6.课程设计体会 (16) 7.参考文献 (18)

51单片机汇编秒表程序

ORG 0000H LJMP MAIN ORG 0003H LJMP INT_0 ORG 000BH LJMP T0_INT ORG 0013H LJMP INT_1 ORG 001BH LJMP T1_INT MAIN: MOV TMOD,#11H MOV TH1,#0D8H MOV TL1,#0F0H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET1 SETB ET0 SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB TR1 MOV 32H,#00H MOV R1,#80H MOV 30H,#00H LOOP: MOV A,R4 CJNE A,33,Y MOV A,R5 CJNE A,32H,Y INC 30H Y: MOV A,P3 CJNE A,#0CFH,Y1 LJMP Y2 Y1: MOV A,30H CJNE A,#01H,LOOP CLR P1^0 LCALL DELAY2 SETB P1^0 LCALL DELAY2

LJMP LOOP Y2: JNB P3^5,Y2 JNB P3^4,Y2 MOV R3,#0AH LJMP Y3 Y3: MOV R4,33H MOV R5,32H MOV A,P3 CJNE A,#0DFH,Y5 Y4:JNB P3^4,OUT JNB P3^5,Y4 INC 32H MOV A,32H CJNE A,#10,Y3 INC 33H MOV 32H,#00H LJMP Y3 Y5: MOV A,P3 CJNE A,#0EFH,Y3 Y6: JNB P3^5,OUT JNB P3^4,Y6 MOV A,32H CJNE A,#00,JJ DEC 33H MOV 32H,#09H LJMP Y3 OUT:JNB P3^5,OUT JNB P3^4,OUT MOV R5,#00H MOV R3,#00H LJMP LOOP JJ: DEC 32H LJMP Y3 INT_0: CPL TR0 RETI INT_1: MOV R6,#00H MOV R5,#00H

51单片机实验 秒表设计

实验报告 一、实验名称 10秒计时的秒表设计 二、实验内容 精确到0.1秒的秒表 三、相关模块 led数码管、usb、独立键盘 四、实验代码 #include "reg52.h" typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; sbit k1=P3^1; sbit k2=P3^0; sbit k3=P3^2; sbit k4=P3^3; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; u16 s,sec; unsigned int i; unsigned int j; unsigned int a,b,c,d; u8 mb[2]; void Timer0Init() { TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。 TH0=0XFC; //给定时器赋初值,定时1ms TL0=0X18; TR0=0;//打开定时器 } void delay(u16 n) { while(n--); } void DigDisplay1(u16 i)

{ switch(i) { case(0): LSA=0;LSB=0;LSC=0; break; case(1): LSA=1;LSB=0;LSC=0; break; case(2): LSA=0;LSB=1;LSC=0; break; case(3): LSA=1;LSB=1;LSC=0; break; case(4): LSA=0;LSB=0;LSC=1; break; case(5): LSA=1;LSB=0;LSC=1; break; case(6): LSA=0;LSB=1;LSC=1; break; case(7): LSA=1;LSB=1;LSC=1; break; } if (i==1) { P0=smgduan[mb[i]]+0x80;//发送段码 } else { P0=smgduan[mb[i]]; } delay(1); //间隔一段时间扫描 P0=0x00;//消隐 } void DigDisplay2(u16 i) { i=i+3; switch(i) { case(0): LSA=0;LSB=0;LSC=0; break; case(1): LSA=1;LSB=0;LSC=0; break; case(2): LSA=0;LSB=1;LSC=0; break; case(3): LSA=1;LSB=1;LSC=0; break;

51单片机秒表计时(protues)

51单片机秒表计时器 目录 摘要 (3) 一、实训目的 (3) 二、实训设备与器件 (3) (1)实验设备 (3) (2)实训器件 (3) 三、实训步骤与要求 (4) (1)要求 (4) (2)方法 (4) (3)实训线路分析 (4) (4)软件设计 (4) (5)程序编制 (4) 四、硬件系统设计 (4) 五、软件系统设计 (5) 六、系统调试 (9) 七、实训总结与分析 (10) 八、参考资料: (11) 九、附录 (12)

摘要: 秒表是由单片机的P0口和P2口分别控制两个数码管,使数码管工作,循环显示从00—59。同时,用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位,通常还使用石英晶体振荡器电路构成整个秒表的结构电路。 一、目的 (1)利用单片机定时器中断和定时器计数方式实现秒定时。 (2)通过LED显示程序的调整,熟悉单片机与LED的接口技术,熟悉LED动态显示的控制过程。 (3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。(4)进一步学习单片机开发系统的整个流程。 二、元件 (1)实训设备:单片机开发系统、微机、万用表、电烙铁等。 (2)实训器件: 名称数量 7段数码管 2 电阻10k 1 电阻1k 8 键盘开关 1 电容10微法 1 电容30皮法 2 晶振12M 1

89C51 1 万能板 1 导线若干 三、步骤 (1)要求:利用实训电路板,以2位LED右边1位显示个位,左边1位显示十位,实现秒表计时显示。以一个按键开关实现启动、停止、清零等功能。 (2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器0方式1计数,实现00--59计数。 (3)实验线路分析:采用实训电路板,其原理图参见附录。两个7段LED 数码管分别由单片机的P0口和P2口控制,使数码管显示从00—59的字样。用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位。另外在加上一个晶体振荡电路就够成了整个秒表的电路。 (4)软件设计:软件整体设计思路是主程序进行初始化,以按键开关按下的次数确定定时器的启动与否,LED通过中断的方式进行显示。后二者间的联系是:按键按下,则定时器开始计时,中断后在LED上显示,不断循环;按键第二次按下时,定时器停止计时,LED不显示;按键第三次按下时,返回到初始状态重新开始。秒定时采用定时器T0中断方式进行,60秒计数由定时器0采用方式1完成,中断及计数的开启与关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图7.1所示。 (5)程序编制:编程时第一次按键为“启动”,第二次按键为“停止”,第三次按键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,。2位LED显示的数据由显示缓冲区30H~31H单元中的数据决定。 四、设计 硬件电路的设计应从两个方面予以考虑。一是根据应用系统总体设计的参数范围、测控速度与精度等技术指标要求选择单片机。不同系列单片机或同一系列

基于单片机的简易计时器设计

南华大学电气工程学院课程设计 摘要:单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部储存资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力强,系统也更加稳定,使它更适合工业控制领域,具有更广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得了宝贵时间。本设计通过STC89C51单片机以及单片机最小系统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,并能通过按键对秒进行设置。 关键词:STC89C51单片机,驱动,四位一体数码管

南华大学电气工程学院课程设计 Abstract:SCM be booming since since the 70 s, MCU functions are increasingly perfect at present: single chip microcomputer integrated more and more resources, internal storage resource increasingly rich, users do not need to expand resources can complete the project development, is not only the development of simple, small beautiful products, at the same time, strong anti-jamming capability, system is more stable, make it more suitable for industrial control field, has a broad market prospect; Provide online programming ability, speeded up the process of product development, product for the enterprise to win the precious time. This design and triode driven by STC89C51 microcontroller and the single chip microcomputer minimum system and peripheral keys and digital tube display components, design a simple timer based on single chip microcomputer. Design through the four digital tube display, a total of anode, and can through the button to set the seconds. Keywords: STC89C51 microcontroller, drive, Four digital tube

单片机秒表课程设计报告

一:课程设计题目 秒表/时钟计时器 二:课程设计任务与要求: 利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。 三:设计过程: 1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。 (1)方案论证: 方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化。 方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。 方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的。综合上述两种比较,我们选用了第二种方案。 (2)创新点: a.在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。 b.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将

相关主题