单片机课设60秒计时器

合集下载

单片机60秒表课题设计

单片机60秒表课题设计

目录1.实验内容及要求 -----------------------------------------------------21.1实验内容-------------------------------------------------------------2 1.2试验要求-------------------------------------------------------------22.课题研究目的和意义及介绍--------------------------------------------------22.1目的意义-------------------------------------------------------------22.2AT80C5单片机简介-----------------------------------------------------22.3实验仪器-------------------------------------------------------------33.设计思路及描述-----------------------------------------------------------34.硬件设计------------------------------------------------------------------44.1接口电路--------------------------------------------------------------44.2硬件连接图------------------------------------------------------------45.软件设计------------------------------------------------------------------5 5.1数字秒表工作流程图----------------------------------------------------55.2用51单片机实现数字秒表工作源程序-------------------------------------65.2.1程序运行图-----------------------------------------------------------9 6.总结---------------------------------------------------------------------91.实验内容及要求1.1实验内容用AT89C51设计一个秒表,该秒表课可显示0.0~59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程。

课程设计_单片机__60秒秒表

课程设计_单片机__60秒秒表

目录前言 (2)1.总体设计方案 (3)2硬件设计方案 (3)2.1 电路原理 (3)2.2 电路原理图 (4)3.软件设计(加流程图) (6)3.1函数流程图 (6)3.2 算法描述 (9)3.3源程序 (10)4系统的安装调试 (11)5课程设计总结与体会 (12)6.参考文献 (14)前言单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。

单片微型计算机简称单片机,是典型的嵌入式微控制器单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

它最早是被用在工业控制领域。

由于单片机在工业控制领域的广泛应用,单片机由仅有CPU的专用处理器芯片发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

本次课程设计要求制作一个秒表,开始时,显示“00”,第1次按下按钮后就开始计时;第2次按按钮后,计时停止;第3次按按钮后,计时归零。

1总体设计方案1.1硬件设计思路将单片机设计成控制器,在M CS51的P0口和P2口都接,P0口接上拉电阻,分别显示十位和个位数字。

60秒倒计时时钟 单片机AT89C51 C语言程序

60秒倒计时时钟 单片机AT89C51 C语言程序

#include<reg51.h>typedef unsigned char uint8;typedef unsigned int uint16;/*七段共阳管显示定义*/uint8 code dispcode[ ]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};/*定义并初始化变量*/uint8 seconde=59;uint16 mstcnt=0;/*函数声明*/void delay(uint8 k ); //延时子程序void time_pro( ); //时间处理子程序void display( ); //显示子程序/*****************************//*延时子程序*//****************************/void delay (uint8 k){uint8 j;while((k--)!=0){for(j=0;j<125;j++){;}}}/**************************//*时间处理子程序*//**************************/void time_pro( void){if(seconde==0)//秒钟设为59进制{ seconde=59; }}/*****************************//* 显示子程序*//*****************************/void display(void){P1=dispcode[seconde/10]; //显示秒的十位delay(4);P2=dispcode[seconde%10]; //显示秒的个位delay(4);}/**************************//*1s定时定时*//**************************/void timer0(void) interrupt 1 using 0//定时器0方式1,250us中断一次{TH0=0xff;TL0=0x19;TMOD = 0x01;mstcnt++;if(mstcnt==4000){seconde--;mstcnt=0; //注意对计数单元的清零}}/**************************//*主函数*//**************************/void main(void){ P1=0xff; //初始化p0口,全设为1使数码管P2=0xff; //初始化p2口,全设为1使数码管TMOD = 0x01; //time0为定时器,方式1TH0=0xff; //预置计数初值TL0=0x19;EA=1;ET0=1;TR0=1;while (1){time_pro( ); //时间处理display( ); //显示时间}}。

倒计时60秒程序(单片机C51)

倒计时60秒程序(单片机C51)

倒计时60秒程序(单片机C51)#include#define uint unsigned int#define uchar unsigned charuchar code table[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbit gew=P2^1;sbit shiw=P2^0;sbit k2=P1^0;uchar num,num1=60,num2,shi,ge;void Init(){TMOD=0X01; TH0=(65536-50000)%256; TL0=(65536-50000)%256;EA=1;ET0=1; TR0=1;}void delay(uint xms) //延时子函数{uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}void scankey() //键盘检测子函数{if(k2==0) //检测键是否被按下{delay(5); //延时消除抖动if(k2==0) //重新读取k2的值{num2++; //num2为按次数标志位while(!k2); //等待按键释放if(num2==1) //按键一次计时停止TR0=0;if(num2==2) //按键两次计时开始{TR0=1;}}}}void main() //主函数{Init(); //初始化子函数调用while(1){scankey(); //不断键盘扫描gew=0; //打开数码管个位位选P0=table[ge]; //数码管个位赋值delay(1); //延时送入数据的反应时间gew=1; //关闭数码管个位位选delay(1);shiw=0; //打开数码管十位位选P0=table[shi]; //送入数据delay(1);shiw=1; //关闭数码管十位位选delay(1);}}void Timer0() interrupt 1{TH0=(65536-50000)/256; //定时器重装初值TL0=(65536-50000)%256;num++;if(num==20) //定时器每进行一个周期num加1,运行20个周期即为1s{num=0; //到1秒,num清0重新开始num1--; //倒计时1秒if(num1==0)num1=60;shi=num1%10; //两位数分离赋给数码管十位显示ge=num1%10; //两位数分离赋给数码管个位显示}}。

60秒倒计时器-单片机课程设计

60秒倒计时器-单片机课程设计

目录一、设计要求 (3)二、设计的作用目的 (3)三、具体设计 (4)1.问题分析 (4)2.总体设计思想 (5)3.具体实现方法 (7)四、Proteus调试过程及现象 (14)五、调试问题及解决方法 (15)六、设计的优缺点分析 (16)七、总结 (16)八、参考文献 (17)一、设计要求由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。

倒计时到,由蜂鸣器发出报警。

绘制系统硬件接线图,并进行系统仿真和实验。

画出程序流程图并编写程序实现系统功能。

二、设计的作用目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。

通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。

本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。

本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

三、具体设计1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。

如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。

单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。

课程设计 单片机 60秒秒表

课程设计 单片机  60秒秒表

1任务及要求1.1设计任务学会用已经学过的单片机原理与应用的知识, 来设计一个实用性的结构简单化的小型电子产品。

编写一个程序, 实现秒计时器从00—59计时的基本功能。

利用Proteus工具来演示秒计时器的计时。

1.2设计要求利用MCS-51系列单片机作为秒表的主控制器芯片, 在单片机的P0端口和P2端口分别接两个共阴数码管, P0口驱动显示秒时间的十位, P2口驱动显示秒时间的个位。

要求做到性能稳定, 结构简单通俗易懂, 结构模块化, 从而做到节约成本。

(1)熟悉电路, 了解P0和P1口的作用。

(2)熟悉W A VE编译环境。

(3)熟练掌握汇编语言, 调用延时程序。

2设计思想2.1硬件设计将单片机设计成控制器, 在AT89C51的P0口和P2口都接7SEG-COM-CATHODE, P0口接上拉电阻, 分别显示十位和个位数字。

2.2软件设计通过单片机实现控制00-59的计数, 根据设计的要求, 将0到59的数据除以10, 分别取商和余数。

并且当一秒钟到来时, 计数单元加1, 到达60时, 则自动返回到0, 从新秒计数。

同时在计数过程中调用延时程序。

3电路原理与电路图3.1电路原理编写程序对80C51芯片进行初始化, 在编程过程中主要使用延迟程序来实现秒计时器的计时功能。

用Proteus软件来实现秒计时器的仿真, 其中将P0口和P1口分别作为高低位输出端口。

3.2电路原理图图3.1电路原理图4流程图与算法描述4.1函数流程图4.1.1实验系统流程图图4.1.1 实验系统流程示意图4.1.2延时程序流程图图4.1.2 延时程序流程图4.2 算法描述根据设计的要求, 利用单片机控制, 实现秒计数并显示, 具体设计如下:(1)将0到59的数据通过对10整除和对10求余, 将数据的个位和十位分开。

DIV AB(2)加1计数INC @R0(3)延时程序DELAY: MOV R5,#100DELAY2: MOV R6,#20DELAY1: MOV R7,#248DJNZ R7,$DJNZ R6,DELAY1DJNZ R5,DELAY25仿真分析程序采用汇编语言编写, 并用protues软件编译。

单片机课设60秒计时器

单片机课设60秒计时器

.单片机课程设计说明书题目:00—60秒表设计学院:机电工程学院专业:机械设计制造及其自动化学生姓名:xxx学号:xxx指导教师单位:xxx姓名:xxx2013年12月13日摘要60秒计时器以单片机为核心,由计时器,控制器等组成。

系统采用模块化设计,主要分为计时器显示模块和按键控制模块。

每个模块的程序结构简单,任务明确,易于编写、调试和修改。

编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。

本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。

该系统具有60s内准确计时和计时清零的功能。

关键字:单片机,计时,显示,60s计时,复位清零目录前言 (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法 (13)三、系统软件设计 (14)3.1、软件总体设计方案 (14)3.2、程序流程图 (16)3.3、部分重要模块汇编程序: (16)四、系统调试 (17)4.1、软件调试 (17)4.2、硬件调试 (18)五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。

60秒计时器.做板

60秒计时器.做板

单片机课程设计报告实验名称: 60秒计时器60秒计时器实验报告一,实验目的1. 学习8052定时器时间计时处理、按键扫描及LED数码管显示的设计方法。

2. 设计任务及要求点亮两个数码管,并一秒累计一次,最多60次,然后重置。

二,实验要求1.两个数码管从0变到60,一秒变动一次。

2.到60后重置回00。

三,实验基本原理动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当加到20时,则表示1s到了,数码管加1。

四,实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含8KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用调用函数,时间,重置,显示等程序一次列出,方便调用,纠错。

五,实验要求实现A.电路设计1. 整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用2个共阴数码管分别显示十位,个位,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

单片机采用AT89S52系列,这种单片机应用简单、适用。

电路的总体设计框架如下:2. 分块设计模块电路主要分为:显示部分、复位和晶振电路。

2.1 显示部分本实验选用锁存器控制数码管的输出,模块如下:2.3 晶振与复位电路本实验单片机时钟用内部时钟,模块如下:复位电路为手动复位构成,模块如下:B.程序设计B.1 程序总体设计本实验用汇编程序完成. 程序总的流程图如下:NoYes结合电路图,程序设计的整体思路为:接通电源,数码管显示十位、个位。

单片机60秒计时器实验报告

单片机60秒计时器实验报告

单片机60秒计时器实验报告一、实验目的本实验旨在设计并实现一个基于单片机的60秒计时器,通过学习单片机的基本原理和编程语言,掌握单片机计时器的设计和实现方法。

二、实验原理1. 单片机基础知识:单片机是一种集成电路芯片,它包含了中央处理器(CPU)、存储器(RAM、ROM)、输入输出(I/O)接口等多个功能模块。

单片机可以通过编写程序来控制各种外设,如LED灯、蜂鸣器等。

2. 计时器原理:计时器是一种用于测量时间的电子设备,它通常由一个晶振作为基准信号源,通过分频和计数来实现精确计时。

在单片机中,计时器通常由定时器(Timer)模块来实现。

3. 60秒计时器设计:本次实验需要设计一个能够精确计时60秒的计时器。

具体步骤如下:(1) 设置定时器工作模式为定时模式;(2) 设置定时时间为60秒;(3) 等待定时完成,并触发中断;(4) 在中断服务函数中输出时间到LED灯或数码管上。

三、实验材料1. STC89C52RC单片机开发板;2. 4位共阳数码管或8个LED灯;3. 杜邦线若干。

四、实验步骤1. 连接电路:将单片机开发板上的P0口连接到4位共阳数码管或8个LED灯的控制引脚,P3口连接到晶振、复位电路等。

2. 编写程序:使用Keil C51编写单片机程序,实现60秒计时器功能。

具体代码如下:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED1 = P0^0; //LED灯连接到P0.0sbit LED2 = P0^1; //LED灯连接到P0.1sbit LED3 = P0^2; //LED灯连接到P0.2sbit LED4 = P0^3; //LED灯连接到P0.3void InitTimer() //初始化定时器{TMOD &= 0xF0; //设置工作模式为定时模式TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位}void TimerInterrupt() interrupt 3 //定时器中断服务函数{static uchar cnt = 60; //计数器,初始值为60秒if(cnt > 0) cnt--; //每次中断计数器减一if(cnt == 10) { //当计数器为10秒时,LED1闪烁LED1 = ~LED1;}if(cnt == 0) { //当计数器为0秒时,所有LED灯关闭 LED1 = 0;LED2 = 0;LED3 = 0;LED4 = 0;}}void main(){InitTimer(); //初始化定时器while(1) {LED2 = 1; //LED2始终点亮if(TF1) { //如果定时器溢出,重新加载计时器TF1 = 0; //清除定时器中断标志位TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位cnt = 60; //重置计数器}}}3. 烧录程序:将编写好的程序通过ISP或其他烧录工具烧录到单片机中。

单片机课设60秒计时器

单片机课设60秒计时器

单片机课程设计说明书题目:00—60秒表设计学院:机电工程学院专业:机械设计制造及其自动化学生姓名:xxx学号:xxx指导教师单位:xxx姓名:xxx2013年12月13日摘要60秒计时器以单片机为核心,由计时器,控制器等组成。

系统采用模块化设计,主要分为计时器显示模块和按键控制模块。

每个模块的程序结构简单,任务明确,易于编写、调试和修改。

编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。

本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。

该系统具有60s内准确计时和计时清零的功能。

关键字:单片机,计时,显示,60s计时,复位清零目录前言 (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法 (13)三、系统软件设计 (14)3.1、软件总体设计方案 (14)3.2、程序流程图 (16)3.3、部分重要模块汇编程序: (16)四、系统调试 (17)4.1、软件调试 (17)4.2、硬件调试 (18)五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。

单片机控制的60s倒计时

单片机控制的60s倒计时

单片机汇编语言程序设计师技能考核内容题目一、单片机控制的60s倒计时要求:1.用单片机AT89C51的定时/计数器实现60s倒计时。

两位数码管静态显示倒计时秒值。

2.要求与P1口相接的数码管(左)显示十位数,与P2口相接的数码管(右)显示个位数,两个共阳数码管为静态显示,其中个位数数码管为总线接法。

特别提示:考生必须将所画的硬件原理图及Keil的项目工程保存在G盘且以考生姓名命名的文件夹中。

PROTEUS电路设计所需元器件及原理图如下(1)AT89C51.BUS:总线式单片机(2)RES:电阻;(3)7SEG-COM-AN-GRN:带公共端共阳七段绿色数码管(4)BUTTON:按钮(5)CAP、CAP-ELEC:电容、电解电容(6)CRYSTAL:晶振参考程序:ORG 0000HSJMP STARORG 001BHSJMP T1SORG 0030HSTAR: MOV R2,#60MOV R4,#20MOV IE,#88HMOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HSETB TR1MOV A,R2MOV B,#10DIV ABACALL SEG7MOV P1,AMOV A,BACALL SEG7MOV P2,ASJMP $T1S: MOV TH1,#3CHMOV TL1,#0B0HDJNZ R4,T1S0MOV R4,#20DJNZ R2,T1S1CLR TR1SJMP T1S1T1S0: RETIT1S1: MOV A,R2MOV B,#10DIV ABACALL SEG7MOV P1,AMOV A,BACALL SEG7MOV P2,ARETISEG7: INC AMOVC A,@A+PCRETDB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND。

单片机60秒计时器程序c语言

单片机60秒计时器程序c语言

一、概述计时器在日常生活和工业生产中扮演着重要的角色。

60秒计时器是一种常见的计时器类型,用于测量较短的时间间隔。

单片机作为一种微处理器,具有广泛的应用领域,其使用C语言编程可以实现各种功能,包括计时器。

本文将介绍如何使用C语言编写单片机60秒计时器程序。

二、程序框架1. 宏定义和全局变量声明在编写单片机60秒计时器程序时,首先需要定义一些宏和全局变量,用于设置计时器的工作模式和进行时间计数。

例如:```c#define FOSC xxx#define T1MS (xxx-FOSC/12/1000) 每隔1ms中断一次```全局变量声明如下:```cunsigned char g_seconds;unsigned char g_minutes;unsigned char g_flag;```2. 定时器初始化计时器的初始化是整个程序的重要步骤,需要配置计时器的工作模式、中断使能等。

在C语言中,可以通过编写相应的代码实现。

```cvoid Timer1Init() {TMOD |= 0x10; //设置计数器的工作方式为方式1TH1 = T1MS / 256; //装初值TL1 = T1MS 256;ET1 = 1; //打开定时器1中断允许TR1 = 1; //打开定时器EA = 1; //打开总中断}```3. 计时器中断处理函数计时器中断发生时,需要进行相应的处理,例如对秒数进行累加,判断是否达到60秒等。

```cvoid Timer1_ISR() interrupt 3 using 1 {TH1 = T1MS / 256;TL1 = T1MS 256;g_seconds++;if (g_seconds >= 60) {g_minutes++;g_seconds = 0;}if (g_minutes >= 60) {g_minutes = 0;}g_flag = 1;}```4. 主函数在主函数中,可以设置好计时器的初始状态,并通过不断循环等待计时器中断的触发,实现60秒计时功能。

单片机课程设计1——新颖60秒LED旋转电子钟

单片机课程设计1——新颖60秒LED旋转电子钟

课程设计任务书新颖的60秒旋转电子钟任务书一、任务设计一款基于AT89C2051单片机的电子钟。

二、设计要求1、基本要求⑴用4只LED数码管输出显示时和分。

⑵可通过按键设置闹钟功能,且停闹无须手工操作。

⑶可通过按键设置分校时。

⑷月计时误差小于45秒。

⑸写出详细的设计报告。

⑹给出全部电路和源程序。

2、发挥部分⑴用60只LED发光管旋转显示,模拟“秒针”的行走。

⑵模拟“秒针”行走的“嘀哒”声。

⑶增加室温检测和显示功能(可与时间交替显示)。

⑷增加停(掉)电保护功能。

⑸提高计时精度,使年计时误差小于30秒。

⑹增加日自动校准功能,使得该电子钟“永无误差”。

⑺增加红黄绿三色变色装饰。

⑻可通过按键设置一天两闹(比如早晨、中午各一次)。

新颖的60秒旋转电子钟目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。

要知道当前的时间,必须先开灯,故较为不便。

现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。

此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。

针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,有效克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。

另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

1 系统主要功能电子钟的外观如图1所示。

周边60只发光管顺时旋转来显示秒,中间四只LED数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。

其主要功能有:整点报时;四只LED数码管显示当前时分;每隔一秒钟周边的60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次。

单片机设计60秒倒计时正计时+Proteus仿真

单片机设计60秒倒计时正计时+Proteus仿真

60秒倒计时设计一:1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

2.要求单片机控制的60s倒计时(1)用单片机AT89C51的定时器实现60s倒计时。

(2)用PROTEUS设计,仿真基于AT89c51单片机的60s倒计时实验。

3. 目标通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。

2:方案选择图2.1:60秒倒计时总体电路设计本设计由硬件设计和软件设计两部分组成,总电路框图如图2.1所示。

具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。

通过复位电路,在仿真过程中点击开关实现60复位3.1 AT89C51外形及引脚排列如图3.1所示图3.1:89C51的核心电路框图主要特性·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明(1)电源及时钟引脚(4个)Vcc: 电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。

(2)控制线引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚;ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。

单片机60秒计时器实验报告

单片机60秒计时器实验报告

单片机60秒计时器实验报告1. 引言在现代电子技术中,单片机是一种非常重要的设备,它具有小巧、功能强大、可靠性高等优点。

本实验旨在使用单片机设计一个60秒计时器,通过实验来熟悉单片机的使用和编程,同时加深对计时器原理的理解。

2. 实验目的1.学习单片机的基本使用方法;2.掌握计时器的工作原理;3.通过实验设计一个60秒计时器。

3. 实验器材和软件3.1 实验器材•单片机开发板•电脑•USB数据线3.2 实验软件•Keil C 编译器4. 实验步骤4.1 硬件连接将单片机开发板通过USB数据线连接到电脑上。

4.2 软件配置1.打开Keil C 编译器;2.新建一个工程;3.选择合适的单片机型号;4.配置编译器和调试器。

4.3 编写代码在Keil C 编译器中编写代码,实现60秒计时器的功能。

以下是代码示例:#include <reg51.h>// 定义延时函数void delay(unsigned int ms){unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 1141; j++);}void main(){unsigned int i;while (1){for (i = 0; i < 60; i++){// 计时器开始计时P1 = i;delay(1000);}// 计时器停止计时P1 = 0;}}4.4 烧录程序将编写好的代码烧录到单片机开发板中。

4.5 运行实验将单片机开发板上电,观察数码管的显示,验证60秒计时器的功能是否正常。

5. 实验结果与分析经过实验,我们成功实现了一个60秒计时器。

在实验过程中,我们观察到数码管的显示按照秒数递增,当计时达到60秒时重新归零。

这说明我们的计时器工作正常。

6. 实验总结通过本次实验,我们学习了单片机的基本使用方法,并掌握了计时器的工作原理。

通过编写代码和烧录程序,我们成功设计了一个60秒计时器。

C51单片机60秒倒计时的模拟与仿真设计

C51单片机60秒倒计时的模拟与仿真设计

C51单片机60秒倒计时的模拟与仿真设计C51单片机是一种非常常用的单片机型号,在许多嵌入式系统中都有广泛的应用。

60秒倒计时是一种简单但实用的计时功能,可以在各种场景下使用,比如比赛计时、实验计时等。

这里将介绍如何使用C51单片机来实现并仿真设计一个60秒倒计时。

接下来,我们详细说明60秒倒计时的设计步骤。

1.硬件连接:将4位共阳数码管的共阳极接到单片机的P1口(P1.0-P1.3),将数码管的a-g段分别接到单片机的P2口(P2.0-P2.6)。

在P1口和P2口之间加上适当的上拉电阻。

2.编写程序:使用Keil C51环境新建一个C语言项目,并编写以下程序:```c#include <reg51.h>sbit D1 = P2^0;sbit D2 = P2^1;sbit D3 = P2^2;sbit D4 = P2^3;void delay(unsigned int t)unsigned int i, j;for(i=0; i<t; i++)for(j=0; j<0x4e; j++); }void maiunsigned int i, j, k; while(1)for(i=5; i>=0; i--)for(j=9; j>=0; j--)for(k=9; k>=0; k--)D1=i;D2=j;D3=k/10;D4=k%10;delay(1000);}}}}```4.调试和仿真:将单片机开发板接上电源,程序将开始运行。

我们可以通过观察数码管的显示来判断程序是否正常运行。

在程序开始时,数码管将显示59:59~00:00的倒计时时间,每隔1秒钟更新一次。

经过60秒后,数码管将停留在00:00的状态。

使用C51单片机实现60秒倒计时模拟和仿真设计非常简单,只需几步即可完成。

这个简单的例子也可以帮助初学者更好地理解和掌握C51单片机的使用方法。

当然,实际应用中可能会有更复杂的需求,需要进一步扩展和优化程序,但整体框架和思路仍然是相似的。

60s倒计时器(实现存数和显示)

60s倒计时器(实现存数和显示)

交通与汽车工程学院课程设计说明书课程名称: 微机原理及应用课程设计课程代码: 8234570 题目: 60s倒计时年级/专业/班: 学生姓名: 学号: 开始时间: 2012 年 07 月 02 日完成时间: 2012 年 07 月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总分(100)指导教师签名:年月日目录摘要.................................................................. - 2 - 1 引言................................................................. - 3 -1.1 问题的提出........................................................ - 3 -1.2任务与分析 ........................................................ - 3 -2 系统方案设计 ........................................................... -3 -2.1 系统设计方案...................................................... - 3 -2.2 系统总体框图...................................................... - 4 -3 系统硬件电路设计........................................................ -4 -3.1 AT89C51单片机..................................................... - 4 -4 系统软件设计 ........................................................... - 6 -4.1 proteus软件环境介绍 ............................................... - 6 -4.2 Protel软件环境介绍 ................................................ - 7 -4.3系统软件分析....................................................... - 8 -4.3.2倒计时显示模块选择............................................ - 8 -4.3.2控制器选择.................................................. - 10 -4.3.3 键盘选择 ................................................... - 11 -4.3.4时钟频率电路的设计........................................... - 12 -4.3.5复位电路的设计............................................... - 12 -4.4 程序流程图....................................................... - 14 - 主程序流程图............................................................ - 14 - 5 系统调试过程 .......................................................... - 17 - 结论 ................................................................. - 20 - 致谢 ................................................................. - 21 -摘要随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。

基于protues的单片机课程设计60s倒计时及电子时钟

基于protues的单片机课程设计60s倒计时及电子时钟
Limited to, the designer's knowledge is limited, shortcomings and mistakes are inevitable, earnestly hope that the teachers and students be criticized and corrected.
3、设计的大体分析: 这两个设计题目要求的硬件电路都主要由 AT89C51 芯片、LED 数码管显示器、晶
振产生电路、复位电路组成。其中电子时钟的课程设计外加了 8155 芯片的扩展电路。还 有 AT89C51 芯片主要由软件完成驱动。最终通过 Keil 与 Proteus 软件联调完成模拟仿真功 能。
限于,设计者的学识有限,缺点错误在所难免,殷切希望老师,同学给予批评、指正。 【关键词】 单片机;AT89S51; LED 数码管显示器;keil C51;倒计时器;电子时钟
英文摘要
Permeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software of[with] the object characteristics combine to make perfect.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.单片机课程设计说明书—题目:0060秒表设计机电工程学院学院:专业:机械设计制造及其自动化xxx学生姓名:学号:xxx指导教师单位:xxx名:xxx 姓日月年20131213...摘要60秒计时器以单片机为核心,由计时器,控制器等组成。

系统采用模块化设计,主要分为计时器显示模块和按键控制模块。

每个模块的程序结构简单,任务明确,易于编写、调试和修改。

编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。

本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。

该系统具有60s内准确计时和计时清零的功能。

关键字:单片机,计时,显示,60s计时,复位清零...目录前言................................................................................................................................................................ . (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法....................................................................................................................13三、系统软件设计 (14)3.1、软件总体设计方案............................................................................................................................143.2、程序流程图........................................................................................................................................163.3、部分重要模块汇编程序:................................................................................................................16四、系统调试 (17)4.1、软件调试...........................................................................................................................................174.2、硬件调试...........................................................................................................................................18五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)...前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。

现代计时器是用数字集成电路做成的现代计时器,与传统的机械钟相比,走时准确、显示直观(有荧光七段数码显示器)、无机械传动装置等优点。

而且钟表的数字化给人们生产生活带来了极大的方便。

广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字计时表的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、校时自动打铃、时间程序自动控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字计时器及扩大其应用有着非常现实的意义。

概述一、1.1、课程设计任务与目的课程设计任务:00-60秒表设计用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,一秒产生时,秒计数加1,秒计数到60时,自动从0开始。

额外拓展,实现两个按键,一个实现计时暂停,一个实现从0计时。

课程设计目的:课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练,进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。

课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握应用得的专门性实践类课程,通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。

通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法,通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

...1.2、总体方案设计1.2.1、设计方案框图七段数码管显示电路晶振电路复位CPU按钮电路电源系统1.2.2、硬件方案1、制作一个AT89S51最小系统;2、采用两个LED七段数码显示管分别显示秒表的个位和十位;3、P0口输出十位段码,P2口输出个位段码。

1.2.3、软件方案1、因为当晶振频率为12MHz时,选择定时/计时器的模式1;2、时间设定定时/计数器定时时间,累计合适中断次数后执行刷新显示子程序;3、每隔1s秒计数加1,秒计数到60自动从0开始,循环不止。

...二、系统硬件设计2.1、电路总体设计方案最小系统应符合以下要求:(1)引出4个I/O端口,便于硬件拓展,同时接入排阻以满足更多的使用要求(2)在上电自动复位的基础上添加按键复位功能,以提高系统的可控性;(3)采用按钮开关、继电器与稳压二极管构成电源电路,以提高系统的稳定性;(4)具有专门的编程端口;(5)采用内部时钟电路。

2.2、电路原理图2.3、各硬件模块设计与制作2.3.1、单片机设计AT89C51AT89C51是一个低功耗高性能CMOS 8位单片机,片内含4k Bytes ISP In-system programmable 的可反复擦写1000次的Flash,只读程序存储器器件采用ATMEL公司的高密度非易失性存储技术,制造兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案,AT89C单片机为很多嵌入式控制系统提供...了一种灵活性高且价廉的方案。

外形及引脚排列如图所示:主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命1000写擦循环·数据保留时间10年·全静态工作0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程IO线·两个16位定时器计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明:(1)电源与时钟引脚Vcc:电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚采用外部振荡器时此引脚接地XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时此引脚作为外部振荡器信号的输入端)(2)控制线引脚RST/Vpd:复位信号输入引脚备用电源输入引脚ALE:地址锁存允许信号输出引脚编程脉冲输入引脚EA:内外存储器选择引脚片外EPROM编程电压输入引脚PSEN:外部程序存储器选通信号输出引脚(3)并行IO引脚(4)P00-P07:一般IO口引脚或数据低位地址总线复用引脚...(5)P10-P17:一般IO口引脚(6)P20-P27:一般IO口引脚或高位地址总线引脚(7)P30-P37:一般IO口引脚或第二功能引脚内部振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用如采用,如果采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

P0口(P0.0-P0.7):P0口是一个8位漏极开路型双向I/O端口。

P0口可做通用I/O口使用,但在端口进行输入操作前,应先向端口的输出锁存器写“1”。

在CPU访问片外存储器时,P0口自动作为地址/数据复用总线。

在编程时,由P0口输入指令字节,而在验证程序时,P0口输出指令字节(验证时应外接上拉电阻)。

P0口能以吸收电流的方式驱动8个LS型TTL负载。

P1口(P1.0-P1.7):为准双向8 P1口是一个内部带上拉电阻的端口。

I/O能向外部提供拉电流输出高电平是,当P1负载,因此,不需再外接上拉电阻。

当端口用作输入时,也应先向端口的输出锁存器写入。

“1”8口用来输入低在编程和验证程序时,P1 TTLP1口能驱动4个LS型负载。

位地址。

:P2.0-P2.7P2口()位8 P2口也是一个内部带上拉电阻的端口。

准双向I/O口自动P2当CPU访问外部存储器时,位地址一8P0低用作输出高8位地址,与此时,位地址总线。

起形成外部存储器的16 口使用。

相关文档
最新文档