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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機數(shù)碼管顯示 程序跑飛

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:199587 發(fā)表于 2017-5-12 23:43 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
5黑幣
嘗試寫交通燈的程序,下面是兩邊數(shù)碼管的顯示,每一邊數(shù)碼管單獨運行都沒有問題,一起運行數(shù)碼管就會跑飛,不明白原因何在,求指導(dǎo)
#include <reg52.h>
#define uchar unsigned char
typedef unsigned char uint8;
typedef unsigned int  uint16;  
uint8 second=20;   
uint16  mstcnt=0;
sbit P2_0 = P2^0;
sbit P2_1 = P2^1;
sbit P2_2 = P2^2;
sbit P2_3 = P2^3;
uchar second,minute,hour;
unsigned int tcount;
unsigned char m;

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
                        0xf8,0x80,0x90};  //共陽極
void delay(unsigned int i);
void time_pro( void)
{     
          if(second==0)//秒鐘設(shè)為59進制   
        {  second=20;
        }
}   

void display()
{
  
   P1=table[second/10];
   P2_2 = 0;
   delay(5);
   P2_2= 1;

   P1=(table[second%10]& 0x7f);
   P2_3= 0;
   delay(5);
   P2_3= 1;

      P0=table[second/10];
   P2_0 = 0;
   delay(5);
   P2_0= 1;

   P0=(table[second%10]& 0x7f);
   P2_1= 0;
   delay(5);
   P2_1= 1;


}

/*演示主程序*/
void timer0(void) interrupt 1 using 0//定時器0方式1,250us中斷一次  
{
        TH0=0xff;  
        TL0=0x19;         
        TMOD = 0x01;   
        mstcnt++;   
        if(mstcnt==4000)  
        {   
                second--;
        mstcnt=0; //注意對計數(shù)單元的清零  
        }   
}  
void timer1(void) interrupt 1 using 0//定時器0方式1,250us中斷一次  
{
        TH0=0xff;  
        TL0=0x19;         
        TMOD = 0x01;   
        mstcnt++;   
        if(mstcnt==4000)  
        {   
                second--;
        mstcnt=0; //注意對計數(shù)單元的清零  
        }   
}  
void main(void)  
{  
        P0=0xff;
        P1=0xff; //初始化p0口,全設(shè)為1使數(shù)碼管
         P2=0xff;  //初始化p2口,全設(shè)為1使數(shù)碼管  
        TMOD = 0x01; //time0為定時器,方式1  
        TH0=0xff; //預(yù)置計數(shù)初值  
        TL0=0x19;  
        EA=1;   
        ET0=1;   
        TR0=1;   
         while (1)
        {   
                time_pro( ); //時間處理
                display( ); //顯示時間
        }
}
/*演示主程序*/

void delay(unsigned int i)

{
  uchar j,k;
  for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}

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

使用道具 舉報

沙發(fā)
ID:111634 發(fā)表于 2017-5-13 08:28 | 只看該作者
本帖最后由 zl2168 于 2017-5-13 15:59 編輯

實例30  帶限行時間顯示的模擬交通燈
Proteus仿真一下,確認有效。
實例30 帶限行時間顯示模擬交通燈.rar (40.64 KB, 下載次數(shù): 5)

縮短亮燈時間,是為了仿真演示,便于觀看,否則,你等得不耐煩了,實際應(yīng)用時,可可修改延長。以上摘自張志良編著《80C51單片機仿真設(shè)計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1,
內(nèi)有常用的單片機應(yīng)用
100
案例,用于仿真實驗操作,電路與程序真實可靠可信可行.書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。
仿真電路和Hex文件能在清華出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。













回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2017-5-13 12:27 | 只看該作者
程序運行的速度很快,你當設(shè)法在某此地方讓程序停一停,不就好了嗎?
回復(fù)

使用道具 舉報

地板
ID:200257 發(fā)表于 2017-5-13 13:03 | 只看該作者
嘗試下延時看看,我還沒學到交通燈,有時單片機的頻率比較高,一下子就運行過去了,稍微延時一下試下
回復(fù)

使用道具 舉報

5#
ID:200281 發(fā)表于 2017-5-13 14:06 | 只看該作者
加個看門狗試試
回復(fù)

使用道具 舉報

6#
ID:33530 發(fā)表于 2017-5-13 15:43 | 只看該作者
兩個定時器都對    second 進行 -- 操作,有可能沖突了。
改成兩個參數(shù)試試。
回復(fù)

使用道具 舉報

7#
ID:153108 發(fā)表于 2017-5-13 16:46 | 只看該作者
延時太短了吧  ,
回復(fù)

使用道具 舉報

8#
ID:200362 發(fā)表于 2017-5-13 17:20 | 只看該作者

嘗試下延時看看
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产精品一区 | 免费精品一区 | 无码日韩精品一区二区免费 | 欧美一区二区三区一在线观看 | 亚洲在线观看视频 | 亚洲精品久久久久国产 | 五月婷婷丁香 | 免费看国产一级特黄aaaa大片 | 殴美黄色录像 | 一级视频黄色 | a国产视频 | 波多野结衣二区 | 99久久99| 精品国产乱码一区二区三区a | 丁香久久 | 亚洲综合一区二区三区 | 伊人电影院av| 亚洲精品视频播放 | 一区二区精品在线 | 免费电影av | 久久国产电影 | 国产欧美日韩精品一区 | 欧美成人免费 | 成人午夜视频在线观看 | 久久久精品一区二区三区四季av | 欧美日韩在线成人 | 一本大道久久a久久精二百 国产成人免费在线 | av网站观看| 久久草视频 | 国产乡下妇女做爰 | 欧美一级特黄aaa大片在线观看 | 国产精品久久久久久久久久久久 | 日韩三区在线观看 | 中文字幕在线第一页 | 亚洲精品欧美 | 欧美一级片久久 | 国产精品毛片一区二区三区 | 一区欧美| 天天躁日日躁狠狠的躁天龙影院 | 国产性网 | 久久乐国产精品 |