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

QQ登錄

只需一步,快速開始

搜索

iar for avr 編程 通過 仿真數(shù)碼管顯示不全 請(qǐng)求指導(dǎo)

查看數(shù): 2124 | 評(píng)論數(shù): 2 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2021-3-1 20:04

正文摘要:

   學(xué)習(xí)《AVR單片機(jī)與傳感器模塊設(shè)計(jì)》(IAR) 教材,ATMega16 的A/D轉(zhuǎn)換編程實(shí)踐                        編程通過& ...

回復(fù)

ID:44037 發(fā)表于 2021-3-2 13:01
謝謝指導(dǎo)!  正常顯示了  
      請(qǐng)問 顯示有誤差,怎樣提高精度   x = (4840*(long)i)/1023;   4840 有的程序不是這個(gè)值!
      非常感謝。!
ID:213173 發(fā)表于 2021-3-1 21:32
從圖片現(xiàn)象看是顯示函數(shù)沒有消隱導(dǎo)致亂碼,實(shí)際電路不會(huì)出現(xiàn)亂碼但會(huì)有鬼影。添加消隱代碼。
  1. //=======================中斷函數(shù)(定時(shí)器0溢出中斷)============================
  2. #pragma vector = TIMER0_OVF_vect
  3. __interrupt void TIMER0_OVF_Server(void)
  4. {
  5.         TCNT0 = 0x83;    //重載初值
  6.         if(++i>3)        //掃描位數(shù)為4位
  7.         i = 0;
  8.         PORTC = 0x00;//消隱
  9.         switch(i)
  10.         {
  11.                 case 0:PORTB = SEG7[dis_val%10];          //送個(gè)位待顯示的數(shù)據(jù)
  12.                 PORTC = ACT[0];                //打開個(gè)位顯示(點(diǎn)亮)
  13.                 break;
  14.                 case 1:PORTB = SEG7[(dis_val/10)%10];     //送十位待顯示的數(shù)據(jù)
  15.                 PORTC = ACT[1];                //打開十位顯示(點(diǎn)亮)
  16.                 break;
  17.                 case 2:PORTB = SEG7[(dis_val/100)%10];    //送百位待顯示的數(shù)據(jù)
  18.                 PORTC = ACT[2];                //打開百位顯示(點(diǎn)亮)
  19.                 break;
  20.                 case 3:PORTB = SEG7[dis_val/1000]&0x7F;   //送千位待顯示的數(shù)據(jù)并點(diǎn)亮小數(shù)點(diǎn)
  21.                 PORTC = ACT[3];                //打開千位顯示(點(diǎn)亮)
  22.                 break;
  23.         }
  24. }
復(fù)制代碼

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

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

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