为什么数码管倒计时程序不会倒计时

求助,数码管倒计时!【单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:149,254贴子:
求助,数码管倒计时!收藏
请问用delay延时函数实现51单片机倒计时吗?
做一晚上了,!
试了好多次
百度一下就有的居然弄一晚上啊
不要太简单
如果要精确的时间,一秒一秒的倒计时最好用中断,如果只是纯粹的倒计时,延时即可
用中断。你用delay能准确延时吗
用延时函数可以做,只是不准确,用中断准确
12M的晶振差不多也能准确延时,别的还是用中断好
#include&reg52.h& #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; uint num,a,b; uchar code
table[]={0x3F,
//&9&}; void delay(uint z); void main() {
while(1) {
for(a=500;a&0;a--)
P0=table[6];
P0=table[0];
for(num=5;num&=0;num--)
P0=table[num];
for(b=9;b&=0;b--)
for(a=1000;a&0;a--)
wela=1;P0=0wela=0;delay(1);P0=table[b];dula=0;delay(1);
} void delay(uint z) { uint x,y;for(x=30;x&0;x--)
for(y=z;y&0;y--); }
楼主的精神值得学习!
我也做了好久的了!!
还不知道单片机是怎么连的!!是P0口输出段码,P2口输出位码显示么!!仿真都能行,
实物就不能搞了!
stc12c5a60s2单片机!!
登录百度帐号求C51单片机汇编语言控制两位数码管倒计时程序,最好能说明下思路_百度知道
求C51单片机汇编语言控制两位数码管倒计时程序,最好能说明下思路
我有更好的答案
查询方式:ORG
R0,#20 MOV
R4,#60LP0:
DPTR,#TABLE SETB TR0LP1:
TF0,LP2 ACALL DISP
AJMP LP1LP2:
DJNZ R0,LP0
TR0 MOV R0,#20
CJNE A,#0,DEC1 MOV
R4,#60 AJMP JP1DEC1:
ACALL DISP
AB当前值除以10 MOV
20H,A得出的商送给十位 MOV
21H,B得出的余数送给个位
A,20H十位显示
MOVC A,@A+DPTR MOV
P0,A SETB P2.1 LCALL DELAY
A,21H个位显示
MOVC A,@A+DPTR MOV
P0,A SETB P2.0 LCALL DELAY CLR P2.0 RETDELAY:误差 0us
MOV R6,#10DL0:
MOV R5,#50
DJNZ R6,DL0
0C0H,0F9H,0A4H,0B0H,99H共阳极0-9显示代码
92H,82H,0F8H,80H,90H
END 中断方式:ORG
00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN:
TL0,#0B0H50MS一中断MOV R0,#20 20次为1SMOV
R4,#6060S开始倒计时
SETB EASETB ET0SETB
DPTR,#TABLEMAIN1: ACALL DISP
AJMP MAIN1
AB当前值除以10MOV
20H,A得出的商送给十位MOV
21H,B得出的余数送给个位
A,20H十位显示MOVC
A,@A+DPTRMOV
A,21H个位显示MOVC
A,@A+DPTRMOV
DELAYCLR P2.0RETT0INT:MOV
TL0,#0B0H DJNZ R0,RTIMOV R0,#20DEC R4CJNE
R4,#0,RTIMOV
R4,#60RTI:RETI DELAY:误差 0usMOV
R6,#10DL0:MOV
R5,#50DJNZ
R6,DL0RETTABLE:
0C0H,0F9H,0A4H,0B0H,99H共阳极0-9显示代码DB
92H,82H,0F8H,80H,90H
采纳率:43%
现在单片机很少用汇编了。我可以提供c的。
高手还是很多吗?
为您推荐:
其他类似问题
单片机汇编语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&>&c51单片机数码管显示60s倒计时
c51单片机数码管显示60s倒计时
上传大小:1KB
单片机计时器应用,本资源为四位数码管,无锁存器的60s倒计时
综合评分:1
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有1条
只能说有的模块用得上吧
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
c51单片机数码管显示60s倒计时
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
c51单片机数码管显示60s倒计时求单片机数码管倒计时程序_百度知道
求单片机数码管倒计时程序
要求:使用74HC595和单片机AT89C51共同完成,制作一个红绿灯倒计时程序,两组两位数码管均为60s倒计时,倒计时为零时,重新定时60s,循环即可,最好带protues的仿真图,谢谢!!!提案好的话可再加分!!!谢谢!!!
我有更好的答案
#include&reg52.h& #include &intrins.h&
//内部包含延时函数 _nop_(); #define uchar unsigned char #define uint unsigned int sbit d1=P2^0; sbit key1=P0^4; sbit
SDATA_595=P0^0;
//串行数据输入
----接板卡上的SPI 数据信号输入端 sbit
SCLK_595=P0^1;
//移位时钟脉冲(输入口) ---接板卡上的SPO----串行时钟线----SHcp移位时钟信号输入端 sbit
RCK_595=P0^2;
//输出锁存器控制脉冲 ----接板卡上SPK
STcp锁存信号输入端 uchar code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar num=60; void delay(uint z); void aa595_in(uchar Data) {
for(i=0;i&8;i++)
{SCLK_595=0;
SDATA_595=CY;
SCLK_595=1;
SCLK_595=0;
} } void a595_in(uchar Data) {
for(i=0;i&8;i++)
{SCLK_595=0;
SDATA_595=CY;
SCLK_595=1;
SCLK_595=0;
} } void aa595_out(void) { RCK_595=0;
_nop_();RCK_595=1; _nop_(); _nop_(); RCK_595=0; } void main() { uchar ge,
{if(key1==0)
{delay(10);
if(key1==0)
if(num==0)
while(!key1);//松手检测
delay(10);//延时10ms
while(!key1);//再松手检测
aa595_in(duan[num]); //
aa595_in(wei[3]);
shi=num/10;
ge=num%10;
a595_in(duan[shi]);
aa595_in(wei[3]);
aa595_out();
delay(10);
aa595_in(duan[ge]);
aa595_in(wei[2]);
aa595_out();
delay(10);}
void delay(uint z) {uint x,y; for(x=100;x&0;x--)
for(y=z;y&0;y--); }//延时子程序,延时Zms
有仿真的原理图吗
采纳率:80%
这个手里没有现成的,但可以帮你做。程序也不是很复杂。我ID
为您推荐:
其他类似问题
单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机与四位共阴数码管的倒计时程序
通过中断控制,适合初学者,反正大家看看就行。
51单片机与四位共阴数码管的倒计时程序下载
下载资料需要,并消耗一定积分。
下载此资料的人还喜欢:
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
本周热点资料
电子资料热门词
上传者其它资料
单片机下载排行

我要回帖

更多关于 4位数码管倒计时 的文章

 

随机推荐