单片机时钟秒表代码

单片机时钟秒表代码
单片机时钟秒表代码

#include

#define uchar unsigned char

#define uint unsigned int

bit write=0; //写24C02的标志;sbit sda=P2^3;

sbit scl=P2^2;

sbit dula=P3^6;

sbit wela=P3^7;

sbit LED_CS=P2^5;

sbit MOTOR_CS=P2^7;

sbit key1=P1^0;

sbit key2=P1^1;

sbit key3=P1^2;

sbit key4=P1^3;

uint min,sec,tcnt,ge,shi,bai,qian;

uchar a=0;

uchar flag=0;

uchar code table[]={

0xC0,0xF9,0xA4,0xB0,

0x99,0x92,0x82,0xF8,

0x80,0x90,0x88,0x83,

0xC6,0xA1,0x86,0x8E};

void delay()

{ ;; }

void delayms(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void start() //开始信号:scl为高电平期间, sda发生负跳变

{

sda=1;

delay();

scl=1;

delay();

sda=0;

delay();

}

void stop() //停止信号:scl为高电平, sda发生正跳变

{

sda=0;

delay();

scl=1;

delay();

sda=1;

delay();

}

void respons()

//应答信号:scl为高电平期间, sda被接受设备拉为低电平, 最后//scl置0 {

uchar i;

scl=1;

delay();

while((sda==1)&&(i<255))

i++;

scl=0;

delay();

}

void init() //总线初始化:将总线拉高以释放总线

{

sda=1;

delay();

scl=1;

delay();

}

/*写字节数据: 将8位数据通过左移到CY(进位),然后赋值给数据线SDA 每发送一位,scl出现正跳变,发送完数据后,需要将scl置0, sda置1 */ void write_byte(uchar date)

{

uchar i,temp;

temp=date;

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

{

temp=temp<<1;

scl=0;

delay();

sda=CY;

delay();

scl=1;

delay();

}

scl=0;

delay();

sda=1;

delay();

}

/*读字节数据: 将数据一位一位从sda中获取, 每读取一位scl出现负跳变

通过变量k将8位数据整合为1个字节数据,读数据前, 先将scl置0, sda置1*/

uchar read_byte()

{

uchar i,k;

scl=0;

delay();

sda=1;

delay();

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

{

scl=1;

delay();

k=(k<<1)|sda;

scl=0;

delay();

}

return k;

}

//数码管显示程序

void display(uchar qian,uchar bai,uchar shi,uchar ge)

{

P0 = table[ge];

dula = 1;

dula = 0;

P0=0x08;

wela = 1;

wela = 0;

delayms(1);

P0 = table[shi];

dula = 1;

dula = 0;

P0=0x04;

wela = 1;

wela = 0;

delayms(1);

P0 = table[bai];

dula = 1;

dula = 0;

P0 = 0x02;

wela= 1;

wela= 0;

delayms(1);

P0 = table[qian];

dula = 1;

dula = 0;

P0 = 0x01;

wela= 1;

wela= 0;

delayms(1);

}

//判断按键

void keyscan()

{

MOTOR_CS=0;

LED_CS=0;

if(key1==0)

{

delayms(10); //消抖

if(key1==0)

{

sec=0;

min=0;

while(!key1);

}

}

if(key2==0)

{

delayms(10);

if(key2==0)

{

TR0=1;

while(!key2);

}

}

if(key3==0)

{

delayms(10);

if(key3==0)

{

TR0=0;

while(!key3);

}

}

if(key4==0)

{

delayms(10);

if(key4==0)

{

TR0=0;

sec=sec+1;

while(!key4);

}

}

}

void led()

{

LED_CS=1;

P0=0x00;

delayms(250);

P0=0xff;

LED_CS=0;

}

void beep()

{

MOTOR_CS=1;

P0 = 0x3f;

delayms(250);

P0 = 0x7f;

MOTOR_CS=0; }

void main()

{

LED_CS = 0;

MOTOR_CS=0;

sec=read_add(2); //读出保存的数据赋于sec

TMOD=0x01; //定时器工作在方式1

ET0=1; //打开定时器、计数器0中断允许位

EA=1; //打开全局中断

// TR0=0;

TH0=(65536-50000)/256; //对TH0 TL0赋值

TL0=(65536-50000)%256; //使定时器0.05秒中断一次

while(1)

{

shi=sec/10;

ge=sec%10;

bai = min%10;

qian = min/10;

display(qian,bai,shi,ge);

keyscan();

if(write==1) //判断计时器是否计时一秒

{

write=0; //置零

write_add(2,sec); //在24c02的地址2中写入数据sec }

}

}

void t0() interrupt 1 //定时中断服务函数

{

TH0=(65536-50000)/256; //对TH0 TL0赋值

TL0=(65536-50000)%256; //重装计数初值

tcnt++; //每过50ms tcnt加一

if(tcnt==20) //计满20次(1秒)时

{

tcnt=0; //重新再计

sec++;

write=1; //1秒写一次24C02

if(sec==60) //定时60秒,再从零开始计时{

sec=0;

led();

beep();

min++;

if(min==60)//是否满1h

{

min=0;

}

}

}

基于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); }

基于51单片机的4位数码管秒表

原理图: 源程序: /************************************************************* 标题:定时器中断精确到00.01的秒表 效果:能清零重新开始,暂停,继续计时,能精确到0.01秒 作者:皖绩小挺 说明:使用12M晶振,四位数码管,3个按键 ****************************************************************/ #include #define uint unsigned int #define uchar unsigned char uint temp,tt,qian,bai,shi,ge; sbit smg_q=P1^0; sbit smg_b=P1^1; sbit smg_s=P1^2; sbit smg_g=P1^3; sbit key1 = P3^7; sbit key2 = P3^6; sbit key3 = P3^5; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};

uchar code table1[]={0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10}; //带小数点 void keyscan(); void display(uint shi,uint ge); void delay(uint z); void init(); /************************************************************** 主函数 ******************************************************************/ void main() { init();//初始化子程序 while(1) { if(tt==1) { tt=0; temp++; if(temp==10000) { temp=0; } qian=temp/1000; bai=temp%1000/100; shi=temp%100/10; ge=temp%10; } keyscan(); display(shi,ge); } } /********************************************************************* 延时 ***********************************************************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /*********************************************************************

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

编号: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单片机定时器秒表设计程序 #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 时钟电路 按钮电路

基于89C51单片机的秒表课程设计讲解

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (3) 2.2设计指标 (3) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计内容提要 (4) 3 课程设计报告内容 (4) 3.1设计思路 (4) 3.2设计过程 (5) 3.3 程序流程及实验效果 (6) 3.4 实验效果 (13) 4 心得体会 (14)

基于 MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以 8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计内容以硬件电路设计,软件设计和 PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求 2.1实验题目 开始时,显示“00.0”,第一次按下按钮后开始从0-99.9s计时,显示精度为0.1s;对用有4个功能按键,第1个按键复位00.0,第2个按键正计时开始按钮,第3个按键复位99.9,第4个按钮倒计时开始。 2.2设计指标 了解8051芯片的的工作原理和工作方式,使用该芯片对 LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

单片机电子秒表程序设计

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

电子秒表程序设计 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) 分加权分合计 评阅教师签名:年月日课程设计总评成绩分

单片机倒计时秒表111

单片机控制系统设计与调试实训指导说明书 单片机倒计时秒表 系、部:机电工程学院 学生姓名: 指导教师:职称 专业: 班级: 完成时间:

摘要 本文通过倒计时秒表的设计,阐述了单片机最小系统的概念与设计,对单片机的定时、中断等功能模块的应用有进一步的理解;本文还阐述了单片机编程的一些方法。 关键字:单片机、电子秒表、定时、中断

目录 一、设计课题 1.1课程设计题目 (4) 1.2课程设计任务 (4) 1.2课程涉及研究内容 (4) 二、硬件分析设计 (4) 2.1单片机的选择 (4) 2.2 LED显示器 (5) 2.2.1 LED显示器结构及分类 (5) 2.2.2 LED显示原理 (5) 2.3键盘输入 (6) 三、关键技术 (6) 3.1定时器的使用 (6) 3.1.1 作用 (6) 3.1.2技术方案 (6) 3.1.3具体程序实现 (7) 3.2 显示与键盘 (8) 3.2.1显示 (8) 3.2.2键盘 (9) 3.2.3利用定时中断实现显示与查键 (11) 四、电路 (13) 4.1复位电路 (14) 4.2电路元件 (14) 4.3 I/O口线连接 (15) 五、程序设计 (16) 5.1程序功能 (16) 5.2主要变量说明 (16) 5.3程序流程图 (16) 5.4程序源代码 (16)

六、设计总结 (26) 七、参考文献 (26) 一、设计课题 1.1课程设计题目 本课程设计的课题是单片机倒计时秒表的设计 1.2课程设计任务 本课题的电子秒表系统需要实现以下的功能: 1.用开关控制两种计时模式的选择。分别是单计时模式和连续计8个的计时模式。 2.用开关控制电子秒表的启动/停止/复位,七段数码管的高2位显示秒表的秒值,低2位显示秒表的百分秒值。 3.可实现设定初值的倒计时功能。其中设计了三种初值调整方式,分别是增1(减1)、连续增(连续减)和快速增(快速减)。 上述功能主要是为了讲述单片机定时器、键盘和LED显示器的使用方法。 1.3课题涉及研究内容: 1.定时器的使用:本实例通过秒表的计时详细说明了定时器的使用方法,可以使读者对单片机定时器的使用有比较深刻的理解。 2.键盘的使用:本实例通过秒表的启动/停止/复位、计时模式的选择,以及倒计时初值的设定,讲述了独立式键盘的设计方法和关键技术。 3.LED的使用:本实例比较详细地介绍了LED的显示原理和方法,并对其编程方法做了一般性的总结。

单片机秒表设计..

郑州科技学院 单片机课程设计 题目 学生姓名 专业班级 学号 院(系) 指导教师 完成时间 2015年1月9日

郑州科技学院 单片机课程设计任务书 专业11电科班级 1班学号 201131006 姓名李军 一、设计题目电子秒表 二、设计任务与要求 基本功能: 1.使用A T89C51单片机的定时器/计数器定时和记数的原理,使秒表其能精确计时。 2.能够稳定显示并能准确计时,计时精度达到0.01秒,最大计时59-59-99。 3.能够实现开始、暂停、清零、保存、读取的功能 三、主要参考文献 [1] 艾运阶.单片机项目教程.北京:北京理工大学出版社,2011 [2] 李泉溪.单片机原理与实例仿真.北京:北京航空航天大学出版社,2009 [3] 江世明.基于Protues的单片机应用技术.北京:电子工业出版社,2009 [4] 李朝青.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社,2006 [5] 孙育才.MCS-51 系列单片微型计算机及其应用.广东:东南大学出版社,2009 四、设计时间 2014 年12 月29日至2015 年1月9 日 指导教师签名: 年月日

目录 前言 (1) 1 课程设计的目的及要求 (2) 1.1 课程设计的目的 (2) 1.2 课程设计的任务 (2) 1.3 课程设计的要求 (2) 2 设计的方案及论证 (2) 2.1 方案设计 (2) 2.2 方案选择 (3) 2.3 方案确定 (4) 3 硬件电路设计 (5) 4 软件设计 (5) 4.1 主要模块流程图 (6) 4.2 程序的主要模块 (6) 5 电路仿真 (7) 6 电路的焊接与调试 (8) 6.1 电路的焊接 (8) 6.2 电路的调试 (9)

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

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

单片机倒计时秒表课程设计

单片机倒计时秒表 课程设计

课程设计说明书 课程名称:单片机技术 设计题目:倒计时数字秒表设计院系: 学生姓名:张三 学号: ********* 专业班级: *********** 指导教师:李四 年月日

课程设计任务书 倒计时秒表

摘要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。 关键词:倒计时 AT89S52 74LS47 数码管 目录

1.设计背景 (5) 1.1、设计课题的提出 (5) 1.2、设计作用及意义 (5) 2.设计方案 (6) 2.1、可行方案选择 (6) 2.2、可行方案比较 (6) 3.方案实施 (7) 3.1、硬件电路的实施 (7) 3.2、软件程序的实施 (11) 4.结果与结论 (13) 4.1、Proteus仿真运行结果 (13) 4.2、结论 (14) 5.收获与致谢 (14) 6.参考文献 (14) 7.附件 (15) 7.1、附件一(整体电路图) (15) 7.1、附件二(元件清单图) (16) 7.1、附件三(程序) (17) 7.1、附件四(运行实物图) (22) 1. 设计背景

单片机,电子秒表计时器

课程设计说明书 课程名称:《单片机技术》 设计题目:电子秒表计时器 院(部):电子信息与电气工程学院 学生姓名: 学号: 专业班级: 指导教师: 2013年5月17日

课程设计任务书

电子秒表计时器 摘要:本次设计主要完成具备基本功能的电子秒表的理论和实践设计,此计时器系统使用AT89C51单片机为中心器件,由电源电路、时钟电路、复位电路、显示电路组成。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,硬件系统利用PROTEUS软件进行仿真,使得系统能够实现三个8位LED数码管显示,显示时间为0.0~99.9秒,能正确的进行计时,能同时进行五次计时,并能对所记录的时间进行查询,此系统易于仿真、制作简单且使用方便。 关键词:AT89C51、电子秒表、数码管显示、仿真

目录 1.设计背景 (1) 1.1单片机简介 (1) 1.2设计目的 (1) 2.设计方案 (1) 2.1方案一 (1) 2.2方案二 (1) 2.3综合比较 (2) 3.方案实施 (2) 3.1整体工作原理 (2) 3.2硬件系统设计 (3) 3.3软件程序设计 (5) 3.4系统仿真 (5) 3.5系统的制作过程 (6) 4.结果与结论 (7) 4.1结果 (7) 4.2结论 (7) 5.收获与致谢 (7) 6.参考文献 (7) 7.附件 (8)

1. 设计背景 1.1单片机简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1.2设计目的 电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。 2.设计方案 2.1方案一 静态显示,静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。这种方法的优点是占用CPU时间少,显示便于检测和控制。缺点是硬件电路比较复杂,成本较高。 2.2方案二 动态显示,这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,将所有位数码管的段选线并连在一起,由段选线控制哪一位数码管有效。选用数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些。

单片机秒表课程设计报告

一:课程设计题目 秒表/时钟计时器 二:课程设计任务与要求: 利用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.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将

89C51单片机最小系统设计(电子时钟,秒表,按键计数的单片机设计)

一、电子时钟、秒表和计数器的设计 1、实现的功能: 1)有key0,key1两个功能按键,复位后,数码管会默认显示时钟模式HH.MM 。 (HH表示小时,MM表示分钟), key0短按一次就进入到了秒表模式,数码管显示格式S.SS.S,(分别表示百秒,秒,毫秒) key0再短按一次就进入到了计数器模式,数码管显示格式CCCC(分别为千位百位十位个位)。 key0再短按一次,又进入到了时钟显示模式,就这样由key0控制模式的转换。 2)有RST复位键,本身电路设计有上电自动复位功能,按下RST后,电路复位。 3)有ckey0,ckey1 两个计数按键,按下ckey0,计数加一,按下ckey1,计数减一。 4) 电子时钟和秒表时间计时方法是采用89S52内部计时器0的一种工作方式(详见后面 的代码分析),通过计时器0中断来控制时间的运行。 5)计数器是采用外部中断0和外部中断1这两个外部中断实现加1和减1的操作。 (1)电子时钟模式:(以下“长按”表示按下按键的时间大于1秒,“短按”表示按下的时间小于0.7 秒)1)长按key1一次,会进入到调整分钟的模式,短按key1一次,分钟会加一。 第二次长按key1,会进入到调整小时的模式,短按key1一次,小时加一。 第三次长按key1,重新回到时钟显示模式,这时再短按key1,时间不会变化2)长按key0一次,会进入到显示秒的模式 (2)秒表模式: 1)由key0控制进入秒表模式后,短按key1一次,秒表计时开始,再短按key1一次计时结束 2)长按key1一次,秒表清零 (3)计数器模式 1)按ckey0一下,计数加一,数码管相应的显示的数值加一, 按ckey1一下,计数减一,数码管相应的显示的数值减一, 由于数码管的位数限制,最大只能显示到9999,此时按下ckey0无反应;考虑到 实际计数功能,没有设置负数,所以最小显示0000,这时按下ckey1 ,无反应。 2)长按key1一次计数器清零。 2、电路原理图

单片机简易秒表正计时时间可设置倒计时时间可查询

第一章设计内容和要求设计任务 用AT89C52设计一个4位的LED数码作为多功能“秒表”。 设计目的 1.学习数码管显示的结构和工作流程,实现数码管分组显示数字组合。 2.学习有关单片机的内容,进一步了解AT89C52芯片的相关功能。 3.复习C语言的相关知识。 4.培养自学能力和探索解决问题的能力。 设计要求 显示时间为00分00秒-59分59秒,每1秒自动加1,另外设计一个“开始/暂停”键、一个“记录/查询”键、一个“清零”键、一个“模式切换”键、一个“时间设置”键、一个“复位”键。秒表要求正计时时,可记录并且查询10组数据,倒计时时,时间用户可设置,并且时间到时蜂鸣器报警。 设计创新 在基本设计基础上添加了正向查询10条记录后蜂鸣器同时报警。 设计意义 简易秒表具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本次设计将基于单片机的工作原理,设计简易秒表的基本电路,深入的了解其工作原理,掌握其基本的工作特点。同时简易秒表在生活中应用广泛,从实际出发,不断创新。

第二章方案设计与选择 技术可行性 20世纪以来,微电子,IC集成电路行业发展迅速,其中单片机行业发展最引人注目。单片机利用大规模集成电路技术把中央处理器和数据存储器(RAM),程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成最小的计算机系统。如今的单片机发展集成了更多的特殊功能单元,例如A/D,D/A转换器,通信控制,DMA,PWM控制输出单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统。 单片机除了具备体积小,价格低,速度快,用途广,可靠性高等特点,在硬件结构和指令设置上还有以下独特之处: 1.存储器ROM和RAM是严格分工的。前者存放程序,常数和数据表格,后者存放临时数据和变量。 2.采用面向控制的指令系统,构成的应用系统有较大的可靠性。大部分测控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当的改变系统功能。 3单片机的硬件功能具有广泛的通用性。 4.品种规格的系列化。 单片机的选择 方案一:采用AT89C52单片机 AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的心删功能需要烧进程序时,没有需要对芯片屡次插拔,所以不会对芯片形成破坏。 方案二:采用FTC10F04单片机 FTC10F04单片机还带有非易失性Flash程序存储器。它是一种高性能、低

相关文档
最新文档