电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟

上传人:仙*** 文档编号:34326932 上传时间:2021-10-21 格式:DOC 页数:25 大小:527KB
收藏 版权申诉 举报 下载
电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟_第1页
第1页 / 共25页
电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟_第2页
第2页 / 共25页
电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟_第3页
第3页 / 共25页
资源描述:

《电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟》由会员分享,可在线阅读,更多相关《电子技术综合设计总结报告多路放大与巡回测量多功能数字时钟(25页珍藏版)》请在装配图网上搜索。

1、 成都信息工程学院电子工程学院电子技术综合设计总结报告题 目: 多路放大与巡回测量 多功能数字时钟 专 业: 电子信息工程 班 级: 信处081班 姓 名: 指导教师: 评 分: 2011年 11 月 10日23目 录1 项目计划11.1 方案可行性11.1.1 市场分析11.1.2 设计方案选择11.2 项目执行计划12 设计说明22.1 各单元模块设计原理22.1.1 多路放大与巡回测量电路22.1.2 多功能数字钟模块与掉电保护系统22.1.3 电源模块32.1.4 按键模块42.1.5 最小系统模块42.1.6 显示模块52.2 各单元模块设计流程62.3 部分源程序及注解63 调试说

2、明103.1 调试方法及步骤103.1.1仿真103.1.2产品调试104 总结105 参考文献116 附录111 项目计划1.1 方案可行性1.1.1 市场分析多路放大与巡回测量电路能应用于自动化生产,或某些大型设备(如激光),它通过对各参数的分析由电路实现对电压的巡回检测,监视及报警,以确保系统的稳定性,所以它的应用市场还是有一定的前景。数字时钟,是一种基于液晶显示,能直观显示日期与时间的显示产品。由于其方便、直观的特点,它被广泛应用于银行、车站、机场等公共场所,所以也具有广泛的市场。1.1.2 设计方案选择微型计算机渗透到测试领域并得到充分应用,是现代测试技术的发展必然趋势,也是作为现在

3、智能仪表的一般方法,目前市场上的单片机从数据总线的宽度上分为8位,16位,32位,其中32位近年来在信号处理与分析以及语音数字图像处理等方面运用比较广泛,而运用于测量的还是8位和16位占主导地位而基于本课题的要求我们选择8位足矣,加之其中51芯片我们比较熟悉其外围电路以及编程环境,所以在硬件上我们选择了基于51单片机芯片加以设计。而在软件上我们选择了keil软件,运用C语言编程。至于数字时钟的实现,只需在多路巡回放大电压的基础上,加以数码管作为显示,再辅以软件实现即可。1.2 项目执行计划表1设计开发阶段的划分及主要内容人员负责人完成期限硬件原理谭凯,李伟伟谭凯2011-10-15软件编程谭凯

4、,李伟伟谭凯2011-10-30产品制作及调试谭凯,李伟伟李伟伟2011-11-05报告书写谭凯,李伟伟李伟伟2011-11-102 设计说明2.1 各单元模块设计原理2.1.1 多路放大与巡回测量电路该模块电路实现的原理是:将电压待测管脚与单片机I/O口相连。将最后一路设置0-50mv的小信号,将经LM324放大并经射随器隔离后再采集。当采集电压高于预设电压的上限或低于预设电压下限的时候LED将闪烁,实现报警功能。放大电路部分通过LM324放大电路实现,通过两级放大,电压放大倍数为66。图12.1.2 多功能数字钟模块与掉电保护系统该模块采用时钟芯片DS1302,它可以对年、月、日、周日、时

5、、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。利用单片机对芯片数据进行读写,达到显示时间的作用。芯片的SCLK、 I/O、 RST管脚分别与单片机的P2.0、P2.1、P2.2相接。掉电保护系统的实现原理是:主系统正常供电的时候进行充电,当主系统断电后电容放电对体统提供供电。具体电路如下图

6、所示:图22.1.3 电源模块该系统采用直接外接5V供电,加了一个LED来显示是否通电,并用了一个10uF的大电容和一个0.1uF的小电容对电源进行滤波处理。具体电路如下图所示:图32.1.4 按键模块本系统的按键部分由4个功能按键构成。S3接单片机P3.2它的功能是:模式选择。S4接单片机P3.3它的功能是:日期时间(年月日时分秒)的设置选择。S5接单片机P3.4它的功能:加功能。S6接单片机P3.5它的功能是:减功能。具体电路如图:图42.1.5 最小系统模块单片机的最小系统包含一个上电复位电路(对单片机进行初始化)与一个晶体振荡电路(为单片机提供时序)。电路如图5所示。复位电路的工作原理

7、是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。图52.1.6 显示模块本系统采用一个8段数码管来显示日期与时间,它的段码与单片机的P0口相接,而位选与单片机的P2口相接。电路如图6所示: 图62.2 各单元模块设计流程开始定时器T0、液晶显示、1302初始化按键处理显示信息处理电压时钟报警掉电保护NY部分源程序及注解#include #include ds1302.h#include led.h/#include key.h/#include DAC.H#define uchar un

8、signed char#define uint unsigned int#define LED_DUANP0#define LED_WEIP2/#define BEE P3_7/#define KRUN P3_2struct SYSTEMTIME GetTime=0;struct SYSTEMTIME SetTime =1,1,1;struct SYSTEMTIME *STime = &SetTime;struct SYSTEMTIME *GTime = &GetTime;/bit nflag=0;/bit runflag=0;/*码表*/code uchar duan15=0x3f,0x06

9、,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x77,0x7c,0x39,0x5e;code uchar wei4=0x7f,0xbf,0xdf,0xef;uchar led_hc4=0;/extern uchar qh;/*定时器初始化*/void Init_Timer()TMOD = 0x11;TH0 = -30;/定时器0每30*256 = 1/240秒中断一次TR0 = 1;ET0 = 1;EA = 1;/*显示*/extern uchar ncont;/ SYSTEMTIME GetTime;/ ntime Tnow20;/extern

10、 bit nflag;/extern uchar sendx;/extern uint plv;/*void delayus(uint dly)uchar i;for(;dly!=0;dly-)for(i=1;i!=0;i-)i=1;*/void LED1()led_hc0 = GetTime.Hour/10;led_hc1 = GetTime.Hour%10;led_hc2 = GetTime.Minute/10;led_hc3 = GetTime.Minute%10;extern void show() int i = 0 ; LED_DUAN = duan2;/led_hci; LED_

11、WEI = weii; if(i = 4) i = 0; else i+; void delay()int i =1000;if(i != 0)i-;/*主函数*/mian()/Init_Timer();DS1302_Initial();DS1302_SetTime(STime);DS1302_GetTime(GTime);while(1)show();delay();/* 定时器0中断:多任务分时处理 */*void timer0() interrupt 1/ 1/240秒中断1次,240次为1STH0 = -60;/*cont_time+;if(cont_time = 120 | cont

12、_time = 0)Flash = Flash; */ 任务3:按键扫描 /*if(ucDelayKey = 0)/ 若刚才没按键则扫描按键if(KeyScan() != 0)/ 若有按键动作ucDelayKey = 24;/ 设置延迟时间消颤约12mSelsebStill = 0;/ 松键状态标志else / 有按键利用DelayKey按键消颤if(-ucDelayKey = 0)/ 消颤或延时时间到?cKEYCode = KeyScan();/ 取有效键值 */#include #include #include /* 宏定*/#define uchar unsigned char#def

13、ine uint unsigned int#define LED_DUANP0#define LED_WEIP2/*结构体*/struct SYSTEMTIME GetTime=0,0,0;struct SYSTEMTIME SetTime =0,10,21;struct SYSTEMTIME SetLing12 =0;struct SYSTEMTIME *STime = &SetTime;struct SYSTEMTIME *GTime = &GetTime;/* 常量*/sbit K0 = P32;sbit K1 = P33;sbit K2 = P34;sbit K3 = P35;sbit

14、 BEEN = P37;sbit changeLED = P32;uchar changekey = 0;uchar TW;uchar fg=0;uchar ucunt = 240;uchar unumber = 0;uchar unumberhc = 0;char sgok = 0;char Delaykey = 0;uchar wav_index=0;uchar index=0;uchar cdisdata4;uint count;uint cou=0;uint dey;uint dfre=400,fre=500,th=20;uchar th0,tl0;uchar swth=0;char

15、year=11,month=11,day=14;char clock_flag=1;void Delay(uint n);/*码表*/uchar duan15=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x77,0x7c,0x39,0x5e;uchar wei4=0x70,0xb0,0xd0,0xe0;/*显示常量*/uchar led_hc4=0,1,2,3;int a=0 ;char ccunt =60;/* 按键处理函数*/void display() /*if(K3=0) changekey=changekey;Del

16、aykey = 80;if(changekey != 0)if(K1 = 0)if(sgok = 1)SetTime.Hour+;if(sgok = 2)SetTime.Minute+;Delaykey=80;if(K0 = 0)if(sgok = 1)SetTime.Hour-;if(sgok = 2)SetTime.Minute-;Delaykey=80;if(K2 = 0)sgok+;if(sgok = 4)sgok = 0;BEEN = 0;/ucunt =ucunt; if(sgok = 3)SetLingunumber=SetTime;unumber+;if(unumber = 1

17、2) unumber = 0;Delaykey=80; if(changekey = 0) if(K0 = 0) fre+=10;if(fre=1000) fre=1000;if(fre=10) fre=10;if(fre=240)th=20000/fre;dfre=fre-30;TH0=256-th;Delaykey = 80;if(K1 = 0) fre-=10;if(fre=1000) fre=1000;if(fre=10) fre=10;if(fre=240)th=20000/fre;dfre=fre-30;TH0=256-th;Delaykey = 80;if(K2=0) swth+

18、=1;if(swth=3) swth=0;Delaykey = 80; */ if(K1 = 0) Delay(10); if(K1 = 0) if(clock_flag=3) if(sgok = 0)SetTime.Hour+; if(sgok != 0)SetTime.Minute+;else if(clock_flag=2) if(sgok = 0) month+; if(month12)month=1; if(sgok != 0) day+; if(day31) day=1; Delaykey=50;if(K0 = 0) Delay(20); if(K0 = 0)if(clock_fl

19、ag=3) if(sgok = 0)SetTime.Hour-; if(sgok != 0)SetTime.Minute-;else if(clock_flag=2) if(sgok = 0) month-; if(sgok != 0) day-; Delaykey=50;if(K2 = 0)Delay(10);if(K2 = 0) sgok=sgok; Delaykey=50;if(K3=0) Delay(10);if(K3=0) clock_flag+;if(clock_flag=4)clock_flag=1;DS1302_Initial(); DS1302_SetTime(STime);

20、 Delaykey=50; /*显示*/void LED1() if(GetTime.Hour 24) led_hc0 = GetTime.Hour/10;led_hc1 = GetTime.Hour%10;if(GetTime.Minute 60)led_hc2 = GetTime.Minute/10;led_hc3 = GetTime.Minute%10;void LED2()led_hc0 = month/10;led_hc1 = month%10;led_hc2 = day/10;led_hc3 = day%10;void LED3() if(SetTime.Hour 24) led_

21、hc0 = SetTime.Hour/10;led_hc1 = SetTime.Hour%10;else SetTime.Hour = 0;if(SetTime.Minute =4) a=0; /*/*定时器初始化函数*/void Init_Timer()TMOD = 0x12;TH1 = 216;TL1 = 240;TR1 = 1;ET1 = 1;TH0 = 0;TL0 = 200;/定时器0每30*256 = 1/240秒中断一次TR0 = 1;ET0 = 1;EA = 1;/*/void ling()if(GetTime.Hour = SetLingunumberhc.Hour) & (

22、GetTime.Minute = SetLingunumberhc.Minute) if(fg = 0) BEEN = 1;ucunt =240;fg = 1; else fg =0;if(fg = 0)unumberhc+;if(unumberhc = 12)unumberhc = 0;/*主函数*/void main() Init_Timer();DS1302_Initial();DS1302_SetTime(STime);while(1) DS1302_GetTime(GTime); /*中断函数*/void timer0() interrupt 1/ 1/240秒中断1次,240次为1

23、S/*if(fre=200) wav_index=0;if(fre=240) if(swth=0) P1=Sin100wav_index+;if(swth=1) P1=Tra100wav_index+;if(swth=2) P1=Puls100wav_index+;if(wav_index=100) wav_index=0; */void timer1()interrupt 3 TH1 = 216; TL1 = 240; switch(clock_flag) case 1:LED1();break; case 2:LED2();break; case 3:LED3();break; /case

24、 4:LED4();break; default: break; /*按键*/if(Delaykey = 0)display();else Delaykey-;/*刷屏*/ showTime(); void Delay(uint n) uint x; while(n-) x=5000; while(x-); 3 调试说明3.1 调试方法及步骤3.1.1仿真通过keil软件进行程序调试,并用proteus软件进行相应的仿真。3.1.2产品调试(1)电源与地的调试拔下芯片,检查各处5V电源、GND是否分别整版联通及正常。(2)分级调试分级调试各功能模块(电源模块、上电复位模块、按键模块及数据采集模

25、块等),测试各关键接点的电压值是否正常,连接示波器测试振荡电路是否输出预期的正常的周期时钟脉冲。(3)整体调试将已经调试好的源程序下载到单片机中,进行整体调试。查看产品是否能实现各设计功能。如不能实现,查看是否有虚焊漏焊,检查各待测电压看是否与所测值相同(或者相近),并进行相应的程序调整,使其能最终实现各功能。4 总结在选题之初考虑到数字时钟和多路放大电路是我们比较熟悉的电路,而且上单片机课程的时候老师指导我们写过类似的程序,但是拿到课题后我们却发现很多问题从开始的无从下手,但随后通过老师的以及几个电子小组制作经验较丰富的几个同学的悉心指导我们初步拟定了电路的实现方案以及到后期的PCB绘制。然而最难的部分却是程序的编写,费了一周左右编写以及调试却只实现了其中一部分功能最后通过几个高手的指导才完成另一部分功能程序的实现。通过这次课程让我们认识到团队协作以及虚心向他人请教的重要性。5 参考文献1模拟电子技术基础 童诗白,华成英主编高等教育出版社2单片机原理及其应用 郑郁正主编四川大学出版3电子线路实习指导教程 徐敏主编机械工业出社6 附录器件清单图PCB图图8实物图图9

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!