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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3333|回復: 10
打印 上一主題 下一主題
收起左側

為什么段選中加入delay運行會出錯?

[復制鏈接]
跳轉到指定樓層
樓主
ID:111874 發表于 2016-6-30 01:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為什么段選中加入delay運行會出錯?求解惑在子函數void sanmiao(uchar bai,uchar shi,uchar ge)中加注釋的地方

#include <reg52.h>
#define uchar unsigned char
#define        uint unsigned int
uchar t = 0;
uchar bai,shi,ge;
sbit dula = P2^6;
sbit wela = P2^7;
void delay(uint z);
void sanmiao(uchar bai,uchar shi,uchar ge);
uchar code table[]={
                                        0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
                                        0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c,
                                        0x39, 0x5e, 0x79, 0x71
                                  };
void main(void)
{
        uchar temp = 0;
        wela = 0;
        dula = 0;
        TMOD = 0X01;
        TH0 = (65536-50000)/256;
        TL0 = (65536-50000)%256;
        TR0 = 1;
        ET0 = 1;
        EA = 1;
        while(1)
        {
                if(t == 20)
                {
                        t = 0;
                        temp++;
                        if (temp == 100)
                                temp = 0;  
                        bai = temp/100;
                        shi = temp%100/10;
                        ge = temp%10;
                }
                sanmiao(bai,shi,ge);       
        }
}
void delay(uint z)//延時程序
{
        uchar i,j;
        for(i=z;i>0;i--)
                for(j=110;j>0;j--);
}
//顯示動態掃描三個數碼管
void sanmiao(uchar bai,uchar shi,uchar ge)
{
       

        dula = 1;
        P0 = table[bai];
        dula = 0;
        //delay(1);        //段選加上延時函數后為什么會出錯??
        wela = 1;
        P0 = 0xfe;
        wela = 0;
        delay(5);

       

        dula = 1;
        P0 = table[shi];
        dula = 0;
        //delay(1);
        wela = 1;
        P0 = 0xfd;
        wela = 0;
        delay(5);

       

        dula = 1;
        P0 = table[ge];
        dula = 0;
        //delay(1);
        wela = 1;
        P0 = 0xfb;
        wela = 0;
        delay(5);
}
void timer0() interrupt 1
{
        TH0 = (65536-50000)/256;
        TL0 = (65536-50000)%256;
        t++;
}









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

使用道具 舉報

沙發
ID:7485 發表于 2016-6-30 19:29 | 只看該作者
不會出錯吧?

但是 Z和 i 的數據類型不一樣,雖說沒有報錯,但應該是相同為好。
回復

使用道具 舉報

板凳
ID:111874 發表于 2016-6-30 20:32 | 只看該作者
ahshmj 發表于 2016-6-30 19:29
不會出錯吧?

但是 Z和 i 的數據類型不一樣,雖說沒有報錯,但應該是相同為好。

程序沒問題,燒進單片機數碼管顯示成亂碼
回復

使用道具 舉報

地板
ID:128761 發表于 2016-6-30 23:10 | 只看該作者
不會出錯吧?
回復

使用道具 舉報

5#
ID:111874 發表于 2016-7-1 09:27 | 只看該作者

燒進去亂碼
回復

使用道具 舉報

6#
ID:71099 發表于 2016-7-1 11:31 | 只看該作者
是亂成什么樣?發個圖上來并注明原本是什么,這樣比較好理解和修改
回復

使用道具 舉報

7#
ID:115571 發表于 2016-7-1 14:04 | 只看該作者
你把對t的處理放在中斷里處理試試看
回復

使用道具 舉報

8#
ID:7485 發表于 2016-7-1 22:34 | 只看該作者
數碼管的型號對否?
回復

使用道具 舉報

9#
ID:111874 發表于 2016-7-2 11:13 | 只看該作者
ahshmj 發表于 2016-7-1 22:34
數碼管的型號對否?

數碼管的型號是正確的,不加DELAY就可以正確顯示,加了就亂碼了
回復

使用道具 舉報

10#
ID:7485 發表于 2016-7-2 20:04 | 只看該作者
本帖最后由 ahshmj 于 2016-7-2 20:07 編輯

是鎖存器輸出吧?
因為你 位選 未關閉,也未改變,而你的段選數據已經改變,......
回復

使用道具 舉報

11#
ID:61390 發表于 2016-7-20 18:57 來自手機 | 只看該作者
如10樓說的共陽管,位碼高低電位反了!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线h| 欧美日韩中文字幕在线播放 | 美女天天干天天操 | 九色91视频 | 国产日韩一区二区三区 | 日本精品视频在线 | 日韩影院在线观看 | 亚洲视频一区二区三区 | 中文字幕av免费 | av一区二区三区在线观看 | 成人区精品| 狠狠入ady亚洲精品经典电影 | 日韩综合一区 | 亚洲精品久久久一区二区三区 | 久久爱黑人激情av摘花 | av官网在线 | 五月婷婷中文 | 在线观看第一区 | 日韩精品不卡 | 在线观看黄免费 | 国产乱码精品一区二区三区五月婷 | 性一爱一乱一交一视频 | 丝袜久久 | 国产一区二区三区久久久久久久久 | 国产成人免费视频 | 亚洲欧美日韩在线 | 亚洲综合色丁香婷婷六月图片 | 亚洲第一在线 | 日韩高清中文字幕 | 午夜视频精品 | 久久91| 久久99视频免费观看 | 久久国产一区二区三区 | 国产999精品久久久久久 | 狠狠色综合久久丁香婷婷 | 三级免费av | 人人爽日日躁夜夜躁尤物 | 国产精品a一区二区三区网址 | 91n成人| 日韩视频在线观看中文字幕 | 高清av电影 |