版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简易秒表制作1 子情境容:制作简易秒表,利用按键构成键盘实现秒表的启动、停止与复 位,利用 LED 数码管显示时间。2 子情境目标:(1)通过简易秒表的制作,进一步熟悉 LED 数码管与单片机的接口电路(2)学习定时 /计数器、中断技术的综合运用并会使用简易键盘3 知识点独立式按键的使用:图 549 为按键与单片机的连接图。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有 一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图 5-50 所示,抖动时间的长短与开关的机械特性有关,一般为510ms。在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键 一次按下或释放被错
2、误地认为是多次操作,这种情况是不允许出现的。为 了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬 件、软件两方面予以考虑。本子情境中采用软件去抖。图按键与单片机连接图4 任务步骤41 步骤一: PROTEUS电路设计,简易秒表的原理图如图 5 51所示。 1、选取元器件 单片机: AT89C51 两位共阴极蓝色数码管: 7SEG-MPX2-CC-BLUE 排阻: RESPACK-8 按钮: BUTTON2、放置元器件、放置电源和地、连线、元器件属性设置简易秒表的原理图如图 551 所示,整个电路设计操作都在 ISIS 平台中进行。与子情景 3 相似,故不详述图简易秒表的原理图4
3、2 步骤二:源程序设计与目标代码文件生成(1)程序流程图主程序图 5 52 秒表流程图2)源程序设计 #include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit key1=P30;/定义"启动"按钮sbit key2=P31;/定义"停止"按钮sbit key3=P32;/定义"复位"按钮uchar temp,aa,shi,ge; uchar code table= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d
4、,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/共阴极数码管编码void display(uchar shi,uchar ge); /声明显示子函数void delay(uint z);/声明延时子函数void init();/声明初始化函数void main()init();/调用初始化子程序while(1)if(key1=0)/检测"启动"按钮是否按下delay(10);/延时去抖动if(key1=0)/再次检测 "启动 "按钮是否按下while(!key1);/ 松手检测,若按键没有释放, key1 始
5、终为0,那么 !key1 始终为 1,程序就一直停在此while 语句处TR0=1;/启动定时器开始工作if(key2=0)/检测"停止 "按钮是否按下delay(10);/ 延时去抖动if(key2=0)/再次检测 "停止"按钮是否按下while(!key2); /松手检测TR0=0;/关闭定时器if(key3=0)/检测 "复位"按钮是否按下delay(10);/延时去抖动if(key3=0)/再次检测 "复位"按钮是否按下while(!key3); /松手检测temp=0;/将变量 temp 的值清零shi=
6、0;/将十位清零ge=0;/将个位清零TR0=0;/关闭定时器display(shi,ge); / 调用显示子函数void delay(uint z) / 延时子函数uint x,y; for(x=z;x>0;x-)for(y=110;y>0;y-);void display(uchar shi,uchar ge) /显示子程序P2=0xbf;P0=tableshi;delay(10);P2=0x7f;P0=tablege;delay(10);/使用动态扫描的方法实现数码管显示void init()/初始化子程序temp=0;TMOD=0x01;/使用定时器 T0 的方式 1TH0
7、=(65536-50000)/256;TL0=(65536-50000)%256; /定时 50ms 中断一次EA=1; / 中断总允许ET0=1;/允许定时器 T0 中断void timer0() interrupt 1 TH0=(65536-50000)/256;/重新赋初值 TL0=(65536-50000)%256;aa+;/中断一次变量 aa 的值加 1if(aa=20)/中断 20 次后,定时时间为 20*50ms=1000ms=1s,将变量 temp 的值加 1aa=0;temp+;if(temp=60) /秒表到达 60s 后回零temp=0;shi=temp%100/10;ge=temp%10;/分离个位和十位43 步骤三: PROTEUS 仿真加载目标代码文件,双击编辑窗口的 AT89C51 器件,在弹出属性编辑对话 框 Program File 一栏中单击打开按钮,出现文件浏览对话框,找到 miaobiao.hex 文件,单击“打开”按钮,完成添加文件。单击按钮,启动仿真,仿真运行片段 如图所示。按下“启动”按钮后,秒表开始计时,如图所示。 按下“停止”按钮,秒表停止计时。 按下“复位”按钮,秒表回到最初始的状态,如图所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024石材家装工程承包合同-智能家居定制版3篇
- 2025四川省安全员《C证》考试题库
- 2025年度物业服务保密协议(社区安全培训)3篇
- 二零二五年度体育用品购销合同担保抵押书3篇
- 2025广东省建筑安全员C证考试(专职安全员)题库及答案
- 2025安徽建筑安全员C证考试(专职安全员)题库及答案
- 二零二五年住宅项目销售代理中止终止合同6篇
- 2024校园合作合同
- 2025海南省安全员C证考试题库
- 2025年辽宁省安全员《B证》考试题库及答案
- 山区道路安全驾驶教案
- 安全安全隐患整改通知单及回复
- 国有检验检测机构员工激励模式探索
- 采购部年终总结计划PPT模板
- CDI-EM60系列变频调速器使用说明书
- 【汇总】高二政治选择性必修三(统编版) 重点知识点汇总
- 材料表面与界面考试必备
- 骨科重点专科省级市级申报材料
- 焦点CMS用户手册
- 丙酮-水连续精馏塔的设计
- 菜鸟也上手:最最完整的Cool Edit Pro 图文操作手册
评论
0/150
提交评论