欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《单片机课程设计》.docx

    • 资源ID:732579       资源大小:183.57KB        全文页数:17页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《单片机课程设计》.docx

    1、单片机课程设计单片机原理及应用课程设计报告 秒表设计专 业: 电子信息工程 班 级: 姓 名: 学 号: 11201062 指导教师: 2014年 5 月26 日(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级大标题靠左,加粗。二级大标题靠左,不加粗。)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映

    2、设计和实验成果,能用计算机绘制电路图和流程图。2.课程设计要求用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为0099秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。3. 硬件设计3.1 设计思想该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信

    3、号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。 3.2主要元器件介绍1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移

    4、位、右移位和半字节交换,以及位操作中的位置位、位复位等。暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。(2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部

    5、件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H.(3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。(4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。3.存储器组织

    6、和特殊功能寄存器AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间和访问指令。它有4个存储空间:片内存储器、片外存储器、片内数据存储器及片外存储器。4.功能电路介绍4.1 时钟电路和工作时序(1) 振荡器电路原理(2)振荡电路的接法4.2. LED数码管的结构和工作原理 LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,LED数码

    7、管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图。图1 这是一个7段两位带小数点 10引脚的LED数码管每一笔划都是对应一个字母表示 DP是小数点. 数码管分为共阳极的LED数码管、共阴极的LED数码管两种。下图例举的是共阳极的LED数码管,共阳就

    8、是7段的显示字码共用一个电源的正。led数码管原理图示意:图3 引脚示意图从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。共阳极LED数码管的内部结构原理图图4:图4 共阳极LED数码管的内部结构原理图共阴极LED数码管的内部结构原理图:图5 共阴极LED数码管的内部结构原理图表1.1 显示数字对应的二进制电平信号LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。A、静态显

    9、示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5840根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。B、动态显示驱动: 数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各

    10、自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 1)晶振电路 MCS-51单片机内部的晶振电路是一个高增益反相放大器,引用XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可以在20-100PF之间取值,这里

    11、取20PF,接线时要使晶体振荡器X1尽可能接近单片机。 2)按键部分电路接线在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有按键按下等。此系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始,P1.1暂停,P1.2清零,P1.3复位。3)显示电路电路显示电路我们采用的是数码管显示电路。用2个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各二极管的亮灭组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示温度,

    12、但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出极是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。4. 软件设计4.1 设计思想该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时

    13、钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。4.2软件流程图1)系统主程序流程图 2)定时器中断T0流程图4.3 子程序模块设计1)显示精度为1秒程序MAIN: MOV R0,#20 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV DPTR,#TABLE SETB EA SETB ET02)延时程序DELAY: ;误差 0us MOV R6,#01H

    14、DL0:MOV R5,#61H4.6秒表汇编程序;*;本程序实现秒表从0s计到99sK_S BIT P1.0 ;秒表开始控制位Z_T BIT P1.1 ;秒表暂停控制位 Q_L BIT P1.2 ;秒表清零控制位F_W BIT P1.3 ;秒表复位控制位SECOND EQU 30HTCNT EQU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0START: MOV DPTR,#TABLE MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 JB K_

    15、S,$ ;秒表开始控制位 MOV TH0,#3CH ;fosc=12MHz,定时50毫秒 MOV TL0,#0B0H MOV IE,#82H SETB TR0;*;对秒表的两位显示进行控制A1: LCALL DISPLAY MOV A,SECOND CJNE A,#99,A1 ;判断是否加到99秒CLEAR: MOV SECOND,#0 ;*;定时器中断服务程序,对 秒 计数INT_T0: JNB Z_T,ZT ;秒表暂停控制位NEXT: MOV TH0,#3CH MOV TL0,#0B0H INC TCNT MOV A,TCNT CJNE A,#20,RETUNE ;计时1秒 用#20 IN

    16、C SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#99,RETUNE MOV SECOND,#0RETUNE: RETI;*;显示控制子程序DISPLAY: JNB Q_L,CLEAR ;秒表清零控制位 JNB F_W,START ;秒表复位控制位 MOV A,SECOND ;显示秒表的两位 MOV B,#10 DIV AB CLR P3.6 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7 MOVC A,A+DPTR MOV P2,A ;片选信号 LCALL DELAY SETB P3

    17、.7ZT: JNB K_S,NEXT ;秒表暂停控制位 RET TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHDELAY: MOV R6,#10D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET END5. 调试运行 Protus仿真软件可以看做是构建了一个特殊的单片机系统,只要将所写程序的HEX文件导入该单片机系统,就可以它他一句句的执行所写的指令,也可以让它与Keil实现联调,程序有问题可以随时改,帮助快速调试程序。6. 设计心得体会本文主要从软硬件两方面说明设计的总体思路和设计的实现过程,预期的设计目

    18、的是:能够实现时钟的基本功能,正常显示分秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;并且对汇编语言有了更深刻的了解。设计过程中遇到程序设计问题,网上找到视频教程学习中断程序的编写,以及查阅C语言课本得以解决。通过网上视频学习了Proteus,对Proteus的运用有了一定的了解,通过编程对C语言也学到了不少,更重要的是,更进一步理解了单片机的功能与用法。 在做完设计之后,仔细回想这几天来的收获,和同学们互相帮助,共同进步,也复习了一学期来学过的一些知识。还有,学会了处理问题的方法,以及更多的耐心和学习的能力。参考书目:1李全钊、迟荣强,单片机原理及接口技术,高等教育出版社出版。2朱清慧、张凤蕊、翟天嵩、王志奎 , Proteus教程电子线路设计、制板与仿真,清华大学出版社出版。3李学礼 ,基于Proteus的80C51单片机实例教程,电子工业出版社出版。4周向红,51系列单片机应用与实践教程,北京航空航天大学出版社出版。 5单片机应用及技术,电子工业出版社6何宏、王红君、刘瑞安、张志宏,单片机原理及应用,基于Proteus单片机系统设计及应用。


    注意事项

    本文(《单片机课程设计》.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开