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

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第一章方案论证1.1课程设计的目的和要求1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。

项目六:60秒倒计时控制

项目六:60秒倒计时控制

(3)定时工作方式2 定时工作方式2
方式2为自动重新加载工作方式。在这种工作方式下, 方式 为自动重新加载工作方式。在这种工作方式下, 为自动重新加载工作方式 位计数器分为两部分, 作计数器, 把16位计数器分为两部分,即以 作计数器,以TH作预置 位计数器分为两部分 即以TL作计数器 作预置 寄存器。初始化时把初始值分别装入TL和TH中。所以方式2 寄存器。初始化时把初始值分别装入 和 中 所以方式 位计数结构, 是8位计数结构,若晶振频率为 位计数结构 若晶振频率为12MHZ,则最大时间约为 , 0.25 ms。工作原理:当TL计数满溢出了以后,TH自动将初 计数满溢出了以后, 。工作原理: TL计数满溢出了以后 TH自动将初 值装入TL,省去了方式 和方式0中要重新装初值的步骤。 省去了方式1 值装入TL,省去了方式1和方式0中要重新装初值的步骤。 计数初值的计算: 计数初值的计算: 定时时间: t=(28-T初值)× 机器周期 定时时间: ( 初值) 初值 因此, 初值 初值=2 ( 机器周期 机器周期) 因此,T初值 8-(t/机器周期) 计数:所计脉冲个数 ( 初值) 计数:所计脉冲个数=(28-T初值) 初值 因此, 初值 初值=2 所计脉冲个数 因此,T初值 8-所计脉冲个数 初始化的时候,软件编程将初值送到 位寄存器 位寄存器TH和 初始化的时候,软件编程将初值送到8位寄存器 和 TL中。启动以后,TL里面就自动加 计数。 里面就自动加1计数 中 启动以后, 里面就自动加 计数。
相关的控制寄存器
方式寄存器TMOD 方式寄存器 控制寄存器TCON 控制寄存器
在单片机应用系统中, 在单片机应用系统中,经常需要定时控制或对外部时 间信号进行计数。定时器/计数器是 计数器是MCS-51单片机的重要 间信号进行计数。定时器 计数器是 单片机的重要 模块之一。 系统单片机中51系列内部有两个定时 模块之一。MCS-51系统单片机中 系列内部有两个定时 系统单片机中 计数器T0、 ,它们都是16位的 位的。 器/计数器 、T1,它们都是 位的。 计数器 1、定时器控制寄存器(TCON) 、定时器控制寄存器( ) TCON寄存器既参与中断控制又参与定时控制,该控 寄存器既参与中断控制又参与定时控制, 寄存器既参与中断控制又参与定时控制 制寄存器的位地址和位符号如表所示: 制寄存器的位地址和位符号如表所示:

倒计时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接口和中断系统于同一硅片上的器件。

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 引线。

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结合电路图,程序设计的整体思路为:接通电源,数码管显示十位、个位。

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--); }。

单片机60秒倒计时

单片机60秒倒计时

太原理工大学课程设计说明书课程名称:《单片机六十秒倒计时》设计题目:单片机六十秒倒计时院系:矿业工程学院学生姓名:柯书国学号:2011002810专业班级:采矿1109班指导教师:崔老师目录1前言 (1)2设计方案 (3)2.1课程设计目的 (3)2.2 设计的目标 (3)2.3 设计的内容 (3)2.4 定时/计数器初值计算 (10)2.5 软件调试过程 (11)3. 设计心得体会 (16)4. 软件源程序 (18)5实物和硬件图 (20)6参考文献 (21)1前言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

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

单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。

单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。

将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。

所以,生产企业称单片机为“微电脑”。

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

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

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

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

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

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

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

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

单片机设计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设计,真正实现了从概念到产品的完美设计。

51单片机数码管倒计时汇编语言代码

51单片机数码管倒计时汇编语言代码

51单片机数码管倒计时汇编语言代码数码管是一种电子元器件,常用于倒计时、计时和显示数字等场景中。

其中,51单片机作为一种常见的控制芯片,能够对数码管进行比较精确的控制。

本文将介绍51单片机在数码管倒计时中的应用,并给出相应的汇编语言代码。

一、硬件准备首先,我们需要准备一些硬件设备。

具体来说,我们需要一块51单片机的开发板、一组共阳数码管、一个蜂鸣器、一枚按键开关、若干杜邦线和面包板。

在连接各个模块时,需要注意接线的正确性和稳定性。

二、倒计时实现接下来,我们就可以开始编写汇编语言代码了。

代码实现中,需要注意数码管的显示方式以及倒计时时间的设定等细节。

首先,我们定义一些常数,如:COUNT_MAX EQU10;倒计时时长为10sCLK_FREQ EQU12000000;时钟频率为12MHzDELAY_US EQU CLK_FREQ/1000000其中,COUNT_MAX表示倒计时的最大时长,CLK_FREQ表示单片机的时钟频率,DELAY_US表示1us延时所需的机器周期数。

其次,需要定义一些数据段:ORG0SJMP MAINORG0BHDELAY_CNT:DB0ORG0CHMODE_CNT:DB0其中,DELAY_CNT是延时计数器,MODE_CNT是模式计数器。

接着,我们定义主函数:MAIN:CLR P1.5CLR P1.6CLR P1.7MOV TMOD,#01H;设置定时器0为模式1SETB TR0;启动定时器0SETB EASETB ET0SETB EX0MOV R6,#DELAY_USSJMP MODE_SEL首先,需要清空P1.5、P1.6和P1.7引脚,以便控制数码管的显示。

然后,设置定时器0为模式1,并启动定时器0。

接着,开启总中断、定时器0中断和外部中断,设置延时计数器,并跳转到MODE_SEL 模式选择功能。

接下来是MODE_SEL模式选择功能:MODE_SEL:MOV A,MODE_CNTCPL AMOV MODE_CNT,AANL A,#03HJZ MODE_0CJNE A,#01H,MODE_SEL_ENDSJMP MODE_1CJNE A,#02H,MODE_SEL_ENDSJMP MODE_2MODE_SEL_END:CLR TR0CLR EARETI在这个模式下,程序每执行一次,模式计数器加1,并且A寄存器与3进行与操作,最后根据A的值跳转到相应的倒计时模式。

单片机课程设计方案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.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

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

}
#include<reg52.h>
typedef unsigned char uchar ;
typedef unsigned int uint ;
uchar temp,bai,shi,ge,num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
unsigned 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位定时器,使用"|"符号可以在使用多个定时器时不受影响
delay(5);
}
}
void T0_time()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==40)
{
num=0;
temp--;
#include<reg52.h>
#include"delay.h"
#define DataPort P0
sbit Latch1=P2^2;//段锁存
sbit Latch2=P2^3;//位锁存
unsigned char code DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F
while(1)
{
TMOD=0x01; //定时器0
EA=1; //开总中断
ET0=1;
TR0 = 1; //开定时器中断
display();
delay(5);
display();
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,};//定义数码管参数
void delay(uint);//声明全局函数
void display();
void main()
{
temp=60;
num=0;
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main()
{
unsigned char Temp[2];
Init_Timer0();
while(1)
{
Temp[0]=DuanMa[num/10];
Temp[1]=DuanMa[num%10];
DataPort=WeiMa[i];
Latch2=1;
TH0=(65536-50000)/256; //重新赋值
TL0=(65536-50000)%256;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
Latch2=0;
DataPort=Temp[i];
Latch1=1;
Latch1=0;
DelayMs(1);
i++;
if(i>=2)
{
i=0;
}
if(num==0xff)
{
num=60;
}
if(temp==0)
{
temp=60;
}
}
}
void display()
{
ge = temp / 10;
shi = temp % 10;
P0 = table[ge];
P2 = tabቤተ መጻሕፍቲ ባይዱe[shi];
}
void delay(uint z)
}
}
void Timer0_isr(void) interrupt 1 using 1
{
TH0=(65536-50000)/256; //重新赋值
TL0=(65536-50000)%256;
j++;
if(j==20)
{
j=0;
num--;
}
相关文档
最新文档