定时器计数器的应用系统设计_第1页
定时器计数器的应用系统设计_第2页
定时器计数器的应用系统设计_第3页
定时器计数器的应用系统设计_第4页
定时器计数器的应用系统设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

单片机作业PAGEPAGE1定时器计数器的应用探测一班定时器计数器的应用系统设计系统分析设计一个简单的单片机应用系统,要求如下:晶振为12MHZ,使用定时器计数器1(T1)作为延时控制,利用I/O端口P0点亮三只灯,三只灯(如P0.0、P0.1、P0.2)交替闪烁,间隔1s。系统功能框图设计晶振单片机P0.0灯P0.1灯复位P0.2灯定时计数器三.系统硬件设计单片机AT89C51瓷片电容CAP30PF电阻RES晶振CRYSTAL12MHZ按钮BUTTON电解电容CAP-ELEC发光二级管LED-BIBY发光二级管LED-BIGY发光二级管LED-BIRG四.系统软件、原理图设计该系统的原理图如图1所示图1系统的原理图五.程序流程图设计开始开始定时/计数器初始值设置P0.0清0、P0.1置1、P0.2置1启动定时/计数器1定时/计数器是否延时25ms?启动定时/计数器重新赋值是否循环40次(延时1s)?P0.0、P0.1取反定时/计数器是否延时25ms?1111111111010ms50ms?启动定时/计数器重新赋值是否循环80次(延时1s)?P0.1、P0.2取反NN定时/计数器是否延时25ms?启动定时/计数器重新赋值是否循环120次(延时1s)?P0.0、P0.2取反重新计循环次数NNN` NYYYYY六.系统的程序设计汇编程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV SP,#60H ;初始化堆栈MOV TMOD,#010H ;MOV TH1,#9EH ;初始化定时器1的溢出间隔时间为25ms MOV TL1,#58H SETB TR1 ;启用定时器1SETB P0.1SETB P0.2CLR P0.0MOV R7,#00H ;R7计数LOOP1:JNB TF1,LOOP1 ;计数溢出时,TF1置位1,程序向下执行,;否则调用LOOP1 MOV TH1,#9EH ;初始化定时器1的溢出间隔时间 MOV TL1,#58H INC R7 CLR TF1 CJNE R7,#64H,LOOP1 CPLP0.0CPLP0.1 AJMP LOOP2;40次循环P0.0灯闪烁一次即亮1s停 AJMP LOOP3;80次循环P0.1灯闪烁一次即亮1s停 AJMP LOOP1;120次循环P0.2灯闪烁一次即亮1s停LOOP2: JNB TF1,LOOP2MOVTH1,#9EH MOV TL1,#58H INC R7 CLR TF1 CJNE R7,#0C8H,LOOP2CPLP0.1CPLP0.2LOOP3: JNB TF1,LOOP3 MOV TH1,#9EH MOV TL1,#58H INC R7 CLR TF1 CJNE R7,#12CH,LOOP3CPLP0.0CPLP0.2 MOV R7,#00H RET END C语言程序:#include”reg51.h”#defineuintunsignedint#defineucharunsignedcharsbitP0_0=P0^0;//定义位变量sbitP0_1=P0^1;sbitP0_2=P0^2;uint=0;voidtime0_sever_(void)interrupt1{TH1=0x9E;//定时时间为25msTL1=0x58;t++;}voidInit_t0(void)//定义器初始化{TMOD=0x01;//选择方式一TH1=0x9E;TH0=0x58;EA=1;ET1=1;TR1=1;}voidmain(void){PP_0=1;P0_1=0;P0_2=0;Init_t0();while(1){if(t==40){P0_0=~P0_0;P0_1=~P0_1;P0_2=P0_2;If(t==80){P0_0=P0_0;P0_1=~P0_1;P0_2=~P0_2;if(t==120){P0_0=~P0_0;P0_1=P0_1;P0_2=~P0_2;}}}}t=0;}七.系统调试与仿真系统的运行结果如图2所示:

(a)(b)(c)图二系统的运行结果开始运行时,D1灯亮,持续1s;间隔1s后,D2灯亮;再过1s,D3灯亮,循环下去。八.收获、建议、目前仍存在的问题收获:通过做此次单片机作业,可以说我对单片机有了一个比较初步的认识。从一开始的十分茫然,到按照书上的步骤编程,一点一点的对所编程序进行设置,再到可以绘制原理图,我对单片机不仅仅有了一定的了解,同时也对单片机这门课程产生了浓厚的兴趣。现在的我渐渐地树立了自信心,现在可以说对单片机有了一定的认识,对汇编语言以及C语言的应用也提高了许多。对于学习单片机,我有自己的想法,但不知道对不对。我觉得学习单片机最重要的是一个分析过程,要把整个任务的框架搞清楚,那才是主要的。问题:对于程序流程图的绘制以及汇编语言和C语言中一部分命令的理解存在问题。希望老师上课时,把命令将得更透彻些。建议:希望老师可以对程序的框架结构多多讲解。(上课的时候我在想的可能和别的同学不一

温馨提示

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

评论

0/150

提交评论