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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stc12c5204ad,關于串口的問題。

[復制鏈接]
跳轉到指定樓層
樓主
就是想實現電腦發數據然后單片機數碼管上面顯示相應的數字。遇到瓶頸了。單片機是STC12C5204AD
U16~U19是LS145 芯片。這個是我敲的代碼但是運行結果不對,不懂是不是寫錯了。
附帶原理圖請大神們指教。
#include<reg51.h>
#include "intrins.h"
#define uchar unsignedchar
#define uint unsigned int
unsigned char senddata;
unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x00};
void delayms(unsigned int k);
void Deng();
void Smg();
void Nixie(unsigned char L,N)
{
    switch(L)
    {
        case 1:P3=0x08;break;
        case 2:P3=0x0c;break;
        case 3:P3=0x10;break;
        case 4:P3=0x14;break;

        case 5:P3=0x20;break;
        case 6:P3=0x24;break;
        case 7:P3=0x28;break;
        case 8:P3=0x2c;break;

        case 9:P3=0x30;break;
        case 10:P3=0x34;break;
        case 11:P3=0x38;break;
        case 12:P3=0x3c;break;
    }
    P1=seg[N];
    P2=seg[N];
    delayms(1);
    P1=0x00;
    P2=0x00;

}
void Deng()   //燈
{
        P1=0X00;
        P2=0X00;
        P3=0x30;
        delayms(1);

        P1=0X00;
        P3=0x34;
        delayms(1);

        P1=0X00;
        P2=0X00;
        P3=0x38;
        delayms(1);

        P3=0x3c;
        P1=0x00;
        delayms(1);
}
void Smg()  //數碼管
{
        Nixie(1,1);
        delayms(1);
        Nixie(2,2);
        delayms(1);
        Nixie(3,3);
        delayms(1);
        Nixie(4,4);
        delayms(1);
        Nixie(5,5);
        delayms(1);
        Nixie(6,6);
        delayms(1);
        Nixie(7,7);
        delayms(1);
        Nixie(8,8);
        delayms(1);
}
void InitializeSystem()   //串口初始化,波特率9600
{
        SCON = 0X50;//串口方式1,允許接收
        TMOD = 0X20;//定時器1定時方式2
        TCON = 0x40;//設定時器1開始計數
        TH1 = TL1 = 250;
        PCON = 0x80; //波特率加倍控制,SMOD位
        RI = 0; //清收發標志
        TI = 0;
        TR1 = 1; //啟動定時器
        EA=1;                //開啟總中斷
        ES = 1;
        ET1=0;
}
   //字符發送函數
void putchar(unsigned char data1)  
{
        SBUF = data1;               //將待發送的字符送入發送緩沖器
        while(TI == 0);            //等待發送完成
        TI = 0;                     //發送中斷標志請0
}
//字符串發送函數
void putstring(unsigned char *dat)
{
        while(*dat != '\0')           //判斷字符串是否發送完畢
        {
                putchar(*dat);        //發送單個字符
                dat++;                 //字符地址加1,指向先下一個字符
                delayms(1);
        }
}
//接收中斷函數
void revdata(void) interrupt 4
{
        if(RI == 0) return;         //如果沒有接收中斷標志,返回
        ES = 0;            //關閉串口中斷
        RI = 0;            //清串行中斷標志位
        senddata=SBUF;
        ES = 1;                 //開啟串口中斷
}

void main(void)
{
     InitializeSystem( );
         while(1)
          {
        if(senddata=='1')
       {
        Nixie(1,1);
       }

        }
}
void delayms(unsigned int k)
{

        unsigned char data i, j;
    while(k--)
    {
        i = 22;
        j = 128;
        do
        {
                while (--j);
        } while (--i);
   }
}


51hei圖片20230531095542.jpg (310.4 KB, 下載次數: 38)

51hei圖片20230531095542.jpg

Schematic_顯示板_2023-05-29.pdf

183.99 KB, 下載次數: 3

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

使用道具 舉報

沙發
ID:276663 發表于 2023-6-1 22:52 | 只看該作者
nixie傳入參數的方式不對,(unsigned char L, unsigned char N)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 999www视频免费观看 | 成人福利在线 | 伊人在线视频 | 91精品国产综合久久久亚洲 | 国产97色 | 日日操日日干 | 日韩电影免费在线观看中文字幕 | www.久久久 | 国产精品呻吟久久av凹凸 | 一级国产精品一级国产精品片 | 日韩一级电影免费观看 | 少妇久久久| 国产视频第一页 | 国产精品视频免费观看 | 一区二区免费视频 | 日韩欧美国产一区二区三区 | 国产黄色大片 | 日韩一区精品 | yiren22综合网成人 | 99视频在线播放 | 欧美日韩一区二区在线 | 国产1区 | 欧美性受 | 日韩电影免费在线观看中文字幕 | 福利精品 | 亚洲一区二区三区在线视频 | 国产香蕉视频 | 国产三区在线观看视频 | 亚洲精品视频久久 | 国产精品国产成人国产三级 | 国产综合精品一区二区三区 | 久久黄色| 国产美女在线精品免费 | 国产精品1区2区 | 国产一级黄色网 | 99国产精品99久久久久久 | 日韩在线 | 国产精品一区二区三区四区 | 羞羞的视频免费观看 | 欧美一级www片免费观看 | 亚洲一区二区在线播放 |