基于单片机24小时倒计时程序
基于单片机的电子倒计时牌设计与实现
基于单片机的电子倒计时牌的设计与实现摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以做完善。
生活中单片机的应用很广,如电子倒计时牌就能够帮你记住一些重要的日子叫你不会忘记。
它可以用于奥运会的倒计时、世界博览会的倒计时、高考的倒计时等重要的日子的计时,使你的生活变的简单而有规律。
制作一些大的电子倒计时牌也能方便大众,如2008年奥运会在中国举办,在北京的那个大的奥运会倒计时牌就很好的给大众一个提醒的作用。
现在日常生活中时间对人们的重要性,越来越高了。
时间伴随我们的每一天,每一时刻,所以我们由于各种原因会忘记各种重要的日子,这就是我们做这个电子倒计时牌的原因,它能够很好提醒人们重要的日子,保重我们不能忘记,也减少了人们不必要的损失。
计时的方法也得到了发展,由最初人们用看系扣来记录重要的事情和天数,到看太阳的影子,来看时间的变化,再到出了发条表,人们用翻纸来看时间和天数,到现在人们有使用电子表,人们的生活再不断的提高和发展,电子倒计时牌是时代的发展的产物,也是人们智慧的产物。
本篇论文讨论了倒计时的设计和制作,单片机与外部温度采集芯片、液晶屏显示的电路连接,和使用Protel99进行原理图的绘制和PCB的制作,使用汇编和C语言进行软件的设计,并对系统硬件和软件进行了验证。
关键词:单片机;汇编;电子倒计时牌;Protel99Electronic countdown board based on single chip design and implementationAbstractIn recent years, with the penetration of computers in the social sphere, SCM applications are continually deepening, while the traditional control and test drive the rapidly growing update. In real-time detection and control of the microcomputer application system, the microcontroller is often used as a core component, only the SCM knowledge is inadequate and should be based on specific hardware architecture, and application-specific features of the software objects are combined to make perfect . Life of a very wide application of SCM, such as electronic countdown board will be able to help you remember some important call you will not forget the day. It can be used for the Olympic Games countdown, countdown to the Expo, and other important college entrance examination in the countdown to the days of the time, make your life more simple and regular. Produce large electronic countdown board and make it easier public, such as the 2008 Olympic Games held in China, in Beijing Olympics countdown board that big on a good reminder to the public a role.Now in daily life, the importance of time for people increasingly high. Time with us every day, every minute, so we can forget all due to various reasons, this is an important day we do this electronic countdown card, it is important to remind people of the day, we cannot forget yourself, also reduced the people to avoid unnecessary loss. Timing method is developed by using buttons at first people to record important things to see the sun, and the number of shadow, the change of time and again to the wind, people use double perspective, time and number of paper to use electronic, people are the life of people more continuous improvement and development, electronic countdown card is the product of the development of The Times, the wisdom of people.This paper discusses the design and manufacture, the countdown MCU and external temperature gathering chip, LCD display, and use of the circuit principle diagram Protel99 draw and PCB manufacture, assembly and C language used in the design of software and hardware and software is validated.Key words: Single-Chip computer, Compilation, Electronic countdown board, Protel99第1章绪论在日常生活中,会有很多值得重视的日子,但是人会因为种种原因而忘记这些日子,电子倒计时牌就能够帮你记住这些重要的日子叫你不会忘记。
单片机数字时钟24小时制 时间可调
{
b=b+1;
if(b==1){ET0=0;TR0=0;e=0;}
if(b==2){e=1;b=0;d=0;TH0=0x3c;TL0=0xb0;TR0=1;ET0=1;}
}
//*************************外部中断程序************************
if(d==1){ if(up==0){delay_ms(2);}
if(up==0){if(hour1<2){hour1=hour1+1;disp_time();}
else{hour1=0;disp_time();}
}
while(!up){disp_time();}
}
if(d==2){if(up==0){delay_ms(2);}
if(up==0){if(hour1<2){if(hour0<9){hour0=hour0+1;disp_time();}
else{hour0=0;disp_time();}}
if(hour1==2){if(hour0<4){hour0=hour0+1;disp_time();}
else{hour0=0;disp_time();}}
if(up==0){if(sec1==6){sec0=0;}
if(sec1<6){if(sec0<9){sec0=sec0+1;disp_time();}
else {sec0=0;disp_time();}}
}
while(!up){disp_time();}
}
}
//*************************键扫描程序**************************
基于AT89C51单片机的倒计时
单片机课程设计题目:基于AT89C51单片机的倒计时学院:机械与电气工程学院专业:电气工程及其自动化学号:101401010205目录1、设计要求 (3)2. 工作原理 (3)2.1硬件设计 (4)2.1.1 单片机AT89S51 (4)2.1.2 显示器件选择 (5)2.1.3复位电路 (7)2.1.4 时钟电路 (7)2.1.6 蜂鸣器 (9)3、软件设计 (10)3.1 按键流程图: (10)3.2 定时器流程图: (11)3.3蜂鸣器发出音乐流程图: (12)3.4主程序流程图: (13)4、电路仿真 (14)参考文献 (15)附录1 电路图 (16)附录2 程序 (16)附录3 元件清单 (21)1、设计要求利用AT89C51单片机结合LED显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,红色LED灯闪烁,通知倒计数终了,该做应当做的事。
定时闹钟的基本功能如下。
●显示格式为“分分:秒秒”。
用4个按键操作来设置当前想要倒计数的时间。
一旦按下键则开始倒计数,当计数为0时,发出一阵利用AT89C51单片机结合LED显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,红色LED灯闪烁,通知倒计数终了,该做应当做的事。
音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1~K4动作如下。
●K1—可调整倒计数的时间1~60分钟。
●K2—设置倒计数的时间为5分钟,显示“0500”。
●K3—设置倒计数的时间为10分钟,显示“1000”。
●K4—设置倒计数的时间为20分钟,显示“2000”。
按K1键则在LED上显示出设置画面。
此时,若:a. 按操作键K2—增加倒计数的时间1分钟。
b. 按操作键K3—减少倒计数的时间1分钟。
c. 按操作键K4—设置完成。
附加功能:K5—计数开始按钮。
基于单片机的多功能倒计时设计
华北理工大学轻工学院Qing Gong College North China University of Science and TechnologyEDA 辅助设计结课报告项目名称:基于单片机的多功能倒计时设计 专业班级: 学号: 姓名: 成绩:一、项目说明这个设计的想法一是运用老师教导的学科知识运用在实际生活中, 二是完成 老师布置的学科任务, 所以选做这个倒计时器件,并了解和加深一下其原理和构 造。
这个简单的倒计时器是利用 AT89S51 单片机的两个 16 位定时和计数器功能, 来完成对时间的计数, 计数的结果通过 8 位动态数码管显示出来。
S2 控制模式, S3 控制数值的增加,S4 记录数据。
该设计的计时功能多。
将开发板连接正确烧 录软件将代码烧录进去后按下 S3 调整数字,按下 S2 键开始计时再次按下暂停, 若果过程中按下 S4 键就会存储当前数字,S1 按下时数码管将重置时间。
二、项目原理图1、原理图数码管数码管图 1 项目原理图 2、各部分说明 (1)电源部分 DC002 插座是带有插入断开开关, 中心脚为 1 脚, 下面为 2 脚, 侧面为 3 脚, 插入时 3 脚断开。
的一款给单片机提供 5v 电压的电源。
图 2 电源 (2)STC89C52 芯片 STC89C52 是一个低功耗,高性能 CMOS8 位单片机,片内含具有如下特点: 40 个引脚, 4kBytesFlash 片内程序存储器, 128bytes 的随机存取数据存储器 (RAM) , 32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDTC)电路,片内时 钟振荡器。
此外,STC89C52 设计和配置了振荡频率可为 0HZ 并可通过软件设置 省电模式。
空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能 直至外中断激活或硬件复位。
基于单片机24小时倒计时程序
基于单片机24小时倒计时程序#include#include#define uchar unsigned char#define uint unsigned intsbit sclk=P1^1;sbit dio=P1^0;sbit ce=P1^2;sbit LED6=P2^0;sbit LED5=P2^1;sbit LED4=P2^2;sbit LED3=P2^3;sbit LED2=P2^4;sbit LED1=P2^5;sbit port=P2^7;sbit k1=P3^4;unsigned char hour,min,sec;unsigned int i,time;unsigned char menuflag,flag;unsigned char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};delay_ms(unsigned int j){while(j--)for(i=0;i<90;i++);}display(unsigned char x,h,y,m,z,s) {if(h==1){P2=255;LED6=0;P0=a[x/10];port=1;delay_ms(8);LED6=1;LED5=0;P0=a[x%10];port=0;delay_ms(8);}if(m==1){P2=255;LED4=0;P0=a[y/10];port=1;delay_ms(8);LED4=1;LED3=0;P0=a[y%10];port=0;delay_ms(8);}{P2=255;LED2=0;P0=a[z/10];port=1;delay_ms(8); LED2=1;LED1=0;P0=a[z%10]; delay_ms(9);}}main(){P0=255;P2=255;hour=min=sec=0; menuflag=0;flag=0;EA=1;EX0=1;IT0=1;EX1=1;IT1=1;TMOD=0x01;TH0=0xD8;TL0=0xF0;ET0=1;while(1){ if(k1==0){TR0=0;}else {TR0=1;}if(menuflag==0){display(hour,1,min,1,sec,1); }else if(menuflag==1){display(hour,1,min,0,sec,0); }else if(menuflag==2){display(hour,0,min,1,sec,0); }else if(menuflag==3){display(hour,0,min,0,sec,1); }else if(menuflag==4){display(hour,1,min,1,sec,1);}}}void timer0(void) interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%265;time++;if(time==100){time=0;sec++;sec=59;if(sec==0xff){min++;min=59;if(min==0xff){ hour++;hour=24;if((hour==0xff)&&(min==59)&&(sec==59)) {hour=24;min=0;sec=0;}}}}}void Int0(void) interrupt 0{if(menuflag==0){menuflag=1;}else if(menuflag==1) {menuflag=2;}else if(menuflag==2) {menuflag=3;}else if(menuflag==3) {if(flag==1) menuflag=4; else menuflag=0;}}void Int1(void) interrupt 2 {if(menuflag==0){}else if(menuflag==1) {hour++;TR0=0;flag=1;if(hour==24) hour=0; }else if(menuflag==2) {min++;TR0=0;flag=1;if(min==60) min=0; }else if(menuflag==3) {sec=0;TR0=0;flag=1;}else if(menuflag==4) {TH0=0xD8;TL0=0xF0;TR0=1;flag=0;menuflag=0;} }。
单片机课程设计倒计时秒表.
、设计目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验以后从事生产和科研工作打下一定的基础。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。
掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。
提高学生在单片机应用方面的实践技能和科学作风 ; 培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。
用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。
通过本次课程设计,应加强培养如下能力:(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会使用软件 Proteus 画原理图和仿真调试。
(3)学会基本焊接电路板的技能通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
、设计要求1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等;2、可以自由设定倒计时时间(10s、20s、30s・・・),并进行倒计时;3、显示方式自选;4、任选一款 51 单片机;5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。
基于单片机的倒计时牌的设计
外部中断 1 开始 R4 是否为 0 R3 是否为 0
R3 是否为 1 秒单元加 1
秒加到 60 了吗
秒单元清 0 R3 是否为 2
分单元加 1 分加到 60 了吗 分单元清 0
R3 是否为 3 时单元加 1
时加到 24 了吗
时单元清 0 R3 是否为 4 天单元加 1 天加到 100 了吗
天单元清 0 R2+1,R2 等于 2 吗
;日历 ;切换显示 (日历和倒计时的切换 )
MOV R5,#0AH ;十次中断产生一秒
MOV R3,#00H ;利用外部中断 0 对天、时、分、秒进行切换
MOV R4,#00H ;当倒计时开始( R3=5 )时对倒计时的初值不能再进行设置
MOV 30H,#00H ;天
MOV 31H,#00H ;时
MOV 32H,#00H ;分
R3=4 设置天单元 ,R3=5,T0 开始计时。 */ ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0P
ORG 00BH
LJMP IT0P
ORG 0013H
LJMP INT1P
ORG 0100H
MAIN:
MOV TMOD,#01H
;定时器 T0 设为方式一
MOV R1,#17 MOV R2,#00H
倒计时牌
1. 方案选择
1.1 题目:倒计时牌 1.2 要求: 1.2.1 实现日历功能; 1.2.2 显示距倒计时时刻还有多长时间(显示天、时、分、秒) ; 1.2.3 倒计时的时间可人为设定; 1.3 总体设计:
本倒计时牌以 AT89C51 单片机作为核心, 最长可以倒计时 100 天。可以显示距倒计 时时刻还有多长时间, 显示格式为天 (十位,个位 )、时(十位、 个位)、分(十位、 个位)、 秒(十位、个位) ;倒计时的时间可以人为设定;另外还可以显示当前的日历,显示格 式为年(四位),月(两位),日(两位)。
基于单片机的24秒倒计器设计
成都理工大学工程技术学院毕业论文基于单片机的24秒倒计器设计作者姓名:罗强智专业名称:电子信息工程指导教师:石坚讲师摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。
并采用电子秤原理可根据输入单价准确的计算出物体的金额。
本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
【关键词】单片机;AT89C51;LED数码管显示器;keil C;晶体振荡器AbstractPermeate 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,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 concrere application the sofwatre of the object characteristics combine to make perfect.Imitating many passage pressure systemses is to make use of presure to spread the feeling machine to collect current pressure combine the reflection is on tne display,it can analyze the pressure surfeit distance,erupting to report to the bine the adoption electronics steelyard principle can according to input the amount of money that the unit price compures an object accurately.This thesis discuss that pour the design and creation of the timer in brief,for pour LED figures displays in the timer to say,I an for the sake of the simpification circuit,decline low cost,adopt to take software as connect of lord a people’s methdo,do not use specialized hardwate to translate the code machine namely,but adopt the software procedure to carry on translating code.【Keyword】single slice machine,AT89C51,The LEDfigure tube display,Keil C,Crystal Oscillactor目录摘要 (I)Abstract (I)目录 (III)前言 (1)第一章原理设计 (2)1.1 设计要求 (2)1.2 AT89C51芯片 (2)1.3 管脚说明 (5)第二章系统总体方案的设计 (7)2.1硬件电路的设计 (7)2.2 时钟频率电路的设计 (8)2.3 复位电路的设计 (8)2.4显示电路的设计 (8)第三章系统软件的设计 (11)3.1 定时中断的程序设计 (11)3.2 独立键盘服务程序的设计 (12)3.3 显示子程序的设计 (12)3.4 系统软件的调试 (12)第四章Proteus原理图绘制 (13)第五章Proteus电路仿真与结果分析 (14)5.1 Keil C软件 (14)5.2 Proteus软件 (15)第六章系统调试及结果分析 (17)6.1 使用的主要仪器和调试 (17)6.2 系统调试 (17)6.3 测试结果 (17)总结 (18)致谢 (19)参考文献 (20)附件1 元件清单 (21)附件2 Keil C下编写的源代码 (21)前言高速发展的计算机技术带领人类进入了信息社会,同时也促进了倒计时器的迅速发展。
基于单片机的倒计时器(计数器)设计
基于单⽚机的倒计时器(计数器)设计⽬录⽬录 (1)摘要 (3)ABSTRACT (4)第⼀章设计要求与⽅案确定 (5)1.1设计意义 (5)1.2设计要求 (5)1.3⽅案确定 (5)第⼆章硬件电路 (6)2.1单⽚机概述 (6)2.1.1 单⽚机基础 (6)2.1.2单⽚机与单⽚机系统 (7)2.1.3 单⽚机的产⽣与发展 (7)2.2MCS-51系列单⽚机介绍 (8)2.2.1 80C51 芯⽚介绍 (8)2.2.3 最⼩系统 (9)2.2.4 定时与中断的概念 (10)2.4LED显⽰电路设计与器件选择 (12)2.4.1.LED显⽰器的选择 (13)2.4.2LED驱动芯⽚选择 (13)2.5按键电路设计 (13)2.6蜂鸣器电路的设计 (14)第三章倒计时器的设计 (15)3.1倒计时器系统设计⽅案及框图 (15)3.2程序设计 (15)3.2.1主程序设计 (15)3.2.2倒计时模块设计 (17)3.2.3键盘扫描数码管显⽰程序 (17)第四章倒计时器设计仿真 (18)4.1设置倒计时初值 (18)4.2开始倒计时 (18)4.3倒计时结束并报警 (18)总结 (20)参考⽂献 (21)致谢 (22)附录1 倒计时器设计源程序 (23)附录2 所⽤元器件清单 (23)摘要近年来随着计算机在社会领域的渗透,单⽚机的应⽤正在不断的⾛向深⼊,同时带动传统控制检测⽇新⽉异更新。
在实时控制和⾃动控制的单⽚机应⽤系统中,单⽚机往往是作为⼀个核⼼部件来使⽤,仅单⽚机⽅⾯知识是不够的,还应根据具体硬件结构,以及针对具体应⽤对象特点的软件结合,以作完善。
本系统由单⽚机系统、矩阵式键盘、蜂鸣器和LED数码管显⽰系统组成。
装置利⽤AT89C51单⽚机与74LS245驱动器驱动LED数码管显⽰。
通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。
当倒计时时间到时,由P1.0⼝驱动蜂鸣器发声报警。
为了简化电路,降低成本,采⽤以软件为主的的接⼝⽅法。
单片机倒计时课程设计
单片机倒计时课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构和功能。
2. 学会编写简单的C语言程序,实现对单片机的控制。
3. 掌握倒计时功能的实现方法,理解其工作原理。
技能目标:1. 能够运用所学知识,设计并实现一个具有倒计时功能的小程序。
2. 培养学生的动手实践能力,提高问题解决和团队协作能力。
3. 提高学生编程和调试程序的能力,培养良好的编程习惯。
情感态度价值观目标:1. 激发学生对单片机及编程的兴趣,培养自主学习、持续探究的热情。
2. 培养学生面对问题时的耐心、细心和信心,形成积极向上的学习态度。
3. 增强学生的团队协作意识,培养尊重他人、共同进步的价值观。
课程性质分析:本课程为实践性较强的课程,结合单片机原理和编程技巧,培养学生动手实践能力和问题解决能力。
学生特点分析:本课程针对的是初中或高中年级的学生,他们对单片机有一定的基础认识,具备基本的编程知识,但实践能力有待提高。
教学要求:1. 课程内容要紧密结合课本,确保学生能够将所学知识应用到实际操作中。
2. 教学过程中注重启发式教学,引导学生主动思考、发现问题、解决问题。
3. 重视团队协作,培养学生的沟通能力和合作精神。
4. 教学评估关注学生的实际操作能力、编程技巧和团队协作表现。
二、教学内容1. 单片机基础理论:回顾单片机的内部结构、工作原理及功能,重点掌握时钟电路、I/O口控制、中断系统等基础知识。
相关教材章节:第一章 单片机概述,第三章 单片机内部结构及工作原理。
2. C语言编程:学习单片机编程基础,掌握C语言的基本语法和编程技巧,能编写简单的控制程序。
相关教材章节:第二章 单片机编程语言,第六章 C语言编程实例。
3. 倒计时程序设计:学习倒计时程序的设计方法,掌握定时器/计数器的工作原理,学会编写倒计时程序。
相关教材章节:第五章 定时器/计数器,第七章 常用程序设计实例。
4. 实践操作:结合所学知识,设计并实现一个具有倒计时功能的小程序,包括硬件连接、程序编写、调试与优化。
单片机倒计时课程设计
单片机倒计时课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和功能,掌握倒计时程序的设计方法;2. 学生能运用C语言编写简单的单片机倒计时程序,并理解程序各部分功能;3. 学生了解倒计时在实际应用中的意义,如定时控制、时间管理等。
技能目标:1. 学生能独立完成单片机倒计时程序的设计、编译和调试;2. 学生通过实际操作,提高动手能力,培养解决问题的能力;3. 学生学会使用编程软件和烧录工具,掌握基本的编程技巧。
情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发学习热情,树立自信心;2. 学生在团队协作中,培养沟通能力,学会分享和互助;3. 学生认识到编程在现实生活中的应用,提高对科技发展的关注,培养创新意识。
课程性质:本课程为实践性课程,以单片机倒计时程序设计为主线,结合C语言编程知识,培养学生的动手能力和实际应用能力。
学生特点:本课程面向初中或高中年级学生,学生对单片机编程有一定的基础,具备基本的C语言知识,喜欢动手实践。
教学要求:课程注重理论与实践相结合,强调学生在实践中掌握知识,教师需提供充分指导,关注学生的学习进度,确保课程目标的达成。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础原理复习:回顾单片机的内部结构、工作原理,重点掌握时钟、计数器等基本组成部分。
2. C语言编程基础:巩固C语言基础知识,如数据类型、运算符、控制语句等,为编写倒计时程序打下基础。
3. 倒计时程序设计:a. 倒计时原理讲解,明确倒计时程序的基本思路和实现方法;b. 编写倒计时程序,包括初始化设置、计数器操作、中断处理等;c. 分析程序各部分功能,理解程序运行流程。
4. 实践操作:a. 使用编程软件(如Keil)进行程序编写、编译和调试;b. 利用烧录工具(如STC-ISP)将程序烧写入单片机;c. 观察并分析倒计时程序在实际运行中的表现,如准确性、稳定性等。
基于51单片机能实现任意时间倒计时。
倒计时器只要修改此文档15页源程序的(如下图)的到计时初值即可实现想要的倒计时。
比如30分钟倒计时修改分钟十位和各位即可。
一、设计要求:由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。
倒计时到,由蜂鸣器发出报警。
绘制系统硬件接线图,并进行系统仿真和实验。
画出程序流程图并编写程序实现系统功能。
二、设计的作用目的:此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。
三、具体设计:1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。
如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。
单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。
毕业设计(论文)-基于单片机控制的9999秒倒计时设计[管理资料]
1绪论单片机的概述现代社会中,尽管PC机的应用已经相当普遍,但是,在控制领域日益追求小而精、轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,PC机仍有所不相适宜的地方。
而工业控制、仪器仪表、家电产品等市场广阔,要求PC机技术与之相适应。
在这种情况下,单片机应运而生了(也称作微型计算机)。
微型计算机的基本机构是由中央处理器、储存器、和I/O设备构成的。
所谓的单片机是指将微型计算机3个单元的多个分体中的主要功能用1个集成电路芯片来实现,该芯片具有一个微型计算机的基本功能。
这种超大规模集成电路芯片即称为单片微型计算机,通常简称单片机。
单片机具有以下特点:①受集成度限制,片内存储容量较小,一般8位单片机的ROM小于8/16K 字节,RAM小于256字节,但可在外部扩展,通常ROM、RAM可分别扩展至64K字节。
②可靠性好。
芯片本身是按工业测控环境要求设计的,其抗工业噪声干扰优于一般通用CPU;程序指令及常数、表格固化在ROM中不易破坏;许多信号通道均在一个芯片内,故可靠性高。
③易扩展。
片内具有计算机正常运行所必需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
④控制功能强。
为了满足工业控制要求,一般单片机的指令系统中具有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。
一般说来,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。
⑤一般单片机内无监控程序或系统通用管理软件,只放置有用户调试好的应用程序。
但近年来也开始出现了在片内固化有BASIC解释程序的单片机。
电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片机微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
基于STC89C52系列单片机的倒计时器制作研究
1前言本次课程设计的题目是基于STC89C52系列单片机的倒计时器制作研究,在实际制作时采用STC单片机89C52RC作为核心处理芯片,通过独立式键盘输入,借助两路4位7段显示数码管显示。
整个系统主要包括单片机最小系统模块电路、按键模块电路、显示模块电路、报警模块电路、电源模块电路以及程序下载模块等。
主显示界面为简单日历,通过按下相应的按键,转入倒计时界面。
当计时到之后,蜂鸣器会自动报警进行提示。
单片机在家用电器、生产以及比赛等各项领域中,只要是有智能控制的地方就会出现单片机控制器,不论是简单的还是复杂,或是陆海空三栖,单片机都会不断地发挥出它出色的控制能力。
虽然单片机现在应用已经很普遍了,但是还有很多项目可以开发和制作,帮助我们实现更美好的生活。
因此,单片机的应用还有很多的拓展空间。
单片机系列很多,英特尔公司、摩托罗拉公司、飞利浦公司和ATMEL公司都生产单片机,ATMEL公司生产的单片机在产品制作和教学中应用非常广泛。
这种以单片机取代数字、模拟电路控制大大地提高了系统的抗干扰性能,称之为微控制技术。
随着单片机技术的推广与普及,微控制技术得到不断发展和日趋完善。
在答辩、比赛、演讲等活动中倒计时器是必不可少的产品,制作一个多功能倒计时器,使用单片机作为其主控芯片是一个不错的选择!2总体方案设计2.1 方案比较方案一:基于STC89C52单片机和可编程并行接口芯片8255A的数码管显示模块显示的倒计时器。
主要是以单片机来控制8255A,再利用8255A作为中间站接受按键信号和控制LED数码管显示输出。
用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。
此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
其方案方块图如下所示:图2.1.1方案一设计框图方案二:主要利用STC89C52单片机和数据锁存器74HC573来实现,不再利用可编程并行接口芯片8255A作为中间站,而是单片机直接接受按键输入信号,根据按键输入信号将控制信号输给74HC573锁存器,由锁存器控制LED数码管的显示。
基于51单片机的倒计时程序
kk1 bit b.1kk2 bit b.2ORG 0000HLJMP STARTORG 000BHLJMP CTC0TT1 EQU 37H ;50msTT2 EQU 38H ;秒TT3 EQU 39H ;分TT4 EQU 3AH ;时YUESHI EQU 40HYUEFEN EQU 41HORG 42HVIEW0:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H , 92H , 82H, 0F8HDB 80H , 90H, 88H , 83H , 0C6H, 0A1H, 86H, 84HORG 0A0HTEMP_TAB: DB 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15HDB 16H,17H,18H,19H,20H,21H,22H,23HDB 24H,25H,26H,27H,28H,29H,30H,31HDB 32H,33H,34H,35H,36H,37H,38H,39HDB 40H,41H,42H,43H,44H,45H,46H,47HDB 48H,49H,50H,51H,52H,53H,54H,55HDB 56H,57H,58H,59H,60HORG 100HSTART: MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB EASETB ET0SETB TR0SETB P2.4 ;SETB P2.5JB P1.6,NEXT;JMP ZHUNEXT: MOV A,#00HMOV R2,#17H ;24小时MOV YUESHI,#00HMOV YUEFEN,#00HMOV R3,#3BH ;60SETB KK1SETB KK2mainline:JB P1.3,KEY1CLR KK1KEY1: JNB p1.3,KEY2 ;当p1.3高电平时就往下执行,但是只要执行一次后,kk1就为1,往后就不再执行JB KK1,KEY2INC YUESHISETB KK1 ;这以段的任务是不用延时也能消除按键抖动的程序KEY2: JB P1.4,KEY3CLR KK2KEY3: JNB P1.4,RESJB KK2, RESSETB KK2INC YUEFENRES:MOV A,YUESHISUBB A,R2JNZ BUDAOSHIMOV YUESHI,#00HBUDAOSHI:MOV A,YUEFENSUBB A,R3JNZ BUDAOFENMOV YUEFEN,#00HBUDAOFEN:MOV A,YUESHIMOV DPTR,#TEMP_TABMOVC A,@A+DPTRMOV R0,AANL A,#0FH;送小时的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRMOV P0,ASETB P2.0SETB P2.1CLR P2.2SETB P2.3LCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRMOV P0,A ;显示时的十位SETB P2.0SETB P2.1SETB P2.2CLR P2.3LCALL DELAYMOV A,YUEFENMOV DPTR,#TEMP_TABMOVC A,@A+DPTRMOV R0,AANL A,#0FH;送分的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRMOV P0,ACLR P2.0SETB P2.1SETB P2.2SETB P2.3LCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRMOV P0,A ;显示分的十位SETB P2.0CLR P2.1SETB P2.2SETB P2.3LCALL DELAYJNB P2.2, NEXT2;按下就进入定时煮饭的阶段LJMP mainlineDELAY: MOV R5,#08H ;40ms延时子程序L7: MOV R6,#0FAHL8: DJNZ R6,L8DJNZ R5,L7RETNEXT2: MOV A,#00HMOV TT1,A ;让TT1重新清零这一步是必须的 MOV TT2,#00HMOV A,YUEFENMOV TT3,AMOV A,YUESHILOOP1: MOV A,TT4JZ AINI1LCALL TIMEING1AINI1: MOV A,TT4JNZ AINI2LCALL TIMEING2;-------------定时程序:--------------------AINI2: MOV A,TT1;CJNE A,#14H,RET001SUBB A,#14H ;20×50ms=1sJNZ RET001MOV TT1,A ;TT1清零DEC TT2MOV A,TT2SUBB A,#0FFH ;到零?JNZ RET001MOV TT2,#3BH ;重新送数DEC TT3MOV A,TT3SUBB A,#0FFHJNZ RET001MOV TT3,#3BHDEC TT4MOV A,TT4SUBB A,0FFHJNZ RET001HERE: CLR P1.5;定时中止SJMP HERE;RET001: LJMP LOOP1;-----------显示倒计时1:-------------- TIMEING1:MOV A,TT4MOV DPTR,#TEMP_TABMOVC A,@A+DPTRMOV R0,AANL A,#0FH;送小时的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRSETB P2.0SETB P2.1CLR P2.2SETB P2.3LCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRCLR P2.3MOV P0,A ;显示时的十位SETB P2.0SETB P2.1SETB P2.2CLR P2.3LCALL DELAYMOV A,TT3MOV DPTR,#TEMP_TAB MOVC A,@A+DPTRMOV R0,AANL A,#0FH;送分的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRMOV P0,ACLR P2.0SETB P2.1SETB P2.2SETB P2.3LCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRMOV P0,A ;显示分的十位SETB P2.0CLR P2.1SETB P2.2SETB P2.3LCALL DELAYRET;-----------显示倒计时2:-------------- TIMEING2:MOV A,TT3MOV DPTR,#TEMP_TABMOVC A,@A+DPTRMOV R0,AANL A,#0FH;送分的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRSETB P2.0SETB P2.1CLR P2.2SETB P2.3MOV P0,ALCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRSETB P2.0SETB P2.1SETB P2.2CLR P2.3MOV P0,A ;显示分的十位LCALL DELAYMOV A,TT2MOV DPTR,#TEMP_TABMOVC A,@A+DPTRMOV R0,AANL A,#0FH;送秒的个位MOV DPTR,#VIEW0MOVC A,@A+DPTRCLR P2.0SETB P2.1SETB P2.2SETB P2.3MOV P0,ALCALL DELAYMOV A,R0SWAP AANL A,#0FHMOVC A,@A+DPTRSETB P2.0CLR P2.1SETB P2.2SETB P2.3MOV P0,A ;显示秒的十位LCALL DELAYRET;**************定时中断子程序**************************************** CTC0: MOV TL0,#0B0H ;定时50msMOV TH0,#3CHINC TT1RETIEND。
基于单片机的倒计时装置设计
基于单片机的倒计时装置设计基于单片机的倒计时装置设计摘要单片机倒计时装置在生活和生产的各领域中应用广泛,凡是有电路自动控制要求的地方都会有单片机设计的身影出现;单片机应用技术已成为工程应用的新技术,单片机应用于产品的小型化、多功能化和智能化,提高了工作效率,降低了劳动强度,提高了产品的质量,减少能源和材料消耗,保证安全等。
但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本篇论文讨论了简单的倒计时器的设计与制作,此设计是单片机的倒计时装置设计,该装置利用AT89C51单片机作为倒计时器的核心控制器,针对需要倒计时的场合进行可调时间的倒计时功能。
其中分和秒都是两位数字显示,键盘预先设置要倒计时的时间,按键启动倒计时装置,数码管动态显示倒计时的画面,当倒计时归零后,发出声音,提示倒计时结束。
关键词:单片机AT89c51;显示电路;数码管;时钟电路;倒计时器IDesign of countdown device based on single chip microcomputerAbstractSinglechip countdown device is widely used in every field of life and production, every circuit automatic control requirements will figure chip design; MCU application technology has become a new technology in the engineering application, MCU application to product miniaturization, multifunction and intelligence, to improve the work efficiency, reduce labor intensity, improve product quality, reduce the consumption of energy and materials to ensure safety. But the meaning of SCM application not only wide range of it and brought the economic benefits, more important significance lies in: the application of SCM is fundamentally changing the traditional control system design concept and the design method.SCM is often used as a core component, only SCM knowledge is not enough, it should be based on the specific hardware structure, as well as the specific application of the characteristics of the software combined with the software to improve. This paper discusses the design and fabrication of a simplecountdown timer, this design is MCU countdown device design, the device using AT89C51 microcontroller as the core controller of the countdown timer, for applications that need a countdown of time to adjust the countdown function. The minutes and seconds are two digital display, keyboard set in advance to countdown time, button to start the countdown device, digital tube dynamic display countdown screen, when the countdown to zero, sound, indicated the end of the countdown.Key words:single chip microcomputer AT89c51; display circuit; digital tube; clock circuit; countdown timer目录摘要 (I)关键词 (I)Abstract (II)目录 (III)第一章绪论 (1)1.1 课题的学术背景及其实际意义 (1)1.2 相关领域的成果 (1)1.3 课题来源及主要研究内容 (1)第二章设计原理 (3)2.1 设计要求 (3)2.2 工作原理 (3)2.3 程序设计与方案论证 (3)2.4系统框图 (5)第三章器件的选择及介绍 (6)3.1 单片机AT89C51 (6)3.1.1 主要功能特性 (6)3.1.2 AT89C51的引脚说明 (6)3.2 单片机定时器的使用 (9)3.3 显示器件选择 (9)第四章硬件电路的设计 (12)4.1 硬件电路注意事项 (12)4.2 硬件电路设计原理图 (13)第五章各部分电路介绍 (14)5.1 复位电路 (14)5.2 时钟电路 (15)5.3 按键电路 (16)5.4 蜂鸣器电路 (16)第六章软件设计与流程图 (18)6.1 倒计时器主程序流程图 (18)6.1.1 按键流程图: (18)6.1.2 定时器流程图: (19)6.1.3 蜂鸣器发出音乐流程图: (20)6.1.4 主程序流程图: (22)第七章整体电路仿真图 (23)结束语 (24)致谢 (25)参考文献 (26)附录 (29)附录1 倒计时器总原理图 (29)附录2 程序清单 (30)附录3 元件清单 (39)第一章绪论1.1 课题的学术背景及其实际意义倒计时已经成为人们日常生活必不可少的物品,随着科学技术的发展,广泛应用于各种公共场所,为人们日常生活中学习、工作、娱乐等带来方便,但由于原有简单的计时功能不足以满足人们的需求,希望能满足人们对新产品的需求,成为新产品的重要倒计时。
单片机倒计时系统
单片机倒计时系统单片机倒计时系统可以采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计。
具体功能包括:1.六位LED显示,从59分59秒99开始倒计时。
2.倒计时精度为0.01秒,能正确地进行倒计时。
3.复位后倒计时重新回到初始状态。
单片机倒计时系统的制作方法包括以下步骤:1.确定系统的基本要求:例如数码管上显示计时的时间,可以通过按键实现1小时内初始时间的设定(以秒为分度),并且完成计时,可随时暂停并且重新设置计时时间等。
2.选择合适的单片机型号:根据需要实现的倒计时功能以及控制要求,选择适合的8051单片机型号,例如AT89C51等。
3.设计电路:根据所选的单片机型号和功能要求,设计外围电路,包括按键电路、复位电路、晶振电路、LED显示电路等。
4.编写程序:使用C语言等编程语言编写程序,实现倒计时的功能。
程序应该包括主程序、中断服务程序等。
在编写程序时需要考虑按键的输入、时间的计算、LED的显示等细节问题。
5.调试程序:通过调试程序可以确保程序的正确性和可靠性。
在调试时需要使用调试工具,例如示波器、逻辑分析仪等,对程序的各个部分进行测试和验证。
6.制作电路板:将设计好的电路制作成电路板,将各个元器件按照设计好的位置和连接方式焊接在电路板上。
7.测试系统:完成电路板的制作后,需要进行系统测试,验证是否实现了预期的倒计时功能。
测试时需要使用测试工具,例如电源、按键、LED显示器等,对系统的各个部分进行测试和验证。
总之,单片机倒计时系统是一个比较复杂的系统,需要设计电路、编写程序、制作电路板和测试系统等多个步骤。
在制作过程中需要注意细节问题,确保系统的正确性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit sclk=P1^1;
sbit dio=P1^0;
sbit ce=P1^2;
sbit LED6=P2^0;
}
display(unsigned char x,h,y,m,z,s)
{
if(h==1)
{
P2=255;
LED6=0;
P0=a[x/10];
port=1;
delay_ms(8);
LED6=1;
LED5=0;
P0=a[x%10];
delay_ms(8);
}
if(s==1)
{
P2=255;
LED2=0;
P0=a[z/10];
port=1;
delay_ms(8);
LED2=1;
LED1=0;
P0=a[z%10];
delay_ms(9);
port=0;
delay_ms(8);
}
if(m==1)
{
P2=255;
LED4=0;
P0=a[y/10];
port=1;
delay_ms(8);
LED4=1;
LED3=0;
P0=a[y%10];
port=0;
TR0=0;
flag=1;
}
else if(menuflag==4)
{
TH0=0xD8;
TL0=0xF0;
TR0=1;
flag=0;
menuflag=0;
} }
{ hour++;
hour=24;
if((hour==0xff)&&(min==59)&&(sec==59))
{
hour=24;min=0;sec=0;
}
}
}
}
}
void Int0(void) interrupt 0
TH0=0xD8;
TL0=0xF0;
ET0=1;
TR0=1;
while(1)
{ if(k1==0){TR0=0;}
else {TR0=1;}
if(menuflag==0)
{
display(hour,1,min,1,sec,1);
{
display(hour,0,min,0,sec,1);
}
else if(menuflag==4)
{
display(hour,1,min,1,sec,1);
}
}
}
void timer0(void) interrupt 1
{
TH0=(65)
{
P0=255;
P2=255;
hour=min=sec=0;
menuflag=0;
flag=0;
EA=1;
EX0=1;
IT0=1;
EX1=1;
IT1=1;
TMOD=0x01;
TL0=(65536-10000)%265;
time++;
if(time==100)
{
time=0;
sec++;
sec=59;
if(sec==0xff)
{
min++;
min=59;
if(min==0xff)
else menuflag=0;
}
}
void Int1(void) interrupt 2
{
if(menuflag==0)
{
}
else if(menuflag==1)
{
hour++;
TR0=0;
flag=1;
{
if(menuflag==0)
{
menuflag=1;
}
else if(menuflag==1)
{
menuflag=2;
}
else if(menuflag==2)
{
menuflag=3;
}
else if(menuflag==3)
{
if(flag==1) menuflag=4;
sbit LED5=P2^1;
sbit LED4=P2^2;
sbit LED3=P2^3;
sbit LED2=P2^4;
sbit LED1=P2^5;
sbit port=P2^7;
sbit k1=P3^4;
unsigned char hour,min,sec;
unsigned int i,time;
}
else if(menuflag==1)
{
display(hour,1,min,0,sec,0);
}
else if(menuflag==2)
{
display(hour,0,min,1,sec,0);
}
else if(menuflag==3)
if(hour==24) hour=0;
}
else if(menuflag==2)
{
min++;
TR0=0;
flag=1;
if(min==60) min=0;
}
else if(menuflag==3)
{
sec=0;
unsigned char menuflag,flag;
unsigned char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};
delay_ms(unsigned int j)
{
while(j--)
for(i=0;i<90;i++);