版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子技术课程设计报告专 业:电子信息工程班 级:07电本1班 题 目:30秒定时器 姓 名:王少阳、朱佩奇 指导教师:侯丽 二零零九年十月三十一日摘要此实验为三十秒定时器。定时器是生活中比较常见的电子仪器的功能之一。在10多个课题中,算是比较常见,但又比较实用,恰巧作者正在自学单片机,如果用单片机做的话,不失为一个学习的好机会。这个实验的难点和优点都是程序控制。因为单片机应用比较灵活,很有学习价值;而又因为它应用很灵活,所以必须学习大量的硬件知识和程序设计。本实验设计的要求:用常用的芯片在一块电路板上设计并制造出来一个三十秒定时器。设计的时候,并没有按照电子课程设计书上的照搬过来,而是自己根据
2、自学的单片机知识设计出的。这里介绍下单片机:嵌入式微控制器又称为单片机,它将cpu、存储器(少量的ram、rom或两者都有)和其它接口i/o封装在同一片集成电路里。常见的有holtek mcu系列、microchip mcu系列及8051等。 嵌入式dsp专门用来处理对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、fft(fast fourier transform)、频谱分析、图像处理的分析等领域,dsp正在大量进入嵌入式市场。最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路 复位电路 和电源 ,
3、 这时最小系统基本组成 当然还可以添加矩阵键盘 数码管等。此实验的原理是,利用单片机的最小系统,通过锁存器74hc573控制数码管,来实现30秒定时器的功能。【关键词】 单片机;stc89c52 ; led数码管显示器; keil c51;altium deigner;计时器 ;三极管c1008前言现在电子仪器发展迅速,而且功能越来越齐全化,体积微型化,仪器智能化;电压,电流要求越来越简单,功耗越来越低。而单片机就是其中的佼佼者。单片机有这体积小,功耗低(89c52功耗在100mw左右),功能强,性能价格比高,易于推广应用等显著特点,所以在现代社会中已经占统治地位。事实上单片机是世界上数量最多
4、的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过pc机和其他计算的综合,甚至比人类的数量还要多。我们学习了单片机,在条件的允许下,就能制作生活中几乎全部的看起来比较复杂的电子作品。本实验设计要求:记录实验过程中的主要步骤及细节,实现30秒定功能,其误差不超过1%。大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是
5、国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2-3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。在此实验设计中,制造者可以借此学到很多东西,也知道更多的知识要学。光学知识不动手是不行的,纸上谈兵,把问
6、题退到以后,很可能永远解决不了问题。三十秒定时器设计报告-单片机的初步学习与应用. .设计目的:实现30秒定时器;训练动手能力,学习单片机的控制与制作。.设计任务: 1.30秒计时器功能,两位数字显示,计时时间间隔为1秒;2.从1到30增计时,每次计时结束时,发光二极管闪动,蜂鸣器响,显示器显示0;3.设置外部开关,可使计时器直接清零。设计要求:使用常用芯片和其他元器件等,在一块电路板上实现30秒定时器。尽量使用所学知识。.设计过程:本实验过程包括:前期设计:原理图、pcb图的设计(dxp制作)c语言程序设计及hex等相关的文件的生成(keil软件编写)烧录程序至单片机(stc,单片机实验板)
7、元器件的收集实验制作:电源的设计电路板焊接后期的整理:电路检测,测算误差思路整理,记录得与失在本文只挑重点讲,不再一一记录了。.资料1:总设计图最小系统:原理图.资料二:pbc图。.参考程序:/*文件名 :实现30秒定时器* 描述 :该程序实现数码管从130跳动,每秒跳动一次。到30然后清零,led的闪烁, 在使用某款新单片机时,经常就用类似的闪烁灯程序来判断单片机是否正常* 创建人 : 王少阳,2009年12月15日* 版本号 : 1.0*/#include#include#define uint unsigned int /uint用来定义无符号整型数。#define uchar unsi
8、gned char /这里用uchar代替unsigned char,uchar用来定义无符号字uchar temp,aa,bai,shi,ge;sbit dula=p26;sbit wela=p27;sbit beep=p23; /定义蜂鸣器控制端口/*下一行code去掉后 table 会被存到 ram 中,因为单片机的 ram 比 rom 小的多*/*所以,对于不会改变的值应该用 code 或者 #define 去定义,让这些固定值存到 rom 中去*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x
9、77,0x7c,0x39,0x5e,0x79,0x71; /编码表:0到f的段控制void display(uchar shi,uchar ge);void delay(uint z);void init();/* 名称 : main()* 功能 : 主函数* 输入 : 无* 输出 : 无*/void main() init();/初始化子程序 while(1) if(aa=20) /当aa为 20 时,i 自加一次,20 * 50ms = 1s aa=0; emp+; if(temp=31) temp=0; bai=temp/100; shi=temp%100/10; ge=temp%10;
10、 display(shi,ge); if(temp=30) beep=1; /蜂鸣器响 delay(150); uchar i; while(1) p1 = 0x7f;/p1.7亮亮for(i=0; i7; i+)/移位7次 p1 = _cror_(p1, 1);/*_crol_()这个数在intrins.h中定义了,用于循环右移*/delay(15);p0 = 0xfe; for(i=0; i0;x-)for(y=110;y0;y-); /这个是通过软件仿真得出的数 /* 名称 : void display(uchar shi,uchar ge)* 功能 : 实现动态扫描* 输入 : shi
11、,ge* 输出 : 无*/void display(uchar shi,uchar ge) /* dula=1;p0=tablebai;dula=0;p0=0xff;wela=1;p0=0xfe;wela=0;delay(1);*/dula=1;p0=tableshi; /数码管段值dula=0;p0=0xff; /灯都熄灭,防止人眼的视觉停留wela=1;p0=0xfe;/1111 1110bwela=0;delay(2); /*延时,实现软件消抖,去掉的话会出现该暗的米有暗下去,这时人眼能分辨动态显示。*/dula=1;p0=tablege;dula=0;p0=0xff;wela=1;p0
12、=0xfd;/1111 1101bwela=0;delay(2); /* 名称 void init()* 功能 : 定时器的初始化,12mhz晶振,50ms* 输入 : 无* 输出 : 无*/void init() wela=0;dula=0;temp=0;tmod=0x01; /设置定时器0工作方式1。stc89c52是16位定时器。2的16次方=65536。th0=(65536-50000)/256;tl0=(65536-50000)%256;ea=1; /开总中断,ie7et0=1; /开定时器中断tr0=1; /启动定时器0 /* 名称 :void timer0()* 功能 : 定时器
13、中断,中断一次,aa 加一* 输入 : 无* 输出 : 无*/void timer0() interrupt 1 /中断优先级别为1;中断方式:定时/计数器0(t0)th0=(65536-50000)/256;tl0=(65536-50000)%256;aa+;程序的中的重点技巧:1.两位以上的数码管,是不能在静态时同时显示不同的符号的,所以就需要用到动态显示,具体方法是每位数码管一次都显示几毫秒,实现动态扫描,使人在肉眼难以分辨(人眼的分辨能力是0.1秒左右),例如:dula=1;p0=tablege;dula=0;p0=0xff;wela=1;p0=0xfd;/1111 1101bwela
14、=0;delay(2);2.常用程序驱动几个发光二极管来判断单片机是否工作正常,具体是用循环移动p1扣来实现。3. 如果按键按下,需要测试按键是否断开:while(!key1);4.按键在闭合和断开时,触点会存在5ms左右5ms左右按下会执行几个抖动脉冲,常用软件消抖,比较方便实用,先延时10毫秒,大致跳过抖动时间,然后再测试。如: delay(5); if(key1=0) 其他的在这里就不详细讲述了。为了保证程序能正确且正常运行,程序需要在单片机实验板上调试好了才能烧录,然后才能连接到电路板上。具体步骤:keil4编写程序生成hex文件(注意晶振频率为11.0592mhz)用stc把程序下载
15、到单片机上。.两个基本电路: 复位电路和晶振电路 复位电路:一般需要送4个时钟周期的高电平。按键后:电容器被短路放电、rst直接和vcc相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到rst,仍然是“复位状态”; 稍后,充电结束,电流降为0,电阻上的电压也将为0,rst降为低电平,开始正常工作。 晶振电路:产生一个固定频率的脉充,驱动芯片等元件工作。晶振也叫晶体振荡器,能产生振荡,其特点是固有频率十分稳定,而且震动具有多谐性,除了奇频震动外还有奇次谐波泛音震动。性能上,晶振的品质因素q和特性阻抗都非常高,而且接入系数很小,因此具有很高
16、的频率稳定度。两个小的瓷片电容叫负载电容,可以用来微调晶体震荡频率,这个电容要根据所用晶体来选择,晶体规格书里面会有其负载电容的值 大致为2035pf。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。.实验仪器,工具,元件:硬件:计算机,单片机实验板,吸焊器,电烙铁,万用表等软件:keil4 , stc , protel 20
17、04 dxp .1ic名单型号个数2单片机stc89c5213锁存器74hc57324数码管2位的,共阴极25晶振12mhz16电容39pf27电容10uf28开关按键开关29开关波动开关110电路板10*20111排阻10k欧112电阻3k欧113电阻30欧114发光二极管0.5v亮315单片机底座40引脚116三极管c1008 npn117蜂鸣器1元器件如表:.焊接电路: 按照pcb图99安置元件,尽量减小导线长度,布局要合理,紧凑。收集元件:主要通过指导老师购买,还自己购买,同学相互查找。实在凑不齐的可以考虑用其他的代替。比如:此实验中1k的电阻没有买到,用的是200代替。在满足实验原理
18、的的前提下,可以替代。检测元件:因为元件有可能已损坏,或者不准确,就可能会影响电路。所以用万用表测量他们的实际数值。其中电阻,电容,数码管,单片机底座,导线,开关都能用万用表测量,其他的因为实际实验条件的限制,不能测试和测量。比如,22pf的电容,在测量时,大小只有17pf,所以不能用。焊接:每焊接时都要用万用表测试是否焊接成功。焊接电路板时,布局合理紧凑,近的用锡连接,远的用导线练级,尽量使导线裸露的长度短些。有的导线比较密集,需注意不要短路。此实验中,密集点有单片机的p0口附近10个焊点和锁存器74hc573-1的20个。可用万用表测试相邻的两焊点是否短路。焊接错误时,用吸焊器把锡吸走,重
19、新焊接。电源线有7个地线,5个+5v。导线比较多,所以要注意布局合理。因为焊点比较多,所以错误不可避免,在实验中要细心+耐心。焊接完,要检测。用万用表检测电路是否连接良好,是否短路。注意事项:晶振,因为人体所带电磁波和人体手指电阻会破坏晶振的正常震荡,或者停振,所以程序会跑飞或者“死机”,复位按后单片机复位,当然就正常了!一般晶振是不能用受碰的,我自己做的电路,晶振引脚部位会用热熔胶封好!在晶体外壳上焊接一条线,然后接gnd.需要特别注意的是,单片机的驱动能力很低。单片机输出的电压虽然容易控制,但是它的输出电流有限,所以经常用一些方法增加它的驱动能力。此实验用到了接上拉电阻(10k的排阻),锁
20、存器输出,三极管驱动这三种方法。.测试:1.将电路接上稳压电源,先后执行电路的数码管定时,蜂鸣器报警,放光二极管闪动,暂停/继续定时。看是否满足设计要求。在时间误差的测试中,得到数据很接近真实数据,这是因为人的反应速度的误差,而是用定时器的计时方式,误差是非常小的,在日常生活中一般不予考虑,但是在高精度测量时,就很有必要了,所以我们要了解本实验的误差: 误差原因、大小及特点产生单片机定时器溢出中断与响应中断的时间误差有两个原因。一是定时器溢出中断信号时,正在执行某指令;二是定时器溢出中断信号时,正在执行某中断服务程序。 正在执行某指令时的误差及大小 由于正在执行某指令,因此它不能及时响应定时器
21、的溢出中断。当执行此指令后再响应中断所延迟的最长时间为该指令的指令周期,即误差的最大值为执行该指令所需的时间。由于各指令都有对应的指令周期,因此这种误差将因正在执行指令的不同而不同。如定时器溢出中断时,正在执行指令 , ,其最大误差为个机器周期。而执行指令 , 时,其最大误差为个机器周期。当正在执行乘法 或除法指令 时,最大时间误差可达个机器周期。在单片机指令系统中,多数指令的指令周期为个机器周期,因此最大时间误差一般为个机器周期。若振荡器振荡频率为,正在执行指令的机器周期数为,则最大时间误差为()。例如,正在执行乘法指令(),此时的最大时间误差为:()(-)() 正在执行某中断服务的程序时的
22、误差及大小 定时器溢出中断信号时,若正在执行同级或高优先级中断服务程序,则它仍需继续执行这些程序,不能及时响应定时器的溢出中断请求,其延迟时间由中断转移指令周期、中断服务程序执行时间、中断返回指令的指令周期及中断返回原断点后执行下一条指令周期(如乘法指令)组成。中断转移指令和中断返回指令的指令周期都分别为个机器周期。中断服务程序的执行时间为该程序所含指令的指令周期的总和。因此,最大时间误差为:()() () 若设,则最大时间误差为:() ()()()()。大约是由于上式中一般大于,因此,这种时间误差一般取决于正在执行的中断服务程序。当正在执行中断返回指令、或正在读写或指令时,这种误差在个机器周
23、期内。由上面可以看出在执行1秒的时间过程中,本实验程序中断1次,溢出2次,所以误差=(max1+2*max2)*30=(4+8*2)*30=600电路改进及发展:实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下面三种方法: 软件定时:软件定时不占用硬件资源,但占用了cpu时间,降低了cpu的利用率。 采用时基电路定时:例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。 采用可编程芯片定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。
24、在单片机的定时/计数器不够用时,可以考虑进行扩展。.对单片机做定时器的优点,和缺点:单片机讲求实时性,所以实时性好。资源紧张,要求功耗低多为针对应用的定制,功能相对单一,在上面跑的软件移植性差大多数不支持第三方软件,很多甚至没有操作系统,有的连mmu都没有。我们学生用单片机可以向嵌入式的工程应用方向发展,从事嵌入式系统的开发工作。总结其间,我熟悉了从构想设计、画电路图、分析电路、绘制pcb电路板、选择元件参数规格、购买元件、焊接、调试到最后的外形设计等产品生产步骤以及一些方法,通过与同学的讨论,解决了许多问题,但也出现了许多问题,比如数码管显示串连、单片机驱动低需要外加电路驱动等,还须在以后的学习中不断地探索、学习。另外,还要多与同学讨论、研究,多向别人请教,这样才能明白自己的迷团,学到新的东西;别人遇到的一些问题,自己也要参与解决,以增长见识。设计中,身边的导师、同学都给了我很大的帮助,我对他们表示衷心地感谢。在设计课题、方案的同学那里,我也得到了许多启发、搞清了许多问题。一些同学为了设计好实物,付出了很多:有的把自己的小家电拆了、有的自己舍不得吃穿但是还投入不少钱买工具、有的焊接时把手和衣服烧伤了、有的天很冷还加班折腾得大家好不轻松!我也应该好好学习他们的敬业精神! 课程设计的收获:1、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智慧农业项目承包合同10篇
- 2025年度海参养殖基地环境保护与生态补偿合同3篇
- 2025年度昌平区校园食堂承包项目竞争性磋商合同3篇
- 2025年度新能源汽车充电车位分期付款租赁合同4篇
- 2025年度现代化猪栏设施租赁合同3篇
- 2025年度商业物业承包经营合同范本4篇
- 2025年度新能源汽车融资租赁合同范本3篇
- 2025年度宠物店宠物购买合同附宠物用品租赁服务合同3篇
- 2025年度海绵城市建设项目特许经营合同3篇
- 2025年度商业步行街摊位租赁及商业管理合同4篇
- 管道坡口技术培训
- OQC培训资料教学课件
- 2024年8月CCAA国家注册审核员OHSMS职业健康安全管理体系基础知识考试题目含解析
- 体育赛事组织与实施操作手册
- 2024年浙江省公务员考试结构化面试真题试题试卷答案解析
- 2023年航空公司招聘:机场安检员基础知识试题(附答案)
- 皮肤储存新技术及临床应用
- 外研版七年级英语上册《阅读理解》专项练习题(含答案)
- 《现在完成时》语法复习课件(共44张-)
- 二年级下册语文《第3单元 口语交际:长大以后做什么》课件
- 2024年辽宁石化职业技术学院单招职业适应性测试题库必考题
评论
0/150
提交评论