




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机倒计时器设计说明书1设计方案简介(1)4个按键组成2*2矩阵形式,接到P3口。其中SW4接P3.6口,SW5接P3.7。(2)通过T0定时器与P2.3引脚配合构成音频发生器,在P2.3引脚输出音频频率。2设计流程图设计电路原理图输入汇编语言焊接电路编译映射下载到芯片上3设计原理3.1 AT89C513.1.1 AT89C51单片机简介图(a) 89C51内部结构图AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz24MHz。3.1.2 管脚功能AT89C51单片机为40引脚芯片如图(b)所示。(1)I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可以作为用户I/O口线使用, P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如图(c)。图(b) 89C51引脚图(2)控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;(3)电源及时钟: CCC、VSS; XTAL 1, XTAL 2图(c) 引脚功能表3.2 实验原理图图(1) 主控制电路图(2) LED数码管控制电路 图(3) 蜂鸣器控制电路 4软件流程图4.1倒计时器主程序框图主程序定时器初始化允许T0中断启动T0调用键盘扫描程序有键按下吗调用显示子程序查表取计数初值T0装入计数初值调用键盘扫描程序允许T0中断有键按下吗否是否是4.2显示子程序框图赋表首值选定片选数码管输出数据左移选择下一显示数码管5带详细注释的源程序清单;*; 设计选题: 倒计时器系统设计; 描述: 4位LED数码显示倒计时器,显示时间为99秒,; 一个开始键,一个复位键,一个暂停键。; 调用子程序: 计时子程序,显示子程序,定时子程序; 所用特殊寄存器:寄存器A,寄存器C; 所用中断:外部中断INT0,定时器T0; 实验作者: 肖延文-47号,高穹誉-10号;* ORG 0000H LJMP START ;主程序必须避开地址000BH ORG 000BH ;定时器0的中段服务程序,起始地;址为000BH LJMP IT00 ORG 0030HSTART: MOV TH0,#0D8H ;装入初始值,定时10ms MOV TL0,#0F0H MOV TMOD,#01H ;工作方式1 MOV 33H,#09 ;显示初值为99s MOV 32H,#09 MOV 31H,#00 MOV 30H,#00 SETB ET0 ;打开定时0 SETB EA ;开总中断LOOP1: JB P3.6,LOOP ;判断高低位,即按键KEY0是否按下 LCALL DISPLAY ;为低,即按键按下,延时消抖 LCALL DISPLAY JB P3.6,LOOP ;按键真的按下,并不是外界的干扰 SETB TR0 ;启动定时器HERE: LCALL DISPLAY ;调用显示 JB P3.7,LOOP3 ;判断高低,即KEY1按键是否按下 CLR TR0 ;按下,关闭定时器,这里并没有消抖 LJMP LOOP1 ;等待KEY0的按下LOOP3: SJMP HERE ;KEY1没有按下,就需显示LOOP: LCALL DISPLAY ;KEY1没有按下,就需显示 LJMP LOOP1;* ; 减10ms子程序;*SUB1: DEC 30H ;百分位减1 MOV A,30H CJNE A,#0FFH,LOOP2 ;判断百分位减到0之后是否再减1 MOV 30H,#09 ;是,装入初值9 DEC 31H ;十分位减1 MOV A,31H CJNE A,#0FFH,LOOP2 ;判断十分位减到0之后是否再减1 MOV 31H,#09 DEC 32H MOV A,32H CJNE A,#0FFH,LOOP2 MOV 32H,#09 DEC 33H MOV A,33H CJNE A,#0FFH,LOOP2 CLR P2.3 ;从99s减到0s后,驱动蜂鸣器 LCALL DELAY ;延时 LCALL DELAY SETB P2.3 ;关闭蜂鸣器 MOV 33H,#09 ;装入初值99s MOV 32H,#09 MOV 31H,#00 MOV 30H,#00LOOP2: NOP ;空指令 RET ;返回;*; 显示子程序;*DISPLAY: MOV DPTR,#TAB ;赋表首地址 ;选定片选数码管 MOV A,#0FBH SETB P2.7 MOV P0,A ;点亮最左边的数码管 CLR P2.7 XCH A,R0 ;暂存A的值 ;输出显示数据 MOV A,33H MOVC A,A+DPTR ;根据表值查找所需的值 SETB P2.6 MOV P0,A ;显示值 CLR P2.6 LCALL DELAY ;延时 ;选择下一显示数码管 XCH A,R0 ;恢复原值 RL A ;循环左移,为下次做准备 SETB P2.7 MOV P0,A CLR P2.7 XCH A,R0 MOV A,32H MOVC A,A+DPTR SETB P2.6 MOV P0,A CLR P2.6 LCALL DELAY XCH A,R0 RL A SETB P2.7 MOV P0,A CLR P2.7 XCH A,R0 MOV A,31H MOVC A,A+DPTR SETB P2.6 MOV P0,A CLR P2.6 LCALL DELAY XCH A,R0 RL A SETB P2.7 MOV P0,A CLR P2.7 XCH A,R0 MOV A,30H MOVC A,A+DPTR SETB P2.6 MOV P0,A CLR P2.6 LCALL DELAY RET;*; 数码管显示的数值;*TAB: DB 0EDH,48H,0F4H,0B5H,99H DB 3DH,7DH,85H,0FDH,0BDH,0DDH,79H,6CH,0F1H,7CH,5CHIT00: MOV TH0,#0D8H ;装入初值10ms MOV TL0,#0F0H LCALL SUB1 ;减10ms RETI ;返回;*;延时子程序,时间大约为:2us*10*250;*DELAY: MOV R7,#10 DEL2: MOV R6,#250DEL1: DJNZ R6,DEL1 DJNZ R7,DEL2 RET END ;结束6.调试运行1. 接硬件图连线,为了确保四位数码管能够对应显示。实验时,对P0口的接线做了调整。即:P0.0接L1,P0.1接L2,P0.2接L3,P0.3接L4。2. 从0030H单元开始连续运行,观察四个数码管显示情况是否与预期的结果一致。如果不一致,则单步运行或断点运行进行调试,直至满足设计要求。3. 整体运行,观察数码管显示是否符合要求。如果不符合,则再调试,直至满足要求。7个人体会 通过本次课程设计,我深深的体会到了作为一个硬件工程师的艰辛。即使做一个小小的项目,都需要这么多的辛苦,必须考虑到问题的任何一个细节,否则最后也将是功败垂成。 原理图设计: 当我们选取了这样一个题目,我们就开始收集相关的各种资料,对题目有个大致的了解,规划一下设计的任务将要完成哪些功能。然后就具体的每一项功能应该怎样具体的设计,例如用什么方法完成这一功能,这种想法是否合理。经过长时间的查阅资料、思索、推敲,最后定出了这次设计的原理图。编程调试:此次设计的编程,难点在于对LED数码管显示程序的编写,由于对AT89C51的工作原理不是很熟悉,所以一开始摸不着头脑。看参考教材、上网查阅其相关资料,对AT89C51的工作原理有个大致的了解后,程序的编写也初见端倪了,所以花在编此段程序的时间最长;中断程序的编写也是常规的编写。在整个程序的编写过程中,研究每个子程序是否好使,我是通过Keil C和proteus两个软件来实现的。Proteus是一个单片机的仿真软件,发现它之后真的很受用,通过它可以不用连接硬件就能检查程序是否好使。Keil C则帮助我检查程序是否存在语法错误之类的问题,还可以生成hex文件,供proteus软件仿真使用。通过这两个软件,我们把整个的程序调试正确。通过上面的这个步骤,把程序调试好,接下来就是真正的硬件连接调试了。程序既然已经在仿真的软件上通过认证,如果连接上硬件不好使的话,说明在硬件上某个部分存在一定的问题。这点得到了验证:硬件模拟的时候,紧急情况用的开关有一个不好使,按下的时候没有反应。用万用表检测发现,开关内部的连接没有错误,但是当开关按下的时候,不是接通的,说明此开关有问题。后来仔细检查,发现一个引脚在焊接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 31155-2014太阳能资源等级 总辐射》
- 食堂厨师服务合同范本
- 租赁私人车辆合同范本
- 土方挖运输合同范本
- 房屋购销合同范本
- 租房合同范本怎么制作
- 工地包工合同范本
- 帐篷营地营运合同范本
- 喷粉合同范本
- 店铺共享出租合同范本
- 2024年交管12123学法减分试题题库附答案
- 2024年湖南省长沙住房公积金管理中心招聘历年高频难、易点(公共基础测验共200题含答案解析)模拟试卷
- 《我与地坛》教学设计 统编版高中语文必修上册
- 工业固废运输处置投标方案(技术标)
- 上海市语文新初一均衡分班试卷
- KA-T 20.1-2024 非煤矿山建设项目安全设施设计编写提纲 第1部分:金属非金属地下矿山建设项目安全设施设计编写提纲
- 微积分(第三版)课件:常微分方程
- (高清版)DZT 0079-2015 固体矿产勘查地质资料综合整理综合研究技术要求
- 钝感力读后感课件
- (完整word版)软件投标书模板
- 甲醇制氢生产装置设计
评论
0/150
提交评论