51单片机定时器秒表设计程序上课讲义
- 格式:doc
- 大小:19.00 KB
- 文档页数:6
51电子秒表课程设计一、课程目标知识目标:1. 学生理解电子秒表的基本原理,掌握其计时功能的工作机制。
2. 学生掌握51单片机的编程基础,能够运用C语言进行简单的程序编写。
3. 学生了解电子秒表中涉及到的电子元器件,如晶振、电容、按键等,并理解它们在电路中的作用。
技能目标:1. 学生能够运用所学知识,独立完成51电子秒表的硬件电路搭建。
2. 学生能够编写程序,实现电子秒表的启动、停止、清零及计时功能。
3. 学生能够通过实际操作,解决电子秒表中遇到的问题,提高动手能力和故障排查能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,养成积极探索和主动学习的良好习惯。
2. 学生通过合作完成项目,培养团队协作能力和沟通能力,增强集体荣誉感。
3. 学生在课程学习中,树立正确的价值观,认识到科技对生活的影响,增强社会责任感。
课程性质:本课程为实践性课程,结合理论知识与动手实践,旨在提高学生的实际操作能力和创新能力。
学生特点:学生具备一定的物理和数学基础,对电子技术有较高的兴趣,喜欢动手操作,但编程能力可能较弱。
教学要求:结合学生特点,注重理论与实践相结合,循序渐进,由浅入深地引导学生掌握电子秒表的设计与制作。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,充分调动学生的主观能动性。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得具体、可衡量的学习成果。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子秒表原理:介绍电子秒表的工作原理,分析计时功能的实现过程,探讨51单片机在电子秒表中的应用。
2. 硬件电路设计:学习51单片机的基本电路,掌握晶振、电容、按键等电子元器件的选择和使用方法,学会搭建电子秒表的硬件电路。
3. 软件编程:学习C语言编程基础,掌握51单片机的编程技巧,编写电子秒表的程序,实现启动、停止、清零及计时功能。
4. 实践操作:学生分组进行硬件电路搭建,编程调试,实际操作电子秒表,解决过程中遇到的问题。
c51数字秒表课程设计一、课程目标知识目标:1. 学生能理解C51单片机的基本原理,掌握数字秒表的硬件设计及编程方法。
2. 学生能够运用C语言编写程序,实现秒表的启动、停止、计时的功能。
3. 学生了解数字秒表在实际应用中的重要性,如时间测量、实验数据记录等。
技能目标:1. 学生能够运用所学的C51知识,设计并实现一个具有基本功能的数字秒表。
2. 学生通过实际操作,提高动手实践能力,培养解决实际问题的能力。
3. 学生能够运用所学知识,对数字秒表进行调试和优化,提高程序运行效率。
情感态度价值观目标:1. 学生培养对单片机编程的兴趣,提高学习主动性和积极性。
2. 学生通过合作完成任务,培养团队协作能力和沟通能力。
3. 学生在解决问题的过程中,培养坚持不懈、勇于探索的精神。
本课程针对高年级学生,结合C51单片机课程内容,注重理论与实践相结合。
课程设计旨在帮助学生巩固所学知识,提高动手实践能力,培养解决实际问题的能力。
通过数字秒表的设计与实现,让学生充分体会单片机编程的乐趣,激发学生的学习兴趣,为后续课程学习打下坚实基础。
同时,课程强调团队协作和情感态度的培养,使学生在学习过程中形成积极向上的人生态度。
本章节教学内容主要包括以下几部分:1. C51单片机原理回顾:复习C51单片机的硬件结构、工作原理及编程基础,重点掌握I/O口编程、定时器/计数器等知识点。
2. 数字秒表的硬件设计:介绍数字秒表的硬件组成,包括单片机、时钟电路、显示电路等,分析各部分功能及相互关系。
3. 数字秒表的编程实现:学习如何使用C语言编写程序,实现数字秒表的功能。
内容包括:- 定时器/计数器的配置与使用;- 按键扫描程序编写;- 数码管显示程序编写;- 秒表功能模块设计(启动、停止、计时)。
4. 教学案例分析与实践:结合教材案例,分析数字秒表的设计过程,引导学生动手实践,完成一个具有基本功能的数字秒表设计。
5. 调试与优化:介绍程序调试方法,指导学生运用调试工具,对数字秒表程序进行调试和优化,提高程序运行效率。
电气与自动化工程学院卓越工程师培养计划暑期实训报告题目秒表系统的设计年级11级专业自动化班级卓越班学号*********姓名俞雷地点大学生创新实验室日期2012年8月12日~2012年8月20日目录一、单片机简介............................................................................- 2 -二、设计目标................................................................................- 3 -1、设计目的: (3)2、具体操作: (3)三、硬件设计................................................................................- 4 -原理图:. (4)四、系统的软件设计....................................................................- 5 -1、软件整体设计思路: (5)2、软件流程图: (5)3、程序: (6)(1)数码管秒表显示程序: ...................................................- 6 -(2)1602液晶秒表显示程序:............................................ - 13 -五、系统的调试及设计结果..................................................... - 18 -1602液晶——秒表显示效果图:. (18)LED数码管——秒表显示效果图: (18)六、创新实验室课程设计小结................................................. - 19 -一、单片机简介单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。
51单片机秒表课程设计一、课程目标知识目标:1. 理解51单片机的基本原理,掌握其编程方法;2. 学习并掌握定时器/计数器在51单片机中的应用,理解其工作原理;3. 了解秒表的功能需求,掌握秒表的程序设计方法。
技能目标:1. 能够独立完成51单片机的程序编写,具备基本的编程能力;2. 能够运用定时器/计数器进行计时,完成秒表的实时显示功能;3. 能够分析和解决程序运行过程中出现的问题,具备一定的调试能力。
情感态度价值观目标:1. 培养学生的团队协作精神,提高沟通与交流能力;2. 增强学生对电子制作的兴趣,激发创新意识;3. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 学生能够掌握51单片机的基本原理和编程方法;2. 学生能够运用定时器/计数器实现秒表的计时功能;3. 学生能够通过团队协作,共同完成秒表的程序设计和调试;4. 学生能够对编程过程中遇到的问题进行分析和解决,提高自身调试能力;5. 学生能够体验电子制作的乐趣,培养创新意识和严谨、细心的学习态度。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 51单片机基础知识:- 单片机概述与51单片机的结构原理;- 51单片机的寄存器、I/O口及其编程方法;- 定时器/计数器的工作原理与应用。
2. 秒表功能需求分析:- 秒表的功能定义与需求分析;- 电路设计与硬件连接;- 软件设计框架及流程图。
3. 定时器/计数器的应用:- 定时器/计数器的工作模式;- 定时器/计数器的编程实现;- 秒表计时功能的具体实现。
4. 程序编写与调试:- 51单片机程序结构;- 程序编写技巧与调试方法;- 秒表程序编写与功能测试。
5. 教学案例与实战:- 案例分析:经典秒表程序剖析;- 实战练习:学生分组进行秒表的程序编写与调试;- 成果展示与评价。
教学内容安排和进度:第一课时:51单片机基础知识学习;第二课时:秒表功能需求分析与电路设计;第三课时:定时器/计数器的应用;第四课时:程序编写与调试;第五课时:教学案例与实战。
实训报告题目秒表系统的设计年级专业班级学号姓名地点日期目录一,目⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 二,系硬件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4 三,系件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7 四,系与果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12 五,片机小⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13设计目标最近几年来跟着科学技术的发展,单片机的应用范围愈来愈广,也成为好多专业的必修课。
本文简单论述了鉴于单片机的秒表设计。
本设计的主要特色是计时精度达到 0.01 秒,能够用来为各样体育比赛计时等。
本设计的数字秒表采纳AT89才 51 单片机为主要器件,利用其准时器的原理,结LED数码管以及外面中止电路来设计计时器。
将软硬件联合起来,使得系统能实现 0~99.99 秒的计时,计时精度位 0.01 秒。
当按下一个键 1 时,开始显示数字,即计时开始,再按下键 2 时,暂停计时并显示方才的结果,这个时候假如再按键 1,则持续计时,也就是显示的数字包含方才的数据。
按下键 3 时,数据清零。
系统硬件设计1 、1整体方案的设计数字秒表拥有显示直观、读取方便、精度高等长处,在计时中宽泛应用。
本设计顶用单片机和数码管构成数字秒,力争构造简单。
设计中包含硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、控制按钮与显示电路构成。
主控制器采纳单片机AT89才 51,显示电路采纳四位共阴极数码管显示计不时间。
本设计利用 AT89才 51 单片机的准时器,使其能精准计时。
利用键盘上的独立按键实现开始计时和暂停以及清零。
P0口输出段码数据, P2.0~P2.2 连上译码器作为位选。
设计的基本要求是正确性。
计时器采纳 T0 中止实现,准时溢出中止周期为1ms,当溢出中止后向CPU 发出溢出中止恳求,每发出10 次中止恳求就对 10ms位(即最后一位)加一,达到 100 次就对 100ms位加一,以此类推,直到99.99s 为止。
51秒表课程设计一、课程目标知识目标:1. 学生能理解秒表的基本概念,掌握其作为计时工具的使用方法和相关术语。
2. 学生能够运用秒表进行简单的时间测量,并准确读取时间数据。
3. 学生理解时间的单位换算,如秒、分、小时,并能在秒表上实现相应的操作。
技能目标:1. 学生能够熟练操作秒表,包括开始、停止、重置等功能。
2. 学生通过实践,培养准确计时的技能,提高实验操作的精确性。
3. 学生能够运用秒表进行日常生活中的时间管理,如学习时间分配、运动计时等。
情感态度价值观目标:1. 学生通过使用秒表,培养对时间的尊重和珍惜,形成良好的时间观念。
2. 学生在合作实验中,培养团队协作能力和公平竞争意识。
3. 学生通过时间测量活动,激发对科学探索的兴趣和热情。
分析课程性质、学生特点和教学要求,本课程目标注重实践操作与理论知识的结合,旨在帮助学生掌握秒表的使用,提高时间管理能力,并在活动中培养科学精神和团队协作。
课程目标的设定遵循具体、可衡量原则,以确保学生和教师能够明确课程预期成果,为后续教学设计和评估奠定基础。
二、教学内容本节教学内容围绕秒表的使用和应用,结合课本第三章“时间与测量”展开。
1. 秒表的基础知识:- 时间的基本单位及换算关系;- 秒表的构造、功能及使用方法;- 秒表示数读取与记录。
2. 秒表的实践应用:- 实验室内的计时操作;- 日常生活中的时间管理;- 运动比赛中的计时方法。
3. 教学内容的安排和进度:- 第一课时:秒表基础知识学习,包括时间单位、秒表结构及功能;- 第二课时:实践操作,学习秒表示数读取与记录,并进行计时练习;- 第三课时:结合实际情境,运用秒表进行时间管理,讨论时间管理的重要性;- 第四课时:探讨秒表在运动比赛中的应用,并进行实际操作。
教学内容的选择和组织确保了科学性和系统性,旨在帮助学生从理论知识到实践操作的过渡,使学生在掌握秒表知识的基础上,能够灵活应用于日常生活和实验中。
c51电子秒表课程设计一、课程目标知识目标:1. 学生能够理解C51单片机的基础知识,掌握其编程方法。
2. 学生能够掌握电子秒表的基本原理,包括计时、暂停、清零等功能。
3. 学生能够了解并掌握电子秒表中的中断处理、定时器/计数器等硬件资源的使用。
技能目标:1. 学生能够运用C语言编写C51单片机程序,实现电子秒表的计时功能。
2. 学生能够通过实验操作,学会使用开发板、编译器等工具进行程序编写和调试。
3. 学生能够培养实际动手能力,独立完成电子秒表的搭建和调试。
情感态度价值观目标:1. 学生能够培养对电子制作的兴趣和热情,提高学习积极性。
2. 学生能够培养团队协作意识,学会与他人共同解决问题。
3. 学生能够认识到科技发展对社会进步的重要性,增强科技创新意识。
课程性质:本课程为实践性课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的C语言基础,对单片机有一定了解,但实践经验不足。
教学要求:教师需引导学生通过实际操作,掌握C51单片机编程和电子秒表制作技能,同时注重培养学生的情感态度价值观。
将课程目标分解为具体学习成果,以便在教学设计和评估中逐一实现。
二、教学内容1. 理论部分:- C51单片机基础知识:介绍C51单片机的结构、工作原理和编程环境。
- 中断处理和定时器/计数器:讲解中断的概念、中断处理过程,以及定时器/计数器的使用方法。
- 电子秒表原理:阐述电子秒表的计时原理、功能模块及其相互关系。
2. 实践部分:- C51编程实践:指导学生使用C语言编写电子秒表程序,掌握程序结构、函数调用等。
- 硬件搭建与调试:学生动手搭建电子秒表电路,学习电路连接、元件识别等,并进行程序下载和调试。
- 综合应用:结合所学知识,学生独立完成一个具有计时、暂停、清零等功能的电子秒表项目。
3. 教学大纲安排:- 第一课时:C51单片机基础知识学习,介绍教材相关章节内容。
- 第二课时:中断处理和定时器/计数器原理学习,结合教材实例进行讲解。
一、课设思路(1)利用单片机定时器中断和定时器计数方式实现秒定时。
(2)通过LED显示程序的调整,熟悉单片机与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
(4)进一步学习单片机开发系统的整个流程。
二、所需元件名称数量7段数码管 2电阻10kΩ 1电阻1kΩ 8键盘开关 1电容10 µf 1电容30 pf 2晶振12 MHz 189C51 1万能板 1导线若干三、元件介绍AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:与MCS-51 兼容·4K字节可编程FLASH存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路特性概述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
51单片机定时器秒表
设计程序
51单片机定时器秒表设计程序
#include<reg51.h>
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<t;i++)
for(j=0;j<114;j++);
}
UINT8 Scankey(void)
{
UINT8 key;
if((P3&0x0f)==0x0f)
return(0xff);
Delay(10);
if((P3&0x0f)==0x0f)
return(0xff);
key=P3&0x0f;
while((P3&0x0f)!=0x0f);
return(key);
}
void Display(void)
{
static UINT8 num=0;
P2=0xff;
switch(num)
{
case 0:
P0=0xff;
break;
case 1:
P0=0xff;
break;
case 2:
P0=0xff;
break;
case 3:
P0=0xff;
break;
case 4:
P0=0xff;
break;
case 5:
P0=SHU[Second%100];
break;
case 6:
P0=SEGMENT[mSecond%100/10];
break;
case 7:
P0=SEGMENT[mSecond%10];
break;
}
P2=SELECT[num];
num++;
num%=8;//if(num==8) num=0;
}
/*定时器初始化程序
void timer_10ms(void)//定时器T0定时10ms
{
TMOD=0x01;
TH0=-10000/256;
TL0=-10000%256;
TR0=1;//启动T0
}*/
main()
{
static UINT8 a=0;
UINT8 i,j;
UINT16 z;
mSecond = 0;
Second = 0;
TMOD=0x01;
TH0=0xdc;
TL0=0x32;
TR0=1;//启动T0
EA=0;
ET0=1;
while(1)
{
Display();
Delay(2);
i = Scankey();
if(i==S1)//启动
{
EA=1;
}
else if(i == S2)//停止
{
EA=0;
}
else if(i == S3)//清除
{
EA=0;
Second=0;
mSecond=0;
}
if(i == S4)//暂停
{
EA=0;
if(a==0)
{
a=1;
}
else if(a==1)
{
a=0;
EA=1;
}
}
if(Second==10)
{
while(1)
{
for(j=0;j<100;j++)
{
SPEAK=0;
Delay(1);
SPEAK=1;
Delay(1);
}
for(z=0;z<100;z++)
{
P2=0xfb;
P0=SHU[9];
Delay(5);
P2=0xfd;
P0=SEGMENT[9];
Delay(5);
P2=0xfe;
P0=SEGMENT[9];
Delay(5);
}
P2=0XFF;
for(j=0;j<100;j++)
{
SPEAK=1;
Delay(1);
SPEAK=1;
Delay(1);
}
//Delay(1000);
}
}
}
//}
}
void int_0() interrupt 1
{
TH0=0xdc;
TL0=0x32;
mSecond++;
if(mSecond==100)
{
Second++;
mSecond=0;
if(Second==10)
EA=0;
}
}。