您好,欢迎访问三七文档
辽宁工业大学单片机及接口技术课程设计(论文)题目:电子秒表的设计院(系):电子与信息工程学院专业班级:学号:学生姓名:指导教师:教师职称:起止时间:2014.6.30-2014.7.11II课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:通信工程教研室学号学生姓名专业班级课程设计(论文)题目电子秒表的设计课程设计(论文)任务任务和要求:1、采用单片机设计实现电子秒表2、按键控制起、停电子表3、具有存储多个时间记录的功能等设计内容:1、分析设计要求,明确性能指标;查阅资料、设计方案分析对比。2、论证并确定合理的总体设计方案,绘制总体结构框图,分析工作原理。3、完成各单元具体电路的设计:单片机最小系统、按键、显示等电路。包括元器件选择、工作原理分析。4、写出程序流程图及汇编源程序。5、完成课程设计说明书。指导教师评语及成绩平时成绩(20%):论文成绩(50%):答辩成绩(30%):总成绩:指导教师签字:学生签字:年月日辽宁工业大学课程设计说明书(论文)III目录第1章设计方案论证.........................................................11.1设计的应用意义......................................................1第2章硬件电路设计.........................................................22.1硬件设计............................................................22.2晶体振荡电路........................................................32.3复位电路............................................................32.4按键电路............................................................42.5显示电路............................................................42.6系统电路图..........................................................5第3章程序设计.............................................................63.1程序流程图..........................................................63.2源程序清单..........................................................7第4章设计总结............................................................11参考文献...................................................................12附录Ⅰ.....................................................................13附录Ⅱ.....................................................................14辽宁工业大学课程设计说明书(论文)1第1章设计方案论证1.1设计的应用意义本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。图1.1系统电路原理单片机外围电路电源电路显示电路键盘电路辽宁工业大学课程设计说明书(论文)2第2章硬件电路设计2.1硬件设计89C51单片机MCS-51系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分:(1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器(2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序(3)RAM:256B的片内数据存储器,容量小,但作用大(4)I/O口:P0-P3,共4个口32条双向且可位寻址的I/O口线(5)中断系统:共5个中断源,3个内部中断,2个外部中断(6)定时器/计数器:2个16位的可编程定时器/计数器(7)通用串行口:全双工通用异步接收器/发送器(8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号(9)总线控制:89C51对外提供若干控制总线,便于系统扩展89C51的引脚图如下:2.189C51单片机引脚图辽宁工业大学课程设计说明书(论文)32.2晶体振荡电路图2.2晶体振荡电路89C51芯片内部有一个高增益反相放大器,用于构成振荡器。引线XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,并对振荡频率有微调作用,C1和C2可在20-100PF之间取值,这里取33P。2.3复位电路采用上电加按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电加按键复位的操作。图2.3按键电路辽宁工业大学课程设计说明书(论文)42.4按键电路图2.4按键电路在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始/暂停,P1.1记录,P1.2上翻,P1.3下翻,P1.4清零。对于按键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。2.5显示电路图2.5显示电路显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用四个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。辽宁工业大学课程设计说明书(论文)5在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。2.6系统电路图图2.6整个电路图辽宁工业大学课程设计说明书(论文)6开始初始化化P1.0=0??P1.1=0??P1.2=0??P1.3=0??P1.4=0??停止下翻上翻够8个个?NY记录NNNNNYYYYY清零第3章程序设计3.1程序流程图辽宁工业大学课程设计说明书(论文)73.2源程序清单#includereg52.hCodeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管0-9Codeunsignedchartab1[]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};//共阴数码管0-9带小数点sbitkey1=P1.0;//开始、暂停sbitkey2=P1.1;//记数sbitkey3=P1.2;//上翻sbitkey4=P1.3;//下翻sbitkey5=P1.4;//清零staticunsignedcharms,sec;staticunsignedcharSec[8],Ms[8];staticinti,j;voiddelay(unsignedintcnt)//延时程序{while(--cnt);}voidmain(){unsignedcharkey3_flag=0,key4_flag=0;TMOD|=0x01;//定时器010msin12Mcrystal用于计时TH0=0xd8;TL0=0xf0;ET0=1;TR0=0;TMOD|=0x10;//定时器1用于动态扫描TH1=0xF8;TL1=0xf0;ET1=1;TR1=1;EA=1;sec=0;//初始化ms=0;P1=0xff;i=0;j=0;start:while(1){//开始、暂停if(!key1){//判断是否按下delay(50);//去抖if(!key1)while(!key1)辽宁工业大学课程设计说明书(论文)8//等待按键释放{;}TR0=!TR0;}//记录if(!key2)//判断是否按下{delay(50);//去抖if(!key2){while(!key2)//等待按键释放{;}if(i==8)//8组数据记录完毕{TR0=0;gotostart;}Sec[i]=sec;//将数据存入数组Ms[i]=ms;i++;}}//上翻if(!key3){delay(50);if(!key3){while(!key3){;}TR0=0;key3_flag=1;//按键3标志if(j==i)gotostart;elseif(key4_flag)j+=2;key4_flag=0;sec=Sec[j];ms=Ms[j];//显示数组里的内容j++;}}//下翻if(!key4){delay(50);if(!key4){while(!key4)辽宁工业大学课程设计说明书(论文)9{;}TR0=0;key4_flag=1;//按键4标志if(j0)gotostart;elseif(key3_flag)j-=2;_flag=0;sec=Sec[j];ms=Ms[j];//显示数组里的内容j--;}}//清零if(!key5){delay(50);if(!key5)while(!key5){;}TR0=0;ms=0;sec=0;for(i=0;i8;i++){Sec[i]=0;Ms[i]=0;}i=0;}}}/********************************//*定时中断1*//********************************/voidtime1_isr(void)interrupt3using0//定时器1用来动态扫描{staticunsignedcharnum;TH1=0xF8;//重入初值TL1=0xf0;switch(num){case0:P2=0xfe;P0=tab[sec/10];break;//显示秒十位case1:P2=0xfd;P0=tab1[sec%10];break;//显示秒个位case2:P2=0xfb;P0=tab[ms/10];break;//显示十位辽宁工业大学课程设计说明书(论文)10case3:P2=0xf7;P0=tab[ms%10];break;//显示个位default:break;}num++;if(num==4)num=0;}/********************************//*定时中断0*//********************************/v
本文标题:19电子秒表的设计
链接地址:https://www.777doc.com/doc-3101560 .html