单片机倒计时设计报告
{
num=1;
}
while(!s1)
display();
}
if (s2==0) //减时开关
{
delay(5);
if (s2==0)
{
num=2;
}
while(!s2)
display();
}
switch(key) //键盘开关控制程序
{
case 0:TR0=1;break;
case 1:TR0=0; //功能开关控制程序
当倒计时结束,P3.7有高电平输出,然后喇叭响起。喇叭一直响起直到有人关闭电源。
第二章功能介绍
2.1功能介绍
倒计时器可设置倒计时所需的时间,用八位数码管以00-00-00显示,当时间倒计结束时喇叭响起报警,根据所需要求,也可把计时器改为分、秒、毫秒倒计时。
2.2硬件介绍
2.2.1AT89C51的芯片概述
AT89C51是一个低功耗,高性能CMOS 8位单片机AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其工作电压在4.5-5V,一般我们选用+5V电压。外形及引脚排列如图2所示:
AT89C51所使用的引脚
P0控制数码管的段
P2控制数码管的位
P3.2设置功能键
P3.5设置‘加’键
P3.6设置‘减’键
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
nam++;
if (nam==20)
{
nam=0;
if (miao==0)
{
miao=60;
if (fen==0)
{
fen=60;
if (shi==0)
shi=24;
shi--;
}
fen--;
}
miao--;
}
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。
uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段选码表p0口显示
sbit s0=P3^3; //设置功能键
sbit s1=P3^5; //设置‘加’键
sbit s2=P3^6; //设置‘减’键
sbit beep=P3^7; //设置蜂鸣器
本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
第一章设计目的及要求
1.1设计目的
课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
}
void keyscan() //键盘开关程序
{
uchar key,num;
if (s0==0) //控制开关
{
delay(5);
if (s0==0)
{
key++;
if (key==4)key= Nhomakorabea;}
while(!s0)
display();
}
if (s1==0) //加时开关
{
delay(5);
if (s1==0)
P3.7设置蜂鸣器
8段数码管
第三章原理图仿真
第四章倒计时程序
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//八位位选码表p2口
display();
}
if (num==2)
{
num=0;
if (shi==0)
shi=24;
shi--;
display();
}
break;
}
}
有3个中断。P3.2、P3.5、P3.6是控制输入,当开始后按下P3.2的开关,然后数码管倒计时暂停。按下P3.5的开关可以增加秒数,按下P3.6的开关可以减少秒数;再次按下P3.2的开关转换为增加或增减分,按下P3.5的开关可以增加分数,按下P3.6的开关可以减少分数;再次按下P3.2的开关转换为增加或增减时,按下P3.5的开关可以增加时数,按下P3.6的开关可以减少时数。然后再按下P3.2的开关时间设置完成,倒计时开始。
前言
在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管
单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。
单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。所以,生产企业称单片机为“微电脑”。
g=shi%10;
P2=wei[7]; //时位选
P0=duan[s];
delay(1);
P2=wei[6];
P0=duan[g];
delay(1);
P2=wei[5];
P0=0xbf;
delay(1);
s=fen/10;
g=fen%10;
P2=wei[4];
P0=duan[s];
delay(1);
void delay(uint z);
void display();
void init();
void keyscan();
uchar shi,fen,miao,nam;
void main() //蜂鸣器程序
{
init();
while(1)
{
display();
keyscan();
beep=1;
if (miao==0&&fen==0&&shi==0)//当倒数计时为00-00-00时蜂鸣器响
{
beep=0;
TR0=0;
}
}
}
void delay(uint z) //延时程序
{
uint i,j;
for (i=z;i>0;i--)
for (j=110;j>0;j--);
}
void display() //我这里P2为位选,P0为段选,显示格式为时-分-秒(位选程序)
{
uchar s,g;
s=shi/10;
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。
1.2设计要求
对单片机控制倒计时的基本功能与操作原理的理解和掌握,使自己通过这次的单片机实习后能够能便利的做出相应的设计和操作。
fen++;
if (fen>=60)
fen=0;
display();
}
if (num==2)
{
num=0;
if (fen==0)
fen=60;
fen--;
display();
}
break;
case 3: //减时开关控制程序
if (num==1)
{
num=0;
shi++;
if (shi>=24)
shi=0;
if (num==1)
{
num=0;
miao++;
if (miao>=60)
miao=0;
display();
}
if (num==2)
{
num=0;
if (miao==0)
miao=60;
miao--;
display();
}
break;
case 2: //加时开关控制程序
if (num==1)
{
num=0;
P2=wei[3]; //分位选
P0=duan[g];
delay(1);
P2=wei[2];
P0=0xbf;
delay(1);
s=miao/10;
g=miao%10;
P2=wei[1]; //秒位选
P0=duan[s];
delay(1);
P2=wei[0];
P0=duan[g];
delay(1);
}
void init()
{
miao=10; //设定初值为00-01-10
fen=1;
shi=0;
EA=1;
ET0=1;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;