单片机倒计时器设计说明书
单片机设计24秒倒计时
单片机设计24秒倒计时1.引言倒计时器是一种常见的电子设备,被广泛应用于体育比赛、倒计时游戏、厨房计时等场景中。
本文介绍了使用单片机设计一个24秒倒计时器的方法和过程。
2.设计原理本设计使用的单片机为51系列单片机,采用倒计时的方式进行计时,显示剩余时间,并发出声音提示时间结束。
具体实现主要包括以下几个步骤:-初始化单片机的定时器和功能引脚;-设置定时器的工作模式和计时时间;-编写程序控制定时器开始计时;-显示剩余时间并发出声音提示;-定时器到达设定时间后,停止计时并显示时间结束。
3.硬件设计硬件设计主要包括51系列单片机、LED数码管和蜂鸣器。
-单片机需要通过引脚连接LED数码管,用于显示剩余时间;-单片机通过一个GPIO引脚连接蜂鸣器,用于发出时间结束的提示声音。
4.软件设计软件设计主要包括初始化、计时、显示和提示等功能。
-初始化函数主要用于设置单片机的定时器和GPIO引脚;-计时函数用于设定倒计时的时间,并开始计时;-显示函数用于将剩余时间显示在LED数码管上;-提示函数用于判断是否到达设定时间,如果是则停止计时并发出提示声音。
5.实验结果经过调试和测试,实验结果表明该24秒倒计时器可以正常工作。
在开始计时后,数码管上会显示剩余时间,同时蜂鸣器会发出定时器结束的提示音。
6.结论本文介绍了使用单片机设计24秒倒计时器的方法和过程。
该设计通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。
同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。
7.致谢感谢本文参考的相关文献和资料,以及为本文提供实验设备和技术支持的相关人员。
[1]《51单片机原理与应用》[2]《C语言微机原理与接口技术》总结:本文主要介绍了使用单片机设计24秒倒计时器的方法和过程。
通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。
同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。
单片机设计说明书
单片机课程设计报告(电气工程学院)设计题目:倒计时计时器设计专业班级:指导教师:学生姓名:设计地点:第二实验楼设计日期: 2016.6.12—2016。
6.19设计任务书目录摘要 (1)第一章设计方案 (1)1.1 设计任务书分析 (1)1。
2 设计思路 (1)1。
3 设计方案 (1)第二章硬件设计 (3)2.1 功能模块设计 (3)2.2 芯片介绍 (3)第三章程序设计 (5)3.1 程序设计思路 (5)3.2 程序设计工具简介 (5)3。
3 程序流程框图 (5)第四章系统调试 (6)4。
1 调试思路 (6)4.2 调试方法及过程 (6)4。
3 问题及解决措施 (6)第五章总结 (7)5.1硬件 (7)5。
2 程序 (7)心得体会 (8)参考文献 (9)附录一电路原理图 (10)附录二源程序清单 (11)倒计时计数器设计摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本课程设计针对倒计时系统的设计的需求,介绍了STC15F204EA单片机和数码显示管的部分基本原理,如STC15单片机元件和四位数码显示管在电路板上焊接,电路原理图的介绍,以及写定时器程序等等。
通过Keils软件撰写倒计时定时器程序并且用Proteus仿真电路的绘制并仿真成功,之后把程序输入到单片机中,再做最后的调试工作。
关键词:STC15F204EA单片机;Keils软件;Proteus仿真软件。
In recent years, with the penetration of computer in the social field, SCM applications are constantly go, drive the traditional control detection update changing at the same time。
单片机倒计时器
单片机倒计时器设计一电路原理倒计时采用stc89c52, 74hc573驱动四位数码管以及按键构成。
原理图如下:RP1为上拉10k排阻晶振采用12Mhz无缘晶振数码管为四位共阴数码管74hc573起所存作用四个按键分别连P3.4~P3.7二工作过程单片机上电初始化,P0口输出0,并把四位数码管全部打开,数码管显示四个0。
检测按键如果按键key1 按下那么数码管第一位加1。
如果按键key2 按下那么数码管第一位加1。
如果按键key3 按下那么启动定时器,开始倒计时。
如果按键key4 按下倒计时暂停,数码管显示停留在当前数值。
倒计时器用到了计时器工作方式0和t0溢出中断设定计时器初值为TH0=(65536-50000)/256;TL0=(65536-50000)%256;即50ms中断一次20次记一秒从而达到记时一秒的目的。
三软件程序程序由Keil uVision4软件用c语言编写,内容如下#include<reg52.h>#include<intrins.h>#define uc unsigned char;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x79,0x38,0x3f,0};sbit dula=P2^6;sbit wela=P2^7;sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;uc shu,shi,ge,bai,t0,num,ss;void shuma(shi,ge,ss);void delay(unsigned int z);void init ();void main(){P3=0xff;init();while(1){if(key4==0){TR0=0;}if(key3==0)TR0=1;if(key1==0){delay(5);if(key1==0){shi++;if(shi==10)shi=0;}while(!key1);delay(5);while(!key1);}dula=1;P0=table[shi];dula=0;if(key2==0){delay(5);if(key2==0){ge++;if(ge==10)ge=0;}while(!key2);delay(5);while(!key2);}dula=1;P0=table[ge];dula=0;shuma(shi,ge,ss);}}void init(){shi=0;ge=0;ss=0;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;EX0=1;}void time0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;if(t0==2){t0=0;if(ss==0){if(ge==0){if(shi==0)TR0=0;else{ge=9;shi--;ss=9;}}else{ss=9;ge--;}}elsess--;}}void shuma(shi,ge,ss){dula=1;P0=table[shi];dula=0;P0=0xff;delay(10);wela=1;P0=0xfe;wela=0;delay(10);dula=1;P0=table[ge];dula=0;P0=0xff;delay(10);wela=1;P0=0xfd;wela=0;delay(10);dula=1;P0=table[ss];dula=0;P0=0xff;delay(10);wela=1;P0=0xfb ;wela=0;delay(10);}void delay(unsigned int z){unsigned int x,y;for(x=z;x>0;x--)for(y=124;y>0;y--);}四实验总结通过这次试验使我们的动手能力得到了很强的锻炼。
基于80C51单片机的倒计时器
基于80C51单片机的倒计时器摘要 ------------------------------------------------------------------------------------------------------ 1前言 -------------------------------------------------------------------------------------------------------- 2第一章倒计时系统简介 ------------------------------------------------------------------------------ 3第一节功能说明---------------------------------------------------------------------------------- 3一、设计要求 ------------------------------------------------------------------------------ 3二、方案说明 ------------------------------------------------------------------------------ 3三、系统功能 ------------------------------------------------------------------------------ 4第二章80C51 单片机组成 -------------------------------------------------------------------------- 4第一节80C51 单片机结构-------------------------------------------------------------------- 4第二节、80C51芯片介绍-------------------------------------------------------------------- 4第三节、80C51单片机的引脚功能----------------------------------------------------- 5第四节、80C51单片机的中断------------------------------------------------------------- 7一、中断源---------------------------------------------------------------------------------- 7二、中断控制 ------------------------------------------------------------------------------ 8三、中断源优先级 ------------------------------------------------------------------------ 8四、串行口中断RI 或TI --------------------------------------------------------------- 9第三章硬件设计 ---------------------------------------------------------------------------------------- 9第一节硬件设计------------------------------------------------------------------------------- 9第二节硬件电路设计及电路图 ------------------------------------------------------------ 10第三节LED 数码显示器的结构 ---------------------------------------------------------- 10第四节流程图 ----------------------------------------------------------------------------------- 11第五节总体接线图 ---------------------------------------------------------------------------- 12第五章程序仿真 -------------------------------------------------------------------------------------- 13第六节本章小结 -------------------------------------------------------------------------------------- 15参考文献------------------------------------------------------------------------------------------------ 15附件 1 程序 ------------------------------------------------------------------------------------------- 16摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
基于单片机的倒计时器(计数器)设计
目录目录 (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口驱动蜂鸣器发声报警。
为了简化电路,降低成本,采用以软件为主的的接口方法。
PIC单片机课程设计-三位倒计时器(含全部汇编程序清单)
主循环程序:循环读取按键状 态,根据按键状态执行相应的 操作
初始化程序:设置定时器、 中断、I/O口等
定时器中断服务程序:定时器 中断发生时,更新倒计时值,
并判断倒计时是否结束
显示程序:根据倒计时值, 更新LED显示内容
错误处理程序:处理可能出现 的错误,如按键错误、定时器
错误等
初始化显示模块: 设置显示模式、亮 度、对比度等参数
电源模块的设计原 则:安全、稳定、 高效
电源模块的选型: 根据系统需求选择 合适的电源模块
初始化:设置定时器、中断、I/O口等 循环:循环读取定时器值,判断是否达到预设时间 显示:根据定时器值,更新显示内容 处理中断:处理定时器中断,更新定时器值 循环结束:当定时器值达到预设时间,循环结束,显示“时间到”信息
添加标题
设计思路:根据输入信号的类型和 数量,选择合适的输入接口和处理 方式
注意事项:确保输入信号的稳定性 和准确性,避免误操作或干扰导致 的错误输入
中断源:外部中断、定时器中断、串口中断等 中断优先级:根据需求设置中断优先级 中断处理:根据中断源执行相应的处理程序 中断返回:处理完成后返回主程序或等待下一个中断
调试方法:单步 调试、断点调试、 观察变量等
常见问题:程序 运行异常、死机、 数据错误等
调试技巧:设置 合理的断点、观 察变量变化、分 析程序逻辑等
测试功能:倒计时 功能、显示功能、 报警功能等
测试方法:手动测 试、自动测试、压 力测试等
测试工具:示波器 、逻辑分析仪、万 用表等
测试结果:记录测 试数据,分析测试 结果,找出问题并 解决
测试目的:验证倒计时器的性 能和稳定性
测试环境:实验室环境或实际 应用环境
单片机设计24秒倒计时
1、具有24s 计时功能。
2、设置外部操作开关,控制计时器的直接清零、启动和暂停/ 连续功能。
3 、计时器为24 秒递减时,计时间隔为1 秒。
4、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。
5、有直接清零然后恢复到24 秒,准备重新开始计数。
学生在教师指导下,综合运用所学知识完成基于单片机的篮球比赛24 秒计时器设计。
要求设计一个24 秒计时电路,并具有时间显示的功能。
要求:1、设置外部操作开关,控制计数器的直接清零、启动和暂停/ 连续计时。
2、要求计时电路递减计时,每隔1 秒钟,计时器减1。
3、当计时器减到0 时,显示器上显示00,同时发出光电报警信号。
硬件电路:设计思路:选用AT89C51作为主控芯片,晶振是6KHz机械周期为1ms 所以循环10次为1s。
P0 口作为段码输出,、作为位控,高电平有效。
数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有效,启动T0 定时器/ 计数器进行计数,低电平有效。
图2.2.1 是系统硬件设计电路图一。
时间设置完后,启动定时器T0 开始定时计数。
计时采用倒计时,比如:设置的时间为24秒钟,则在LED上显示24两位数。
定时T0 计数24 秒后中断返回,继续定时计数下一个24秒;同时则在2位LED显示器上显示,表示时间已经过去1秒钟,即为23秒。
这样一直持续下去。
知道变为“ 00”时表示赛程结束。
如果比赛中裁判叫停,则只要按下键,即可暂停计时。
程序设计:根据以上流程图,可以用汇编语言编写出篮球计时器24秒倒计时程序,该程序包括主程序,中断程序,延时程序以及显示程序。
# include<># include<>#define uint unsigned int#define uchar unsigned charsbit w仁p2A0; // 十位位选sbit w2=p2A1;// 个位位选sbit key1=p1A0; // 按键为选码sbit key2=p1A1;sbit key3=p1A2;sbit BEEP=P2A7; // 报警器控制位uint num,num1,shi,ge;uchar code table[ ]={0x3f,0x06,0x5b,0x4f, //数码管相应的段选码0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(unit z){uint x,y;for(x=z;x>0;x--)for(y=1 10;y>0;y--)}/*void delay1(uchar x) //x*{uchar i;while(x--){for(i=0;i<13;i++) { }}}void beep(void){uchar i;for (i=0;i<50:i++){delay 1(4);BEEP=!BEEP; //BEEP 取反}}*//* 按键扫描函数 */void keyscan(){if(key1==0) //{delay(5); // if(key1==0){while(!key1); //TR0=1; } }if(key2==0) //{开始计算延时消抖松手检测暂停计数松手检测松手检测关闭蜂鸣器} void init()delay(5); // 延时消抖 if(key2==0){while(!key2); //TR0=0; while(!key 3);//num1=24; TR0=1; BEEP=1; //{ num1=24;TMOD=0x01;〃设置定时器0为工作方式1 TH0=(65536-50000)256; // 定时器 0 的高八位 TL0=( 65536-50000)%256; // 定时器 0 的低八位 EA=1; // 开总中断 ET0=1; // 开定时器 0 中断TR0=1; // 启动定时器 0 //TOCN 中有 TR0}/* 数码管显示函数 */void display(uchar shi,uchar ge) {P0=table[shi]; // 十位显示 w1=1; w2=0; //delay(2);P0=table[ge]; // w1=0;w2=1; // delay(2);if(num1==0) // {TR0=0; BEEP=0; } } void main(){init(); while(1)选位设置个位显示 位选设置如果 24 秒显示完成后,报警keyscan( );if(num==20){num=0;num1--;}ge=num1%10; // 个位shi=num1/10; // 十位display(shi,ge);}}void time1( ) interrupt 1 // 次中断定时器计数,50ms产生一{TH1=(65536-50000)/256;TL1=(65536-50000)%256;num++;。
基于单片机的倒计时器(计数器)设计
基于单⽚机的倒计时器(计数器)设计⽬录⽬录 (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⼝驱动蜂鸣器发声报警。
为了简化电路,降低成本,采⽤以软件为主的的接⼝⽅法。
基于51单片机的9999秒倒计时器设计
熟悉毕业设计方案,查阅相关资料
完成方案的初步设计,开题报告
电路的仿真和PCB板的设计
软件流程的设计和软件的编写
完成软件的编写与调试
硬件电路的装配与调试
电路的软硬件综合调试
完成毕业设计
参考文献
[1] 李朝青.单片机原理及接口技术(简明修订版).北京航空航天大学出版社,1998
[2] 李广弟.单片机基础[M].北京航空航天大学出版社,1994
A
0
1
1
1
0
1
1
1
77H
B
0
1
1
1
1
1
0
0
7CH
C
0
0
1
1
1
0
0
1
39H
D
0
1
0
1
1
1
1
0
5EH
E
0
1
1
1
1
0
0
1
79H
F
0
1
1
1
0
0
0
1
71H
.
1
0
0
0
0
0
0
0
80H
5.3LED 数码管显示方式
LED显示器工作方式有两种:静态显示方式和动态显示方式。
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
①一个8位CPU;
②一个片内振荡器和时钟电路;
③4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);
单片机课程设计秒倒计时
单片机课程设计秒倒计时概述在单片机课程设计中,秒倒计时是一个常见的实践项目。
本文将介绍如何使用单片机设计一个简单的秒倒计时电路,并使用Markdown文本格式进行说明。
硬件设备•单片机(例如STC89C52)•七段数码管•按钮•电阻、电容等基础元器件功能设计本文设计的秒倒计时电路具有以下功能: 1. 系统上电后,自动开始倒计时; 2. 使用按钮控制启动/暂停倒计时; 3. 使用按钮控制归零操作; 4. 显示倒计时的秒数。
硬件连接七段数码管将7个IO口分别连接到七段数码管的对应引脚,使用共阳极数码管时,将数码管的共阳极引脚连接到VCC,使用共阴极数码管时,将数码管的共阴极引脚连接到GND。
按钮使用一个按钮作为启动/暂停倒计时的按键,使用另一个按钮作为归零操作的按键。
将按钮引脚连接到单片机的GPIO口,并通过上拉电阻将按钮引脚连接到VCC。
软件设计引脚定义首先,需要定义单片机的输入输出引脚。
根据硬件连接,假设七段数码管的引脚分别连接到P0口,启动/暂停按钮连接到P1.0口,归零按钮连接到P1.1口。
可以使用以下代码进行引脚定义:// 引脚定义sbit LED = P0; // 七段数码管连接到P0口sbit KEY1 = P1^0; // 启动/暂停按钮连接到P1.0口sbit KEY2 = P1^1; // 归零按钮连接到P1.1口然后,需要设计倒计时的逻辑。
在每个时钟周期,需要判断是否需要启动/暂停倒计时,以及是否需要进行归零操作。
具体的倒计时逻辑可以使用以下代码实现:// 秒倒计时逻辑void countdown() {static unsigned int seconds = 60; // 倒计时的秒数,默认为60秒static bit running = 0; // 表示倒计时是否运行中,默认为停止状态if (running) {if (seconds > 0) {seconds--;} else {running = 0;}}if (KEY1 == 0) { // 按下启动/暂停按钮running = !running;delay(10); // 延时去抖动}if (KEY2 == 0) { // 按下归零按钮seconds = 60;running = 0;delay(10); // 延时去抖动}}最后,需要设计显示倒计时的逻辑。
单片机课程设计书-倒计时器的设计
XXXXXXXXXXXXX单片机原理及接口技术课程设计总结报告设计题目:电子钟倒计时器的设计姓名:XXXXXXX系别:XXXXXXXXXXXXXXXXXXXXXXXXXXXX专业:XXXXXXXX班级:XXXXXXXXX学号:XXXXXXXXXXX指导教师:XXXX2010年01月12日郑州轻工业学院课程设计任务书题目电子钟倒计时器的设计专业、班级XXXXXXXXX班学号XXXX姓名XXXXXX主要内容、基本要求、主要参考资料等:主要内容1. 以单片机为核心器件组成具有倒计时功能的计时器。
2. 可以通过按键进行复位、启动、暂停等功能。
基本要求1. 能够对电子电路、电子元器件等方面的知识有进一步的认识,独立对其进行测试与检查。
2. 熟悉8052单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。
为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。
参考资料1. 单片机原理及接口技术张毅刚/彭喜元主编人们邮电出版社2. 单片机试验与实践教程万光毅主编北京航空航天大学出版完成期限:2010年01月12日指导教师签名:课程负责人签名:2010年01月04日绪论单片机自20世纪70年代问世以来,已对人类社会产生了巨大的影响。
尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域得到广泛的应用。
在于MCS-51单片机兼容的各种增强型、扩展性等多种衍生单片机产品中,美国ATMEL公司推出的AT89C5x系列单片机在我国的8位单片机市场中占有比较大的份额。
AT89C5x系列单片机有多种机型,其中的基本型AT89C51单片机时十分重要的,因为他是目前替代MCS-51系列单片机的主要芯片之一,具有典型性、代表性,同时也是各种增强型、扩展型等衍生产品的基础。
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单片机的使用方法。
当然,实际应用中可能会有更复杂的需求,需要进一步扩展和优化程序,但整体框架和思路仍然是相似的。
倒计时提醒器设计(课程设计)
1 引言单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。
单片机一词最初是源于“Single Chip Microcomputer简称SCM。
随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。
国际上逐渐采用“MCU”(Micro Controller Unit)来代替,形成了单片机界公认的、最终统一的名词。
为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。
在国内因为“单片机”一词已约定俗成,故而可继续沿用。
我们所做的是单片机板子,它在工作原理和结构上基本类似于单片机,是单片机的压缩型,便于我们需诶和研究。
2 方案设计与论证近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
现在,在许多领域中,定时器得到了广泛的应用,比如在体育比赛中的计时器;安全措施中的定时报警器;游戏中的倒计时;维持秩序的交通信号灯;红路灯,交通控制器,闹钟等等。
单片机倒数计时器(2周)()
湖南工程学院课程设计任务书课程名称:题目:倒数计时器专业班级:电子技术1002 班学生姓名:学号:201001180208指导老师:审批:任务书下达日期2013年5月13日星期一设计完成日期2013年5 月24 日星期五目录一、总体思路与基本框图: (1)1)总体思路: (1)2)基本框图: (1)二、具体源程序片段: (2)1、延时函数: (2)2、lcd的写指令函数与写数据函数: (2)3、lcd显示屏与定时器的初始化函数: (3)4、主函数: (4)三、故障分析与改进: (4)四、仿真: (5)五、总结与设计调试体会: (5)七、参考文献: (6)八、课程设计成绩评分表: (17)一、总体思路与基本框图:1)总体思路:该课程设计要求在lcd液晶显示屏上显示时间,则可以利用51系列单片机的芯片来让lcd液晶显示屏显示出课程设计的要求,用定时器T0来定时,定时器T1来控制当时、分、秒都为零时,发出一段音乐响,用独立键盘来调节时、分、秒。
用独立按键s17来代表功能键,控制该调节时还是分或者是秒钟,用s18、s19按键来表示增加键和减小键,即可调节时分秒的大小。
用s20来代表启动键和暂停键。
2)基本框图:基本框图如图1-1所示:图1-1由上图可知,该系统由单片机AT89C52,lcd显示器,蜂鸣器,独立按键等构成的几个模块连接起来的。
二、具体源程序片段:三、1、延时函数:对于该系统我写了两个延时函数,一个延时函数是毫秒级的,还有一个是50us级的。
程序源片段如下://延时50微秒级;void delay50us(uint t){uchar i;for(;t>0;t--)for(i=19;i>0;i--);}//延时毫秒级函数;void delay(uint t){uint i,j;for(i=t;i>0;i--)for(j=110;j>0;j--);}2、lcd的写指令函数与写数据函数:这两个函数,我根据lcd的时序图一步一步的写出来的,都是一些固定的指令,源程序如下://写指令函数;void write_com(uchar com) {en=0;rs=0;rw=0;P0=com;delay50us(100);en=1;delay50us(500);en=0;} //写数据函数;void write_data(uchar dat) { en=0;rs=1;rw=0;P0=dat;delay50us(100);en=1;delay50us(500);en=0;}3、lcd显示屏与定时器的初始化函数:Lcd初始化:{second=10;minut=0;hour=0;delay50us(300); write_com(0x38); delay50us(100); write_com(0x38); delay50us(100); write_com(0x38); write_com(0x38); write_com(0x08); write_com(0x01); write_com(0x06); write_com(0x0c); write_com(0x80);for(i=0;i<16;i++){write_data(table2[i]);delay50us(100);}write_com(0x80+0x40); for(i=0;i<16;i++){write_data(table1[i]);delay(5);}//定时器初始化;{TMOD=0x11;T H0=(65536-50000)/256; T L0=(65536-50000)%256;E A=1;E T0=1; T R0=0;E T1=1; //TR1=1; }4、主函数:void main(){ init(); //初始化函数;while(1){keycontrol();fmq();}}还有其他一些函数等等,后面的总源程序会一一呈现。
1200秒倒计时报警器设计单片机课程设计
ﻩﻩ课程设计说明书目录第一章系统概述1.1 设计目的...........................................................................................................11.2设计内容............................................................................................................ (1)1.3设计要求...............................................................................................................1 第二章系统方案..............................................................................................................22.1总体方案............................................................... ................................................22.2方案组成...............................................................................................................2 第三章软件设计................................................................................................................. (3)3.1 主程序设计.............................................................................................................3 3.1.1倒计时模块.........................................................................................................ﻩ43.1.2 键盘扫描模块......................................................................................................4 3.1.3显示程序模块.................................................................................................... (5)3.1.4 实施结果..............................................................................................................6 第四章总结体会....................................................................................................................64.1设计心得及体会........................................................................................ (6)4.2参考文献...............................................................................................................7附录程序清单.............................................. ...........................................................................8第一章系统概述1.1 设计目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
倒计时器说明书
课程设计说明书题目:基于AT89S52单片机的数字倒计时器院(系):信息与通信学院专业:电子信息工程学生姓名:学号:指导教师:2014 年1 2 月20 日摘要随着时代的发展,单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便,价格低廉等优势,在市场上占有很大的份额,基友广阔的前景。
其中AT89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本设计详细介绍了基于AT89S52单片机的LED数字倒计时的设计,主要具有如下功能:LED数码管显示倒计时时间,通过按键可以对倒计时设定初值。
时间显示小时,分钟和秒。
用户可根据需要对其初值进行设置。
本文主要介绍用单片机内部的定时/计数器来实现倒计时器的方法,以单片机AT89S52芯片和LED数码管为核心,辅以必要的电路,构成了一个简单的倒计时器。
本设计主要硬件电路有:复位电路,按键电路,LED倒计时器原理图。
其中主要硬件有AT89S52单片机,数码管,晶振,74HC573芯片,排针和按键等。
关键字:单片机;芯片;复位;晶振AbstractWith the development of the times, the microcontroller used in electronic products more widely, especially in the 51 series microcontroller, because of its ease of use, low cost and other advantages, account for a large share of the market, based Friends of the broad prospects. AT89S52 which is 51 in the series a more mature model, it is fully compatible with 51 single-chip instruction.The design details of LED digital countdown AT89S52 microcontroller-based design has the following main features: LED digital display countdown time, you can set the initial value of the countdown through the button. Time display hours, minutes and seconds. Users may need to be set to its initial value.This paper describes the methods used MCU internal timer / counter to achieve countdown to the microcontroller AT89S52 chip and LED digital core, supplemented by the necessary circuitry to form a simple countdown timer. The main hardware circuit design are: reset circuit, key circuit, LED countdown timer schematic. The main hardware AT89S52 microcontroller, digital control, crystal, 74HC573 chip, pin and buttons and so on. Keywords: microcontroller; chip; digital pipe; crystal目录引言 (1)1 设计任务与要求 (1)2 设计方案 (1)3 主要元器件的分析及选用 (2)3.1 2位数码管的显示 (2)3.2单片机 AT89S52 (2)3.3 集成块74HC573 (3)4 硬件电路分析 (4)4.1 复位电路 (4)4.2 按键电路 (5)4.3 晶振电路 (5)4.4 LED倒计时器原理图 (6)5 制作及调试过程 (7)5.1 硬件制作及调试 (7)5.2 软件调试 (8)6 总结 (9)谢辞 (10)参考文献 (11)附录 (12)引言单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广,发展很快。
单片机课程设计-30秒倒计时
《30秒倒计时计时器》课程设计专业班级:电子信息科学与技术3班姓名:韩飘飘(080212131)熊元甲(080212132)蔡正军(080212133)指导教师:郭玉设计时间:2013-2014学年第二学期物理与电气工程学院2014年5月28日目录题目,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1目录,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2第一章方案论证,,,,,,,,,,,,,,,,,,,,,,,,,,,,3 1.1课程设计的目的和要求,,,,,,,,,,,,,,,,,,,,3 1.2总体设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 第二章硬件设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.1CPU部分,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.2 LED数码管显示器概述,,,,,,,,,,,,,,,,,,,,5 2.3其他元器件介绍及参数选择,,,,,,,,,,,,,,,,,7第三章软件设计,,,,,,,,,,,,,,,,,,,,,,,8第四章4.1实验调试及结果(照片),,,,,,,,,,,,,,94.2 心得体会,,,,,,,,,,,,,,,,,,,,,,,,,,,,9附录A:软件程序,,,,,,,,,,,,,,,,,,,,,,,,,10附录B:参考文献,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12第一章方案论证1.1课程设计目的和要求(1)目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。
进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机倒计时器设计说明书1.设计方案简介(1)4个按键组成2*2矩阵形式,接到P3口。
其中SW4接P3.6口,SW5接P3.7。
(2)通过T0定时器与P2.3引脚配合构成音频发生器,在P2.3引脚输出音频频率。
2.设计流程图3.设计原理3.1 AT89C513.1.1 AT89C51单片机简介图(a) 89C51部结构图AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。
它与MCS-51指令系统兼容,片FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。
89C51含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。
与EEPROM相比较,FPEROM大大缩短了存储容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。
它还有128*8Bit的片RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作围:0Hz—24MHz。
3.1.2 管脚功能AT89C51单片机为40引脚芯片如图(b)所示。
(1)I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读ˆ写操作。
P0口也用以输出外部存储器的低8位地址。
由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。
P1口是专门供用户使用的I/O口, 是准双向口。
P2口是从系统扩展时作高8位地址线用。
不扩展外部存储器时, P口也可以作为用户I/O口线使用, P2口也是准双向口。
P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。
作为第一功能使用时操作同P1口。
P3口的第二功能如图(c)。
图(b) 89C51引脚图(2)控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;(3)电源及时钟: CCC、VSS; XTAL 1, XTAL 2图(c) 引脚功能表3.2 实验原理图图(1) 主控制电路图(2) LED数码管控制电路图(3) 蜂鸣器控制电路4.软件流程图4.1倒计时器主程序框图4.2显示子程序框图5.带详细注释的源程序清单;************************************************; 设计选题: 倒计时器系统设计; 描述: 4位LED数码显示"倒计时器",显示时间为99秒, ; 一个"开始"键,一个"复位"键,一个"暂停"键。
; 调用子程序: 计时子程序,显示子程序,定时子程序; 所用特殊寄存器:寄存器A,寄存器C; 所用中断:外部中断INT0,定时器T0; 实验作者: 肖延文--47号,高穹誉--10号;************************************************ORG 0000HLJMP START ;主程序必须避开地址000BHORG 000BH ;定时器0的中段服务程序,起始地;址为000BHLJMP IT00ORG 0030HSTART: MOV TH0,#0D8H ;装入初始值,定时10msMOV TL0,#0F0HMOV TMOD,#01H ;工作方式1MOV 33H,#09 ;显示初值为99sMOV 32H,#09MOV 31H,#00MOV 30H,#00SETB ET0 ;打开定时0SETB EA ;开总中断LOOP1: JB P3.6,LOOP ;判断高低位,即按键KEY0是否按下 LCALL DISPLAY ;为低,即按键按下,延时消抖LCALL DISPLAYJB P3.6,LOOP ;按键真的按下,并不是外界的干扰 SETB TR0 ;启动定时器HERE: LCALL DISPLAY ;调用显示JB P3.7,LOOP3 ;判断高低,即KEY1按键是否按下CLR TR0 ;按下,关闭定时器,这里并没有消抖LJMP LOOP1 ;等待KEY0的按下LOOP3: SJMP HERE ;KEY1没有按下,就需显示LOOP: LCALL DISPLAY ;KEY1没有按下,就需显示LJMP LOOP1;************************************************; 减10ms子程序;************************************************SUB1: DEC 30H ;百分位减1MOV A,30HCJNE A,#0FFH,LOOP2 ;判断百分位减到0之后是否再减1 MOV 30H,#09 ;是,装入初值9DEC 31H ;十分位减1MOV A,31HCJNE A,#0FFH,LOOP2 ;判断十分位减到0之后是否再减1 MOV 31H,#09DEC 32HMOV A,32HCJNE A,#0FFH,LOOP2MOV 32H,#09DEC 33HMOV A,33HCJNE A,#0FFH,LOOP2CLR P2.3 ;从99s减到0s后,驱动蜂鸣器 LCALL DELAY ;延时LCALL DELAYSETB P2.3 ;关闭蜂鸣器MOV 33H,#09 ;装入初值99sMOV 32H,#09MOV 31H,#00MOV 30H,#00LOOP2: NOP ;空指令RET ;返回;************************************************; 显示子程序;************************************************ DISPLAY: MOV DPTR,#TAB ;赋表首地址;选定片选数码管MOV A,#0FBHSETB P2.7MOV P0,A ;点亮最左边的数码管CLR P2.7XCH A,R0 ;暂存A的值;输出显示数据MOV A,33HMOVC A,A+DPTR ;根据表值查找所需的值SETB P2.6MOV P0,A ;显示值CLR P2.6LCALL DELAY ;延时;选择下一显示数码管XCH A,R0 ;恢复原值RL A ;循环左移,为下次做准备SETB P2.7MOV P0,ACLR P2.7XCH A,R0MOV A,32HMOVC A,A+DPTRSETB P2.6MOV P0,ACLR P2.6LCALL DELAYXCH A,R0RL ASETB P2.7MOV P0,ACLR P2.7XCH A,R0MOV A,31HMOVC A,A+DPTR SETB P2.6MOV P0,ACLR P2.6LCALL DELAYXCH A,R0RL ASETB P2.7MOV P0,ACLR P2.7XCH A,R0MOV A,30HMOVC A,A+DPTR SETB P2.6MOV P0,ACLR P2.6LCALL DELAYRET;************************************************; 数码管显示的数值;************************************************TAB: DB 0EDH,48H,0F4H,0B5H,99HDB 3DH,7DH,85H,0FDH,0BDH,0DDH,79H,6CH,0F1H,7CH,5CHIT00: MOV TH0,#0D8H ;装入初值10msMOV TL0,#0F0HLCALL SUB1 ;减10msRETI ;返回;************************************************;延时子程序,时间大约为:2us*10*250;************************************************DELAY: MOV R7,#10DEL2: MOV R6,#250DEL1: DJNZ R6,DEL1DJNZ R7,DEL2RETEND ;结束6.调试运行1. 接硬件图连线,为了确保四位数码管能够对应显示。
实验时,对P0口的接线做了调整。
即:P0.0接L1,P0.1接L2,P0.2接L3,P0.3接L4。
2. 从0030H单元开始连续运行,观察四个数码管显示情况是否与预期的结果一致。
如果不一致,则单步运行或断点运行进行调试,直至满足设计要求。
3. 整体运行,观察数码管显示是否符合要求。
如果不符合,则再调试,直至满足要求。
7.个人体会通过本次课程设计,我深深的体会到了作为一个硬件工程师的艰辛。
即使做一个小小的项目,都需要这么多的辛苦,必须考虑到问题的任何一个细节,否则最后也将是功败垂成。
原理图设计: 当我们选取了这样一个题目,我们就开始收集相关的各种资料,对题目有个大致的了解,规划一下设计的任务将要完成哪些功能。
然后就具体的每一项功能应该怎样具体的设计,例如用什么方法完成这一功能,这种想法是否合理。
经过长时间的查阅资料、思索、推敲,最后定出了这次设计的原理图。
编程调试:此次设计的编程,难点在于对LED数码管显示程序的编写,由于对AT89C51的工作原理不是很熟悉,所以一开始摸不着头脑。
看参考教材、上网查阅其相关资料,对AT89C51的工作原理有个大致的了解后,程序的编写也初见端倪了,所以花在编此段程序的时间最长;中断程序的编写也是常规的编写。
在整个程序的编写过程中,研究每个子程序是否好使,我是通过KeilC和proteus两个软件来实现的。
Proteus是一个单片机的仿真软件,发现它之后真的很受用,通过它可以不用连接硬件就能检查程序是否好使。
Keil C则帮助我检查程序是否存在语法错误之类的问题,还可以生成hex 文件,供proteus软件仿真使用。
通过这两个软件,我们把整个的程序调试正确。
通过上面的这个步骤,把程序调试好,接下来就是真正的硬件连接调试了。
程序既然已经在仿真的软件上通过认证,如果连接上硬件不好使的话,说明在硬件上某个部分存在一定的问题。
这点得到了验证:硬件模拟的时候,紧急情况用的开关有一个不好使,按下的时候没有反应。