EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 747|回复: 1

[资料共享] 89c51小型交通灯proteus8平台仿真 闪烁时间可调

[复制链接]

23

主题

0

回帖

162

E币

技术员

Rank: 2

积分
46
发表于 2017-5-12 14:18:08 | 显示全部楼层 |阅读模式
89c51小型交通灯proteus8  平台仿真
092625axhc83lxkkm8mk3a.png
交通灯闪烁时间可调
代码
  1. #include <reg51.h>
  2. void delay500ms(unsigned char k);
  3. void main(void)
  4. {
  5.    SP=0X60;
  6.    TMOD=0x01;
  7.    IE=0x85;
  8.    TCON=0x05;
  9.    while (1)
  10.    {
  11.       P1=0x21;
  12.       delay500ms(6);
  13.       P1=0x41;
  14.       delay500ms(2);
  15.       P1=0x12;
  16.       delay500ms(6);
  17.       P1=0x14;
  18.       delay500ms(2);
  19.    }
  20. }
  21. void int_0(void) interrupt 0
  22. {
  23.    unsigned char i1, i2;
  24.    i1 = P1;
  25.    for(i2=0; i2<60; i2++)
  26.    {
  27.       P1 = 0x21;
  28.       delay500ms(1);
  29.       P1 = 0x20;
  30.       delay500ms(1);
  31.    }

  32.    P1 = i1;
  33. }
  34. void int_1(void) interrupt 2
  35. {
  36.    unsigned char j1, j2;
  37.    j1 = P1;
  38.    for(j2=0; j2<60; j2++)
  39.    {
  40.       P1 = 0x12;
  41.       delay500ms(1);
  42.       P1 = 0x10;
  43.       delay500ms(1);
  44.    }
  45.    P1 = j1;
  46. }
  47. void delay500ms(unsigned char m)
  48. {
  49.    unsigned char k1, k2;
  50.    TH0=0x3C; TL0=0xB0;
  51.    TR0 = 1;
  52.    for (k1=0; k1<m; k1++)
  53.    {
  54.       for(k2=0; k2<10; k2++ )
  55.       {
  56.          while(!TF0);
  57.             TF0 = 0;
  58.          TH0=0x3C; TL0=0xB0;
  59.       }
  60.    }
  61. }
复制代码

下载:
jiaotongdeng.rar (22.9 KB, 下载次数: 2)
积分规则
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-4-20 00:14 , Processed in 0.041893 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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