找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 930|回复: 3
打印 上一主题 下一主题
收起左侧

单片机串口可以输出对应电压AD值,通过断码屏没法显示,是什么问题?

[复制链接]
跳转到指定楼层
楼主
串口可以打印对应的AD值,想通过断码屏显示却没法显示出来?求解一下
uint num1;

#define ADC_INTERRUPT  1
UINT16 UserData;
/*******************************************************************************
* Function Name  : Show_Init()
* Description    : 显示对应的电压
*******************************************************************************/
void Show(uchar num1)                        //判断AD值
{
        if(num1>=150&&num1<160)
        {
                Write_1621(9,0x80,4);     //显示一格电量
        }
        else if(num1>=160&&num1<170)
        {
                Write_1621(9,0xC0,4);     //显示两格电量
        }
        else if(num1>170&&num1<180)
        {
                Write_1621(9,0xE0,4);     //显示三格电量
        }
        else if(num1>=180)
        {
                Write_1621(9,0xF0,4);     //显示四格电量
        }
}
/*******************************************************************************
* Function Name  : ADCInterrupt(void)
* Description    : ADC 中断服务程序
*******************************************************************************/
void        ADCInterrupt( void ) interrupt INT_NO_ADC using 1                      //ADC中断服务程序,使用寄存器组1
{
    if(ADC_IF ==  1)                                                          //ADC完成中断
    {
      UserData = ADC_DATA;                                                    //取走ADC采样数据
      ADC_IF = 0;                                                                      //清空ADC中断标志
    }
}
void main( )
{
        ADCInit(0);
        CfgFsys( );
        mDelaymS(20);
        mInitSTDIO( );
        Init_1621();                  //初始化HT1621
        HT1621_all_off();         //清空LCD显示
        CH554UART0Alter();     //串口映射
        EA=1;                         //开启全局中断
        while(1)
        {
                //检测电压,通道3
                {
                        ADC_ChannelSelect(3);                             //ADC采样电源开启和通道设置,采样通道AIN3
                        ADC_START = 1;                                     //开启采样,等待采样完成进入中断
                        while(ADC_START);
                        num1=UserData;
                        mDelaymS(1000);
                }
//                printf("ADC1: %d\n",num1);                             //串口打印AD值
                Show(num1);                                                  //显示函数
                mDelaymS(1000);
        }
}

原理图.png (73.93 KB, 下载次数: 37)

原理图.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:57657 发表于 2022-1-13 22:00 | 只看该作者
具体提供下段码屏是什么样的,具体怎样接线?
回复

使用道具 举报

板凳
ID:858009 发表于 2022-1-14 08:22 | 只看该作者
npn 发表于 2022-1-13 22:00
具体提供下段码屏是什么样的,具体怎样接线?

原理图在上面,使用ch552芯片ADC转换通道三,串口可以打印出AD值,但是转换显示不通过,想求解一下原因
回复

使用道具 举报

地板
ID:858009 发表于 2022-1-14 11:12 | 只看该作者
已解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表