单片机与接口技术课程设计(论文)-自动打铃装置.doc_第1页
单片机与接口技术课程设计(论文)-自动打铃装置.doc_第2页
单片机与接口技术课程设计(论文)-自动打铃装置.doc_第3页
单片机与接口技术课程设计(论文)-自动打铃装置.doc_第4页
单片机与接口技术课程设计(论文)-自动打铃装置.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

辽 宁 工 学 院单片机与接口技术 课程设计(论文)题目: 自动打铃装置 院(系):信息科学与工程学院专业班级:电 气 0 2 3 学 号: 020303054 学生姓名: 指导教师: 教师职称: 副教授 起止时间:05-06-06至05-06-19课程设计(论文)任务及评语院(系):信息科学与工程学院 教研室:电气学 号020303054学生姓名李海洲专业班级电气023课程设计(论文)题目自动打铃装置课程设计(论文)任务完成自动打铃装置的硬件和软件设计。设计任务包括:1、系统硬件框图设计说明2、系统电气原理图设计3、系统软件设计:ac220v打铃电源输出子程序显示子程序记录设定子程序设计内部计时中断服务子程序设计主程序设计指导教师评语及成绩成绩: 指导教师签字: 年 月 日辽 宁 工 学 院 课 程 设 计 说 明 书(论 文)目 录第1章 课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容2第3章 课程设计的考核23.1 课程设计的考核要求23.2 课程性质与学分2第4章 设计3参考文献第1章 课程设计目的与要求1.1 课程设计目的“单片机与接口技术”课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的小型单片机系统,并在实践的基本技能方面进行一次系统的训练。 能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。 培养独立思考、独立收集资料、独立设计规定功能的单片机系统的能力;培养分析、总结及撰写技术报告的能力。1.2 课程设计的实验环境利用windows操作系统及应用软件进行绘图和编程。1.3 课程设计的预备知识熟悉单片机与接口技术课程的相关知识及电子线路cad工具软件。1.4 课程设计要求按课程设计指导书提供的课题,根据第二章给出的基本要求及参数独立完成设计,课程设计说明书应包括以下内容: 1、对设计课题进行简要阐述,并说明设计任务及具体要求。 2、论述系统设计方案,并画出总体电路结构图及功能分割图。3、能够较熟练地应用电子线路cad工具完成单片机系统的硬件设计任务。4、各功能模块设计说明、设计实现过程及源程序。 5、能够较熟练地应用一种编辑软件编写程序,掌握单片机系统软件设计的基本方法6、课程设计报告应内容完整、字迹工整、图表整齐规范、数据详实。7、课程设计总结8、字数4000左右,有系统电气原理图。第2章 课程设计内容设计技术参数1、 入口电压ac220v;2、 出口电压ac220v,可驱动ac220v/200w的多个电铃负载;3、 数码管显示器可显示时、分、秒;4、 通过按键设定打铃时间纪录 5、 打铃时间纪录可达到20个6、 每次打铃时间10秒工作量1、系统硬件框图设计说明2、系统电气原理图设计3、ac220v打铃电源输出子程序4、显示子程序5、记录设定子程序设计6、内部计时中断服务子程序设计7、主程序设计工作计划第一天第二天第三天第四天第五天第二周ac220v输出驱动电路按键及显示电路设计cpu最小系统设计电源的设计主程序、按键、显示、定时程序设计画原理图、打印第3章 课程设计的考核3.1 课程设计的考核要求课程设计采用五级(优、良、中、及格、不及格)评分制。最后成绩依据课程设计论文及平时成绩决定,其中平时考核成绩占20%。3.2 课程性质与学分单片机与接口技术课程设计的课程性质:考查 学分:2第4章 设计一设计课题简要概述自动打铃装置用于工厂,学校等地的时间控制,本设计是按照学校作息时间设定的,模拟了电子钟显示时,分,秒。还根据学校的作息时间按时打铃,本系统有两个按钮,分别用来调时,周分,以保证时钟与标准时间相吻合。首先设计出本系统的硬件基本框图,根据框图设计电气原理图,简要概述基本原理,按照设计技术参数设计出各部分程序。二系统软硬件划分由于要依据最小系统设计,因此,极大地节约系统的硬件成本,所有能用软件实现的功能都用软件完成,如按键的去抖,采用延时,显示部分用动态显示等,这样硬件部分的设计可以采用单片机最小系统,所谓最小系统是仅有程序存储器和时钟及复位电路的为时过早片机系统。三单片机选型根据课题的具体内容,任务要求,计时,校时,定时,键盘显示等功能,经多方考虑,所以本系统选项用与mcs51系统单片机完全兼容的at89c51低功耗单片机。四系统总体框图键盘电路时钟电路at89c51cpu驱动电路电源电铃显示电路 方框图五硬件设计一)硬件原理图二)基本原理概述 本系统主要由主控模块,时钟模块,显示模块,键盘接口模块等4部分组成。通过内部定时产生中断,从而驱动电铃打铃。设定51单片机工作在定时器工作方式1,每100ms产生一次中断,利用软件将基准100ms单元进行累加,当定时器产生10次中断就产生1s信号,这时秒单元加1,同理,对分单元和时单元计数,从而产生秒,分,时的值,通过六位七段显示器进行显示。由于动态显示法需要数据锁存等硬件,接口较复杂,考虑显示只有六位,且系统没有其他复杂的处理任务,所以采用动态扫描实现led的显示。本系统采用三个按键,1键为功能键,另外两个做控制键。按一下1键进入时间设置,然后按2键进行时调整,按3键进行分调整,按两下1键进入打铃时间设定,在分别用2键3键进行调整,调整完后按下1键便退出调整,时钟继续走动。当时钟时间与设置时间一致时,驱动电路动作进行打铃,每次打铃10秒。三)元件参数及功能简介1.主控制器at89c51at89c51分司生产的at89c51单片机用高性能的静态80c51设计,由先进工艺制造,并带有非易失性flash程序存储器,它是一种高性能,低功耗的8位cmos微处理芯片,市场应用最多,主要性特点有:有4k的flash程序存储器,256字节内部ram。电源控制模式:时钟可停止和恢复,空闲模式,掉电模式。6个中断源。4个中断优先级。4个8位i/o口。全双工增强型uart。2个16位定时/计数器2时钟电路ds13021)性能特性实时时钟可对秒,分,时等进行计数,存在高速数据暂存的31*8位ram,最少引脚的串行i/o口;2.55.5v电压工作范围;2.5v耗电小于300na;用于时钟或ram数据读/写的单字节或多字节数据传送方式;简单的3线接口;可选的慢速充电的能力。ds1302时钟芯片包括实时时钟和31字节的静态ram,它经过一个简单的串行接口与微处理器通信,实时时钟提供秒,分,时等信息,时钟运行可以采用24h,或带am/pm的12h格式,采用三线接口与cpu进行同眇通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302有主电源/后备电源双电源引脚;2) 工作原理ds1302在任何数据传送时必须先初始化,把rst引脚置为高电平,然后把8位地址和命令装入移位寄存器,数据在sclk的上升沿被输入,无论是读周期还是写周期开始8位指定40个寄存器中哪个将被访问到,在开始8个时钟周期,把命令字节装入揿位寄存器之后,另外的时钟周期在闱时操作时输出数据,在写操作时写入数据,时钟脉冲的个数在单位字节下为8加8,在多字节方式下为8加字节数,最大可达248字节数。为了提高对32个地址的寻址能力,可以把时钟或ram寄存器规定为多字节方式,在多字节方式中,读或写从地址0的位0开始,必须管按数据传送的次序电先的8个寄存器。但是当以多个字节写ram时,为了传送数据不必写所有31字节,不管是否写了全部31字节,所写的每个字节都将传送至ram。时钟暂停:秒寄存器的位7定义位时钟暂停位,当它为1时,ds1302停止振荡,进入低功耗的备份方式,通常在对ds1302进行写操作时,停止振荡,当它为0时时钟将开始启动。8051通过串口向ds1302写数据的程序框图如图: px8051 rxd txdrsti/osclk 其中,px可以是8051单片机的任何一位i/o口,注意因为ds1302的数据发送或接收时序和8051的串行口不完全一致,困此,需要在txd的输出端加反相器,另外,接收数据时,不能以串行口的接收方式接收,必须将串行口当作普通i/o口进行数据接收.ds1302的晶振选用32.768khz,电容推荐值为6pf,因为振荡频率较低,也可以不接电容, 对计时精度影响不大。3显示电路设计显示部分采用普通的共阳数码管显示,采用动态扫描,以减少硬件电路,数码管分别为十时,时,十分,分,十秒,秒显示,显示时采用串行口输出段码,用74ls164来驱动数码管扫描只需7ms。74ls164内部为8个d触发器,用以实现数据的串行移位,74ls164为ttl单向8位移位寄存器,可实现串行输入并行输出,cpu为时钟输入端,可连接到串行口txd端。每个时钟信号的上升沿加到cp端时,移位寄存器移一位,8个时钟脉冲过后8位二进制数全部移入74ls164中,mr脚为复位端,当该位为低电平时,移位寄存器各位复0。当它为高电平时时钟脉冲才起作用。q1q8并行输出分别接数码管的各段对应脚上,在给出8个脉冲后,最先进入74ls164的第一个字节数据到达最高位,再来1个脉冲,第一个脉冲就会从最高位移出,进入下一个74ls164的第一位。4键盘接口设计由于按键盘只有3个,采用独立式按钮,分别与8051的p10.p11.p12相连,用普通按钮10k上拉电阻,用查询法完成读键功能。六元件列表1 at89c51 1片 2 ds1302 1片 3 74ls164 1片 4 数码显示管 6片 5 晶振 6 按键 3个 7 电阻 若干 8 电容 若干 9 三极管 若干 10.二极管 若干 七软件设计 1主程序设计 主程序首先是初始化部分,主要是计时单元清零,中断初始化,堆栈指针初始化,启动定时器工作,然后是调用显示子程序。主程序的起始存储地址是0000h单元,但由于本系统用了定时器t0的中断,中断服务程序入口地址为000bh,因此从0000h单元起存放一条短跳转指令ajmp,使真正的主程序从0300h单元开始存放。2中断服务程序设计单片机内部的定时/计数器t0定时100ms,即0.1s,10次中断即为1秒,60秒为1分,60分为1小时,24小时为1天,如此循环,从而实现计时功能。编写中断服务程序关键要注意:1)现场保护,在本系统中是累加器a和程序状态字psw值的保护。2)计时处理时采用的确十进制,因此时,分,秒单元加1后要进行十进制调整,即要执行daa指令,还要注意的是时计到24就回零,分和秒计到60就回零。3)中断返回前的现场恢复。3显示程序设计本显示采用的是动态显示,段控和位控都经过反相器,显示的字形代码是共阳的显示代码,位控信号输出时是高电平有效。在校时时,采用的是点亮小数点信位调节器节标志,哪位小数点亮表示调整的是该位的值。显示子程序的第一部分是拆字,显示缓冲区是2fh2ah;第二部分是查字形代码,输出段控和位控信号,由于采用的是动态显示,所以每输出一位的段控和位控信号要延时一定的时间,使led显示器显示的字符是稳定的。4按键判断与按键处理程序设计 按键判断程序有编写时应注意按键的去抖动,该系统采用的是延时去抖动的方法.延时是通过调用子程序来实现 的,每个按键按下后都要等待释放后再返回.按键处理程序中的按键是校时的,所以进入按键处理程序后就关闭定时中断,对于功能键注意设置显示标志。八.程序流程图开始初始化参数设置调用键盘设置子程序调用显示子程序调用控制子程序 主程序流图开始现场保护分单元清0,时单元加1100ms单元加1100ms秒单元清0,秒单元加1秒单元清0,分单元加1退出 时单元清0秒单元=60?分单元=60?时单元=24?100ms单元=0? n n n n 定时中断程序流图开始向缓冲区中放数指向缓冲区首址关显示指向a口查段码,送段码指向b口送出码延时1ms指向下一个缓冲单元显示下一位六位显示完返回 显示程序流图九.系统软件程序k-key equ p1.0 ;控制按键m-key equ p1.1 ;分按键h-key equ p1.2 ;时按键s-data data 50h ;秒单元数据存储地址m-data datd 51h ;分单元数据存储地址h-data data 52h ;时单元数据存储地址mov sp,#70h ;堆栈区地址从70h开始mov dptr,#0fb00hmov a,#03h ;设8155的pa,pb口为输出方式movx dptr,astart:lcall key ;调用键盘设置子程序lcall dis ;调用显示子程序lcall control ;调用控制子程序ajmp start ;循环调用key:jb m-key,h-set ;分设置键压下吗?如果没压下,则判断时设置键lcall dell ;调用键盘防抖动子程序jb m-key,h-setinc m-data ;如果分设置健压下,则分单元加1mov a,m-datacjnz a,#60,m-dis ;分单元=60,则清0mov m-data,#00hm-dis:mov a,m-datalcall hex-bcd ;调用hex至bcd码转换子程序mov 69h,amov 6ah,b m-rep:lcall dis ;调用显示子程序jnb m-key,m-rep ;等待分设置键释放h-set:jb h-key,hex-bcd ;判断时设置键是否压下? lcall dell ;调用键盘防抖动子程序 jb h-key,hex-bcd inc h-data ;如时设置键压下,则时单元加1 mov a,h-data cjnz a,#24,h-dis ;时单元=24,则清0 mov h-data,#10hh-dis:mov a,h-datalacll hex-bcd ;调用hex至bcd码转换子程序mov 79h,amov 7ah,bh-rep:lcall dis ;调用显示子程序 jnb h-key,h-rep ;等待时设置键释放hex-bcd:mov b,#10 div ab retdell:mov r6,#20h ;延迟10ms子程序del1:mov r7,#0ffh djnz r7,djnz r6,del1 ret clock:push acc ;参数入栈保护 push psw clr tr0 mov tl0,#0b0h ;定时参数重新设置 mov th0,#03ch setb tr0 inc 4fh ;100ms单元内容加1 mov a,4fh cjnz a,#10,d0 ;100ms单元内容=10,则秒单元加1 mov 4fh,#00h ;100ms单元清0 mov a,s-data add a,#01h ;秒单元加1 mov s-data,a cjne a,#60,d0 ;秒单元内容=60,则清0 mov s-data,#00h mov a,m-data add a,#01h ;分单元加1 mov m-data,a cjne a,#60,d0 ;分单元=60,则清0 mov m-data,#00h mov a,h-data add a,#01h ;时单元加1 mov h-data,a cjne a,#24,d0 ;时单元=24,则清0 mov h-data,#00h d0:pop psw ;出栈,出中断程序 pop acc retidis:mov r0,#4fh ;准备向缓冲区放数 mov a,27h acall ptds ;放秒值 mov a,28h acall ptds ;放分值 mov a,29h acall ptds ;放时值 mov r0,#4ah ;指向缓冲区首地址 mov r2,#0ffh ;左边第一位开始显示 mov dptr,#segpt ;指向字形码表首dis1:mov a,#00h mov 20h,dpl mov 21h,dph ;熄灭码 mov dptr,#4001h ;取显示缓冲区中的数 mov a,#0ffh movx dptr,a mov dpl,20h mov dph,21h mov a,r0 movc a,a+dptr ;查表,找字形码 cpl a mov dptr,#4002h movx dptr,a ;送出字形码 mov a,r2 ;取字位码 mov dptr,#4001h ;字位口地址 movx dptr,a mov dpl,20h mov dph,21h ;显示一位数 mov r3,#00hdis2:djnz r3,dis2 ;延时一段时间 inc r0 ;修改显示缓冲区指针 clr ;为移位作准备 mov a,r2 ;取字位码 rl a ;右移一位,为显示下一位作准备 mov r2,a ;存位码 jb acc.7,dis1 ;不到最后一位,则继续 retptos:mov r1,a ;暂存 acall dis1 ;低4

温馨提示

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

评论

0/150

提交评论