版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、桂林理工大学博文管理学院实习报告实习名称: 单片机应用实践 专业班级: 学生姓名: 学号: 指导老师: 实习时间: 2015年12月14日至 2016年1月4日题目名称:基于MSP430G2231实现的简易电子时钟摘要:单片计算机即单片微型计算机。由 RAM ,ROM,CPU构成,定时,计数和 多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器, 通过它的时钟信号 进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。本系统利用单片机实现其具有闹钟、校时、开关数码管显示等功能的数字时钟. 是
2、以单片机MSP430G2553为核心元件同时采用四位一体的共阴数码管同时显示“时、分、秒的低功耗简易装置,显示极具人性化。另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。一、引言:1电子时钟的简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础, 电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。2电子时钟的基本特点 现在高精
3、度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、 石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。3数码管的工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极
4、,又称为负极。通常的数码管又分为 8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号
5、,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。二、系统框图根据设计要求与设计思路,确定该系统的设计方案,上图为该系统设计方案的硬件电路设计框图。硬件电路由8部分组成,即按键输入电路、单片机、时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位显示器电路和蜂鸣器电路。三、硬件部分:如图所示,在MCU选择上,我选择了20引脚的MSP430G2553,它是16位单片机,它有以下特点:低工作电压:1.83.6V、超低功耗:活动模式:280UA(1MHZ,2.2V);待机模式 :0.5UA;掉电模式 :(RAM数据保持)0.1UA。有5种节电模式;从待机到唤醒的响应时
6、间不超过1us;10位A/D转换器;(带有内部参考源、采样保持,最大采样率200Ks/s);16位精简指令结构(RISC),6.25ns指令周期;带有3个捕获/比较器结构的16位定时器;串行通信可软件选择UART/SPI/I2C三种模式;可在线串行编程,不需要外部编程电压;FLASH存储器为16KB,RAM为512B。这些功能足够用来做这款MINI桌面时钟,我采用了真个P1口作为数码管的数据端口,P2.0-P2.3为数码管的选通断,P2.4和P2.5为按键输入端,XIN和XOUT接32.768KHZ的晶振,所以它的引脚全部用上了,这样避免了硬件资源浪费。 显示部分选用了0.28英寸的共阴数带时
7、钟码管,这样可以满足尺寸的要求,正好可以利用数码管上面的秒显显示时钟的活动状态。 在时钟产生电路上面并没有采用DS1302,一是为了减小体积,而是因为采用在MCU外部加32.768KHZ晶振的方式足够满足时钟的需求,因为在MCU内部可以选择系统的主时钟为内部时钟源1MHZ,配置定时器的时钟源为外部晶振32.768KHZ,16位的定时器足够满足定时的精度要求。 按键电路采用的是轻触按键开关,经上拉电阻接MCU,按键的输入信号是低电平,一般按键在按下和松开时会有抖动现象,可以采用两种方式消除按键抖动,一是采用程序延时,一是采用硬件RS触发器,后者增加了成本和体积,前者完全可以满足需求,所以我选择了
8、软件消抖。四、软件部分:主函数是必须的,时钟配置函数需要把主时钟配置为DCOCLK 1MHZ,定时器时钟配置为ACLK时钟,使用外部32.768KHZ时钟源。端口初始化函数是将各个端口为输入或者输出,以及赋初值。定时器配置函数配置定时器工作在连续计数模式,并打开全局中断,每20MS产生一次中断。在定时器中断函数中,需要注意的是,让秒显每1S闪烁一次的方法是每500ms取反一次,在程序中,用dp取反并配合数码管数位分解和显示函数中的switch语句配合使秒显的闪烁实现。按键检测函数用来检测按键是否被按下,配合其他函数中的程序,赋予按键不同的功能。数位分解和数码管显示函数,是将产生的时间信息和调整
9、的时间信息实时显示到数码管上。按键控制开关显示是在正常走时状态下检测到按键按下后,对一个全局变量进行取反,在主函数中判断这个变量的值而来控制数码管选通端的开启或关闭。五、调试结果及总结:经过反复的多次检查硬件与调试,最终该作品的预期功能基本实现。特此总结:首先,对数码管显示的工作原理还不够熟悉。没有自主检查元器件的习惯,导致共阳数码管买成了共阴数码管,后来又要改原理图和程序代码,很大程度上影响了我的实习进度。那么在今后的作品制作中,对元器件的正确性的排查很有必要。其次,在调试过程中遇到数码管乱显示和不规律走跳的现象时,不会很好地利用手上的工具对作品进行排查,后来通过询问实习老师后才找到原因,这
10、在今后的实习也是非常需要注意的地方。随后,就是按键的失效问题,后来经过严格的排查,发现接地一端不稳定,导致芯片无法识别按键是否被按下,因此按键失效。通过本次的实习,使我收获良多。不但学习了MSP430G2553这款芯片,还温习了一遍老师以前讲过的数码管知识等。真干出知识,这句话果然没错,接着本次实习学到的知识与经验,希望在下次实习中做的更好,突破自己!附录:原理图:PCB图:实物图:关键代码:/*数码管显示函数*/void xianshi(uchar shi,uchar fen) P1OUT=0x00;P2OUT&=0xF0;/数码管清零 uchar s1=0,s2=0,s3=0,s4
11、=0;/定义局部变量 s1=shi/10;s2=shi%10;s3=fen/10;s4=fen%10;/数位分解 P2OUT&=BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT|=BIT3; P1OUT=tables1; _delay_cycles(1000); P2OUT|=BIT0;P2OUT&=BIT1;P2OUT|=BIT2;P2OUT|=BIT3; switch(dp)/小数点显示选择 case 1:P1OUT=(tables2&0x7F);break; case 0:P1OUT=tables2;break; default:break;
12、_delay_cycles(1000); P2OUT|=BIT0;P2OUT|=BIT1;P2OUT&=BIT2;P2OUT|=BIT3; P1OUT=tables3; _delay_cycles(1000); P2OUT|=BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT&=BIT3; P1OUT=tables4; _delay_cycles(1000);/*P2.5输入判断函数*/void IO_INIT() if(P2IN&0x20)=0) _delay_cycles(2); if(P2IN&0x20)=0) SW+; if(SW=3)
13、 SW=0; while(P2IN&0x20)=0);void IO_INIT2() if(P2IN&0x10)=0) _delay_cycles(2); if(P2IN&0x10)=0) ac=1; while(P2IN&0x10)=0);/*IO口初始化函数*/void SZ_INIT() P1DIR|=0xFF;/配置P1口为输出 P1OUT|=0xff;/P1口赋初值,输出0xFF P2DIR|=0x0F;/配置P2.0、P2.1、P2.2、P2.3为输出 P2DIR&=0xCF;/配置P2.4、P2.5为输入/*时钟调试函数*/void xua
14、nze() switch(SW) case 0: break; case 1: while(SW=1) _DINT(); if(P2IN&0x10)=0) _delay_cycles(2); if(P2IN&0x10)=0) bs+; if(bs=60) bs=0; while(P2IN&0x10)=0); xianshi(as,bs); IO_INIT(); break; case 2:while(SW=2) _DINT(); if(P2IN&0x10)=0) _delay_cycles(2); if(P2IN&0x10)=0) as+; dp=0;
15、if(as=24) as=0; while(P2IN&0x10)=0); xianshi(as,bs); IO_INIT(); break; default:break; /*定时器配置函数 */void dingshiqi() TA0CCTL0 = CCIE; /打开中断 (Timer0_A3 Capture/Compare Control 0 ) TA0CCR0 = 10080; /设定计数变量 TA0CTL = TASSEL_2 + MC_3; /定时器选择时钟SMCLK,使用模式二连续计数方式 _EINT(); /开总中断/*主函数*/void main( void ) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 SZ_INIT(); dingshiqi(); IO_INIT(); _EINT(); /开总中断 whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州大学《ERP软件原理与应用》2023-2024学年第一学期期末试卷
- 贵阳学院《有机化学I1》2023-2024学年第一学期期末试卷
- 贵阳信息科技学院《高级英语视听说》2023-2024学年第一学期期末试卷
- 广州珠江职业技术学院《英语听说二》2023-2024学年第一学期期末试卷
- 广州幼儿师范高等专科学校《地理课件制作》2023-2024学年第一学期期末试卷
- 2025重庆市安全员C证考试(专职安全员)题库附答案
- 广州铁路职业技术学院《数量经济学》2023-2024学年第一学期期末试卷
- 2025湖南建筑安全员《A证》考试题库
- 2025安徽省建筑安全员-B证考试题库附答案
- 2025湖南省安全员A证考试题库及答案
- 2023-2024学年沪科版九年级上学期物理期末模拟试卷(含答案)
- 测绘生产成本费用定额2022
- 卷扬机专项施工方案
- 对外投资合作国别(地区)指南 -泰国
- 2023年-2024年岗位安全教育培训试题及答案通用
- 口腔修复学(全套课件290p)课件
- 小学生心理问题的表现及应对措施【全国一等奖】
- 小学生科普人工智能
- 初中学段劳动任务清单(七到九年级)
- 退耕还林监理规划
- GB/T 1335.2-2008服装号型女子
评论
0/150
提交评论