求画proteus电子时钟仿真图,程序我写了,不会仿真啊

九诗二房 2012-11-20 02:21:24
程序如下,,我邮箱lwwkeep@qq.com
#include <reg51.h>
#include <intrins.h>

#define SEG P0 //数码管接p0管脚
#define SCANP P2 //扫描接p1管脚
unsigned int i=0;
unsigned char data scan=0xfe;
sbit key0=P3^0;//调整分
sbit key1=P3^1;//调整时
sbit key2=P3^4;

#define countt0 50000 //T0,mode1,50MS 12Mhz
#define th_t0 (65636-countt0)/256
#define tl_t0 (65636-countt0)%256
unsigned int count_t0=0;

#define countt1 1000 //T1,mode1,1ms 12Mhz
#define th_t1 (65636-countt1)/256
#define tl_t1 (65636-countt1)%256

unsigned char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};// 共阳数码管
unsigned char distab[6];
unsigned char second=0,minute=0,hour=0;

void delay(unsigned);//延迟函数
void key_m();//按键处理
void key_h();
void min_inc();
void hour_inc();

main()
{
TCON=0x00;//低电平触发
TMOD=0x11;//定时器0、1工作在mode1
TH0=th_t0;
TL0=tl_t0;
TH1=th_t1;
TL1=tl_t1;

distab[0]=tab[hour/10];//显示时分秒
distab[1]=tab[hour%10];
distab[2]=0xbf;//显示“—”
distab[3]=tab[minute/10];
distab[4]=tab[minute%10];
distab[5]=0xbf;
distab[6]=tab[second/10];
distab[7]=tab[second%10];

IE=0x8f;//用int0/1,TF/1
TR1=1;//启动T1
TR0=1;//启动T0
SEG=0xff;
SCANP=0xff;
P3=0xff;
while(1)
{
if(key0==0)
{
delay(20);//延迟20MS
TR0=0;
key_m();//按键处理
}
if(key1==0)
{
delay(20);
TR0=0;
key_h();
}
}
}

void key_m()
{
if(minute==59)
minute=0;
else
minute++;
if(key2=0) TR0=1;
}

void key_f()
{
if(hour==23)
hour=0;
else
hour++;
if(key2=0) TR0=1;
}

void delay_ms(unsigned int j) // 延时函数
{
unsigned ms;
while(j--)
for(ms = 0; ms < 124; ms++);
}

void time(void) interrupt 1 //时分秒计算
{
count_t0++;
if(count_t0==20)
{
count_t0=0;
second++;
if(second==60)
{
second=0;
min_inc();
}
}
distab[6]=tab[second/10];
distab[7]=tab[second%10];
}

void disp(void) interrupt 3 //用于数码管的动态扫描
{
SEG=0xff;
SEG=distab[i];
SCANP=scan;
scan=_crol_(scan,1);// 循环左移
i++;
if(i==6) i=0;
}

void min_inc()
{
minute++;
if(minute==60)
{
minute=0;
hour_inc();
}
distab[3]=tab[minute/10];
distab[4]=tab[minute%10];
}

void hour_inc()
{
hour++;
if(hour==24) hour=0;
distab[0]=tab[hour/10];
distab[1]=tab[hour%10];
}
...全文
481 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yisiyou 2012-12-27
  • 打赏
  • 举报
回复
遇到难题了啊啊
Mr Dang 2012-12-22
  • 打赏
  • 举报
回复
碉堡了。。。。。。。。。。。。。。。。
zhujinqiang 2012-12-22
  • 打赏
  • 举报
回复
既然你写出来了,难道没有画电路就编程了?
mailzss 2012-12-21
  • 打赏
  • 举报
回复
单片机这玩意,程序是很依赖电路的,既然你写出来了,怎么可能不会画电路,除非你程序是在哪Down的。
Conmajia 2012-12-21
  • 打赏
  • 举报
回复
很牛逼。。会写程序不会画电路。。
卩S小古董 2012-12-09
  • 打赏
  • 举报
回复
好强大。。。。
lr2131 2012-12-09
  • 打赏
  • 举报
回复
按照你程序中需要的器件和连接,在proteus中布置就好了,没有用到什么高级的,一般不是很难。
Suagr 2012-12-08
  • 打赏
  • 举报
回复
这个网上一搜关于Proteus的教程出来一大把。
wesley 2012-11-22
  • 打赏
  • 举报
回复
楼上V5。。。

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧