《单片机原理及应用》课程设计-电子万年历.doc_第1页
《单片机原理及应用》课程设计-电子万年历.doc_第2页
《单片机原理及应用》课程设计-电子万年历.doc_第3页
《单片机原理及应用》课程设计-电子万年历.doc_第4页
《单片机原理及应用》课程设计-电子万年历.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用单片机原理及应用课程设计课程设计 题题 目:目: 电子万年历电子万年历 专专 业:业:电子信息工程技术电子信息工程技术 班班 级:级: 姓姓 名:名: 学学 号:号: 指导老师:指导老师: 日日 期:期: 成成 绩:绩: 目录目录 摘要摘要 1 1 概述概述 1.11.1 单片机原理及应用简介单片机原理及应用简介 1.21.2 设计目的设计目的 1.31.3 设计要求设计要求 2 2 系统总体方案及硬件设计系统总体方案及硬件设计 2.12.1 系统总体方案系统总体方案 2.22.2 硬件电路的总体框图设计硬件电路的总体框图设计 2.32.3 硬件电路原理图设计硬件电路原理图设计 3 3 软件设计软件设计 3.13.1 主程序流程图设计主程序流程图设计 3.23.2 显示模块流程图显示模块流程图 4 4 课程设计体会课程设计体会 5 5 参考文献参考文献 6 6 附图附图 摘要:本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有 可调整日期和时间功能。 我选用的是单片机 at89c51 来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示 年月日时分秒及星期,温度等信息。 该电子万年历使用 12mhz 晶振与单片机 at89c51 相连接,通过软件编程的方法实现了以 24 小时为一个周期, 同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用 数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实 现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路 相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程 比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来 就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用 了单片机 at89c51。另外, 单片机 at89c51 的指令系统和引脚与 at89c51 完全兼容,片内有 128b 的 ram、32 条 i/o 口线、2 个 16 位定时计数器、5 个中断源、一个全双工串行口等。 因此,采用单片机 at89c51 原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经 济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。 1 1 概述概述 1.1 单片机原理及应用简介 随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是 将 cpu 和外围芯片,如程序存储器、数据存储器、并行、串行 i/o 口、定时/计数器、中断控制器及其他控制 部件集成在一个芯片之中,制成单片计算机(single-chip microcomputer) 。而近年来推出的一些高档单片机 还包括有许多特殊功能单元,如 a/d、d/a 转换器、调制解调器、通信控制器、锁相环、dma、浮点运算单元等。 因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集 系统、自动测试系统、万年历电子表等。 单片机的出现,并在各个技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特 点有关: 1、单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及 应用有最少的联接外,还可以方便地采用软、硬件技术。 2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用 系数。 3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改 变硬件系统就能适当地改变系统功能。 4、有优异的性能、价格比。 可以说,对于广大的电子应用专业技术人员,目前国和内国外面临的单片机应用技术,如同 60年代面临晶体管技术,70 年代面临数字集成电路一样。单片机和可编程门阵列相结合,构成新一代电子应 用技术是不可能回避的一项新型的工程应用技术。 单片机是微型计算机的一个重要分枝,单片机是把中央处理器、随机存储器、只读存储器、定时器/计数 器、并行接口接口、串行接口、a/d 转换器等主要计算机部件,集中在一块集成电路芯片上。虽然只是一个芯 片,但从功能上它就相当于一台完整的微机。随着科学技术的迅猛发展,单片计集成度高、体积小、运算速度 快、功耗低、运行可靠、价格低廉等诸多优点,越来越显现出来。目前可以说单片机已经渗透到我们的生活的 各个领域,在工业方面:像过程控制、数据采集,机电一体化、智能化仪器仪表,特别在军事武器控制方面尤 为突出。在日常生活方面,我们使用彩电、洗衣机、电冰箱,录放机、vcd、照相机、手机、高级定时闹钟以 及公共汽车上的报站器等等可以说举不胜举。 1.21.2 设计目的设计目的 1、熟悉 mcs-51 定时/计数器、中断的应用。 2、熟悉时钟时、分、秒计时方法,掌握编程技巧。 3、掌握键盘的基本工作原理,键的识别,键抖动和重键问题的解决,键盘工作方式和键盘程序的编程。 4、掌握七段码 led 显示器的结构,七段码 led 显示器的工作方式和显示程序的编程。 5、掌握串行通信程序的编写。 1.3.设计要求设计要求 1、设计实现电子万年历的硬件原理图。 2、用 t0 定时器,产生时钟信号,设计定时中断程序。3、通过按键切换,分别显示时、分、秒,设计显示程 序。 4、可用键盘进行校对时间,设计键盘程序。5、当前时间可通过串口在其他单片机系统上显示。 at89c51 的引脚图及部分引脚功能 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen 有效。 /ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000 h- ffffh),不管是否有内 部程序存储器。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 口管脚备选功能 p1.0p1.78 位双向口 p2.0p2.78 位双向口 p3.0p3.78 位双向口 p3.0 rxd串行输入口 p3.1 txd串行输出口 p3.2 /int0外部中断 0 p3.3 /int1外部中断 1 p3.4 t0记时器 0 外部输入 p3.5 t1记时器 1 外部输入 p3.6 /wr外部数据存储器写选通 p3.7 /rd外部数据存储器读选通 2 系统总体方案及硬件设计系统总体方案及硬件设计 2.1 系统总体方案系统总体方案 我选用的是单片机(at89c51)来实现电子万年历的功能。共具备两个功能: (1)显示年月日及分秒信息 (2)具有可调整日期和时间功能。 1 微处理器 在设计过程中我使用 12mhz 晶振与单片机 at89c51 相连接,通过软件编程的方法实现了以 24 小时为一个周期同时显示小时,分钟和秒的要求,该定时闹钟设有九个按键,使之具备了校时、 定时功能。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动 态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态, 实现不同功能。 2.2 硬件电路的总体框图设计硬件电路的总体框图设计 该设计的硬件电路的总体框图如图所示 2.3 硬件电路原理图设计硬件电路原理图设计 该万年历是以单片机该万年历是以单片机 89s52 为核心来完成的。为核心来完成的。 在硬件电路中采用 p0 口作为 6 位液晶显示电路的驱动接口,这是由于 p0 口输出驱动电路工作处 于开漏状态,它的驱动能力强,故只需外接上拉电阻便可以把 led 数码管点亮。因为共阴的 led 数 码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的 8 位 led 数码管均用共阳阴极的数码管。8 位 led 数码管的位选线分别由相应的 p2. 0p2. 5 控 制,而将其相应的段选线并联在一起,由一个 8 位的 i/o 口控制,即 p0 口。p3 口与八个校时按键 相连,以成功实现万年历校时的功能。主控制原理图: 3.软件设计软件设计 程序框图:程序框图: 开始 初始化 按键扫描 有键按下 按键处理,确定模式 时间显示模式 根据按键状态显示相应时间段 时间修改模式 根据按键状态修改时间 no no yes yes 图图 1 主程序主程序 流程框图流程框图 开始 装入计数初值(50ms 中断) 计数标志 num+ num=20? num=0 时间加 1 秒 结束 图图 2 定时中断流程框图定时中断流程框图 no yes 开始 清零按键状态位 按键为低电平? 延时,去抖动 按键为低电平? 按键为低高平? 有按键,置按键状态 yes yes 结束 图图 3 按键扫描流程框图按键扫描流程框图 no no yes 清零按键状态 程序中使用到了 t0,t1 和串口中断,p0,p2 口为 led 的输出数据口,p32,p33,p34 分别为时分 秒转换,时间校验和时间停止位 (一):主机程序:(一):主机程序: org 0000h ljmp main org 000bh ljmp time org 0023h ljmp chuanxing org 0030h main: setb p3.2 setb p3.3 setb p3.7 setb p3.5 mov pcon,#00h mov scon,#01010000b mov tmod,#21h mov tl0,#0b0h mov th0,#3ch mov th1,#0cch ;产生 600 波特率 mov tl1,#0cch mov r5, #20 ;20 次以达到 1s 的计时 mov r4,#3 ;切换标志位 mov r6,#0ffh ;恢复暂停标志 mov r7,#1 mov r3,#0ffh ;暂停标志 mov 50h,#0 ;存放时分秒的数据空间地址 mov 51h,#0 mov 52h,#0 mov 53h,#0 mov 54h,#0 mov 55h,#0 mov 60h,#0ffh;串性发送标志 mov 61h,#0ffh mov 62h,#0ffh mov 70h,#0 ;存放串行接受的数 mov 71h,#0 ;接受从机发送的切换标志 setb ea setb es setb et0 setb tr0 setb tr1 start: call key mov a,70h cjne a,#0f1h,qiehuan;是否为串性标接受到的切换志 mov 70h,#0 mov 71h,#1 ljmp xianshi qiehuan: cjne a,#0f2h,qiehuan1 mov 70h,#0 mov 71h,#2 ljmp xianshi qiehuan1: cjne a,#0f3h,qiehuan2 mov 70h,#0 mov 71h,#3 ljmp xianshi qiehuan2: mov a,r0 jnz xianshi mov a,70h cjne a,#0f6h,qiehuan3;是否为串性接受到的恢复暂停标志 mov r6,#0 ljmp stop qiehuan3: mov a,r3 jz stop1 mov a,70h cjne a,#0f7h,xianshi mov 70h,#0 mov r6,#0ffh sjmp xianshi stop1: ljmp stop ;51h, 50h miao ;53h,52h fen ;55h,54h shi xianshi: ;显示子程序 mov dptr,#segtab ;显示秒 mov a,71h cjne a,#1,bingxing1 sjmp bingxing2 bingxing1: cjne r4,#3 ,fen bingxing2: mov a,51h movc a,a+dptr mov p0,a mov a,50h movc a,a+dptr mov p2,a mov a,60h ;串行发送秒 jnz biaozhi clr ti mov a,50h mov sbuf,a call t10ms jb ti ,$ mov a,51h mov sbuf,a jb ti,$ mov 60h,#0ffh ;call t10ms biaozhi: ljmp start fen: ;显示分 mov a,71h cjne a,#2,bingxing3 sjmp bingxing4 bingxing3: cjne r4,#2 ,shi bingxing4: mov a,53h movc a,a+dptr mov p0,a mov a,52h movc a,a+dptr mov p2,a mov a,61h ;串行发送分 jnz biaozhi1 clr ti mov a,52h mov sbuf,a jb ti ,$ call t10ms mov a,53h mov sbuf,a jb ti,$ mov 60h,#0ffh ;call t10ms biaozhi1: ;call t10ms ljmp start shi: ;显示时 mov a,71h cjne a,#3,bingxing5 sjmp bingxing6 bingxing5: cjne r4,#1,shi1 bingxing6: mov a,55h movc a,a+dptr mov p0,a mov a,54h movc a,a+dptr mov p2,a mov a,62h ;串行发送时? jnz biaozhi2 clr ti mov a,54h mov sbuf,a jb ti ,$ call t10ms mov a,55h mov sbuf,a jb ti,$ mov 60h,#0ffh ;call t10ms biaozhi2: ;call t10ms shi1: ljmp start stop: ;暂停子程序 mov a,r6 jz xianshi1 ljmp start xianshi1: mov a,70h cjne a,#0f4h,aa mov 70h,#0 ljmp num1 aa: mov a,r1 jnz num1 mov a,70h cjne a,#0f5h,bb mov 70h,#0 ljmp num2 bb: mov a,r2 jnz num2 ljmp start num1: ;高位累加 cjne r4,#3,fen1 ;秒 inc 51h mov a,51h cjne a,#6 ,qingling0 mov 51h,#0 qingling0: ljmp xianshi fen1: ;分 cjne r4,#2,shi11 inc 53h mov a,53h cjne a,#6 ,qingling1 mov 53h,#0 qingling1: ljmp xianshi ;时 shi11: cjne r4,#1,qingling2 inc 55h mov a,55h cjne a,#6 ,qingling2 mov 55h,#0 qingling2: ljmp xianshi num2: ;低位累加 cjne r4,#3,fen2 ;秒 inc 50h mov a,50h cjne a,#10,qingling3 mov 50h,#0 qingling3: ljmp xianshi fen2: cjne r4,#2,shil2 ;分 inc 52h mov a,52h cjne a,#10 ,qingling4 mov 52h,#0 qingling4: ljmp xianshi ;时 shil2: cjne r4,#1,qingling5 inc 54h mov a,54h cjne a,#10 ,qingling5 mov 54h,#0 qingling5: ljmp xianshi time: ;中断子程序 mov a,r6 jnz fanhui11 reti fanhui11: djnz r5,next mov r5,#20 inc 50h mov a,60h cpl a mov 60h,a mov a,50h cjne a,#10,next inc 51h mov 50h,#0 mov a,51h cjne a,#6,next inc 52h mov a,61h cpl a mov 61h,a mov 51h,#0 mov a,52h cjne a,#10,next inc 53h mov 52h,#0 mov a,53h cjne a,#6,next inc 54h mov a,62h cpl a mov 62h,a mov 53h,#0 mov a,54h cjne a,#10,next inc 55h mov 54h,#0 mov a,55h cjne a,#6,next mov 55h,#0 ;重装初值 next: ljmp fanhui1 key ;键盘扫描子程序 p3.2 切换 p3.3 十位加 p3.5 暂停 p3.7 个位加 mov r0,#0 mov r1,#0 mov r2,#0 jb p3.2, rel1 call t10ms jnb p3.2,fanhui ;第一个键按下子程序 mov r0,#1 mov p1,#0feh dec r4 mov a,r4 jnz rel5 mov r4,#3 rel5: ljmp t10ms rel1: ;第二个键按下子程序 jb p3.3,rel2 call t10ms jnb p3.3 ,fanhui mov r1,#1 ljmp fanhui ;第三个键按下子程序 rel2: jb p3.7,rel3 call t10ms jnb p3.7 ,fanhui mov r2,#1 ljmp fanhui ;第四个键按下子程序 rel3: jb p3.5,fanhui call t10ms jnb p3.5 ,fanhui mov a,r3 cpl a mov r3,a mov a,r6 cpl a mov r6,a ljmp fanhui t10ms: ;十毫秒延时程序 push 50h push 51h mov 50h,#0ffh loop1: mov 51h,#0ffh nop loop2: nop djnz 51h,loop2 djnz 50h,loop1 pop 51h pop 50h fanhui: ret fanhui1: mov tl0,#0b0h mov th0,#3ch reti ;查表段 se

温馨提示

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

评论

0/150

提交评论