找回密码
 立即注册

QQ登录

只需一步,快速开始

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

MSP340单片机IAR-简易交通灯系统Proteus仿真程序

[复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<msp430.h>

  2. void delay_1s(void);
  3. void seg7s(unsigned char data_seg7);
  4. void seg7s2(unsigned char data_seg7);
  5. const unsigned char decoder_seg7[10]                 
  6.   ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

  7. void main(void)
  8. {
  9.   WDTCTL=WDTPW+WDTHOLD;
  10.   P1SEL=0x00;
  11.   P1SEL2=0x00;
  12.   P1DIR=0xff;
  13.   P2SEL=0X00;
  14.   P2SEL2=0x00;
  15.   P2DIR=0xff;
  16.   while(1)
  17.   {
  18.     P1OUT=0x81;
  19.     seg7s(6);
  20.     seg7s2(9);
  21.     delay_1s();
  22.     P1OUT=0x81;
  23.     seg7s(5);
  24.     seg7s2(8);
  25.     delay_1s();
  26.     P1OUT=0x81;
  27.     seg7s(4);
  28.     seg7s2(7);
  29.     delay_1s();
  30.     P1OUT=0x81;
  31.     seg7s(3);
  32.     seg7s2(6);
  33.     delay_1s();
  34.     P1OUT=0x81;
  35.     seg7s(2);
  36.     seg7s2(5);
  37.     delay_1s();
  38.     P1OUT=0x81;
  39.     seg7s(1);
  40.     seg7s2(4);
  41.     delay_1s();
  42.     P1OUT=0x82;
  43.     seg7s(3);
  44.     seg7s2(3);
  45.     delay_1s();
  46.     P1OUT=0x82;
  47.     seg7s(2);
  48.     seg7s2(2);
  49.     delay_1s();
  50.     P1OUT=0x82;
  51.     seg7s(1);
  52.     seg7s2(1);
  53.     delay_1s();
  54.     P1OUT=0x24;
  55.     seg7s(9);
  56.     seg7s2(6);
  57.     delay_1s();
  58.     P1OUT=0x24;
  59.     seg7s(8);
  60.     seg7s2(5);
  61.     delay_1s();
  62.     P1OUT=0x24;
  63.     seg7s(7);
  64.     seg7s2(4);
  65.     delay_1s();
  66.     P1OUT=0x24;
  67.     seg7s(6);
  68.     seg7s2(3);
  69.     delay_1s();
  70.     P1OUT=0x24;
  71.     seg7s(5);
  72.     seg7s2(2);
  73.     delay_1s();
  74.     P1OUT=0x24;
  75.     seg7s(4);
  76.     seg7s2(1);
  77.     delay_1s();
  78.     P1OUT=0x44;
  79.     seg7s(3);
  80.     seg7s2(3);
  81.     delay_1s();
  82.     P1OUT=0x44;
  83.     seg7s(2);
  84.     seg7s2(2);
  85.     delay_1s();
  86.     P1OUT=0x44;
  87.     seg7s(1);
  88.     seg7s2(1);
  89.     delay_1s();
  90.   }
  91. }

  92. void seg7s(unsigned char data_seg7)
  93. {
  94.   unsigned char code_seg7;
  95.   code_seg7=decoder_seg7[data_seg7];
  96.   P2OUT&=~BIT0;
  97.   if(code_seg7&0x80)       //D7
  98.   {
  99.     P2OUT|=BIT1;
  100.   }
  101.   else
  102.   {
  103.     P2OUT&=~BIT1;
  104.   }
  105.   P2OUT|=BIT0;
  106.   P2OUT&=~BIT0;
  107.   
  108.   if(code_seg7&0x40)       //D6
  109.   {
  110.     P2OUT|=BIT1;
  111.   }
  112.   else
  113.   {
  114.     P2OUT&=~BIT1;
  115.   }
  116.   P2OUT|=BIT0;
  117.   P2OUT&=~BIT0;
  118.   
  119.   if(code_seg7&0x20)       //D5
  120.   {
  121.     P2OUT|=BIT1;
  122.   }
  123.   else
  124.   {
  125.     P2OUT&=~BIT1;
  126.   }
  127.   P2OUT|=BIT0;
  128.   P2OUT&=~BIT0;
  129.   
  130.   if(code_seg7&0x10)       //D4
  131.   {
  132.     P2OUT|=BIT1;
  133.   }
  134.   else
  135.   {
  136.     P2OUT&=~BIT1;
  137.   }
  138.   P2OUT|=BIT0;
  139.   P2OUT&=~BIT0;
  140.   
  141.   if(code_seg7&0x08)       //D3
  142.   {
  143.     P2OUT|=BIT1;
  144.   }
  145.   else
  146.   {
  147.     P2OUT&=~BIT1;
  148.   }
  149.   P2OUT|=BIT0;
  150.   P2OUT&=~BIT0;
  151.   
  152.   if(code_seg7&0x04)       //D2
  153.   {
  154.     P2OUT|=BIT1;
  155.   }
  156.   else
  157.   {
  158.     P2OUT&=~BIT1;
  159.   }
  160.   P2OUT|=BIT0;
  161.   P2OUT&=~BIT0;
  162.   
  163.   if(code_seg7&0x02)       //D1
  164.   {
  165.     P2OUT|=BIT1;
  166.   }
  167.   else
  168.   {
  169.     P2OUT&=~BIT1;
  170.   }
  171.   P2OUT|=BIT0;
  172.   P2OUT&=~BIT0;
  173.   
  174.   if(code_seg7&0x01)       //D0
  175.   {
  176.     P2OUT|=BIT1;
  177.   }
  178.   else
  179.   {
  180.     P2OUT&=~BIT1;
  181.   }
  182.   P2OUT|=BIT0;
  183.   P2OUT&=~BIT0;
  184. }
  185. void seg7s2(unsigned char data_seg7)
  186. {
  187.   unsigned char code_seg7;
  188.   code_seg7=decoder_seg7[data_seg7];
  189.   P2OUT&=~BIT0;
  190.   if(code_seg7&0x80)       //D7
  191.   {
  192.     P2OUT|=BIT3;
  193.   }
  194.   else
  195.   {
  196.     P2OUT&=~BIT3;
  197.   }
  198.   P2OUT|=BIT2;
  199.   P2OUT&=~BIT2;
  200.   
  201.   if(code_seg7&0x40)       //D6
  202.   {
  203.     P2OUT|=BIT3;
  204.   }
  205.   else
  206.   {
  207.     P2OUT&=~BIT3;
  208.   }
  209.   P2OUT|=BIT2;
  210.   P2OUT&=~BIT2;
  211.   
  212.   if(code_seg7&0x20)       //D5
  213.   {
  214.     P2OUT|=BIT3;
  215.   }
  216.   else
  217.   {
  218.     P2OUT&=~BIT3;
  219.   }
  220.   P2OUT|=BIT2;
  221.   P2OUT&=~BIT2;
  222.   
  223.   if(code_seg7&0x10)       //D4
  224.   {
  225.     P2OUT|=BIT3;
  226.   }
  227.   else
  228.   {
  229.     P2OUT&=~BIT3;
  230.   }
  231.   P2OUT|=BIT2;
  232.   P2OUT&=~BIT2;
  233.   
  234.   if(code_seg7&0x08)       //D3
  235.   {
  236.     P2OUT|=BIT3;
  237.   }
  238.   else
  239.   {
  240.     P2OUT&=~BIT3;
  241.   }
  242.   P2OUT|=BIT2;
  243.   P2OUT&=~BIT2;
  244.   
  245.   if(code_seg7&0x04)       //D2
  246.   {
  247.     P2OUT|=BIT3;
  248.   }
  249.   else
  250.   {
  251.     P2OUT&=~BIT3;
  252.   }
  253.   P2OUT|=BIT2;
  254.   P2OUT&=~BIT2;
  255.   
  256.   if(code_seg7&0x02)       //D1
  257.   {
  258.     P2OUT|=BIT3;
  259.   }
  260.   else
  261.   {
  262.     P2OUT&=~BIT3;
  263.   }
  264.   P2OUT|=BIT2;
  265.   P2OUT&=~BIT2;
  266.   
  267.   if(code_seg7&0x01)       //D0
  268.   {
  269.     P2OUT|=BIT3;
  270.   }
  271.   else
  272.   {
  273.     P2OUT&=~BIT3;
  274.   }
  275.   P2OUT|=BIT2;
  276.   P2OUT&=~BIT2;
  277. }
  278. void delay_1s(void)
  279. {
  280.   unsigned long data_delay1s;
  281.   for(data_delay1s=0;data_delay1s<6654;data_delay1s++);
  282. }
复制代码
全部资料51hei下载地址:
MSP340-IAR-JTD.7z (60.36 KB, 下载次数: 28)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:323888 发表于 2020-8-28 12:46 | 只看该作者
7z压缩包?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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