51单片机定时器数码管60秒倒计时

合集下载

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; //两位数分离赋给数码管个位显示}}。

根据51单片机能实现任意时间倒计时

根据51单片机能实现任意时间倒计时

倒计时器只要修改此文档15页源程序的(如下图)的到计时初值即可实现想要的倒计时。

比如30分钟倒计时修改分钟十位和各位即可。

一、设计要求:由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。

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

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

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

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

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

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

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

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

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

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

51单片机输入数字并数码管倒计时典型C语言代码

51单片机输入数字并数码管倒计时典型C语言代码
//EX0=0;//关外部中断0源允许
circle1=circle/10;
chaishu(circle1);
while(1)
{
display(e,d,c,b,a);
}
}
else
{
TH0=(65536-50000)/256;//50毫秒
TL0=(65536-50000)%256;//装入定时器0初值
circle=0;
c=d1/100;////////c=5*
c1=d1%100;///////c1=35
b=c1/10;/////////b=3*
b1=c1%10;////////b1=5
a=b1;////////////a=5*
}
void display(uint wan,uint qian,uint bai,uint shi,uint ge)
void T0_time() interrupt 1///////定时/计数器0的溢出中断对应的中断序号为"1"
{
TH0=(65536-50000)/256;//50毫秒
TL0=(65536-50000)%256;//装入定时器0初值
time++;
}
/////////////////////////////////////////////定时中断函数内容///////////////////////////////////////
{
case 0xeb:
{
num=7;
count=count+1;
}//如果=0xed那么num设定为4
break;//跳出switch
case 0xdb:
{
num=8;

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

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

单片机结课设计论文学院:班级:姓名:学号:任课老师:二〇一二年五月目录1学习心得 (2)2结课设计 (2)3正文 (4)3.1 设计要求 (4)3.2 结课设计的目标 (4)3.3 设计方法和内容 (4)3.3.1硬件设计方法 (5)3.3.2软件设计方法 (9)3.4 软件调试过程 (11)3.4.1 系统调试工具keil C51 (11)3.4.2 系统调试工具PROTEUS (11)4设计总结 (12)5参考文献 (13)学习心得单片机课程是我们专业一个很重要的课程,因为单片机方面的很多知识都应用在机电一体化中。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

了解到单片机的重要性,一开始我就决定了一定要好好学这门课。

刚开始接触单片机是很陌生的,当学到89C51单片机的结构及原理这一章的时候,感觉书本里面的内容抽象且难以理解,心里面本能地就有一股抵制情绪在作怪。

但是一想到单片机是如此的重要又不得不逼着自己去学去记。

学到指令系统这部分内容的时候,里面的很多指令往往让自己感到厌烦,面对一些冗长的汇编程序,往往不用看到最后就已经失去兴趣了。

感觉自己学习单片机的过程其实就是一个对陌生领域的本能的抵制而又渴望征服的过程!我意识到单片机的重要性也从心里面想过要学好这门课程,在学习的过程中我尽力的克服了由本能产生的对抽象知识的抵制情绪,上课认真听讲,做好笔记,最后总算对单片机有一个比较全面的了解。

特别是最后做的那七个实验的时候,每一次我都会认真的思考该怎么去实现这个功能,怎么样从书本中得到答案,怎么样去做好理论联系实际。

在实验的实践过程中,我发现要学好单片机不仅仅要认认真真学习书本上的理论知识,更要学得透彻,还要实际操作单片机。

理论联系实际,这样的学习才不会变得更加生动,更容易调动学习积极主动性。

虽然单片机这门课程已经结课了,但是老师传授给我的知识将使我终身受益!短短几十个学时的学习,老师作为领路者把我带入了单片机这一奇妙的领域。

本科毕业设计之基于51单片机控制的60秒倒计时系统设计

本科毕业设计之基于51单片机控制的60秒倒计时系统设计

摘要最近几年来随着运算机在社会领域的渗透,单片机的应用正在不断地走向深切,同时带动着传统控制检测日新月异的更新。

由于单片机具有体积小,易于产品化、面向控制、集成度高、功能强、靠得住性高、价钱低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中取得了普遍的应用。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来利用。

可是仅单片机方面知识是不够的,还应按照具体硬件结构,和针对具体应用对象特点的软件结合,以作完善。

本次设计采用C语言编程,通过倒计时子程序模块、矩阵键盘扫描模块、中断等子程序的正确挪用,完成了能够随时设置初值的基于51单片机控制的60秒倒计时系统。

关键词:倒计时单片机KeiluVision3 LED数码显示器目录1 MCS-51 单片机硬件结构及原理 (1)MCS-51系列单片机结构 (1)1.1.1 MCS-51单片机的大体组成 (1)1.1.2内部大体结构 (3)MCS-51单片机存储器安排 (6)1.2.1存储器空间安排 (6)1.2.2片内存储器 (6)单片机秒表课程设计的概述 (9)课程设计思路及描述 (9)课程设计任务和要求 (10)系统硬件方案设计 (11)软件方案设计 (11)生“HEX”文件的步骤 (12)源程序及注释 (15)原理图分析 (16)课程设计效果 (18)总结 (19)致谢 (20)参考文献 (21)1 MCS-51 单片机硬件结构及原理 MCS-51系列单片机结构 1.1.1 MCS-51单片机的大体组成 1 整体结构图1-1单片机的整体结构2. MCS-51单片机外部引脚及其说明最多见的封装形式是40引脚双列直插式DIP(Dual In-line Package) 尚有44引脚的无引线芯片载体封装PLCC(Plastic Leaded Chip Carrier)图1-2 MCS-51单片机外部引脚及说明其中两条电源线,两条外接晶体,4条控制或作电源复用,32条I/O 引线。

AT89C51单片机设计60s倒计时

AT89C51单片机设计60s倒计时

目录一、课程设计的目的、要求和设计目标 (1)1、目的 (1)2、要求 (1)3、目标.................................................................. 1二、硬件要求 (2)1、 AT89C51的芯片 (2)2、 LED 数码管显示器概述 (3)3、其他元器件介绍及参数选择.......................................... 6三、软件设计 (7)1、程序流程图 (7)2、程序导图 (7)3、定时 /计数器初值计算 (7)4、软件程序 (8)5、软件仿真设计………………………………………………… 9四、软件调试…………………………………………………………101、 <.HEX>文件的生成 (10)2、PROTEUS …………………………………………………… 10五、心得体会…………………………………………………………11一、课程设计的目的、要求和设计目标1、目的单片机课程即将结束, 课程的最后一项是单片机的课程设计。

通过课程设计, 我们要将在一个学期中所学的东西进行整理、归纳, 要把学到的知识转化成实际的运用,进一步的了解单片机的实质。

通过动手设计,深入学习,体验单片机在日常生活中的运用,提升专业知识。

课程设计的总体包括:对单片机的了解、运用,设计思路的解析,报告文字的处理等。

通过一系列的实际操作, 完善对课程的学习, 提升自我的学习能力和动手能力。

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

本例中用两位数码管静态显示倒计时秒值。

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

(3通过 Keil uVision2软件,生成 .HEX 格式程序并植入 AT59C51单片机并调试、运行。

3、目标通过自主完成课程设计内容, 整理学期中所学到的知识, 了解单片机的程序过程和一系列的基础操作,将理论和实践相结合,完善课业。

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

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

单片机结课设计论文学院:班级:姓名:学号:任课老师:二〇一二年五月目录1学习心得 (2)2结课设计 (2)3正文 (4)3.1 设计要求 (4)3.2 结课设计的目标 (4)3.3 设计方法和内容 (4)3.3.1硬件设计方法 (5)3.3.2软件设计方法 (9)3.4 软件调试过程 (11)3.4.1 系统调试工具keil C51 (11)3.4.2 系统调试工具PROTEUS (11)4设计总结 (12)5参考文献 (13)学习心得单片机课程是我们专业一个很重要的课程,因为单片机方面的很多知识都应用在机电一体化中。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

了解到单片机的重要性,一开始我就决定了一定要好好学这门课。

刚开始接触单片机是很陌生的,当学到89C51单片机的结构及原理这一章的时候,感觉书本里面的内容抽象且难以理解,心里面本能地就有一股抵制情绪在作怪。

但是一想到单片机是如此的重要又不得不逼着自己去学去记。

学到指令系统这部分内容的时候,里面的很多指令往往让自己感到厌烦,面对一些冗长的汇编程序,往往不用看到最后就已经失去兴趣了。

感觉自己学习单片机的过程其实就是一个对陌生领域的本能的抵制而又渴望征服的过程!我意识到单片机的重要性也从心里面想过要学好这门课程,在学习的过程中我尽力的克服了由本能产生的对抽象知识的抵制情绪,上课认真听讲,做好笔记,最后总算对单片机有一个比较全面的了解。

特别是最后做的那七个实验的时候,每一次我都会认真的思考该怎么去实现这个功能,怎么样从书本中得到答案,怎么样去做好理论联系实际。

在实验的实践过程中,我发现要学好单片机不仅仅要认认真真学习书本上的理论知识,更要学得透彻,还要实际操作单片机。

理论联系实际,这样的学习才不会变得更加生动,更容易调动学习积极主动性。

虽然单片机这门课程已经结课了,但是老师传授给我的知识将使我终身受益!短短几十个学时的学习,老师作为领路者把我带入了单片机这一奇妙的领域。

单片机设计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秒倒计时

前言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。

这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。

微控制技术是一种全新的概念,是对传统控制技术的一次革命。

随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

目录第1章方案论证1.1 课程设计的目的和要求 (1)1.2 总体设计 (1)第2章硬件设计 (2)2.1 AT89S51芯片概述 (13)2.2 LED数码管显示器概述 (15)2.3 其他元器件介绍及参数选择 (18)第3章软件设计 (28)3.1 程序框图 (28)3.2 定时/计数器初值计算 (2)3.3 软件程序…………………………………………………………………………………………………………………………………………………………第4章调试与仿真4.1 Keil软件介绍及使用 (30)4.2 Proteus软件介绍及使用 (30)课程设计心得体会………………………………………………………………………………………………………………………………………参考文献 (30)第一章方案论证1.1课程设计的目的和要求1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

单片机实现60s倒计时

单片机实现60s倒计时

课程论文题目:单片机实现60S倒计时作者:学号:所在学院:信息科学与工程学院专业年级:通信12-5班指导教师:职称:讲师2013 年05月25 日单片机实现60S倒计时摘要:本设计用两种方案并采用电路仿真软件Proteus设计完成了60S倒计时按键控制电路仿真图;使用Keil C51对该电路进行编程,使用DXP2009完成了此电路原理图绘制以及PCB印刷电路版图的设计,掌握了电路原理图、PCB图的设计方法,独立完成了原件的原理图库文件、原件封装库文件的设计。

使用自动布线辅助手动布线设计了电路的PCB印刷图。

关键字:Keil C51;Proteus;DXP2009;60S倒计时1 前言近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本篇课程论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

2 软件简介Protel DXP 2009已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH(原理图)仿真、PCB(印制电路板)设计、Auto Router(自动布线器)和FPGA设计等,覆盖了以PCB为核心的整个物理设计。

该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓朴自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。

Proteus是英国Labcenter electronics 公司出版EDA工具软件。

它不仅具有其他EDA工具软件访真功能,还能访真单片机及其外围器件。

Proteus是世界上著名的EDA仿真软件,从原理图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完美设计。

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单片机的使用方法。

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

单片机课程设计方案60秒倒计时.doc

单片机课程设计方案60秒倒计时.doc

前言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。

这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。

微控制技术是一种全新的概念,是对传统控制技术的一次革命。

随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

近年来随着计算机在社会领域的渗透 , 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位 LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

目录第1章方案论证课程设计的目的和要求 1总体设计 1第2章硬件设计 2 AT89S51芯片概述 13 LED数码管显示器概述 15其他元器件介绍及参数选择 18第3章软件设计 28程序框图 28定时 / 计数器初值计算 2软件程序第4章调试与仿真Keil软件介绍及使用 30Proteus软件介绍及使用 30课程设计心得体会参考文献 30第一章方案论证课程设计的目的和要求1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

51单片机定时器数码管60秒倒计时

51单片机定时器数码管60秒倒计时

51单片机定时器数码管60秒倒计时#include#include"delay.h"#define DataPort P0sbit Latch1=P2^2;//段锁存sbit Latch2=P2^3;//位锁存unsigned char code DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0 x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~Funsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char i=0,num=60,j=0;void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响TH0=(65536-50000)/256; //重新赋值TL0=(65536-50000)%256;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}main()unsigned char Temp[2];Init_Timer0();while(1){Temp[0]=DuanMa[num/10]; Temp[1]=DuanMa[num%10];DataPort=WeiMa[i];Latch2=1;Latch2=0;DataPort=T emp[i];Latch1=1;Latch1=0;DelayMs(1);i++;if(i>=2){i=0;}if(num==0xff){num=60;}}void Timer0_isr(void) interrupt 1 using 1 {TH0=(65536-50000)/256; //重新赋值TL0=(65536-50000)%256;j++;if(j==20){j=0;num--;}}#includetypedef unsigned char uchar ; typedef unsigned int uint ;uchar temp,bai,shi,ge,num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,};//定义数码管参数void delay(uint);//声明全局函数void display();void main(){temp=60;num=0;while(1){TMOD=0x01; //定时器0EA=1; //开总中断ET0=1;TR0 = 1; //开定时器中断display();delay(5);display();delay(5);}}void T0_time()interrupt 1 {TH0=(65536-45872)/256;TL0=(65536-45872)%256; num++;if(num==40){num=0;temp--;if(temp==0){temp=60;}}}void display() {ge = temp / 10; shi = temp % 10; P0 = table[ge];P2 = table[shi];}void delay(uint z) {uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--); }。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档