




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告PAGE-单片机课程设计报告多功能秒表系统设计姓名:学号:专业班级:指导老师:所在学院:2021年6月10日摘要单片机已经无处不在,与我们生活更是息息相关并已渗透到了生活的方方面面。单片机的特点是体积小,重量轻,功能强,通用性好,也就是说集成度高,其内部的结构是普通的计算机系统的简化。在增加一些外围电路之后,就能成为一个完整的系统。在众多单片机中,MCS-51系列单片机具有系统结构完整,特殊功能寄存器规范化以及指令系统的控制功能强等特色,使起成为单片机中的主流机型。本设计是一个由AT89C51单片机控制,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路按键计时来实现的多功能秒表系统。在本次设计中我们以AT89C51单片机为主要器件,利用它的定时器/计数器定时和记数的原理,结合7809电源提供的+5V稳压电压,上电加按钮复位电路,晶体振荡电路,由P0口驱动的LED动态显示电路,键盘电路等来完成多功能秒表的设计。这个多功能秒表系统能够实现两位LED显示,显示的时间为00~99秒,每秒自动加1,能正确地进行加、减(倒)计时,能同时记录4个相对独立的时间,通过上翻键和下翻键来查看这4个不同的计时值,还具有快加和复位功能,基本上实现了老师的要求。我们使用汇编语言来编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独的设计,调试和管理,其中包括加1子程序、减1子程序、延时子程序、快加子程序,复位子程序和显示子程序等。将源程序代码在WAVE中进行编译和调试,硬件系统利用Proteus软件来实现,可以方便的看到运行结果。关键词:多功能秒表、单片机、子程序模块、Proteus仿真目录1概述 31.1单片机简介 ………………...………..31.2设计任务………………………31.3设计要求………………………32系统总体方案及硬件设计 42.1、电源 52.2、复位电路 52.3、晶体振荡电路 62.4、显示电路 72.5、键盘电路 83软件设计 93.1、设计思想 103.2、系统流程图 154Proteus软件仿真 175课程设计体会………….19参考文献 20附1:源程序代码 21附2:系统原理图 251概述1.1单片机简介单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。单片机自20世纪70年代初研制成功并发展至今,已进入第四代。它主要是在一块芯片上集成了CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。从单片机的系列来看,国内外已超过50个系列、近500个品种,当前正处于更新换代、百花齐放的时期。新的系列和专用系列正在不断涌现。按位数分类有4位、8位、16位以及32位单片机等,4位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了抵御8位机的竞争,4位机在结构和功能上都有很大的改进。8位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中intel公司的8051系列单片机在我国应用最为广泛,另外8位单片机也在其功能和内部结构上不断的进行改进,目前功能是越来越强大。16位单片机在数据处理以及单片机的性能上有了很大的改进。32位单片机是随着高科技产业的发展而产生的。1.2设计任务:设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、用两个LED数码管以及按键来设计00~99秒计时器。将软、硬件有机地结合起来,使得系统能够正确地进行加计时,同时数码管能够正确地显示时间。1.3设计要求:1、能同时记录四个相对独立的时间并分别显示。2、两位LED动态显示,显示时间为00~99秒。3、每秒自动加1。4、一个开始按键、一个复位按键、一个暂停按钮和一个快加按钮(每10ms快速加一)。5、翻页按钮查看四个不同的计时值。2系统总体方案及硬件设计本设计的最主要的元器件就是MCS-51单片机。MCS-51单片机在一块芯片上集成了CPU,存储器RAM,ROM以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机,简称单片机。MCS-51单片机是INTEL公司在1980年推出的高档8位单片机。它的典型产品有:8051,8031,8751,80C51,80C31,87C51。"图1:AT89C51单片机AT89C51(图1)单片机由CPU,振荡器与时序电路,4个8位的I/O端口(P0,P1,P2,P3),串行口等组成。P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图中的D0~D7为数据总线接口)。2、外部扩展存储器时,当作地址总线(如图中的A0~A7为地址总线接口)。3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用:其内部有上拉电阻。P2口有两个功能:1、扩展外部存储器时,当作地址总线使用;2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由寄存器来设置。ALE:地址锁存控制信号PSEN:外部程序存储器读选通信号EA/VPP:访问和序存储器控制信号RST:复位信号XTAL1和XTAL2外接晶振引脚VCC:电源+5V输入VSS:GND接地。图2:整体设计电路图2.1电源:采用7809电源提供+5V稳压电压。电源电路是单片机系统最基本的部分,所以我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,电源部分做好才能保证电路的正常工作。对电源电路来说,最重要的就是稳压,我们采用的是7809电源提供的+5V稳压电压。2.2复位电路:采用上电加按钮复位。其中,在这个系统中的复位电路是采用上电加按钮来实现的。因为MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地进行复位。MCS-51单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。图3:复位电路2.3晶体振荡电路:通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。图3晶振电路2.4显示电路:采用LED动态显示,用P0口驱动显示。显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示的程序比较复杂,但是所使用的端口比较少,可以节省单片机的I/O口,我们在这次系统设计中采用的是动态显示。但是由于我们编程知识的局限性,显示的结果并没有达到我们预期的效果,敬请老师原谅。图5:显示电路2.5键盘电路:用部分P1口做开始开关,P1.0停止,P1.1复位,P1.2快加,P1.3暂停记录,P1.4上翻,P1.5下翻,用外中断INT0开始,用软件法消除抖动。图5:键盘电路3软件设计3.1设计思想因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。其中的模块即为子程序,子程序是功能独立的程序段。子程序的基本思想是编写一次,可以重复使用。子程序的形式可以是一个程序文件,也可以是一个过程或函数。子程序总被其他程序调用而不单独执行,这与主程序相对。这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,加计数、减计数、延时、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。程序模块设计:主程序MAIN:MOVSP,#50HMOVTMOD,#11HMOV TH1,#0D8H;定时10ms MOV TL1,#0F0HMOV TH0,#0CFH;定时25ms MOV TL0,#02CH MOV 20H,#00H;BINSECONDMOV 30H,#00H;SECONDMOV 31H,#00H MOV 40H,#40MOV71H,#00HMOV72H,#00HMOV73H,#00HMOV74H,#00H;对71H—74H单元清零MOVR2,#04HMOVR3,#04HMOVR1,#71HSETBEASETBEX1CLRET1SETBET0CLRPT0CLRPT1SETBPX1SETBIT1MOV P0,#0FFH CLR TR0CLR TR1CLR7FH判断是否有键按下,并确定是哪一个键,转移到相应的子程序的入口地址去执行子程序。没有键按下则一直等待,直到有键按下。ML1: ACALL DISP;调用显示程序P1.0键按下时,计数停止START:JBP1.0,LOOP1ACALLDELAY10;延时JBP1.0,LOOP1;P1.0=1,跳转到LOOP1执行JNBP1.0,$LJMPSTOP;P1.0=0,跳转到停止子程序P1.1键按下时,数字清零复位LOOP1:JBP1.1,LOOP2ACALLDELAY10;延时JBP1.1,LOOP2;P1.1=1,跳转到LOOP2执行JNBP1.1,$LJMPRESET;P1.1=0,跳转到复位子程序P1.2键按下时,进行快加计数LOOP2:JBP1.2,LOOP3ACALLDELAY10;延时JBP1.2,LOOP3;P1.2=1,跳转到LOOP3执行JNBP1.2,$LJMPKUAIJIA;P1.2=0,跳转到快加子程序P1.3键按下时,执行记录功能LOOP3:JBP1.3,LOOP4ACALLDELAY10;延时JBP1.3,LOOP4;P1.3=1,跳转到LOOP4执行JNBP1.3,$LJMPJILU;P1.3=0,跳转到暂停记录子程序P1.4键按下时,执行上翻功能LOOP4:JBP1.4,LOOP5;P1.4=0,SHANGFANACALLDELAY10;延时JBP1.4,LOOP5;P1.4=1,跳转到LOOP5执行JNBP1.4,$LJMPXIAFAN;P1.4=0,跳转到上翻子程序P1.5键按下时,执行下翻功能LOOP5:JBP1.5,LOOP;P1.5=0,XIAFANACALLDELAY10;延时JBP1.5,LOOP;P1.5=1,跳转到LOOP执行JNBP1.5,$LJMPSHANGFAN;P1.5=0,跳转到下翻子程序LOOP:SJMPHERE(2)停止子程序软件对定时器0和定时器1的控制位清零,使定时器停止工作STOP:CLRTR0 CLRTR1ACALLDISPSJMPHERE(3)复位子程序软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示:RESET:CLRTR0CLRTR1;关闭定时器0,1MOV20H,#00HMOV30H,#00HMOV31H,#00HACALLDISP;调用显示子程序SJMPHERE(4)按键消抖程序DELAY10:MOVR4,#14H延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;若为1,则说明是抖动则继续向下判断。例如下面的程序中就调用了这个子程序。LOOP3:JBP1.3,LOOP4;P1.3=0时,暂停记录ACALLDELAY10JBP1.3,LOOP4JNBP1.3,$LJMPJILU3.2系统流程图1)、主程序:开始开始初始化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?P1.5=0?停止复位快加下翻上翻够4个?P1.0=0?NY暂停记录NNNNNYYYYYYYNP1.0=0?NNY2)、定时器1:压栈保护压栈保护赋定时初值到1秒?调用加1程序调用显示程序中断返回NY3)、加1程序:(20H)(20H)A进位清零做加法到100?(20H)清零个位十位分开返回NY4Proteus软件仿真我们利用WAVE软件对源程序进行编译,编译成功后,把编译结果保存。然后根据我们的软件在PROTEUS中设计出相应的硬件电路,并将该电路保存到与WAVE程序相同的文件夹中,最后将程序装载到单片机中,通过PROTEUS仿真,看程序是否能够实现预想的功能。源程序在WAVE软件中的编译结果:图6:源程序在WAVE软件中的编译结果PROTEUS仿真图如下图所示:图7:系统仿真结果1图8:系统仿真结果25课程设计体会经过一周的不懈努力,单片机的课程设计终于完成了。在这期间我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。1、本次课程设计使我加深了对单片机课程的全面认识,复习和掌握,对MC-51单片机有了更深入的了解,对I/O口的使用,晶振电路的接法,以及复位电路等的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。2、掌握定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4、还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。5、程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。6、我在编程过程中还有好多不理解的地方,经过老师和别人的帮助终于完成了这次设计。在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。在这次的单片机课程设计中,我遇到了很多困难,曾经也想到过要放弃,但我最后还是坚持下来了。由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中只实现了所有的基本要求和部分的高级要求,而且这其中还有许多不完善的地方,有时在上翻和下翻时会出现一些问题,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。总之,通过这次课程设计我学到了很多东西。它使我对单片机的理论知进行了全面的复习和系统的理解。本设计不仅将我们所学的理论知识应用到实际中去,同时也锻炼了自己的动手能力。与此同时,我还学会了要充分利用各种可学习的资源,提高自己独立学习的能力,独立思考的能力,查资料的能力,创新的能力及解决问题的能力。参考文献【1】余发山编著.单片机原理及应用技术.徐州:中国矿业大学出版社,2021年【2】杨凌霄编著.微型计算机原理及应用.徐州:中国矿业大学出版社,2021年【3】杨宁编著.单片机与控制技术.北京:北京航空航天大学出版社,2021年【4】王闪编著.AT89系列单片机原理与接口技术.北京:北京航空航天大学出版社,2021年【5】李群芳主编.单片机原理、接口及应用.北京:清华大学出版社,2021附1:源程序代码:ORG 0000HLJMP MAINORG0003HLJMPJILUORG 000BHLJMP TIME1ORG0013HLJMPZHONGDUANORG 001BHLJMP TIME10ORG 0100HMAIN:MOVSP,#50HMOVTMOD,#11HMOVTH1,#0D8H;定时10msMOV TL1,#0F0HMOVTH0,#0CFH;定时25msMOV TL0,#02CHMOV20H,#00H;BINSECONDMOV30H,#00H;SECONDMOV 31H,#00H MOV 40H,#40MOV71H,#00HMOV72H,#00HMOV73H,#00HMOV74H,#00HMOVR2,#04HMOVR3,#04HMOVR1,#71HSETBEASETBEX1CLRET1SETBET0CLRPT0CLRPT1SETBPX1SETBIT1MOV P0,#0FFH CLR TR0CLR TR1CLR7FHML1: ACALL DISPSTART:JBP1.0,LOOP1;P1.0=0,STOPACALLDELAY10JBP1.0,LOOP1JNBP1.0,$LJMPSTOPLOOP1:JBP1.1,LOOP2;P1.1=0时,复位ACALLDELAY10JBP1.1,LOOP2JNBP1.1,$LJMPRESETLOOP2:JBP1.2,LOOP3;P1.2=0时,快加ACALLDELAY10JBP1.2,LOOP3JNBP1.2,$LJMPKUAIJIALOOP3:JBP1.3,LOOP4;P1.3=0时,暂停记录ACALLDELAY10JBP1.3,LOOP4JNBP1.3,$LJMPJILULOOP4:JBP1.4,LOOP5;P1.4=0时,上翻ACALLDELAY10JBP1.4,LOOP5JNBP1.4,$LJMPXIAFANLOOP5:JBP1.5,LOOP;P1.5=0时,下翻ACALLDELAY10JBP1.5,LOOPJNBP1.5,$LJMPSHANGFANLOOP:SJMPHERESTOP:CLRTR0 ;停止程序CLRTR1ACALLDISPSJMPHERERESET:CLRTR0;复位程序CLRTR1MOV20H,#00HMOV30H,#00HMOV31H,#00HACALLDISPSJMPHEREJILU:MOVA,20H ;暂停记录程序MOV@R1,AINCR1DJNZR2,HEREMOVR1,#71HSJMPSTOPXIAFAN:MOVA,@R1;下翻程序MOV20H,AMOVB,#0AHDIVABMOV31H,AMOV30H,BLCALLDISPINCR1DJNZR2,HEREMOVR1,#74HSJMPSTOPSHANGFAN:MOVA,@R1;上翻程序MOV20H,AMOVB,#0AHDIVABMOV31H,AMOV30H,BLCALLDISPDECR1DJNZR3,HEREMOVR1,#71HSJMPSTOPKUAIJIA:SETBTR1;快加程序CLRTR0HEE:JNBTF1,HEECLRTF1ACALLJIA1ACALLDISPJNBP1.0,STOPSJMPHEEHERE:LJMPML1ZHONGDUAN:SETBTR0;启动定时器0CLRTR1RETITIME1: PUSHACC;定时1秒PUSHPSWMOV TH0,#0D8H MOV TL0,#0F0H DJNZ 40H,RET0LCALLJIA1LCALLDISP MOV 40H,#100RET0:POPPSWPOPACCRETITIME10:PUSHACC;定时10毫秒PUSHPSWMOV TH0,#0D8H MOV TL0,#0F0HRET1:POPPSWPOPACCRETIJIA1:MOV A,20H;加1 CLRC INCA CJNEA,#100,GO1 MOV20H,#00HRETGO1:MOV20H,AMOVB,#0AH DIVABMOV31H,AMOV30H,BRETDISP:MOV R0,#30H;显示MOV R3,#0FEHMOV A,R3PLAY:MOVP2,AMOVA,@R0MOVDPTR,#DSEG1MOVCA,@A+DPTRMOVP0,ALCALLDL1MOVP2,#0FFHMOVA,R3RLAJNBACC.2,LD1INCR0MOVR3,ALJMPPLAYLD1:RETDL1:MOV R7,#05HDL:MOV R6,#0FFHDL6:DJNZ R6,$DJNZ R7,DLRETDELAY10:MOVR4,#14H ;延时10毫秒DL00:MOVR5,#0FFHDL11:DJNZR5,DL11DJNZR4,DL00RETDSEG1:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND附2:系统原理图:
论大学生写作能力写作能力是对自己所积累的信息进行选择、提取、加工、改造并将之形成为书面文字的能力。积累是写作的基础,积累越厚实,写作就越有基础,文章就能根深叶茂开奇葩。没有积累,胸无点墨,怎么也不会写出作文来的。写作能力是每个大学生必须具备的能力。从目前高校整体情况上看,大学生的写作能力较为欠缺。一、大学生应用文写作能力的定义那么,大学生的写作能力究竟是指什么呢?叶圣陶先生曾经说过,“大学毕业生不一定能写小说诗歌,但是一定要写工作和生活中实用的文章,而且非写得既通顺又扎实不可。”对于大学生的写作能力应包含什么,可能有多种理解,但从叶圣陶先生的谈话中,我认为:大学生写作能力应包括应用写作能力和文学写作能力,而前者是必须的,后者是“不一定”要具备,能具备则更好。众所周知,对于大学生来说,是要写毕业论文的,我认为写作论文的能力可以包含在应用写作能力之中。大学生写作能力的体现,也往往是在撰写毕业论文中集中体现出来的。本科毕业论文无论是对于学生个人还是对于院系和学校来说,都是十分重要的。如何提高本科毕业论文的质量和水平,就成为教育行政部门和高校都很重视的一个重要课题。如何提高大学生的写作能力的问题必须得到社会的广泛关注,并且提出对策去实施解决。二、造成大学生应用文写作困境的原因:(一)大学写作课开设结构不合理。就目前中国多数高校的学科设置来看,除了中文专业会系统开设写作的系列课程外,其他专业的学生都只开设了普及性的《大学语文》课。学生写作能力的提高是一项艰巨复杂的任务,而我们的课程设置仅把这一任务交给了大学语文教师,可大学语文教师既要在有限课时时间内普及相关经典名著知识,又要适度提高学生的鉴赏能力,且要教会学生写作规律并提高写作能力,任务之重实难完成。(二)对实用写作的普遍性不重视。“大学语文”教育已经被严重地“边缘化”。目前对中国语文的态度淡漠,而是呈现出全民学英语的大好势头。中小学如此,大学更是如此。对我们的母语中国语文,在大学反而被漠视,没有相关的课程的设置,没有系统的学习实践训练。这其实是国人的一种偏见。应用写作有它自身的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧断路器合同协议书
- 联合拍地协议书
- 花呗升级协议书
- 缴费平台协议书
- 退房定金协议书
- 英文赠予协议书
- 混凝土开票个人协议书
- 签署保密协议书
- 自愿分房协议书
- 联营单位协议书
- 会展安全风险评估报告
- 河南省青桐鸣大联考普通高中2024-2025学年高三考前适应性考试英语试题及答案
- 内蒙古自治区通辽市2025届高三下学期三模生物试题 含解析
- 浙江省丽水市2023-2024学年高一数学下学期6月期末教学质量监控试题含答案
- 2025年合肥交通投资控股集团有限公司第一批次招聘38人笔试参考题库附带答案详解
- 浙江开放大学2025年《社会保障学》形考任务4答案
- DBJ04-T 312-2024 湿陷性黄土场地勘察及地基处理技术标准
- JJF1033-2023计量标准考核规范
- 颈椎病课件完整版
- 2023高中学业水平合格性考试历史重点知识点归纳总结(复习必背)
- 国防教育基地建设项目商业计划书写作模板招商-融资
评论
0/150
提交评论