版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告院系:_班级:_学号:_姓名:_日期:_ 一、课程设计内容该课程设计是利用80c51单片机内部的定时计数器、中断系统和led显示器等部件,设计一个单片机数字时钟。设计的数字时钟通过数码管显示。二、课程设计题目1、作息时间控制钟功能要求:时钟计时及显示(每秒刷新)、到设定时间指示灯提示(几秒)。原理及方法:结合实验设备实现时硬件电路、原理、方法、说明(初始化、存储分配、工作方式)等。程序设计:计时、比较、显示提示。调试:遇到的问题、解决方法。三、80c51单片机内部定时器计数器、中断系统定时器计数器 1、80c51系列中51子系列有两个16位的可编程定时计数器可:定时计数器t0
2、和定时计数器t1。它由加法计数器、方式寄存器tmod、控制寄存器tcon等组成。方式寄存器用于设定定时计数器t0和t1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。 2、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。 3、每个定时计数器都有多种工作方式,其中t0有四种工作方式,t1有三种工作方式,t2有三种工作方式。通过编程可设定工作于某种方式。四种工作方式为:13位定时计数器、16位定时计数器、8位自动重置定时计数器、两个8位定时计数器(只有t0有) 4、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或
3、中断方式处理。中断系统:1、80c51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器t0和t1的溢出中断tf0和tf1,1个串行口发送ti和接收ri中断。2、80c51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器ie的各位来控制的。中断允许寄存器ie的字节地址为a8h,可以进行位寻址。系统复位时,中断允许寄存器ie的内容为00h,如果要开放某个中断源,则必须使ie中的总控置位和对应的中断允许位置“1”。3、80c51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器ip来设置,中断优先级寄
4、存器ip的字节地址为b8h,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器t0中断、外部中断1、定时计数器t1中断、串行口中断。通过设置中断优先级寄存器ip能够改变系统默认的优先级顺序。4、80c51单片机响应中断的条件为:中断源有请求且中断允许。四、led数码管显示器在单片机应用系统中,经常用到led数码管作为显示输出设备,led数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片
5、机应用系统的需要,所以在单片机应用系统中经常用到。led数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式led数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于led数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。led数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。五、基本原理软时钟是利用单片机内部的定时器计数器来实现的,它的处理过程如下:
6、首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示用6个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得
7、显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。六、系统硬件电路的设计本实验设置的时钟初始时间是06:00:00,设置到06:01:00时灯亮五秒后自动关闭,本实验的硬件连接图如下:如图,p0口通过接锁存器74ls373来实现低位地址和数据线的共用,q0口德q0和q1接8355的a0和a1口来选通8255的各端口,用8255的pa口来作为6个数码管的段选码,其地址为0ffdch, 用8255的pb口来作为6个数码管的
8、位选码,其地址为0ffddh。实验中,设置8255的工作方式为:pa口和pb口均为方式0下的输出模式,通过pb口依次输出不同的值来实现6个数码管的循环选通,通过pa口输出不同的值使选通的数码管显示09之间不同的数值。程序中通过定时器0中断的方式来实现秒位的每秒加一,设置50ms中断发生一次,寄存器r0内容加一,当r0内容加到20时,r0内容清零,并实现秒位加一,寄存器r7r2依次存放秒的个位十位,分的个位十位,小时的个位十位。七、程序显示子程序流程图指针中输入位地址指针中输入表首址 输出a中输入位码a中装入要显示数字 查表指针装入段地址 输出主程序流程图开始初始化计时1秒?秒单元加1是秒单元=
9、60?否是分单元加1,秒单元清0分单元=60?否是时单元加1,分单元清0时单元=24?否是时单元清0否与预设时间相等? 是动态扫描显示p1.0高 指示灯亮 中断流程图分单元=60?秒单元=60?100ms计数器加1现场保护,重置初值开始计数器=10?否秒单元加1,计数器清0是否分单元加1,秒单元清0是否是时单元加1,分单元清0时单元清0时单元=24?否是是中断返回恢复现场程序代码 sec equ 00 min equ 00 h equ 06 secend equ 00 minend equ 01 hend equ 06 org 0000h ljmp main org 000bh ;中断入口 l
10、jmp time main:mov sp,#30h setb ea ; 开总中断 setb et0 ; 启用定时器0 mov tmod,#01h ;定时器0工作方式1 mov th0,#3ch ;装入初值 mov tl0,#0b0h setb tr0 ;计时开启 mov dptr,#biao mov p2,#0ffh mov r0,#0ddh mov r1,#0dch mov r3,#sec mov r4,#min mov r5,#h mov r7,#0 mov p1,#0 loop: mov a,r3 mov r2,a mov r6,#01 lcall display ;绝对调用 mov r
11、6,#04h mov a,r4 mov r2,a lcall display mov r6,#10h mov a,r5 mov r2,a lcall display cjne r7,#10,loop mov r7,#0 inc r3 cjne r3,#60,loop1 mov r3,#0 inc r4 cjne r4,#60,loop1 mov r4,#0 inc r5 cjne r5,#24,loop1 mov r5,#0 loop1:cjne r5,#hend,loop3 ;定时比较 cjne r4,#minend,loop3 mov p1,#0ffh ljmp loop loop3:mo
12、v p1,#0 ljmp loop display:mov b,#10 mov a,r6 movx r0,a mov a,r2 div ab mov r2,a mov a,b movc a,a+dptr movx r1,a lcall delay mov a,r6 rl a movx r0,a mov a,r2 movc a,a+dptr movx r1,a lcall delay ret delay: mov 7fh,#25 loop2: nop djnz 7fh,loop2 ret biao:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h t
13、ime:mov th0,#3ch ;重装初值 mov tl0,#0b0h inc r7 reti end八、系统调试与存在的问题软件调试软件调试一般分为以下四个阶段:1、 编写程序并查错;2、在mcs-51编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果:1.在试验中发现驱动数码管显示的都是乱码,不是预定的值,把显示程序单独拿出来后发现只驱动一位数码管时可以显示,但多位就不行,查找课本后发现,驱动完每位数码管后都必须加一毫秒左右的延时程序来确保每位数码管的亮度
14、,更改后显示正常。2.程序中使用cjne语句,编译后提示跳转长度不够,更改为不相等时跳到就进的某个地方,再通过ljmp指令来实现转移。九、小结这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处. 这是一个磨练意志的过程。从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的上机实践,直至
15、报告完成这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过80c51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。通过单片机课程设计,我不仅加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一章第一节区域和区域差异教案
- 《马路上的红绿灯》教案设计
- 《液压与气动》教案
- 商品房销售客户体验优化
- 岱岳区园艺作业外伤防护指南
- 福建林地生态旅游开发新机遇
- 旅游景点供电合同细则
- 区块链技术法律顾问服务协议
- 园林绿化大白施工合同
- 武汉市美容美发店租赁合同
- 303093 池国华 《内部控制与风险管理(第3版)》思考题和案例分析答案
- 02安全培训、教育需求识别表
- 我的dl2007说明书dl07数字水准仪使用手册
- (精选)廉政风险防控台账
- 三等金属线纹尺标准装置计量标准技术报告(钢直尺)
- 梁板模板高支撑架搭设要求
- 锡膏承认检验规格书
- 测试流程及规范
- 关于房屋建筑和市政工程界定文件
- 年产18万吨合成氨及30万吨尿素项目建议书
- 【中考英语】中考看图写话质量分析
评论
0/150
提交评论