《单片机课程设计报告-秒表(共12页).doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告-秒表(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上单片机课程设计报告院 系:*班 别:*课程名称:*姓 名:*学 号:*指导老师:*日期:*年*月*日一、 设计任务与要求用89C51设计一个2位的LED数码作为“秒表”。显示时间为0099秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。能存储三组计时。按一次开始键,开始计数,第二次按开始键后,计时停止。之后再按开始键,则轮流显示存储的三个计时值,直到按复位键后,再按开始键,则开始重新计时。二、 设计思想和设计说明 本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、
2、计时与显示电路和复位电路等。主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。利用中断系统使其能实现开始暂停的功能。P3.2,P3.3开口接2个按钮,分别实现开始,暂停,复位的功能。电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。三、 硬件原理框图复位电路AT89C52单片机控制器LED显示开关电路四、 硬件原理图与其软件配合五、 程序存储器和数据存储器的单元分配1、程序存储器 开始单元 结束单元 共用单元数(个) 0000H 0040H 64 2、数据存储器 地址 存储的数据 60H FFH 61H 01H 62H 3CH 63H
3、 0BH 64H C0H 65HF9H 66H A4H 67H B0H 68H 99H 69H 92H 6AH 82H 6BH F8H 6CH 80H 6DH 90H 6EH 00H 6FH 14H 70H 05H71H 87H72H 0AH 特殊功能寄存器地址通用功能寄存器 地址 P190H R1 01H P2 A0HR202H P3 B0H R3 03H A E0H TMOD 89H DPTR 82H、83H TCON 88H IE A8H六、 程序流程图是否是否开始定时器溢出中断对定时器重新赋值进行加一操作后重新计算时间往P0口和P2口送显示时间数码管显示中断返回主函数对定时器/计数器初
4、始化始化程序开始判断P04口是否有低电平信号开中断并启动定时器开始、暂停或者继续计数置零判断P07口是否有低电平信号七、 源程序清单= ORG 0000H AJMP MAIN ORG 0003H AJMP X0_INT ORG 000BH AJMP T0_INT ORG 0013H AJMP X1_INTMAIN: MOV TMOD,#01H ;T0定时方式1 MOV TH0, #(65536-50000) / 256 ;50ms12MHz MOV TL0, #(65536-50000) MOD 256; SETB TR0 SETB ET0 ;开启定时中断 SETB EX0 SETB EX1
5、SETB EA ;定时器初始化结束,下面循环显示即可 MOV R1, #99H ;099计数. MOV R7, #1 ;50ms计数. MOV P0, #3FH MOV P2, #3FHLOOP: SJMP LOOP;-DELAY: ;延时子程序.AA4: MOV R4, #0 DJNZ R4, $ DJNZ R4, $ RET;-X0_INT: ;启动/停止 CPL F0 RETI;-X1_INT: ;清零 MOV R1, #0 MOV P0, #3FH MOV P2, #3FH RETI;-T0_INT: ;50ms中断执行一次. MOV TL0, #(65536-50000) MOD 2
6、56; MOV TH0, #(65536-50000) / 256 ;50ms12MHz DJNZ R7, T0_END ;中断不到20次. MOV R7, #20 JNB F0, T0_END MOV A, R1 ADD A, #1 DA A MOV R1, A ANL A, #0FH MOV DPTR, #TAB MOVC A, A+DPTR ;查出段码 MOV P2, A MOV A, R1 SWAP A ANL A, #0FH MOVC A, A+DPTR ;查出段码 MOV P0, A ;显示十位数.T0_END: RETI;-TAB: DB 3FH,06H,5BH,4FH,66H,
7、6DH,7DH,07H,7FH, 6FH END=八、 芯片资料AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 AT89C52实物图 图2 AT89C52引脚图主要功能特性:1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8
8、bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。管脚说明:VCC、VPP:接电压。 VSS:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P
9、0 口作为原码输入口,当FIASH进行校验时,P0输出原码。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入, P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存
10、储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电
11、平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部 中断1)P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地
12、址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA
13、/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。九、 收获体会通过这次的秒表设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。本次设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。经过几天的奋战,我感受很深。 在设计过程中深感自己在培养动手能力这方面还需很大的努力。单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。在设计的过程中我也不可避免的遇到了很多的问题。尤其是在调试过程中,会因为某些原因出不来结果,但通过老师对我的帮助最后还是成功的完成了这次的设计。经过过这次的系统设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,也学会了很多上课时没掌握的东西, 最后在调试结果出来后,我更是无比的兴奋,无比的自豪。总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,这使我在以后的学习和生活中受用终身。专心-专注-专业
限制150内