单片机控制的60s倒计时学号:093200XX姓名:!!!!摘要本设计利用定时器和计数器的原理将倒计时过程显示在LED数码管上。最后应用PROTEUS软件设计,仿真基于AT89c51单片机的60s倒计时实验。本设计由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现60秒倒计时程序的编写,包括利用中断实现1秒的定时及60秒的倒计时。关键词AT89C51数码管设计60s倒计时简介AT89C51AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其工作电压在4.5-5V,一般我们选用+5V电压。数码管介绍数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。LED数码管有两种连接方法如下:共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。程序设计#includereg52.h#defineucharunsignedchar#defineuintunsignedintuchartemp,bai,shi,ge,num;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uint);voidmain(){temp=60;num=0;P2=0x00;TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;while(1){shi=temp/10;ge=temp%10;P0=table[shi];P2=0x02;delay(5);P0=table[ge];P2=0x01;delay(5);}}voidT0_time()interrupt1{TH0=(65536-45872)/256;TL0=(65536-45872)%256;num++;if(num==40){num=0;temp--;if(temp==0){temp=60;}}}voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}用Proteus软件仿真经Keil软件编译通过后,可利用Proteus软件进行仿真。在ProteusISIS编辑环境中绘制仿真电路图,将编译好的“Ex1.hex”文件载入AT89C51。启动仿真后,可看到60s倒计时。如下图所示:设计总结这次课程设计学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。