所有的财富值都给你们!!!求基于单片机的秒表高手帮忙编写一个用定时器进行中断的秒表程序并仿真。仿真成功后把程

qao为什么不给我财富值 单片机 定时器中断程序evv
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
qao为什么不给我财富值 单片机 定时器中断程序evv
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口电子秒表课程设计报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
10页免费9页3下载券33页免费18页免费18页免费 26页4下载券11页1下载券16页4下载券10页1下载券15页1下载券
喜欢此文档的还喜欢10页免费20页2下载券14页免费12页免费39页免费
电子秒表课程设计报告|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢这是一个单片机程序问题,,还望高手指点下!谢谢_百度知道
这是一个单片机程序问题,,还望高手指点下!谢谢
这是一个秒表自动计时的程序,,为什么当while(!key4)把该句加上后,,当按下KEY2时,程序暂停,,但是再用点力按KEY4后,程序就静止显示数字,,过了好几秒才动,,而把while(!key4)该句删去后,,才能自如自控制其暂停与启动呢???#include&reg52.h&#define uchar unsigned char#define uint unsigned intvoid display(uint,uint,uint, uint);void init();uchar a,b,num,d;uint bai, shi, ge,temp,jishu,c;uint code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; sbit key2=P3^3;sbit key3=P3^4;sbit key4=P3^5;sbit beep=P3^6;void delay(uchar z){ uchar i,j; for(i=z;i&0;i--) for(j=110;j&0;j--); }void main(){
while(1) {
if(num==2)
if(temp==1000)
if(jishu==16)jishu=0;
if(jishu==1)
delay(2000);
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
display(bai,shi,ge, jishu);
void init() {
TMOD=0x01; TH0=()/256; TL0=()%256; EA=1; ET0=1;
}void time1 () interrupt 1{ TH0=()/256; TL0=()%256; if(key2==0)
if(key2==0)
while(!key2);} } while(!key2);
while(!TR0){
if(key4==0)
if(key4==0)
TR0=1;// while(!key4); 不明白该步骤! //TR0=1;
}// TR0=1;
num++; }void display(uint bai,uint shi,uint ge,uint jishu){ P2=0 P0=table[bai]; delay(5); P2=0 P0=table[shi]; delay(5); P2=0 P0=table[ge]; delay(5); P2=0xf7; P0=table[jishu]; delay(5); }
非常感谢各位的回答,xuleda - 门吏 二级
的回答,很有道理,但是应该怎么样避免这个问题呢???加入等待按键释放吗
提问者采纳
这段代码有问题: if(key4==0)
while(!key4); 不明白该步骤!
}“TR0=1;”,定时器就开始工作了,接着执行“while(!key4);”,等待Key4释放。由于key4等待时间比较长,在Key4释放前,又来了一次定时器中断,程序重新开始执行中断服务子程序。至于你说的过了好几秒才能动,我认为是这样的:在Key4释放前,定时器中断打入了很多次,每来一次都出现一次中断嵌套,这样当程序从中断嵌套一层一层地返回时,花掉了很多时间。 补充:
由于我对你的程序不是很了解,不知道你这个程序的编写目的,基本思路,所以一下子也提不出什么好的建议,建议你把你的设计思路介绍一下,再就是你的程序缺少注释,添加注释是个很好的习惯。
提问者评价
非常感谢 xuleda -对我的二次指点,,以后我写程序会增加注释的;再有我能加你为好友吗QQ
其他类似问题
按默认排序
其他2条回答
最好用此程序来去抖 if(key2==0)while(key2==0);...即按键放手后再动作初步看了看。你的中断服务子程序里没有显示子程序,如果你按键时不得显示的乱了吗?最好在中断服务程序里也加上显示程序,而且中断里的程序要尽量的少不然会影响时间的准确度。你说的情况估计是抖动太大影响的,你按我上面给你的程序改动下试试,如果还有问题我再帮你解决
关键在于while后面的分号吧?消抖是一个方面,但还要注意等待按键释放!
单片机的相关知识
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁[资料]为什么不给我财宝值 单片机 准时器中断法度模范
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[资料]为什么不给我财宝值 单片机 准时器中断法度模范
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口求数字秒表课程设计答案_百度知道
求数字秒表课程设计答案
数字秒表(Ⅰ)
一、设计目的学习8155芯片的结构和工作原理。学习LED数码管显示的原理及编程方法。掌握8155扩展键盘和显示器的原理和编程方法。掌握51单片机定时器与中断的使用。掌握数字秒表的原理和实现方法。二、设计任务书1、题目数字秒表
2、设计要求设计一个数字秒表,要求从00:00秒开始计时,最大计时时间为99:99秒。并且具有启动、暂停和清零(复位)等功能。画出硬件连接电路图,说明各个控制信号的作用。画出程序流程图,编写程序,硬件连接调试,直至正确。编写课程设计报告。
三、基本原理
数字秒表的工作过程为:初始值为00:00,当启动键按下后,计时开始,以0.01秒为单位加1计时,当暂停键按下后,计时停止,当前值保持不变,直到清零(复位)键按下后,计数值清零,变为00:00,等待启动键再次按下。当计时到99:99时,再计0.01秒后变为00:00。数字秒表是以0.01S为最小定时单位的定时器,可以利用51单片机自身所具有的16位定时/计数器实现0.01S定时,每0.01S定时到,修改显示值,送4位LED显示。本课题需用4个LED数码管显示秒表值,并且需启动、暂停、复位等控制键。
谁有的话发到这个邮箱(),可以用的话还可以追加财富值!谢谢了
提问者采纳
已经发到你邮箱了,请查收!
其他类似问题
秒表的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 单片机定时器实验 的文章

 

随机推荐