找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1483|回復(fù): 3
收起左側(cè)

通過(guò)ht1621控制段碼屏顯示,為什么num值大于255會(huì)顯示不正常?求解

[復(fù)制鏈接]
ID:858009 發(fā)表于 2021-12-10 16:59 | 顯示全部樓層 |閱讀模式
想問(wèn)一下這是什么問(wèn)題?

#include "HT1621B.h"
//                 //  0    1    2    3    4    5    6    7    8    9  
uchar code tab1[11]={0xF0,0x00,0xD0,0x90,0x20,0xB0,0xF0,0x10,0xF0,0xB0};
uchar code tab2[11]={0xA0,0xA0,0x60,0xE0,0xE0,0xC0,0xC0,0xA0,0xE0,0xE0};

uchar ad0,ad1,ad2,num;
void delay_ams(uint v)                //延時(shí)程序
{
        uint n,m;
        for(n=v;n>0;n--)
         for(m=110;m>0;m--);
}
/*******************************************************************************
* Function Name  : Show_Init()
* Description    : 顯示對(duì)應(yīng)的電壓
*******************************************************************************/
void Show_Init(uchar ad0,uchar ad1,uchar ad2)
{
        Write_1621(15,tab1[ad0],4);
        Write_1621(16,tab2[ad0],4);
        Write_1621(17,tab1[ad1],4);
        Write_1621(18,tab2[ad1],4);
        Write_1621(19,tab1[ad2],4);
        Write_1621(20,tab2[ad2],4);
}
void main(void)
{
        uchar i;
        Init_1621();       //初始化HT1621
        HT1621_all_off();  //清空LCD顯示
    while(1)
        {
                num=255;    //num值小于255,段碼屏顯示對(duì)應(yīng)的值,num大于255.顯示的值不正常,例如num=260,段碼屏顯示044,
                ad0=num/100;
                ad1=num%100/10;
                ad2=num%10;
                Show_Init(ad0,ad1,ad2);
   }
}

回復(fù)

使用道具 舉報(bào)

ID:858009 發(fā)表于 2021-12-10 17:24 | 顯示全部樓層
已解決
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2021-12-10 17:29 | 顯示全部樓層
num是 unsigned char型變量,它的值只能是0-255之間
超過(guò)這個(gè)值的,就不是正確值了
回復(fù)

使用道具 舉報(bào)

ID:858009 發(fā)表于 2021-12-10 17:31 | 顯示全部樓層
Y_G_G 發(fā)表于 2021-12-10 17:29
num是 unsigned char型變量,它的值只能是0-255之間
超過(guò)這個(gè)值的,就不是正確值了

懂了,范圍用錯(cuò)了,謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表