找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3454|回复: 3
收起左侧

频率、花色可调的protues单片机跑马灯系统仿真及代码

[复制链接]
ID:245337 发表于 2017-11-2 15:20 | 显示全部楼层 |阅读模式
| 利用MCS-51单片机完成频率、花色可调的跑马灯,要求:
1. 16LED
| 所有LED可独立控制其亮灭;
| 利用定时器中断切换LED的亮灭组合状态
2. 8个按键
| 4个按键用于控制LED亮灭组合状态切换频率,可至少提供4种不同的频率
| 4个按键用于控制LED亮灭组合方式,可至少提供4种不同的亮灭组合方式(每人必须有自己的组合方式,不是每组)

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
0.png 0.png

单片机源程序如下:
  1. #include "reg52.h"
  2. sbit key1=P0^0;
  3. sbit key2=P0^1;
  4. sbit key3=P0^2;
  5. sbit key4=P0^3;
  6. sbit key5=P0^4;
  7. sbit key6=P0^5;
  8. sbit key7=P0^6;
  9. sbit key8=P0^7;

  10. int num=0;
  11. int flag_hz=10;
  12. void main()
  13. {
  14.         TMOD=0X01;
  15.         TH0=(65536-50000)/256;
  16.         TL0=(65536-50000)%256;
  17.         EA=1;
  18.         ET0=1;
  19.         TR0=1;
  20.         P1=0X00;
  21.         while(1)
  22.         {
  23.                 if(key1==0)
  24.                 {
  25.                         flag_hz=5;
  26.                 }       
  27.                 if(key2==0)
  28.                 {
  29.                         flag_hz=25;
  30.                 }
  31.                 if(key3==0)
  32.                 {
  33.                         flag_hz=45;
  34.                 }
  35.                 if(key4==0)
  36.                 {
  37.                         flag_hz=65;
  38.                 }
  39.                 if(key5==0)
  40.                 {
  41.                         P1=0X03;
  42.                         P2=0X03;
  43.                 }       
  44.                 if(key6==0)
  45.                 {
  46.                         P1=0X33;
  47.                         P2=0X33;
  48.                 }
  49.                 if(key7==0)
  50.                 {
  51.                         P1=0XAA;
  52.                         P2=0XAA;
  53.                 }
  54.                 if(key8==0)
  55.                 {
  56.                         P1=0X99;
  57.                         P2=0X99;
  58.                 }
  59.         }
  60. }

  61. void T0_time() interrupt 1                                 //50MS
  62. {
  63.         TH0=(65536-50000)/256;
  64. ……………………

  65. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
LED.zip (106.42 KB, 下载次数: 71)

评分

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

查看全部评分

回复

使用道具 举报

ID:201936 发表于 2017-11-3 08:46 | 显示全部楼层
此帖仅作者可见

使用道具 举报

ID:150881 发表于 2017-12-31 13:14 | 显示全部楼层
此帖仅作者可见

使用道具 举报

ID:619118 发表于 2019-10-7 19:26 来自手机 | 显示全部楼层
此帖仅作者可见

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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