欢迎来到天天文库
浏览记录
ID:23018305
大小:998.79 KB
页数:16页
时间:2018-11-02
《智能电子钟课程设计论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、专业方向课程设计报告题目:智能电子钟智能电子钟一、设计要求制作一个LCD显示的智能电子钟:(1)计时:秒、分、时、日、月、年、星期。(2)闰年自动判别。(3)时间、年、月、日、星期交替显示。(4)自定任意时刻自动开/关屏。(5)计时精度:误差秒/月(具有微调设置)。二、方案论证1.时钟方案方案一:软件时钟。可以节约硬件成本,但是软件编写更为复杂,且误差较大。方案二:硬件时钟。使用时钟芯片DS1302,虽然增加了硬件成木,但可直接从芯片读取时间及円期数据,大大简化软件的编写,且计时精度高,满足设计要求。因此,本智能电子钟采用硬件时钟。2.软件编程方案方案一:
2、所有子程序均处于主程序中。虽然最终仅一个程序文件,但由于本智能电子钟需用液品显示屏显示且需根裾不同按键状态转换至不同的功能,子程序较多,相应程序的层次结构也较复杂,若采用该方案,不仅很大程度地加大了软件编写的难度,而且会使程序显得复杂冗长,易读性很差。方案二:监控程序。将各种功能定义为多个任务,用监控程序进行任务调度的工作,主函数进行各种初始化、控制及调用子函数等工作,而各子函数则完成相应功能。该方案虽然要使用监控程序并且最终会有多个源程序文件,但由于移植性很好,各种功能模块定义清晰,体现了模块化的思想,不仅降低了软件编写的难度,也增强了程序的易读性。因此
3、,本智能电子钟采用监控程序进行任务调度工作。3.按键方案方案一:一键一义型按键。每按下一个按键,就获得一个键盘编码信息,由键码散转到对应功能模块的入口,启动对应作业。该方案可使用以下三种方式获取键值:①单纯査询,主程序用扫描键盘等方式来获取键盘信息,执行对应作业。②键盘屮断,按下任何按键都引起一个外部屮断请求,键码分析过程放在外部屮断子程序屮。③定时查询,每隔一段时间查询一次键盘,键盘查询过程安排在定时中断中完成。但巾于一个按键只对应一个功能,在实现功能较多的惜况下,所需按键数较多,不仅会加大成品体积,不易操作,也会增加总的硬件成本。方案二:一键多义型按键
4、。不根据当前获得的一个键码来决定哪一个作业投入运行,而是根据一个按键操作系列来启动一个作业,同一按键在不同操作系列屮有不同的含义。该方案所需按键较少,因此占用的端口数较少,并且减少了硬件成本,成品体积也较小,虽然在一定程度上,增加了按键功能分配的难度,但综合考虑,本智能电子钟采用一键多义型按键。三、理论设计1.硬件系统1.1硬件原理图J:J11•5P10P11P12P13P14P15P16prTDS1P01PC3TXDDS2DS3D&4■DB542334PO63:DS2-5DB3P2:P23RSSW-PBSW-PBXIXIA:X:EXE■TXD11308O
5、C52DIX112OWMHZX210kZlC;«f1C4:BELLXIX2GNDCECEDS13W6•1.2硬件总体框图1.3工作原理以单片机为核心,结合软件及硬件完成设计要求。在硬件上,时钟芯片DS1302提供时间及曰期数据,LCD1602则S示时间、日期、闹钟等信息,闹钟铃声用蜂鸣器发出,而软件上,主程序通过对各子程序的调用,初始化时钟芯片、液晶显示屏,接收时间、tl期数据,按键信息等,并输出显示信息及各种控制信息。2.软件系统2.1软件流程图2.2监控程序2.2.10S_C0RE.COSIntSendSignal中断中给指定任务发送信号,使指定任务就
6、绪OSSendSignal任务屮给指定任务发送信号,使指定任务就绪OSClearSignal清除指定任务信号,使指定任务休眠OSlntExit屮断退出处理函数,在此进行屮断后的任务切换OSSched非中断的任务切换函数OSTimeTick系统时钟处理函数,处理各个任务的延时OSWait系统等待函数,任务调用此函数可以等待一定时间或信号2.2.2OS_Q.COSQCreate初始化消息队列OSQPend等待消息队列中的消息OSQAccept无等待从消息队列屮取得消息OSQIntPost中断中FIFO方式发送消息OSQIntPostFront中断中LIFO方式
7、发送消息OSQPostElEO方式发送消息OSQPostFrontLIFO方式发送消息OSQNMsgs取得消息队列屮消息数OSQSize取得消息队列总容量OSQFlush清空队列2.2.3OS_SEM.COSSemCreate初始化消息队列OSSemPend等待一个信号:W:OSSemAccept无等待请求信号景OSSemlntPost屮断屮发送一个信号MOSSemPost发送一个信号量OSSemQuery査询信号量2.2.4OS_CPU_C.COSldle优先级最低的任务OSStartSmallRTOS51初始化函数,调用此函数后多任务开始运行,首先执I
8、D为0的任务OSTickISR系统时钟中断服务函数2.2.5OS_
此文档下载收益归作者所有