找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机红路灯实验三

[复制链接]
跳转到指定楼层
楼主
ID:808939 发表于 2021-7-16 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本实验加入定时中断,通过之前两个实验,我们这次重点便是初步了解和掌握定时中断的应用(压缩包中有仿真和程序)

单片机源程序如下:
  1. #include "reg51.h"
  2. #define u8 unsigned char
  3. u8 ms50=0,miao=0;

  4. void T0_init(void)
  5. {
  6.     TMOD = 0x01;
  7.     TH0 = 0x3C;
  8.     TL0 = 0xB0;
  9.     EA = 1;
  10.     ET0 = 1;
  11.     TR0 = 1;
  12. }

  13. void main(void)
  14. {
  15.         T0_init();
  16.         while(1)//周期20秒
  17.         {
  18.                 P3=((miao/10)<<4)+(miao%10);
  19.                 if(miao==0)P2=0xbe;//南北绿,东西红1011 1110
  20.                 if(miao==5)P2=0xbd;//1011 1101
  21.                 if(miao==6)P2=0xbf;//1011 1101
  22.                 if(miao==7)P2=0xbd;//1011 1101
  23.                 if(miao==8)P2=0xbf;//1011 1101
  24.                 if(miao==9)P2=0xbd;//1011 1101
  25.                 if(miao==10)P2=0xeb;//1110 1011
  26.                 if(miao==15)P2=0xdb;//1101 1011
  27.                 if(miao==16)P2=0xfb;
  28.                 if(miao==17)P2=0xdb;
  29.                 if(miao==18)P2=0xfb;
  30.                 if(miao==19)P2=0xdb;
  31.                 if(ms50==20)
  32.         {miao=miao+1;
  33.                 ms50=0;
  34.         }
  35.                 if(miao==20) miao=0;
  36.         }
  37. }

  38. void T0_INT(void) interrupt 1//每隔50ms自动进来一次
  39. {
  40.     TH0 = 0x3C;
  41.     TL0 = 0xB0;
  42.         ms50++;       
  43. }
复制代码

所有资料51hei提供下载:
交通灯为定时器.rar (66.37 KB, 下载次数: 7)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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