实验四 单片机秒表设计_第1页
实验四 单片机秒表设计_第2页
实验四 单片机秒表设计_第3页
实验四 单片机秒表设计_第4页
实验四 单片机秒表设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、微控制器实验报告四 班 级: 15自动化 学 号: 姓 名: 指 导 教 师: 李素敏 实验四 秒表设计一. 实验目的(1)掌握利用单片机定时器实现定时。(2)熟悉单片机与数码管的接口技术及数码管动态显示的控制过程。(3)熟悉单片机与键盘的接口技术及按键识别过程。(4)学会如何编制含数码管显示,定时器中断及按键控制等多种功能的综合程序,体会大型程序的编制和调试技巧。二. 实验内容1、用6位数码管显示秒表时间,最左边2位显示分,中间2位显示秒,最右边2位显示秒的小数位(0.000.99秒),秒与小数位之间要显示小数点。 2、两个按键:(1)计时/停止按键:首次按下从0开始计时,再次按下暂停计时,

2、之后每次按下按键实现继续计时、暂停计时,继续计时、暂停计时。(继续计时即从上次暂停时的时间开始继续计时)(2)复位按键:按下后全部清0,等待下次按下计时/停止按键时重新开始计时。三实验仪器 PC机、单片机四实验步骤1.编写程序2.生成hex文件3.将程序烧录至单片机4.调试程序,知道得出正确的实验结果5. 实验结果与分析实验代码如下:#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;sbit key=P34;sbit reset=P35;

3、Unsignedchardisplay1 ,display2,display3,display4,display5,display6,min,sec,decimal;unsigned char flag=0; unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管显示09不带小数unsigned char code table2=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;/数码管显示09带小数/延时函数void delay(unsig

4、ned int i) unsigned int j,k; for(j=i;j>0;j-) for(k=125;k>0;k-); /判断按键是否按下void KEY() if(key=0) delay(10); if(key=0) /按键消抖 flag+; if(flag=1) /按下一次,计数开始计数 TR0=1; /定时器TO开始工作 if(flag=2) /按下两次,计数暂停 TR0=0; /定时器T0停止 flag=0; /计数标志清零 if(reset=0) /复位键按下 delay(10); if(reset=0) TR0=0; /T0停止计时 flag=0; /所有数据

5、清零 min=0; sec=0;decimal=0;display1=0; display2=0;display3=0;display4=0;display5=0;display6=0;/显示函数void show() display1=min/10; /分 十位display2=min%10; /分 个位display3=sec/10; /秒 十位display4=sec%10; /秒 个位display5=decimal/10; /小数 十位display6=decimal%10; /小数 个位 dula=0;P0=tabledisplay1; dula=1;dula=0;wela=0;P

6、0=0xfe;wela=1;wela=0;delay(2);P0=tabledisplay2; dula=1;dula=0;P0=0xfd;wela=1;wela=0;delay(2);P0=table2display3; dula=1;dula=0;P0=0xfb;wela=1;wela=0;delay(2);P0=tabledisplay4; dula=1;dula=0;P0=0xf7;wela=1;wela=0;delay(2);P0=tabledisplay5; dula=1;dula=0;P0=0xef;wela=1;wela=0;delay(2);P0=tabledisplay6;

7、 dula=1;dula=0;P0=0xdf;wela=1;wela=0;delay(2);P0=0x80; dula=1;dula=0;P0=0xf7;wela=1;wela=0;delay(2);void main() TMOD=0x01;TH0=(65536-10000)/256;/向定时器写入初值的高8位TL0=(65536-10000)%256;/向TL0写入初值的低八位EA=1; /总中断允许ET0=1; /允许定时器T0工作 TR0=0; dula=0; wela=0;while(1) KEY(); show(); void T0_int(void) interrupt 1 TH0=(65536-10000)/256;/向定时器写入初值的高8位TL0=(65536-10000)%256;/向TL0写入初值的低八位decimal+;if(decimal=99) /小数部分进位 decimal=0; sec+; if(sec=60) /秒部分进位 sec=0; min+; if(min=60) min=0

温馨提示

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

评论

0/150

提交评论