找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1983|回复: 0
打印 上一主题 下一主题
收起左侧

单片机数码管定时打铃Proteus仿真程序

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uchar  unsigned char
#define uint   unsigned int
//共阳极数码管段码
uchar code SEG7[]={/*0,1,2,3,4,5,6,7,8,9,*/0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
uchar s=5;//设置时间
uchar sx=5; //显示时间
uchar run;//开始
uchar num[4];
uchar num1;
uchar num2;
//数码管位码端口
sbit      P30=P3^0;
sbit      P31=P3^1;
//按键端口定义
sbit      P32=P3^2;
sbit      P33=P3^3;
sbit      P34=P3^4;
sbit      P35=P3^5;
sbit      P36=P3^6;
//延时函数ms
void delayms(uint t)
{
   uint i,j;
   for(i=0;i<t;i++)
     for(j=0;j<120;j++);
}
//数码管显示
void dis()
{
//------------------  
//显示
  P0=SEG7[sx%100/10];
  P30=1;delayms(2);P30=0;
//显示
  P0=SEG7[sx%10];
  P31=1;delayms(2);P31=0;
//------------------  
}
//显示控制
void key()
{  
  //复位
  if(P32==0){sx=s;run=0;P2=0XFF;}
  //停止
  if(P33==0){run=0;P2=0XFF;}
  //开始  
  if(P34==0){if(sx>0)run=1;}
   if(run==0)
   {
   //加1
   if(P35==0){s=s+1;sx=s;while(P35==0);}  
   //减1
   if(P36==0){s=s-1;sx=s;while(P36==0);}
   }  
}


全部资料51hei下载地址:
数码管定时打铃.rar (52.48 KB, 下载次数: 29)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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