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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于單片機實驗仿真的問題

查看數: 1067 | 評論數: 8 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2024-11-23 10:34

正文摘要:

這個仿真實驗代碼調試了很久也沒有做出來,大佬能否提供一些具體思路

回復

ID:619259 發表于 2024-11-25 09:45
數碼管動態顯示會受A/D芯片轉換時間的影響,出現閃爍,建議數碼管用定時器掃描方式。
ID:961114 發表于 2024-11-25 09:21
你用AI8051U  兼容的  直接USB仿真,排產故障更簡單
ID:92781 發表于 2024-11-24 11:42
本帖最后由 jjy1039 于 2024-11-25 08:53 編輯

你那種是限流,改用上拉提高驅動能力就行了

上拉.jpg (4.3 KB, 下載次數: 0)

上拉.jpg
ID:92781 發表于 2024-11-24 11:32
不想用三極管,也可以吧r12-r15四個限流電阻改為上拉電阻
ID:92781 發表于 2024-11-24 11:29
共陽數碼管的四個公共端,供電不足,AT89C52的拉電流有400微安,又加了限流電阻,根本驅動不了數碼管,com1-com4用三極管驅動試試吧
ID:1137320 發表于 2024-11-24 10:57
#include <reg51.h>

sbit CLK= P3^1;
sbit EOC = P3^0;
sbit CS = P2^7;
sbit WRR = P3^6;
sbit RDD = P3^7;

unsigned char code SegmentTable[] =
{
    0xC0, // 0
    0xf9, // 1
    0xa4, // 2
    0xb0, // 3
    0x99, // 4
    0x92, // 5
    0x82, // 6
    0xf8, // 7
    0x80, // 8
    0x90  // 9
};
void delay(unsigned int ms)
{
    unsigned int i, j;
    for (i = 0; i < ms; i++) {
        for (j = 0; j < 120; j++);  // 調整 120 的值以改變延時長度
    }
}

void Timer0_Init() {
    TMOD = 0x01;     // 定時器0,模式1(16位定時模式)
    TH0 = 0xFC;      // 設置初值高位
    TL0 = 0x18;      // 設置初值低位
    ET0 = 1;         // 允許定時器0中斷
    EA = 1;          // 開啟總中斷
    TR0 = 1;         // 啟動定時器0
}

void Timer0_ISR() interrupt 1 {
    TH0 = 0xFC;      // 重置初值高位
    TL0 = 0x18;      // 重置初值低位
    P3 ^= 0x02;   // 翻轉P3.1電平(高->低或低->高)
}

void ADC_START()
{   
         CS = 0;
         WRR = 0;
         delay(1);    // 穩定信號
         CS = 0;   
     WRR = 1;    //與非讓START為低電平,不觸發
         delay(1);  
}

unsigned char ADC_GET()
{
        while (EOC == 0); // 等待 EOC = 1,表示轉換完成
        delay(5);
        RDD = 0;
        CS = 0;
        delay(5);
        return P0;       // 返回采樣結果
}

void main()
{
        unsigned int Result;
        unsigned char digits[3];
        unsigned char i;
        unsigned char position[]={0x02,0x04,0x08};

    Timer0_Init();   // 初始化定時器
    CS = 1;   
    WRR = 1;
        while (1)
        {
                 ADC_START();
                 Result = ADC_GET();
                 RDD = 1;
                 CS = 0;
                 Result = Result*100/51;       
                 digits[0] = Result/100;                           //最高位
             digits[1] = Result%100/10;
              digits[2] = Result%100%10;    // 小數部分
                 for(i = 0;i<3;i++)
                 {
                        P2 = position[i];
                        P1 = SegmentTable[digits[i]];       
                        if(i == 0)
                        {
                                P1 = P1 -0x80;       
                        }       
                        delay(1);
                        P2 = 0x00;

                 }                                                  
    }
}


現在已經實現功能了,但是數碼管會閃爍
而且delay函數沒法往下調了,j到119甚至就顯示不出來了
ID:420836 發表于 2024-11-24 09:28
您有可供驗證的測試代碼嗎?
ID:161164 發表于 2024-11-24 09:14
有問題請描述問題,預計表現,實際表現,提供代碼,報錯信息

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区中文字幕 | 国产人成精品一区二区三 | 久久精品国产一区二区电影 | 亚洲精品在线播放 | 午夜男人的天堂 | 久久精品亚洲精品国产欧美 | 国产精品夜间视频香蕉 | 日韩精品一区二区三区免费观看 | 日韩视频一级 | 91精品国产一区二区三区 | 性福视频在线观看 | 亚洲午夜视频在线观看 | 91久久国产综合久久 | 一区二区三区免费在线观看 | 浴室洗澡偷拍一区二区 | 国产精品1区 | 青青草av在线播放 | 久久久久久国产 | 成年人黄色免费视频 | 中文字幕免费观看 | 色又黄又爽网站www久久 | 色站综合 | 网站一区二区三区 | www.国产一区| 国产91在线精品 | 高清亚洲 | 日韩视频在线观看一区二区 | 99久久国产免费 | 日韩一区二区三区在线观看 | dy天堂| 欧美激情在线观看一区二区三区 | 狠狠干狠狠插 | 亚洲一区二区中文字幕在线观看 | 成人免费视频网站在线看 | 国产精品一区二区av | 国产欧美精品一区 | 91久久网站 | 夜夜爽夜夜操 | 极品粉嫩国产48尤物在线播放 | 国产精品久久久久久久久久久免费看 | 爱综合|