具有简单控制功的秒表.pptVIP

  • 5
  • 0
  • 约1.55千字
  • 约 14页
  • 2019-02-14 发布于上海
  • 举报
具有简单控制功的秒表

任务14 具有简单控制功能的秒表 引出任务 大家还记得任务11时所做的秒表吗? 大家是不是有兴趣在任务11的基础上扩展3个按键,增强控制功能呢? 加油吧~~ 学习目标 用单片机控制2位数码管实现00-59的简易秒表,并利用3个独立式按键实现秒表的启动、停止和复位功能。 在任务11的基础上扩展3个按键,增强控制功能,进一步加强单片机与LED数码管的接口设计、定时/计数器及中断技术的综合应用能力,同时,学习单片机与键盘的接口技术。 工作任务 正确连接实验箱电路 编写可控秒表程序并完成调试 根据要求修改程序并观察运行结果 完成实训报告 任务分析 秒表显示范围从00-99,因此要使用2位数码管,分别显示十位和个位。 用3个独立式按键实现秒表的启动、停止和复位功能。单片机读取按键所连接的端口状态,判断是否有按键按下,以及是哪个按键,并采取相应的处理。 实训电路 参考程序 #include reg51.h unsigned char msec,sec; unsigned char led[ ]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(unsigned char i); void T0_INT(void) interrupt 1 { TH0=0x3c; TL0=0xb0; msec++; if(msec==20) { msec=0; sec++; if(sec==60) { sec=0; } } } 参考程序 void main() { unsigned char temp; TMOD=0x01; TH0=0x3c; TL0=0xb0; EA=1; ET0=1; P3=0xff; while(1) { P2=0x01; P0=led[sec%10]; delay(10); P2=0x02; P0=led[sec/10]; delay(10); temp=~P3; temp=temp0x2c; if(temp==0) { if(temp==0x04) TR0=0; if(temp==0x08) TR0=1; if(temp==0x20) { TR0=0;sec=0;msec=0; } } } } 动动手 程序编写 创建工程 保存工程 建立源文件 保存源文件 源文件加入工程 编译 链接 调试 动动手 硬件连接 使用电子连线连接实验箱单片机输出端口与相应的数码管和按键 使用USB数据线连接电脑USB端口与单片机实验箱数据端口 全速运行,按键观察秒表控制效果 拓展思考 如果使用同一个按键来实现启动和暂停功能,即:按一次,启动;再按一次,暂停。怎么修改程序? 拓展任务 拓展任务 根据拓展要求修改程序,用一个按键实现启动、暂停功能 编译?链接?调试 全速运行,按键观察启动/暂停键的使用效果 拓展思考 在拓展任务中,你的启动/暂停键使用效果如何?有没有发现有时候这个按键不怎么听话?想一想这是为什么? 在这个任务中,只用到了3个按键。如果需要用更多的按键,怎么办? 机电一体化教研室 机电工程学院 机电一体化教研室 机电一体化教研室

文档评论(0)

1亿VIP精品文档

相关文档