已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物理与电子信息学院学年论文单片机作息时间控制钟张霞(学号:20081116087)(物理与电子信息学院 08级电子信息科学与技术班,内蒙古 呼和浩特 010022)指导教师:高焕生摘要: 本文是就单片机的一个小的应用方面,基于其硬件连接和软件的设计来阐述单片机在当今世界的应用。其中,作息时间的控制是单片机的一个简单应用,同时也是我们生活中不可缺少的部分。关键词: 单片机;硬件;软件;作息时间钟;中图分类号:TP311.11 文献标识码: A1引言在信息时代的今天,时间观念对我们是很重要的,以严格的时间来要求自己是成功的必要因素。本文主要采用51系列单片机机实现对校园作息时间的控制设计,已完成对每天对作息打铃控制,同时具有对控制器日常时间调整及显示、打铃时间设置、掉电数据不丢失等功能。本系统共有4项控制内容,即:接通电铃和断开电铃以及接通扩音设备和断开扩音设备。由P0口输出控制码进行控制,其控制码定义为:接通电铃 0FEH断开电铃 0FDH接通扩音设备 7FH断开扩音设备 0BFH把设备一次开关的控制码及预置时间结合在一起,构成4个字节的存储字。其中控制设备开关的控制码占一个字节,设置时间的时,分,秒各占一个字节。本系统主要由硬件的电路连接配合软件来实现其功能。以下将详细介绍其硬件与软件的设计。2硬件系统说明与电路原理图:2.1 硬件说明本设计采用可编程、显示器接口芯片8279实现时间的设置和显示。8279具有键盘功能块;显示功能块;控制功能块;与CPU接口功能块控制功能块包括控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和显示功能块工作. 8279采用单5V电源供电,40脚封装。 8279内部逻辑框图如图所示(图一)。它主要包括I/O控制和数据缓冲器,扫描计数器,显示寄存器,显示地址寄存器,控制时序寄存器,键盘去抖动和控制电路,8*8FIFO/传感器RAM状态电路和16*8显示RAM,以及时序控制电路等功能部件。2.2 8279内部逻辑框图及引脚说明图一控制和定时寄存器: 用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能. 定时和控制:它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5. 1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数. 扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描. 8279引脚:DB0DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。 CLK:时钟输入线,用以产生内部定时的时钟脉冲。 RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。 CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。 A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。 RD:读信号输入线:低电平有效,将缓冲器读出,数据送往外部总线。WR:写信号输入线:低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。 2.3 8279与键盘/显示器的接口电路如图(图二)图二 图二的电路图是在实际的设计中的引脚连接电路图。在连接时一定要注意各个引脚的功能。电源选用+5V的电压,电压过大了和过小都不能使其正常的工作。另外,注意各个芯片的使能端的连接和初值的设置。3软件主要模块设计3.1程序说明本程序主要由主程序,显示子程序,定时器T0中断服务程序以及打铃控制子程序这几部分组成。主程序是基于这个设计的目的上进行设计的,它是整个程序的总体领导者。 是站在整个程序完美执行的前提。 显示子程序:数码管显示的数据存放在内存单元3E,3D,3C,3B,3A中,其中3A,39存放秒的十位和个位,3C,3B存放分钟的十位和个位,3E,3D存放小时的十位和个位。每一个地址的单元内均为十进制BCD码,由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码对应码段存放在ROM表中,显示时,取出393E某一地址中的数据,然后查得对应的显示码段输出显示。定时器T0中断服务程序:定时器T0用于时间计时。定时溢出中断周期为50ms,中断累计20次(即1s)时对秒计数单元进行加1操作。秒满60进位清零,分满60进位清零,时满24清零。打铃控制子程序:采用特征比较的方法。步骤1.先将小时数扫描对比,若大于等于8,小于等于11,大于等于14,小于等于17则进行步骤2,否则关闭电铃。步骤2.再将分钟数扫描对比,若为00或50则转入步骤3. 否则关闭电铃步骤3. 再将分钟数扫描对比,若大于等于00且小于等于10则向P1.1输出低电平,打铃,否则关闭电铃。3.2程序流程图程序流程图3.3具体程序及说明;*作息时间控制器*SIGN BIT 2AH 设置按键输入完毕标志位为SIGNORG 0000HLJMP STARTORG 000BHLJMP TIME0 ;设置定时器0的中断程序入口ORG 0013H LJMP IINT1 ;设置中断1的中断程序入口START: MOV SP,#60H ;设置指针MOV 31H,#250MOV 32H,#16MOV TMOD,#02H ;设置定时器为方式2工作,自动载入初值MOV TH0,#06HMOV TL0,#06HMOV IE,#86H ;允许CPU中断,外部1中断和定时器的中断CLR IT1 ;开外部中断1CLR SIGN ;清标志位MOV DPTR,#5FFFHMOV A,#0DCH ;将显示RAM全部置1MOVX DPTR,AWAIT: MOVX A,DPTRJB ACC.7,WAIT ;清除完毕MOV A,#00H ;设置为8*8左边输入MOVX DPTR,AMOV A,#34H ;20分频MOVX DPTR,AMOV R2,#6 ;输入是6位数MOV R1,#39H ;显示数据存放首地址CLEAR:MOV R1,#00HINC R1DJNZ R2,CLEAR ;全部清零LCALL DISPMOV R3,#06HKEYIN: JNB SIGN,KEYINCLR SIGN LCALL DISP ;扫描到键盘输入了一个新字符则调用显示DJNZ R3,KEYINCLR EX1SETB TR0 ;时钟0启用LOOP: JNB 00H,NEXT ;00H作1秒到标志CLR 00HACALL T0SERVE ;调用时间步进子程序LCALL RING ;调用铃声时间对比子程序LCALL DISP ;调用显示子程序NEXT: SJMP LOOP;*TIME0: DJNZ 31H,CCCMOV 31H,#250DJNZ 32H,CCCMOV 32H,#16SETB 00HCCC: RETI T0SERVE:MOV A,39HADD A,#01H ;秒数加一MOV 39H,ACJNE A,#0AH,EXIT MOV 39H,#00H ;秒的个位逢十进一MOV A,3AHADD A,#01HMOV 3AH,ACJNE A,#06H,EXITMOV 3AH,#00H ;秒的十位逢六进一MOV A,3BHADD A,#01HMOV 3BH,ACJNE A,#0AH,EXITMOV 3BH,#00H ;分钟的个位逢十进一MOV A,3CHADD A,#01HMOV 3CH,ACJNE A,#06H,EXITMOV 3CH,#00H ;分钟的个位逢六进一MOV A,3EHSWAP AADD A,3DH ;合并小时数ADD A,#01HDA A MOV R7,AANL A,#0FHMOV 3DH,AMOV A,R7SWAP AANL A,#0FHMOV 3EH,AMOV A,R7CJNE A,#24H,EXIT ;小时数逢二十四清零MOV 3DH,#00HMOV 3EH,#00HEXIT: RET ;*RING: MOV A,3EHSWAP AADD A,3DH ;将小时的显示值合并载入A中MOV R7,A ;将小时数装入R7寄存SUBB A,#08H ;小时数与8比较JC OFFMOV A,R7 ;将小时的显示值合并载入A中SUBB A,#11H ;小时数与11比较JC N1 JZ N1MOV A,R7 ;将小时的显示值合并载入A中SUBB A,#14H ;小时数与14比较JC OFFMOV A,R7 ;将小时的显示值合并载入A中SUBB A,#17H ;小时数与17比较JC N1 ;小时条件符合则继续JZ N1 ;小时条件符合则继续AJMP OFFN1: MOV A,3CH SWAP AADD A,3BH ;将分钟的显示值合并载入A中SUBB A,#00H ;分钟数与00比较JZ N2 ;分钟条件符合则继续MOV A,3CHSWAP AADD A,3BH ;将分钟的显示值合并载入A中SUBB A,#50H ;分钟数与50比较JZ N2 ;分钟条件符合则继续AJMP OFFN2: MOV A,3AH SWAP AADD A,39H ;将秒的显示值合并载入A中SUBB A,#10H ;秒数与10比较JZ RRR JC RRR ;小时,分钟,秒都符合则启动打铃AJMP OFFRRR: CLR P1.0 ;启动铃AJMP EXTOFF: SETB P1.0 ;关闭铃EXT: RET;*IINT1: PUSH ACCPUSH PSWPUSH DPHPUSH DPL ;保护断点CLR EA ;关CPU中断MOV A,#40H MOV DPTR,#5FFFHMOVX DPTR,AMOV DPTR,#5EFFHMOVX A,DPTRMOV 35H,A ;取键盘输入值进入内存MOV B,#10SUBB A,BJC DDD CLR AAJMP EEEDDD: MOV A,35H ;输入值小于10则存入EEE: MOV 3EH,3DHMOV 3DH,3CHMOV 3CH,3BHMOV 3BH,3AHMOV 3AH,39HMOV 39H,A ;前五位全班前移一位,将A内的值显示在最后一位SETB SIGN ;将按键输入结束标志位置1SETB EAPOP DPLPOP DPHPOP PSWPOP ACC ;弹出断点RETI;*DISPLAY*DISP: MOV 55H,DPHMOV 56H,DPL ;保护断点MOV A,#92H ; CPU将要写入显示的RAM的地址为2MOV DPTR,#5FFFHMOVX DPTR,A MOV R4,#06H MOV R0,#39HBBB: MOV DPTR,#CHART ;查表,DPTR指向字码的首地址MOV A,R0MOV B,#09HSUBB A,BJC FFFCLR ALJMP HHHFFF: MOV A,R0 ;R0小于等于9直接将其输入HHH: MOVC A,A+DPTR MOV DPTR,#5EFFHMOVX DPTR,AINC R0DJNZ R4,BBB ;实现将6个字符显示的功能SETB EAMOV DPH,55H ;弹出断点MOV DPL,56HRET CHART: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H,88HDB 83H,0C6H,0A1H,86HEND4 总结 本文主要介绍的是单片机在生活中的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆应用技术职业学院单招综合素质考试必刷测试卷及答案1套
- 2026年遵义师范学院单招职业技能考试题库附答案
- 2026年天津工艺美术职业学院单招综合素质考试题库必考题
- 2026年杭州医学院单招职业适应性测试题库附答案
- 2026年新疆科信职业技术学院单招职业适应性测试题库新版
- 2026年湖南财经工业职业技术学院单招职业技能考试必刷测试卷附答案
- 2026年西藏那曲地区单招职业适应性测试题库新版
- 2026年吉林省松原市单招职业倾向性测试必刷测试卷及答案1套
- 2026年福州黎明职业技术学院单招职业倾向性考试必刷测试卷附答案
- 2026年四川化工职业技术学院单招职业适应性考试必刷测试卷附答案
- 学堂在线 研究生素养课-积极心理与情绪智慧 章节测试答案
- 眼科护士进修汇报
- 2025至2030中国水面无人艇(USV)行业产业运行态势及投资规划深度研究报告
- 2025年广东省税务系统遴选面试真题带答案详解
- DB52∕T 1837-2024 党政机关办公区物业管理服务规范
- 工程劳务合作管理办法
- 控制区通行证培训课件
- 水利执法实物培训课件
- 给小学生讲建筑的课件
- 2025年广西中考生物试卷真题 (含答案解析)
- 档案培训课件模板
评论
0/150
提交评论