单片机60秒倒计时

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机60分钟倒计时秒表

单片机60分钟倒计时秒表

60分钟倒计时秒表功能:1.带有启动键Start,暂停键Pause,停止键Stop,复位键Reset;2.4位数码管显示分(两位)秒(两位);3.按启动键启动从60分开始倒计时,按暂停键暂停,显示保持原来计时时间,再次按启动键继续计时,按停止键停止计时,复位键复位,到零停止计时.4.按停止键后,可按中间的4个键,分别对应分的十位(2键),个位(4键),和秒的十位(5键),个位(9键),按动一下,相应的位增1,并保证时间的正确值,再按一次停止键,保存设置值,按其它键则放弃设置时间值,恢复原来的时间.电路图:计时器工作模式:编码(54H单元) 当前工作模式00H Reset01H Start02H Pause03H Stop主程序流程:主程序代码段:ORG 0000HLJMP MAINORG 000BHLJMP TIMER0ORG 1000HMAIN: ACALL INIT ;初始化定时器SETB EA ;开总中断SETB ET0 ;开定时器0中断MOV A, #03H ;设置8155的工作模式, PA, PB输出, PC输入.MOV DPTR, #7F00HMOVX @DPTR, ABEGIN: ACALL DISACALL CLEARACALL CCSCANJNZ INK1AJMP BEGININK1: ACALL DISACALL CLEARACALL CCSCANJNZ INK2AJMP BEGININK2: MOV R2, #7FH ;从最左边列开始扫描MOV R4, #00HCOLUM: MOV DPTR, #7F02HMOV A, R2MOVX @DPTR, AINC DPTRMOVX A, @DPTRJB ACC.2, LONEMOV A, #00HAJMP KCODELONE: JB ACC.1, NEXTMOV A, #04HKCODE: ADD A, R4ACALL PUTBUFKON: ACALL DISACALL CLEARACALL CCSCANJNZ KONNEXT: INC R4MOV A, R2JNB ACC.4, KERRRR AMOV R2, AAJMP COLUMKERR: AJMP BEGINCCSCAN: MOV DPTR, #7F02HMOV A, #00HMOVX @DPTR, AINC DPTRMOVX A, @DPTRCPL AANL A, #03HRETCLEAR: MOV DPTR, #7F01HMOV A, #00HMOVX @DPTR, ARETINIT: MOV 53H, #06H ;分十位MOV 52H, #00H ;分个位MOV 51H, #00H ;秒十位MOV 50H, #00H ;秒个位MOV 54H, #00H ;存放当前工作模式, 00:Reset, 01 Start, 02 Pause, 03 StopMOV 55H, #0AH ;定时计数用, 定时器每次中断0.1s, 计数10次, 定时1sCLR TR0MOV TMOD, 01H ;定时器工作在方式1, 16位定时器MOV TH0, #3CHMOV TL0, #0B0HRETDIS: PUSH ACCPUSH 00HPUSH 03HMOV A, #03HMOV DPTR, #7F00HMOVX @DPTR, AMOV R0, #50HMOV R3, #0EFHMOV A, 54HCJNE A, #03H, DIS0MOV R0, #60HDIS0: MOV A, R3AGAIN: MOV DPTR, #7F02HMOVX @DPTR, AMOV A, @R0MOV DTPR, DAT ASMOVC A, @A+DPTRMOV DPTR, #7F01HMOVX @DPTR, AACALL DL1MSINC R0MOV A, R3JNB ACC.0, OUTRL AMOV R3, AAJMP AGAINOUT: POP 03HPOP 00HPOP ACCRETDAT AS: DB 03FH, 06H, 05BH, 04FH, 066H, 06DH, 07DH DB 07H, 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDL1MS: MOV R7, #01HDL0: MOV R6, #0FFHDL1: DJNZ R6, DL1DJNZ R7, DL0RETPUTBUF: MOV R1, AJNZ CHKSTAR TACALL RESETFUNCSJMP GOBACKCHKSTAR T: CJNE R1, #03H, CHKPAUSEACALL STAR TFUNCSJMP GOBACKCHKPAUSE: CJNE R1, #04H, CHKSTOPACALL PAUSEFUNCSJMP GOBACKCHKSTOP: CJNE R1, #07H, CHKOTHERACALL STOPFUNCSJMP GOBACKCHKOTHER: ACALL OTHERFUNCGOBACK: RETRESETFUNC: MOV R0, 54HCJNE R0, #00H, RESET0RETCJNE R0, #01H, RESET0RETRESET0: ACALL INITMOV 54H, #00HRETSTAR TFUNC: MOV R0, 54HCJNE R0, #01H, STAR T0RETSTAR T0: MOV 54H, #00HSETB TR0RETPAUSEFUNC: MOV R0, 54HCJNE R0, #01H, PAUSE0CLR TR0MOV 54H, #02HSJMP PAUSE1PAUSE0: CJNE R0, #02H, PAUSE1SETB TR0MOV 54H, #01HPAUSE1: RETSTOPFUNC: MOV R0, 54HCJNE R0, #03H, STOP0MOV 54H, #02HMOV R0, #50HMOV R1, #60HSTOP1: MOV A, @R1MOV @R0, AINC R0INC R1CJNE R0, #54H, STOP1RETSTOP0: CLR TR0MOV 54H, #03HMOV R0, #60HMOV R1, #50HSTOP2: MOV A, @R1MOV @R0, AINC R0INC R1CJNE R1, #54H, STOP2RETOTHERFUNC: MOV R0, 54HCJNE R0, #03H, OTHER0CJNE R1, #01H, OTHER1MOV R0, #63HINC @R0CJNE @R0, #06H, OTHER0MOV @R0, #00HSJMP OTHER0OTHER1: CJNE R1, #02H, OTHER2MOV R0, #62HINC @R0CJNE @R0, #0AH, OTHER0MOV @R0, #00HSJMP OTHER0OTHER2: CJNE R1, #05H, OTHER3MOV R0, #61HINC @R0CJNE @R0, #06H, OTHER0MOV @R0, #00HSJMP OTHER0OTHER3: CJNE R1, #06H, OTHER0MOV R0, #60HINC @R0CJNE @R0, #0AH, OTHER0MOV @R0, #00HSJMP OTHER0OTHER0: RET;使用定时器0, 工作模式1, 定时0.1s, 晶振频率为6MHz;定时器初值X = 65536 –50000 = 15536 = 3CB0HTIMER0: MOV TH0, #3CHMOV TL0, #0B0HDJNZ 55H, EXIT0 ;判断是否已定时中断10, 即1秒MOV 55H, #0AHMOV R0, #50HGOON0: DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #09HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #05HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #09HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0 ; 倒计时结束, 停止计时, 显示全”0”ACALL INITMOV 53H, #00HMOV 54H, #03HEXIT0: RET。

倒计时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秒倒计时

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

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

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

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

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

关键词:单片机,软件,倒计时器,LED数码显示器。

目录1.设计任务 (1)2.设计的主要内容和要求 (1)3.整体设计方案 (1)4. 软件电路设计 (2)4.1定时计数器初值运算 (2)4.2程序框图设计 (2)4.3程序代码 (3)5. 硬件设计 (4)6. 基于Proteus的电路仿真 (6)6.1 系统调试工具PROTEUS (6)6.2 总线路图 (6)6.3运行结果 (7)总结 (7)参考文献 (8)单片机系统课程设计1.设计任务设计一个基于单片机MCS-51的显示系统,要求实现以下功能:1.在单片机系统与硬件开发过程中,与数码管和液晶屏显示器等显示仪器,本课程设采用的采用的显示仪器为数码管。

2.用keil 软件编写一个60秒倒计时时钟程序,且用两位数码管显示时间。

3.用单片机的定时器产生一秒的定时时间,作为秒倒计时间,当一秒产生时,秒计数自动减一,当秒计数到00时,自动又从59开始倒计数。

2.设计的主要内容和要求1.基于单片机实现对数码管的控制。

2.在开始,数码管是关闭的,什么也不显示,当所编写的源程序下载到单片机中并开始运行时,两位数码管会显示相应的变化时间。

3.整体设计方案AT89C51单片机的内部16的内部16位定时器是一个可编程计时器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。

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单片机的结构及原理这一章的时候,感觉书本里面的内容抽象且难以理解,心里面本能地就有一股抵制情绪在作怪。

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

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

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

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

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

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

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

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

单片机控制的60s倒计时

单片机控制的60s倒计时

单片机控制的60s倒计时一.实验目的1.用单片机AT89C51的定时/计数器实现60s倒计时。

两位数码管静态显示倒计时秒值。

2.用PROTEUS设计、仿真基于AT89C51单片机的60s倒计时。

二.PROTEUS电路设计(1)AT89C51.BUS:总线式单片机(2)RES:电阻;(3)7SEG-COM-AN-GRN:带公共端共阳七段绿色数码管(4)BUTTON:按钮(5)CAP、CAP-ELEC:电容、电解电容(6)CRYSTAL:晶振2. 放置元器件、放置电源和地、连线、元器件属性设置、电气检测图中与P1口相接的数码管(左)显示十位数,与P2口相接的数码管(右)显示个位数,两个共阳数码管为静态显示,其中个位数数码管为总线接法。

总线标注:由P2口的总线引脚引出总线,并标注为P2[0..7]。

单击电线标注按钮Label,单击该总线,在弹出的编辑对话框“Edit Wire Label”中的“String”一栏中输入标注名P2[0..7],如图所示PAT快速线标注:单击属性分配工具按钮或直接由键盘敲入快捷键“A ”,弹出如图所示的对话框,并按此图进行设置,设置完成后单击“OK”按钮退出。

其中“String”初值“Count”为0,增量“Increment”为1,即首次对电线单击,标注自动以P20开始,对电线每单击一次,便以P21、P22、…递增式自动标注。

在编辑区一次单击个位数数码管的限流电阻与总线P2[0...7]间的电线,由上向下,即数码管的a~g的限流电阻与总线的连接电线,便在各电线上自动标注为P20、P21……P26如图所示。

下图为60s倒计时的电路原理图三.源程序设计、生成目标代码文件1.流程图2.源程序设计3.生成目标代码四.PROTEUS仿真1.加载目标代码文件打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件,在“Clock Frequency”栏中输入晶振频率为12MHZ。

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

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

60秒倒计时单片机

广东海洋大学学生实验报告书(学生用表)实验名称外中断优先级实验课程名称单片机技术及系统设计课程号学院(系) 信息学院专业电气工程及其自动化班级1081学生姓名沈志雄学号200811631122 实验地点科技楼403 实验日期实验五 60S倒计时实验一、实验目的:1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。

2.用PROTEUS 设计,仿真基于AT89C51单片机的60S倒计时实验。

二、PROTEUS电路设计:三、实验仪器和设备GDOU-B-11-112PC机、WAVE软件、PROTEUS软件或TDN86/51教学实验系统一台四、源程序设计:根据电路图自行编写并调试。

ORG 0000HAJMP STARTORG 000BHAJMP BRT0ORG 0030HSTART:MOV P2,#02MOV R4,#09HMOV A,R4MOV DPTR,#TABLEMOVC A,@A+DPTRAA: MOV P1,ALCALL DELAYMOV P2,#01MOV R5,#05HMOV A,R5MOVC A,@A+DPTRBB: MOV P1,ALCALL DELAY ;初值59MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV IE,#82HMOV R0,#14HSETB TR0LOOP:SJMP $BRT0:DJNZ R0,NEXTCJNE R4,#00H,GG ;个位是否为0CJNE R5,#00H,HH ;十位是否为0ZZ: LCALL DDSJMP ZZ ;计数结束HH: DEC R5 ;十位减一MOV R4,#10 ;个位置10GG: DEC R4MOV R0,#14HRETINEXT:MOV TH0,#3CHMOV TL0,#0B0HLCALL DDRETIDELAY: ;2ms延时MOV R2,#2D2: MOV R3,#250D1: NOPDJNZ R3,D1DJNZ R2,D2RETDD:MOV P2,#02 ;动态显示MOV A,R4MOVC A,@A+DPTRMOV P1,ALCALL DELAYMOV P2,#01MOV A,R5MOVC A,@A+DPTRMOV P1,ALCALL DELAYRETTABLE: DB 0X40,0XF9,0X24,0X30,0X19,0X12,0X02,0XF8,0X00,0X10END实验总结:开始时,由于不知道怎么显示两位数,无法编写程序,后来在网上找到相关的显示方法和同学的帮助,最后还是做出了这个实验。

基于protues的单片机课程设计60s倒计时及电子时钟

基于protues的单片机课程设计60s倒计时及电子时钟
Limited to, the designer's knowledge is limited, shortcomings and mistakes are inevitable, earnestly hope that the teachers and students be criticized and corrected.
3、设计的大体分析: 这两个设计题目要求的硬件电路都主要由 AT89C51 芯片、LED 数码管显示器、晶
振产生电路、复位电路组成。其中电子时钟的课程设计外加了 8155 芯片的扩展电路。还 有 AT89C51 芯片主要由软件完成驱动。最终通过 Keil 与 Proteus 软件联调完成模拟仿真功 能。
限于,设计者的学识有限,缺点错误在所难免,殷切希望老师,同学给予批评、指正。 【关键词】 单片机;AT89S51; LED 数码管显示器;keil C51;倒计时器;电子时钟
英文摘要
Permeate 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, single 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 concrete application the software of[with] the object characteristics combine to make perfect.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1前言 (1)2工程概况 (2)3正文 (2)3.1 设计目的与要求 (2)3.2 设计方法的目标 (2)3.3 设计方法和内容 (2)3.3.1硬件设计方法 (3)3.3.2软件设计方法 (7)3.4 软件调试过程 (9)3.4.1 系统调试工具keil C51 (9)3.4.2 系统调试工具PROTEUS (9)3.4.3焊接电路,对各节点测试导通性 (10)4有关说明 (11)5设计总结 (11)6致谢 (11)7参考文献 (11)前言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

工程概况本次课程设计的主要概况是了解单片机控制的60s倒计时的过程。

是利用定时器和计数器的原理将倒计时过程显示在LED数码管上。

最后应用PROTEUS软件设计,仿真基于AT89c51单片机的60s倒计时实验。

通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

正文3.1 设计目的与要求课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

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

课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。

通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。

对于单片机控制的60s倒计时的要求如下:(1)用单片机AT89C51的定时器实现60s倒计时。

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

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

3.2 设计方法的目标通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。

通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

3.3 设计方法和内容本设计由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现60秒倒计时程序的编写,包括利用中断实现1秒的定时及60秒的倒计时。

具体设计:通过A T89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。

通过复位电路,在仿真过程中点击开关实现60复位。

图1 60秒倒计时总体电路设计3.3.1硬件设计方法AT89C51的芯片概述AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k BytesISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其工作电压在4.5-5V,一般我们选用+5V电压。

外形及引脚排列如图2所示:AT89C51主要特性图2:89C51的核心电路框图·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路AT89C51管脚说明(1)电源及时钟引脚(4个)Vcc: 电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。

(2)控制线引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚;ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。

(3)并行I/O引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;P1.0-P1.7:一般I/O口引脚;P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;P3.0-P3.7:一般I/O口引脚或第二功能引脚所需器件如下表所列LED数码管显示器概述本设计中采用的是7SEG–COM –ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。

实物如图3所示:图3 7SEG–COM –ANODE型号数码管数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

LED数码管有两种连接方法如下:共阳极接法。

把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。

共阴极接法。

把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。

每个发光二极管的阳极通过电阻与输入端相连。

图4 LED数码管有两种连接方法测量数码管引脚,分共阴和共阳两类:找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。

相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED (一般是8个),那它就是共阳的。

也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。

3.3.2软件设计方法图5 程序框图定时/计数器初值计算(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。

(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。

本设计中,设定中断每次溢出时间50ms。

(3)由上式得知,循环20次即可达到1秒定时,即:N=t/Tcy=0.05s/0.000001=5000X=65536-5000=15536=3CB0H(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。

(5)上电时,显示60,开始倒数计时按下开关实现复位。

软件程序ORG 00HSJMP STARORG 1BHSJMP T1S; 转T1中断服务程序ORG 30HSTAR: MOV R2,#60;倒计时初值MOV R4,#20;定时中断溢出计数器R4初值为20 MOV IE,#88H; T1开中断MOV TMOD,#10H; T1方式1MOV TH1,#3CH;定时初值MOV TL1,#OBOH;定时初值SETB TR1;启动T1ACALL DIS;调用显示子程序SJMP $TIS: MOV TH1,#3CH; 中断程序MOV TL1,#0B0H; 重装初值DJNZ R4,T1S1; 定时1S到否MOV R4,#20; 到1S,重置R4=20DJNZ R2,T1S0; 倒计时递减CLR TR1; 倒计时结束,关定时器T1S0: ACALL DIS;调显示T1S1: RETI;中断返回SEG7: INC A; A的值加一MOVC A,@A+PC; 取显示断段RETDB 0C0H,0F9H,0A4H,0B0H; 0至3的共阳型显示码DB 99H,92H,82H,0F8H; 4至7的共阳型显示码DB 80H,90H,88H,83H; 8至B的共阳型显示码DB 0C6H,0A1H,86H,8EH; C至F的共阳型显示码DIS: MOV A,R2;单字节十六进制数转为十进制数 MOV B,#10DIV ABACALL SEG7MOV P1,A;显示十位MOV A,BACALL SEG7MOV P2,A;显示个位RET;子程序返回END3.4 软件调试过程3.4.1 系统调试工具keil C51Keil C51 仿真器是一款利用KEIL C51 的IDE 集成开发环境作为仿真环境的廉价仿真器,是利用SST公司具有IAP功能的单片机SST89C58制作而成,主要是利用了SST89C58的IAP 功能,所谓IAP功能是In application program 的英文缩写,是在应用编程的意思,通俗一点讲就是:它可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进行编程。

相关文档
最新文档