找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5418|回复: 5
收起左侧

[求助]谁能帮我设计一个让51hei板子的其中一个灯每隔一秒闪一次的程序

[复制链接]
ID:36323 发表于 2012-3-15 14:59 | 显示全部楼层 |阅读模式
谁能帮我设计一个让51单片机的其中一个灯每隔一秒闪一次的程序,在本站的板子上能运行就可以了.
回复

使用道具 举报

ID:34099 发表于 2012-3-15 17:03 | 显示全部楼层

#include<reg52.h> 

 #define uint unsigned int

sbit deng=P0^0;

 

void delay(uint z)

{ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

 

void main()

{ while(1) { deng=1; delay(1000);//延时1S } }

回复

使用道具 举报

ID:34608 发表于 2012-3-15 17:28 | 显示全部楼层

 

/*用定时器以间隔1000MS在6位数码管上依次显示
0、1、2、3....C、D、E、F,重复。同时让数码管亮
设时钟频率为12M
*/
/*********************************************************/
#include<reg52.h>  //52单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#include "51hei.h" 
#define uint unsigned int    //宏定义
#define uchar unsigned char  //宏定义
sbit dula=P2^6;       //数码管段选锁存端
sbit wela=P2^7;       ////数码管位选锁存端
sbit den_con=P1^4;   /// 灯的控制端口
uchar num,tt,i;
uchar code table[]={  //段码表
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void main()
{guandz();
 num=0;
 tt=0;
 den_con=1;
 TMOD=0x01;//设置定时器0为工作方式1
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;//开总中断
 ET0=1;//开定时器0中断
 TR0=1;//启动定时器0
 dula=1;
 P0=0x3f;  //给段开始送显示0。
 dula=0;//关闭段选锁存端,防止开始时出现乱码。
 wela=1;//11101010
 P0=0x00; // 打开六个数码管位选
 wela=0;
 while(1)  //死循环
 {
  if(tt==20)   //每进入10次中断即为500ms,执行一次显示变化。
     {
    tt=0;
    num++;
    if(num==16)
    num=0;
    dula=1;  //开通74hc573,使p0口数据能直通
    P0=table[num];   //送数码管段选值
    dula=0;  //锁存负责段选的74hc573
 den_con=0;  //灯亮的控制口打开
 P0=0xfe;
 for(i=0;i<100;i++);
 den_con=1; //灯亮控制口关闭
   }
 }
}


void exter0() interrupt 1    // 定时器0中断
{
 TH0=(65536-50000)/256;  //送初值
 TL0=(65536-50000)%256;
 tt++;  //tt=tt+1
}
回复

使用道具 举报

ID:1 发表于 2012-7-27 02:37 | 显示全部楼层

楼上的2位的答案很好 2楼是用延时的方法搞定的  3楼是用定时器的方法搞定的.

回复

使用道具 举报

ID:43892 发表于 2012-8-15 17:33 | 显示全部楼层
gundz() 的作用是什么?
回复

使用道具 举报

ID:43004 发表于 2012-8-20 09:06 | 显示全部楼层

12M不是有误差吗?我什么不用11.0592M的

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表