大工春《单片机原理及应用》大作业题目及要求标准答案_第1页
大工春《单片机原理及应用》大作业题目及要求标准答案_第2页
大工春《单片机原理及应用》大作业题目及要求标准答案_第3页
大工春《单片机原理及应用》大作业题目及要求标准答案_第4页
大工春《单片机原理及应用》大作业题目及要求标准答案_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大工春单片机原理及应用大 作业题目及要求答案作者:日期:大臣及2大写网络教育学院单片机原理及应用大作业题 目:单片机电子时钟设计学习中心:厦门电子职业中专学校奥鹏学习中心层次: 高起专专 业:电气工程极其自动化年级:15 年 春/秋季学 号:学生姓名:单片机电子时钟设计一、引W单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积 少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点, 越来越广泛的被应用于实际生活中。 单片机全称,单片机微型计算机,从应用领 域来看,单片机主要用来控制系统运行, 所以又称微控制器或嵌入式控制器, 单 片机是将计算机的基本部件微型化并集

2、成在一块芯片上的微型计算机。二、时钟的基本原理分析利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一 次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数 初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟 到了,再判断是否1h到了。为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静 态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示, 通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码, 使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管 看起来总是

3、亮的,从而实现了各种显示。三、时钟设计分析针对要实现的功能,采用AT89S51片机进彳T设计,AT89S51单片机是一款 低功耗,高性能CMOS8单片机,片内含4K心线可编程(ISP)的可反复擦写1000 次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标 准MCS石1指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的 功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序、日期 显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时 程序等。运用这种方法,

4、关键在于各模块的兼容和配合, 若各模块不匹配会出现 意想不到的错误。首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。 第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路, 输出需要显示驱动电路和数码管电路等。 第三部分是软件部分:先学习理解汇编 语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设 计。第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的 绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真, 仿真无法完成时检查软件程序和硬件

5、电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现 想要的功能。最后进行功能扩展,在已经正确的设计基础上,添加额外的功能! 四、时钟的实现A.电路设计1.整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模 块:显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和 秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/O端口,使电路更加简单。单片机采用 AT89S5保列,这种单片机应用简单,适合 电子钟设计。电路的总体设计框架如下:输入部晶振和单片机2.分块设计模块电路主要分为:输入部

6、分、输出部分、复位和晶振电路。2.1输入部分输入信号主要是各种模式选择和调整信号,由按键开关提供。以下为输入部分样例:3XIN5 Ea':?品:;: 工 £s-i'ij4dH44k工ranAm ra KPI m 工*kzra.<Ab* raAKP FWXg FI JACF2JA11RJAfl W*Ab RlrAtf.必E Xjg 由«TD Fjsm按键1 H'按键4,在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:U1R1:一E I:- "

7、 -12_ILja-AEL1;<TAL2RSTPDIUR.DD PQ.IMD1!PDJb3 叩MU4 PDKAD5口 叩扁Dir,-SL.31cP«N 稣单 灰P2.1 F22M1D FZJjRI 11相泌14.-±_3_2_于P1f alJ PtJ P1J PH口 1 £ P1J1M?汨 pj.imok3wH"P15即筮_P3£kfiR- 内才同热S;.U 毒产",La :2.2 输出部分本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在 P1

8、口连接 上拉电阻后,再送段选信号,以提高驱动,位选信号直接从 P2 口接入,如下图:tn .一闹铃由P2.6端输出,模块如下:2.3 晶振与复位电路本实验单片机时钟用内部时钟,模块如下:复位电路为手动复位构成,模块如下:11 金194 - I E*:tRT LAMV儿用KjuI tt-. 1蚂sg . . 所二,IVH. V1ALi-«2.各模块拼接组合,电路总体设计图如下H1-.-WH Hffll RI 靖 IK IV,叫 Hjy . HINT 111 M 比 Hirnr,打婚P2±A1DH.WI但凶Ermi112aA1,”MK5VRTI - RHE弋 打皿 !fflKF

9、 - 1B.程序设计8.1 程序总体设计本实验用汇编程序完成程序总的流程图如下:B.2程序主要模块8.2.1 延时模块数码管显示动态扫描时,用到延时程序,这里使用延迟1ms的程序,此程序 需反复调,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延 时,只是延时的长短不同罢了,在此不再赘述。8.2.2 中断服务程序本实验中,计数器T0,T1中断都有运用,其中T0中断为时钟定时所用,T1中 断用于音乐播放。T0的定时长度为0.01s,工作于方式1,计数1次,时长1us,故 计数器计数1000畋,进入中断,计数初值为 65536-10000=55536=#0D8F0装满 定时器需要0.0

10、1s的时间,从而100次中断为一秒,一秒之后,判断是否到 60秒, 若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推。包括日 期显示的功能也是如此。另外,由于要实现倒计时功能,因此在中断程序中还要 加入减一的寄存器,需要时将其进行显示。基于以上考虑,以R刻倒计时中的秒, R4为倒计时的分,当秒加1时RGS一,减到0之后,秒赋值为59,分减一,直到分 为0。计数器T1工作于方式1,当调用响铃程序时,其计数功能开启,为音乐音 调不同频率的方波的形成,提供延时。其中断服务程序就是根据音调改变音乐方 波输出口电平的高低,用语句 CPL实现。中断服务程序中日历的实现较为复杂,要考虑平年,

11、闰年,特殊的 2月,每 月的天数的不尽相同。具体的逻辑判断方法为:首先,要考虑年份是不是闰年, 闰年的判断方法是:将年份除以100,若能整除,则将年份除以400,若还能整除, 则为闰年,若不能,则为平年;若不能被100整除,则判断是否能被4整除,若能, 则为闰年,若不能则为平年。只有2月与平、闰年相关,因此在闰年和平年的子 程序中,要判断是不是2月,若是则在相应的年中进行日期的增加,若不是则转 入平时的月份。其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月为每 月30天。日历进位判断流程图如下:本实验用8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示 类似。年比较

12、特殊,由两个寄存器存储,个位,十位为 0时,表明年数能被100 整除,若此时千位,百位组成两位数能被4整除,则年数被400整除,为闰年。若十位,个位组成两位数 能被4整除,则年数能被4整除,为闰年。8.2.3 主程序主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到, 若到则调 用相关程序。8.2.4 显小子程序8个数码管轮流进行显示,分别显示1ms依赖人的视觉 暂留效应,给人以 数码管持续高亮的错觉。日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的 显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句 ACAL碉用;有点直接嵌套在相应的程序里面,顺序

13、执行,或者用调转语句AJMP调用。C程序调试及仿真本程序通过Keil单片机开发平台实现程序的编译,链接,生成 HEXC件。通 过Keil和硬件仿真平台Proteus的联合,可以将设计效果仿真出来,根据效果,有目的的改变设计,优化程序。利用Proteus仿真实验过程截图:普通时间显示模式仿真图,表示:星期一9点10分38秒五,总结本文先从整体论述了设计电子钟的大致思路,然后再采用划分模块的方 法,将硬件电路划分为开关电路,显示驱动电路,以及数码管电路等,而软件部 分,则依据要实现的功能,划分为:闹钟的声音程序,时间显示程序,日期显示 程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,

14、延时程序 等。最后将各模块集成为一个整体,合成一个多功能的电子钟。附录:延时程序:D_1MS:MOV R7,#2D_5:MOV R2,#250DJNZ R2,$DJNZ R7,D_5RET主程序:MAIN:JNB P3.0,DATETZ;按下0键,显示日期并可对日期进行调整JNB P3.1,ZSTZ1;按下1键,显示时间,并可调时JNB P3.2,NLTZZJNB P3.3,DSTZJNB P3.4,CESHIJNB P3.6,STOPWATCHTZACALL DISPJNB P0.6,RERINGRE: JNB P2.7,DSPDKQFMQPD:MOV A,HOUR;SUBB A,38H;J

15、Z FENAJMP DSPDKQFEN:MOV A,MINUTE;SUBB A,37H;JZ MIAOAJMP DSPDKQMIAO:MOV A,SECONDSUBB A,#0JZ SHENGYIN1按下2键,进行闹铃设置按下3键,进行定时设置闹铃测试按下6键,进入秒表方式调用时钟显示子程序判断是否开启闹铃重响功能判断是否开启闹铃功能,没开则去判断定时判断定时值R4,R3是否到零、闹铃时刻是否已到判断小时数是否到闹铃所定时间,若到,则对分进行判断;若不到,则对定时进行判断判断分是否到闹铃所定时间,若到,则对秒 进行判断;若不到,则对定时进行判断AJMP DSPDKQRERING:;JNB F0

16、, RE;CPL F0MOV 3CH,#1;JNB P0.7,M1;MOV R4,#0;MOV R3,#30AJMP MAINM1:;MOV R4,#1MOV R3,#0AJMP MAINDSPDKQ:;MOV A,3CH;3CHJNZ DSPD2;AJMP MAINDSPD2:判断秒是否到闹铃所定时间,若到,则时, 分,秒都到达闹铃时刻,进入响铃子程序; 若不到则判断定时闹铃重响判断程序标志位F0为0,不进行闹铃重响设定定时判断标志位赋1 ,定时判断功能开启 闹铃重响间隔时间选取闹铃重响间隔30秒闹铃重响间隔60秒判断是否应该进行定时判断是引入的判断因子,当其为 0时,不对定时时间是否到0进

17、行判断当3CH是0时,跳转到定时判断程序所存定时分数为0,则转而判断R3所存定时 秒数所存参数减为0,定时长度已到闹铃重响功能开启时,跳入响铃程序不是闹铃重响定时,则定时时间到时,跳入提示程序调用响铃子程序闹铃重响标志位设定响铃标志位复位跳入闹铃调整程序跳入定时调整程序跳入日期调整程序跳入秒表程序时间显示子程序判断节能开关7是否按下,按下则数码管不显示,延长其寿命显示当前时间秒位存十位,B存个位显示当前时间秒十位MOV A,R4; JZ S_PD;R4AJMP MAIN; S_PD: MOV A,R3; JNZ MAIN;R4,R3JNB P0.6,SHENGYIN2 AJMP TISHIAJ

18、MP MAIN CESHI: ACALL RING AJMP MAIN SHENGYIN1: LCALL RING AJMP MAIN SHENGYIN2: SETB F0;LCALL RING CLR F0;AJMP MAIN NLTZZ: AJMP NLTZ1 DSTZ: AJMP DSTZ1 DATETZ: AJMP DATETZ1 STOPWATCHTZ: AJMP STOPWATCHTZ1显示子程序: DISP:;JNB P3.7,OUT1MOV DPTR,#LEDTABMOV A,SECOND MOV B,#10 DIV AB;AMOVC A,A+DPTR MOV P1,A CLR SEC_S ACALL D_1MS SETB SECSMOV A,BMOVC A,A+DPTRMOV P1,ACLR SEC_GACALL D_1MS;显示当前时间秒个位SETB SEC_GMOV A,MINUTE;显示当前时间分位MOV B,#10DIV ABMOVC A,A+DPTRMOV P1,ACLR MIN_SACALL D_1MSSETB MI

温馨提示

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

评论

0/150

提交评论