欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    单片机原理及应用课程设计(电子时钟).doc

    • 资源ID:4147235       资源大小:185KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    单片机原理及应用课程设计(电子时钟).doc

    燕山大学课 程 设 计 说 明 书题目:单片机原理及应用课程设计(电子时钟)学院(系): 电气工程学院 年级专业: 09级仪表XXX班 学 号: 0XXXXXXXXX 学生姓名: XXXXXXXXXXX 指导教师: 张 淑 清 教师职称: 教 授 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:自动化仪表系学 号XXXXXXXXXXX学生姓名XXXXXXX专业(班级)仪表XXXX)班设计题目电子时钟设计技术参数1. 独立完成设计任务2. 编程,上机调试3. 连接硬件实验电路,实现所要求的功能4. 完场设计,提交课程设计报告设计要求 利用CPU的定时器和实验仪上提供的数码显示电路,设计一个电子时钟。格式如下:XX XX XX 由左向右分别为:时, 分, 秒工作量软件此案城与硬件调试相结合,绘制设计流程图,并编成进行硬件实现。参考资料1)单片机原理及应用技术 张淑清,国防工业出版社(教材)2)过程控制系统及仪表 邵裕森 巴筱云 编(教材)3)单片机及应用 李大友,高等教育出版社(教材)4)机械量测量 机械工业出版社(教材)指导教师签字张淑清基层教学单位主任签字谢平说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012年 7 月 1 日 摘 要本次设计时钟电路,利用CPU的定时器和实验仪上提供的数码显示电路,设计一个电子时钟。格式如下:XX XX XX 由左向右分别为:时, 分, 秒。并拓展功能闹钟。关键字:数码管 蜂鸣器 8031目 录第1章 绪论 5第2章 设计要求 5第3章 设计方案(包括原程序及其拓展功能) 5第4章 硬件部分 64.1 8031 单片机 64.2 复位电路 64.3 时钟电路 64.4 显示电路 74.5 蜂鸣器电路8第5章 软件部分9 5.1主程序模块95.2 100us 定时中断服务程序 115.3 程序(C语言)12心得体会 18参考文献 18第一章 绪论单片机是将CPU、RAMROM定时器/计数器以及输入输出(I/O)接口等计算机的主要部件集成在一块的集成电路芯片,作为微机系统它还可以实现模/数转换、脉宽调制、计数器捕获/比较逻辑、高速I/O口和WDT各种控制功能。通过在MCS-51系列的单片机中增设了全双工串行口I/O、片内数据存储器采用寻址范围为256kb的8位地址、均有四种工作方式的2个16位的定时/计数器、增加了中断系统、增设了颇具特色的布尔处理机、让单片机具有较强的指令寻址和运算功能这些技术,使单片机拥有了完善的外部并行总线(AB、DB、CB)具有多机识别功能的串行通信接口,规范了功能单元的特殊功能寄存器控制模式及适应控制器特点的布尔处理系统和指令系统,位发展具有良好兼容性的新一代单片机奠定了良好的基础。单片机被广泛地应用在各种领域。例如用来作家用电器中如洗衣机、电冰箱、微波炉、电饭煲、电视机、录像机以及其他视频音像设备的控制器;在办公室中用作大量通信、信息的承载体,比如磁盘驱动、打印机、复印机、电话等;它还可以来构成电子秤、收款机、仓储安全检测系统、空气调节系统等冷冻保鲜系统等的专用系统;在工业中,像工业过程控制、过程监制以及机电一体化控制等系统都是以单片机为核心火多网络系统;它还可以构成一些智能仪表与集成智能传感器传统的控制电路,实现一些像存储、数据处理、查找、判断、联网和语音功能等智能化功能,还可以构成一些电子系统中的集中显示系统、动力检测控制系统、自动驾驶系统、通信系统以及运行监视器等的冗余网络系统。第二章 设计要求1、准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60进位。 拓展功能:3、闹钟功能,一旦走时到该时间,能以蜂鸣器蜂鸣的形式告警提示 第三章 设计方案(包括原程序及其拓展功能)本次设计时钟电路,使用了8031单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用数码管来显示时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示。通过三个模块:芯片、蜂鸣器、数码管显示即可满足设计要求。第四章 硬件部分4.1 8031 单片机4.2 复位电路4.3 时钟电路4.4 显示电路本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。机器周期=10*晶振周期=12*系统时钟周期4.5 蜂鸣器电路电路接法:三极管选定PNP型,基极B连接5V电压,发射极E连接一个1K左右的电阻后接I/O口,集电极C连接蜂鸣器后接地。单片机在复位后的个I/O口是高电平,此时三极管是截止的,编写程序使选定的I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴的响声。其中电阻R1在电路里起分压限流的作用,PNP三极管起到模拟开关的作用。第5章 软件部分定时器每100us中断一次,在中断服务程序中,对中断次数进行计数,100us计数10000次就是1秒,然后再对秒计数得到分和小时值,并送入显示缓冲区。5.1主程序模块:主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置8031的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。5.2 100us 定时中断服务程序5.3 程序(C语言)#include <reg51.h>#define LEDLen 6#define PB1 2 / 164 时钟位#define PB0 1 / 164 数据位xdata unsigned char OUTBIT _at_ 0x8002; / 位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLen; / 显示缓冲code unsigned char LEDMAP = / 八段管显示码 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;void Delay(unsigned char CNT) unsigned char i; while (CNT- !=0) for (i=100; i !=0; i-);void DisplayLED() unsigned char i, j; unsigned char Pos; unsigned char LED; Pos = 0x20; / 从左边开始显示 for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 关所有八段管 LED = LEDBufi; OUTSEG = LED; OUTBIT = Pos; / 显示一位八段管 Delay(1); Pos >>= 1; / 显示下一位 / =#define Tick 10000 / 10000 x 100us = 1s#define T100us (256-50) / 100us时间常数(6M)unsigned char Hour, Minute, Second;unsigned int C100us; / 100us记数单元void T0Int() interrupt 1 C100us-; if (C100us = 0) C100us = Tick; / 100us 记数器为0, 重置记数器 Second+; if (Second = 60) Second = 0; Minute+; if (Minute = 60) Minute = 0; Hour+; if (Hour = 24) Hour = 0; void main() TMOD = 0x02; / 方式2, 定时器 TH0 = T100us; TL0 = T100us; IE = 0x82; / EA=1, IT0 = 1 Hour = 0; Minute = 0; Second = 0; C100us = Tick; TR0 = 1; / 启动定时器0 while (1) LEDBuf0 = LEDMAPHour/10; LEDBuf1 = LEDMAPHour%10 | 0x80; LEDBuf2 = LEDMAPMinute/10; LEDBuf3 = LEDMAPMinute%10 | 0x80; LEDBuf4 = LEDMAPSecond/10; LEDBuf5 = LEDMAPSecond%10; DisplayLED(); 5.4 拓展功能程序(闹钟)闹钟时间为7时10分15秒,当电子时钟走到7时10分15秒时,蜂鸣器蜂鸣。#include <reg51.h>/.添加部分sbit Speaker = P11;/.#define LEDLen 6#define PB1 2 / 164 时钟位#define PB0 1 / 164 数据位/.添加部分void Delay1();/.xdata unsigned char OUTBIT _at_ 0x8002; / 位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLen; / 显示缓冲code unsigned char LEDMAP = / 八段管显示码 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;/.添加部分void beep() int k=10; while(k!=0) Speaker = 0; Delay1(); Speaker = 1; Delay1(); k-; /.void Delay(unsigned char CNT) unsigned char i; while (CNT- !=0) for (i=100; i !=0; i-);void DisplayLED() unsigned char i, j; unsigned char Pos; unsigned char LED; Pos = 0x20; / 从左边开始显示 for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 关所有八段管 LED = LEDBufi; OUTSEG = LED; OUTBIT = Pos; / 显示一位八段管 Delay(1); Pos >>= 1; / 显示下一位 / =#define Tick 10000 / 10000 x 100us = 1s#define T100us (256-50) / 100us时间常数(6M)unsigned char Hour, Minute, Second;unsigned int C100us; / 100us记数单元void T0Int() interrupt 1 C100us-; if (C100us = 0) C100us = Tick; / 100us 记数器为0, 重置记数器 Second+; if (Second = 60) Second = 0; Minute+; if (Minute = 60) Minute = 0; Hour+; if (Hour = 24) Hour = 0; /.添加部分void Delay1() unsigned char i; for (i=0; i<50; i+);/.void main() TMOD = 0x02; / 方式2, 定时器 TH0 = T100us; TL0 = T100us; IE = 0x82; / EA=1, IT0 = 1 Hour = 0; Minute = 0; Second = 0; C100us = Tick; TR0 = 1; / 启动定时器0 while (1) LEDBuf0 = LEDMAPHour/10; LEDBuf1 = LEDMAPHour%10 | 0x80; LEDBuf2 = LEDMAPMinute/10; LEDBuf3 = LEDMAPMinute%10 | 0x80; LEDBuf4 = LEDMAPSecond/10; LEDBuf5 = LEDMAPSecond%10; DisplayLED();/.添加部分 if( Hour = 7&&Minute = 10&&Second = 15) beep(); /. 心得体会通过本次实验,使我对Proteus 7 Professional软件的使用方法有了初步的了解,还认识了8031单片机的结构及各个端口的功能。 虽然在本次试验中遇到了的问题,都在同学的帮助下解决了,同时还进一步了解了单片机方面的有关知识。该课程设计中应用到了蜂鸣器、数码管,并且要求在一个电路板上将各个功能集成在一起,数码管计时以及蜂鸣器发生。以前我们做试验都是一个功能一个功能的完成,从来没有一起实现过。经过老师的讲解和分析,我们可以用扫描的程序来解决,将各个功能设置在不同的模块作为子程序一一调试,这样就可以实现全部功能并互不干扰。最后完成调试和下载,终于正常工作,但是还是有一些问题没有解决,但是整体上还是成功的,这些问题下去还会继续研究,直到将它消除。参考文献1)单片机原理及应用技术 张淑清,国防工业出版社(教材)2)过程控制系统及仪表 邵裕森 巴筱云 编(教材)3)单片机及应用 李大友,高等教育出版社(教材)4)机械量测量 机械工业出版社(教材)燕山大学课程设计评审意见表指导教师评语:成绩: 指导教师: 2011年 6月 25 日答辩小组评语: 成绩: 评阅人: 2011年 6月 25 日课程设计总成绩:答辩小组成员签字: 赵彦涛、程淑红、林洪斌2011年 6月 25 日

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开