《单片机技术与应用》 课件 项目四任务8-简易秒表的设计.pptx

《单片机技术与应用》 课件 项目四任务8-简易秒表的设计.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目四简易秒表设计

单片机定时器结构任务一定时器寄存器的初始化任务二定时器方式0的基本使用任务三定时器方式1的基本使用任务四定时器方式2的基本使用任务五定时器较长定时的实现任务六单片机驱动液晶任务七简易秒表的设计任务八

任务八简易秒表的设计

任务描述数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。设计硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。主控制器采用单片机AT89C51,显示电路采用一液晶LCD1602显示计时时间。

知识链接计时控制

计时控制计时采用定时器T0中断完成,定时溢出中断周期为50ms,当溢出向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加1,达到2次就对十毫秒位进行加1,依次类推,直到59分59.9秒重新复位。

任务实施1.硬件电路2.程序设计

1.硬件电路

2.程序设计#includeREGX51.H//包含头文件#defineucharunsignedchar//定义uchar表示无符号字符型#defineuintunsignedint//定义uint表示无符号整型sbitrs=P2^0;//1602的数据/指令选择控制线sbitrw=P2^1;//1602的读写控制线sbiten=P2^2;//1602的使能控制线sbitstart=P2^7;//启动/暂停按钮sbitreset=P2^6;//复位按钮#defineDataPortP1uintcnt=0;//1s的次数的计数值uintnum=0;//进入中断次数的计数值(一次50ms)uintnum1=0;//0.1s的次数的计数值

/***********定时器初开始化函数*************/voidInitTimer0(){TMOD=0x01;//选择定时器0的工作方式1TH0=(65536-45872)/256;//装初值(定时50ms),晶振11.0592MHzTL0=(65536-45872)%256;EA=1;//打开总中断ET0=1;//打开定时器中断TR0=0;//先不要启动定时器}/***********ms级延时函数*************/voidDelayms(uintx)//延时xms{uinti,j;for(i=x;i0;i--)for(j=110;j0;j--);}

/***********定时器中断服务函数*************/voidTIMER0()interrupt1{TH0=(65536-45872)/256;//重装初值TL0=(65536-45872)%256;num++;//让进入中断次数值加1,用于判断是否达到1snum1++;//让进入中断次数值加1,用于判断是否达到0.1s}

voidLCD_Check_Busy(void){while(1){DataPort=0xff;rs=0;rw=1;en=0;_nop_();en=1;if(DataPort0x80)break;}en=0;delay(2);}

voidlcd_wcom(ucharcom)//1602写命令函数(单片机给1602写命令){LCD_Check_Busy();//1602接收到命令后,不用存储,直接由HD44780执行并产生相应动作rs=0;//选择指令寄存器rw=0;//选择写 P1=com;//把命令字送入P2en=1;//使能线电平变化,命令送入1602的8位数据口e

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档