单片机C51时钟的设计报告_第1页
单片机C51时钟的设计报告_第2页
单片机C51时钟的设计报告_第3页
单片机C51时钟的设计报告_第4页
单片机C51时钟的设计报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计报告设计名称:单片机电子时钟的设计班级:电信08级1班学号:指导教师:课程设计的目的 单片计算机即单片微型计算机。( Single-Chip Microcomputer ),是集CPU ,RAM ,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、 设计、开发软、硬的能力。二、课程设计的具体要求:该课程设计是利用 MCS-51单片机部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子

2、时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控 制等。用定时/计数器 TO,工作于定时,采用方式 1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算)。形成定时时间为 50ms用片RAM的7BH单元对50ms计数,计20次产生秒计数器 78H单元 加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加 到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示岀来。显示格式为小时十位、小时个位-分十位、分个位-秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理三. MC

3、S-51单片机系统简介40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。1.电源:VCC - 芯片电源,接 +5V;VSS - 接地端;注:用万用表测试单片机引脚电压一般为机程序正在工作时候测试结果并不是这个值而是介于 这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v,这是标准的 TTL电平。但有时候在单片0v-5v之间,其实这是万用表的响应速度没0v或者5v。2. 时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。3. 控制线:控制线共有 4根,ALE/PROG:地址锁存允许/片EPROM编程脉冲 ALE功能:用来锁存 P0 口送出的低 8位地址

4、PROG功能:片有 EPROM勺芯片,在 EPROMS程期间,此引脚输入编程脉冲。PSEN:夕卜ROM读选通信号。RST/VPD:复位/备用电源。 RST ( Reset )功能:复位信号输入端。 VPD功能:在 Vcc掉电情况下,接备用电源。EA/Vpp:夕卜ROM选择/片EPROM编程电源。 EA功能:夕卜ROM选择端。 Vpp功能:片有 EPROM勺芯片,在 EPROM编程期间,施加编程电源Vpp。4. I/O 线80C51共有4个8位并行I/O 端口: P0、P1、P2、P3 口,共 32个引脚。P3 口还具有第二功能,用于特殊信号输入输岀和控制信号(属控制总线)四、MCS-51单片机

5、部定时器/计数器、中断系统简介定时/计数器是单片机中重要的功能模块之一,在检测,控制和智能仪器等设备中经常用它来定时。MCS-51系列中51子系列有2个16位的可编程定时/计数器:T0和T1;每个定时计数器既可以对系统时钟计数实 现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。T0有4种工作方式,T1有3种工作方式,T2有3种工作方式,可通过编程设定。每个定时/计数器计数事件到时产生溢岀,使相应的溢岀位置位,溢岀可通过查询或中断方式处理。2. 中断系统简介MCS-51单片机提供5个硬件中断源:2个外部中断源INT0(P3.2)和INT1(P3.3),2个定时/计数器TO和T1 的

6、溢出中断TFO和TF1; 1个串行口发送TI和接收RI中断。TO中断服务程序流程图如图11.3。五、键盘和LED数码管显示器简介本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。按键处理设置为:如没有按键,则时钟正常走时。当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调 整;最后按K0键将退岀调整状态,时钟开始计时运行。六、基本原理1 .定时器/计数器T0定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为 50ms,定时时间到则中断,在中断

7、服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0, 标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。七硬件电路C247uFX1189CRYSTAL1947uFR35.1k,XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2

8、.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT-P1.4P3.4/T0P1.5P3.5/T1P1 6P3 6AWP1.7P3.7/RD-U13938373634333221232930-31-2527281104581780C5113-1415-166723K0键为模式选择键,按第一次暂停,设小时; 按第二次暂停,设分,按第三次重新开始走动。 K1为加1键,K2为减1健。八、软件程序流程及代码1. T0中断服务程序流程图开始现场保护,重置初值启动下一个50ms50ms计数器加11是秒单元加1,50ms计数器清0,秒

9、写入秒个位和秒十位1二秒单元=60?否否50ms 计数器=20 ?=-1!是分单元加1,秒单元清0,分写入分个位和分十位1r分单元=60?.1.是时单元加1,分单元清0,时写入时个位和时十位时单元=24?时单元清0中断返回2.主程序流程图T0、T1设为16位计数模式忖允许T0中断调用显示子程序按下键否? 进入功能程序3. 程序代码ORG 0000HLJMP STARTORG 000BH;定时器/计数器T0中断程序入口LJMP INTT0;主程序START MOV R0, #70HMOV R7, #0CHINIT : MOV R0 , #00HINC R0DJNZ R7, INITMOV 72H

10、, #10MOV 75H, #10MOV TMOD #01HMOV TL0, #0B0HMOV TH0, #03CHSETB EASETB ET0SETB TR0START1 LCALL SCANLCALL KEYSCANSJMP START1;延时1MS子程序DL1MS MOV R6 #14HDL1: MOV R7, #19HDL2: DJNZ R7, DL2DJNZ R6, DL1RET;延时20MS子程序DL20MS ACALL SCANACALL SCANACALL SCANRET;数码管显示程序SCAN MOV A 78H;时间存入显示缓冲区相应位置MOV B, #0AHDIV AB

11、MOV 71H, AMOV 70H, BMOV A 79HMOV B, #0AHDIV ABMOV 74H, AMOV 73H, BMOV A, 7AHMOV B, #0AHDIV ABMOV 77H, AMOV 76H, BMOV R1, #70H;循环扫描显示MOV R5 #80HMOV R3 #08HSCAN1 MOV A, R5MOV P2, AMOV A, R1MOV DPTR #TABMOVC A A+DPTRMOV P0, AMOV A, R5LCALL DL1MSINC R1MOV A, R5RR AMOV R5 ADJNZ R3 , SCAN1MOV P2, #00HMOV

12、P0, #0FFHRETTAB DB 0C0H , 0F9H, 0A4H, 0B0H, 99H, 92H , 82H, 0F8H, 80H , 90H, 0BFH;“0g,“ - ”的共阳极字段码;定时器/计数器T0中断服务程序INTT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0 , #0B0HMOV TH0, #03CHSETB TR0INC 7BHMOV A, 7BHCJNE A , #14H, OUTT0MOV 7BH, #00INC 78HMOV A, 78HCJNE A , #3CH OUTT0MOV 78H, #00INC 79HMOV A,79H

13、CJNE A, #3CH OUTTOMOV 79H, #00INC 7AHMOV A 7AHCJNE A, #18H, OUTTOMOV 7AH #00OUTTOSETB ET0POP PSWPOP ACCRETI;按键处理程序KEYSCAN CLREAJNBP1.0 ,KEYSCAN0JNBP1.1 ,KEYSCAN1JNBP1.2 ,KEYSCAN2KEYOU: SETBEARETKEYSCAN0 LCALL DL20MSJB P1.0 , KEYOUTWAIT0 JNB P1.0 , WAIT0INC 7CHMOV A, 7CHCLR ET0CLR TR0CJNE A, #03H, KE

14、YOUTMOV 7CH, #00SETB ET0SETB TR0SJMP KEYOUTKEYSCAIN1 LCALL DL20MSJB P1.1 , KEYOUTWAIT1: JNB P1.1 , WAIT1MOV A, 7CHCJNE A, #02H, KSCAN11INC 79HMOV A, 79HCJNE A, #3CH KEYOUTMOV 79H, #00SJMP KEYOUTKSCAN11 INC 7AHMOV A, 7AHCJNE A, #18H, KEYOUTMOV 7AH #00SJMP KEYOUTKEYSCAN2 LCALL DL20MSJB P1.2 , KEYOUTWA

15、IT2 JNB P1.2 , WAIT2MOV A 7CHCJNE A, #02H, KSCAN21DEC 79HMOV A 79HCJNE A, #0FFH, KEYOUTMOV 79H, #3BHSJMP KEYOUTKSCAN21 DEC 7AHMOV A 7AHCJNE A, #0FFH, KEYOUTMOV 7AH #17HSJMP KEYOUTEND九设计制作流程1、在PROTEU中设计硬件PROTEU软件使用过程如下:1)选择元器件2)放置元器件3)连线4)添加程序5)运行仿真元器件清单如下:单片机:80C52按键:BUTTON电阻:RES电容:CAP晶振:CRYSTALLED数码管:7SEG-MPX8-CA-BLUECA 共阳,CC 共阴)地: GRAND电源:POWER2、在KEIL51中编写程序,编译、连接形成 HEX文件。3、在PROTEU中把HEX文件加载到单片机芯片上。4、运行仿真看结果。十总结这次课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论