1 / 12
文档名称:

数字时钟实验报告.doc

格式:doc   大小:334KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字时钟实验报告.doc

上传人:文库旗舰店 2019/10/3 文件大小:334 KB

下载得到文件列表

数字时钟实验报告.doc

相关文档

文档介绍

文档介绍:数字时钟实验报告班级:11电子信息姓名:实验课程:单片机应用实验名称:数字时钟的设计综合设计性实验:是○否○综合实验性实验:是○否○小组合作:是■否○一、实验目标:掌握数码管的动态扫描原理,设计数字时钟的实现。二、实验内容:1、数码管动态显示原理2、数字时钟走时的实现3、闹铃的实现三、实验软硬件设备:KeilC51软件,Proteus软件,51单片机试验台,联想电脑。四、实验原理图:  五、实验程序:/*********************************************************************///      //         采用8位LED动态扫描时钟演示程序//             /*********************************************************************///使用AT89C51单片机,12MHZ晶振,P0口输出段码,P2口作列扫描,用共阳LED数码管//key0调时位选用,key1加1键,key1为减1键#include""#definecharunsignedchar//charcodedis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*共阳LED段码表  "0" "1" "2" "3" "4" "5" "6" "7" "8" "9""不亮"  */        charcode scan_con[8]={0x20,0x10,0x08,0x04,0x02,0x01,0x40,0x80}; //列扫描控制字chardata timedata[6]={0x00,0x00,0x00,0x00,0x00,0x00};//计时单元数据初值,共6个chardata dis[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00};//显示单元数据,共6个数据chardatacon1s=0x00,con04s=0x00,con=0X00;//秒定时用sbitkey0=P3^0;sbitkey1=P3^1;sbitkey2=P3^2;///****************///1毫秒延时程序///***************/delay1ms(intt){inti,j;for(i=0;i<t;i++)for(j=0;j<120;j++);}/****************///键扫描子程序///****************/keyscan(){EA=0;if(key0==0){delay1ms(10);while(key0==0);if(dis[con]==10){dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];}con++;TR0=0;ET0=0;TR1=1;ET1=1;if(con>=6){con=0;TR1=0;ET1=0;TR0=1;ET0=1;}}//if(con!=0){if(key1==0){delay1ms(10);while(key1==0);timedata[con]++;if(timedata[con]>=10){timedata[con]=0;}dis[con]=timedata[con];dis[6]=0x0a;}}//if(con!=0){if(key2==0){delay1ms(10);while(key2==0);if(timedata[con]==0){timedata[con]=0x09;}else{timedata[con]--;}dis[con]=timedata[con];dis[6]=0x0a;}}EA=1;}///***********///扫描程序///**********/scan(){chark;  P2=0xff;for(k=0;k<6;k++){P1=dis_7[dis[k]];P2=scan_con[k];delay1ms(5);P2=0xff;}}/*************///初始化程序///*************/clearmen(){inti;for(i=0;i<6;i++){dis[i]=timedata[i];}TH0=0x3C;TL0=0xB0;//  ;50MS定时初值(T0计时用)TH1=0x3C;TL1=0xB0;//  ;50MS定时初值(T1计时用)TMOD=0X11;ET0=1;ET1=1;TR1=0;TR0=1;EA=1;//}/**********///主程序///*********/main(){clearmen(