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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2777|回復: 1
收起左側

求大神,幫忙看看單片機的程序,用的TLC5615 數模轉換

[復制鏈接]
ID:203219 發表于 2017-5-21 19:06 | 顯示全部樓層 |閱讀模式
主要是主程序,和TLC5615 定義看不懂,求大神

回復

使用道具 舉報

ID:203219 發表于 2017-5-21 19:06 | 顯示全部樓層
#include "reg52.h"

//宏定義
#define uchar unsigned char
#define uint  unsigned int

//按鍵定義
sbit KEY1= P2^0;
sbit KEY2= P2^1;
sbit KEY3= P2^2;
sbit KEY4= P2^3;

//數碼管定義
sbit W1= P2^4;
sbit W2= P2^5;
sbit W3= P2^6;
sbit W4= P2^7;

//DAC定義
sbit  CS_5615=P3^2;
sbit CLK_5615=P3^3;
sbit DAT_5615=P3^4;

//報警指示定義
sbit led = P3^6;
sbit Duan= P3^7;

uint  U;
uchar flag=0;
uint  a=0;

uchar code table[]=
{
        0x28,/*0*/
        0xEB,/*1*/
        0x32,/*2*/
        0x62,/*3*/
        0xE1,/*4*/
        0x64,/*5*/
        0x24,/*6*/
        0xEA,/*7*/
        0x20,/*8*/
        0x60,/*9*/
};        //共陽數碼管段碼表        沒有小數點 0~9
uchar code table1[]=
{

        0x08,/*0*/
        0xCB,/*1*/
        0x12,/*2*/
        0x42,/*3*/
        0xC1,/*4*/
        0x44,/*5*/
        0x04,/*6*/
        0xCA,/*7*/
        0x00,/*8*/
        0x40,/*9*/
        0x29,/*U*/
};//帶小數點的編碼            0~9


void delay_ms(uint z)                          //延時函數
{
  uint a,b;
  for(a=z;a>0;a--)
   for(b=5;b>0;b--);
}

void  shuma(uint buf)
{
        uchar a,b,c,d;
        a=buf/1000;
        b=buf%1000/100;
        c=buf%100/10;
        d=buf%10;

        W1=0;W2=1;W3=1;W4=1;       
        P0=table[a];
        delay_ms(60);

        W1=1;W2=0;W3=1;W4=1;
        P0=table1[b];
        delay_ms(60);

        W1=1;W2=1;W3=0;W4=1;
        P0=table[c];
        delay_ms(60);

        W1=1;W2=1;W3=1;W4=0;
        P0=table1[10];
        delay_ms(60);
}

void tlc_5615(uint buf)
{
        uint a,c;
        c=buf;   
    CS_5615=0;
        for(a=16;a>0;a--)
        {
         DAT_5615=c>>15;      
         c=c<<1;
         CLK_5615=1;
         CLK_5615=0;                
    }
        CLK_5615=1;
        CLK_5615=0;
        CLK_5615=1;
        CLK_5615=0;
        CS_5615=1;
}

//主函數
void main(void)
{
        uchar n,i;
        n=5;
        U=0;
        led=0;
        delay_ms(3000);
        led=1;
        while(1)
        {
                tlc_5615(U);
                shuma(U/n*10);
                if(flag==0)
                {
                        if(KEY1==0)
                        {
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                if(KEY1==0)
                                {
                                        if(U<120*n)                         //最大電壓
                                        U=U+n;
                                        else if(U>=120*n)
                                        {
                                                led=0;
                                                for(i=0;i<50;i++)
                                                shuma(U/n*10);
                                                led=1;
                                        }

                                }       
                        }
                        if(KEY2==0)
                        {
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                if(KEY2==0)
                                {
                                        if(U>=n)
                                        U=U-n;
                                }       
                        }                       
                        if(KEY3==0)
                        {
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                if(KEY3==0)
                                {
                                        U=50*n;       
                                }       
                        }       
                        if(KEY4==0)
                        {
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                shuma(U/n*10);
                                if(KEY4==0)
                                {
                                        U=0;
                                }       
                        }
                }
                if(Duan==0)
                {
                        delay_ms(10);
                        if(Duan==0)
                        {
                                flag=1; //過流標志置高
                                led=0;
                                U=0;
                                tlc_5615(0);       
                        }       
                }                       
        }
}








回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91av在线免费看 | 国产综合久久久久久鬼色 | 在线中文视频 | 四虎影院在线播放 | 亚洲日本欧美日韩高观看 | 一区二区三区在线播放视频 | 欧美成人精品激情在线观看 | 欧洲精品码一区二区三区免费看 | 一区二区精品在线 | 91精品国产91久久久久久最新 | 欧美在线视频一区二区 | 欧美日韩国产一区二区 | 毛片一区二区三区 | 国产精品日韩一区 | www.日韩系列| 欧美国产日韩在线 | 成人啊啊啊 | 亚洲在线视频 | 成人免费视频在线观看 | 天堂精品 | 成人av观看 | 97精品国产 | 精品在线一区二区 | 99久久精品国产一区二区三区 | 国产成人网 | 亚洲一区二区视频在线播放 | 日本不卡一区二区三区 | 久久久综合 | 国产良家自拍 | 一级电影免费看 | 亚洲国产精久久久久久久 | 最新国产精品精品视频 | 亚洲高清一区二区三区 | 久草热视频| 国产精品久久国产精品99 gif | 国产91丝袜在线18 | 成人1区 | 精品国产乱码久久久久久图片 | 国产我和子的乱视频网站 | 午夜影院毛片 | 欧美日韩专区 |