电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

简易秒表设计实验报告

简易秒表设计实验报告_第1页
1/3
简易秒表设计实验报告_第2页
2/3
简易秒表设计实验报告_第3页
3/3
实 验 报 告系别 信工系 专业 班级 姓名 学号 课题名称: 简易秒表设计实验目的:1、 熟悉 Keil C51 软件的使用方法及 proteus 仿真软件的使用;2、 综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。3、 通过本次试验,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,有用性。设计要求:制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用两位共阴级的数码管显示时间。设计思路:硬件设计:数码管部分采纳 2 位共阴极的数码管,在 P0 口接上拉电阻,公共端低电平扫描.按键电路部分,将按键一侧与单片机任一 I/O 口相连.软件设计:模块化思想,使用定时器 T0 的工作方式 1,编写显示子程序,延时子程序,初始化程序,主程序设计时注意按键消抖。原理图:源代码:#include〈reg51。h>#define uint unsigned int#define uchar unsigned charsbit key1=P3^0; //定义”启动"按钮sbit key2=P3^1; //定义"停止"按钮sbit key3=P3^2; //定义"复位"按钮sbit wei1=P2^6; //定义位选 sbit wei2=P2^7;uchar aa;uchar temp;uchar shi;uchar ge;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴极数码真值表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) //显示子程序{shi=temp/10;ge=temp%10;//分离个位和十位wei1=0;//送位选P0=table[shi];//使用动态扫描的方法实现数码管显示delay(1);wei1=1;//关闭位选wei2=0;P0=table[ge];delay(1);wei2=1;}void init()//初始化程序{aa=0;temp=0;TMOD=0x01;//使用定时器 T0 的方式 1TH0=0x4c;TL0=0x00;//定时 50ms 中断一次EA=1;//终端总允许ET0=1;//允许定时器 T0 中断}void timer0() interrupt 1{TH0=0x4c;//重装初值TL0=0x00;aa++;//中断计数值加 1if(aa==20) //中断 20 次后,定时时间为 20*50ms=1000ms=1s{aa=0;temp++;if(temp==60)//秒表到达 60s 后回零{temp=0;}}}void main(){init();//调用初始化子程序while(1){if(key1==0)//检验启动按钮是否按下{delay(10);//延时去抖动if(key1==0);//再次检测启动按钮{while(!key1);//松手检测TR0=1; //启动定时器开始工作}}if(key2==0)...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

简易秒表设计实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部