久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3887|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)棋牌游戲仿真設(shè)計(jì) 附源碼和仿真圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
棋牌的設(shè)計(jì),附源碼和仿真圖



單片機(jī)源程序如下:
  1. #include <MSP430f249.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int   
  4. uchar const led_tab[]={  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,   
  5.                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};   //共陰數(shù)碼管段選碼表,無小數(shù)點(diǎn)   
  6. uchar key;                //按鍵值
  7. uint flag1=0,flag2=0,flag3=0;

  8. void delayus(uint t)
  9. {      
  10.   uint i;     
  11.   while(t--)        
  12.     for(i=1300;i>0;i--);
  13. }  

  14. void system_Initial(void)
  15. {
  16.   P3SEL &= 0x00;                                //選擇P3為輸入/輸出口
  17.   P3DIR |= 0XFF;                                //選擇P3為輸出功能
  18.   P3OUT=0xFF;
  19.   
  20.   P1DIR = 0xFF;            // 設(shè)置方向?yàn)檩敵?nbsp;  
  21.   P4DIR = 0xFF;            // 設(shè)置方向?yàn)檩敵?nbsp; 
  22.   P2DIR = BIT0 + BIT1+BIT2+BIT3;               
  23.   P1OUT = 0x00;            //LED輸出全部關(guān)閉
  24.   P4OUT = 0x00;            //LED輸出全部關(guān)閉
  25.   P2OUT = BIT0 + BIT1+BIT2+BIT3;      
  26.   P2IE |= BIT4+BIT5+BIT6;    //P2.2中斷使能
  27.   P2IES |= BIT4+BIT5+BIT6;   //P2.2下降沿中斷
  28.   P2IFG &=~(BIT4+BIT5+BIT6);  //P2.2清除中斷標(biāo)志
  29.   _EINT();
  30. }  

  31. // 端口2中斷服務(wù)程序  
  32. #pragma vector=PORT2_VECTOR
  33. __interrupt void Port_2(void)
  34. {      
  35.   
  36.     P2IFG &= ~(BIT4+BIT5+BIT6);   //清除中斷標(biāo)志   
  37. }  

  38. //**********************************************************************
  39. int main(void)
  40. {   
  41.   uchar i;   
  42.   uchar count = 29;          //計(jì)數(shù)值   
  43.   uchar disp_buf[4];        //顯示緩沖區(qū)      
  44.   WDTCTL = WDTPW + WDTHOLD; // 關(guān)閉看門狗   
  45.   system_Initial();
  46.   while(1)   
  47.    {
  48.       if(!(0x10 & P2IN))  {
  49.         flag1=1;
  50.         if(flag2==1)
  51.           count=29;
  52.         flag2=0;
  53.         
  54.       }
  55.       if(!(0x20 & P2IN))  {      
  56.         flag2=1;
  57.         if(flag1==1)
  58.           count=29;
  59.         flag1=0;
  60.       }
  61.       if(!(0x40 & P2IN))  {
  62.         flag3=1;
  63.       }
  64.       
  65.       if(flag1 == 1)
  66.       {     
  67.         flag3=0;
  68.         if(count>0)      
  69.         {           
  70.            disp_buf[1] = count / 10;    //對(duì)計(jì)數(shù)值取十位數(shù)
  71.            disp_buf[0] = count % 10;   //對(duì)計(jì)數(shù)值取個(gè)位數(shù)                     
  72.            for(i = 0;i < 25; i++) //總共循環(huán)25次,計(jì)時(shí)1s         
  73.            {               
  74.              P1OUT = 0;            
  75.              P1OUT = led_tab[disp_buf[1]];              
  76.              P2OUT = ~BIT0; //顯示十位數(shù)              
  77.              delayus(2);     //軟件仿真時(shí),取20不閃爍            
  78.              P1OUT = 0;            
  79.              P1OUT = led_tab[disp_buf[0]];            
  80.              P2OUT = ~BIT1; //顯示個(gè)位數(shù)              
  81.              delayus(2);     //軟件仿真時(shí),取20不閃爍         
  82.            }  
  83.            count--;
  84.         }
  85.         if(count==0)
  86.         {
  87.             P1OUT = 0;
  88.             P1OUT = led_tab[0];  //30s倒計(jì)時(shí)結(jié)束,顯示0;                    
  89.             P2OUT = ~BIT1;
  90.             P3OUT=~BIT1;
  91.         }
  92.       }
  93.       
  94.       if(flag2 == 1)
  95.       {   
  96.         flag3=0;
  97.         if(count>0)      
  98.         {           
  99.            disp_buf[3] = count / 10;    //對(duì)計(jì)數(shù)值取十位數(shù)
  100.            disp_buf[2] = count % 10;   //對(duì)計(jì)數(shù)值取個(gè)位數(shù)                     
  101.            for(i = 0;i < 25; i++) //總共循環(huán)25次,計(jì)時(shí)1s         
  102.            {               
  103.              P4OUT = 0;            
  104.              P4OUT = led_tab[disp_buf[3]];              
  105.              P2OUT = ~BIT2; //顯示十位數(shù)              
  106.              delayus(2);     //軟件仿真時(shí),取20不閃爍            
  107.              P4OUT = 0;            
  108.              P4OUT = led_tab[disp_buf[2]];            
  109.              P2OUT = ~BIT3; //顯示個(gè)位數(shù)              
  110.              delayus(2);     //軟件仿真時(shí),取20不閃爍         
  111.            }  
  112.            count--;
  113.         }
  114.         if(count==0)
  115.         {
  116.             P4OUT = 0;
  117.             P4OUT = led_tab[0];  //30s倒計(jì)時(shí)結(jié)束,顯示0;                    
  118.             P2OUT = ~BIT3;
  119.             P3OUT=~BIT0;   
  120.         }
  121.       }
  122. ……………………

  123. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
棋牌.rar (152.8 KB, 下載次數(shù): 18)





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久视频精品 | 日韩超碰在线 | 91色视频在线观看 | 欧美在线一二三 | 草久久 | 久久久久久黄 | 亚洲成人激情在线观看 | 久久亚洲一区 | 日韩一区不卡 | 久久天天躁狠狠躁夜夜躁2014 | 99久久婷婷国产综合精品首页 | 一区二区三区四区在线 | 国产成人在线视频 | 中文一区 | 欧美aaaaaa| 99pao成人国产永久免费视频 | 亚洲成人精品免费 | 国产四区 | 99热这里| 国产传媒在线观看 | 国产在线一区二 | 美女国内精品自产拍在线播放 | 成人亚洲片 | 成人在线观看网址 | 福利网址| 欧美一级黄带 | 中文字幕av在线 | 在线观看国产视频 | 人人干超碰 | 午夜久久久久久久久久一区二区 | 久久国产一区二区 | 91性高湖久久久久久久久_久久99 | 久久久久国产精品一区 | 欧美精品片 | 中文字幕av中文字幕 | a视频在线观看 | 国产精品久久久久久久久久三级 | 日本激情视频网 | 亚洲精品888 | 欧美 日韩 中文 | 成人国产精品 |