欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開始

搜索

仿真軟件中使用鎖存器無法實(shí)現(xiàn)單片機(jī)數(shù)碼管動(dòng)態(tài)顯示的問題

查看數(shù): 2096 | 評(píng)論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2023-9-14 11:01

正文摘要:

各位前輩,我最近重拾單片機(jī),在實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示的時(shí)候遇到一個(gè)問題。我按照教程編寫了使用兩個(gè)鎖存器實(shí)現(xiàn)數(shù)碼管顯示的代碼,并使用定時(shí)器中斷來進(jìn)行延時(shí)的作用。當(dāng)延時(shí)為1s時(shí),可以實(shí)現(xiàn)前六個(gè)數(shù)碼管分別從1-6流 ...

回復(fù)

ID:123289 發(fā)表于 2023-9-15 15:19
要點(diǎn):
1、切換時(shí)間要盡可能短,讓有效顯示時(shí)間長(zhǎng),這樣亮度才能達(dá)到最大。
2、切換前要準(zhǔn)備好切換的數(shù)據(jù),這樣才能減少切換執(zhí)行的指令。
3、切換動(dòng)作的第一步是關(guān)顯示,這樣切換時(shí)的數(shù)據(jù)變化才不被顯示,顯示才不會(huì)混亂。
4、做切換動(dòng)作。
5、最后一步,是打開新一顯示。
切換步驟如下(切換過程僅在條指令):
1、U3 = 全關(guān)
2、U1 = 新的顯示位數(shù)據(jù)(數(shù)據(jù)事先做好,如放在變量NEX_D中,在此取用)
3、U3 = 打開新顯示位(數(shù)據(jù)事先做好,如放在變量NEX_W中,在此取用)
P0 = 全關(guān) → U3.LE = 1使能 → U3.LE = 0鎖存 → 關(guān)顯示【消隱】
P0 = NEX_D → U1.LE = 1使能 → U1.LE = 0鎖存 → 【切換顯示數(shù)據(jù)】
P0 = NEX_W → U3.LE = 1使能 → U3.LE = 0鎖存 → 【切換顯示位】

你的錯(cuò)誤是:
dula = 1;
錯(cuò)誤:【這時(shí)Ux打開,但數(shù)據(jù)P0是混亂的,導(dǎo)致短暫顯示不受控】
改正:【放在正確的數(shù)據(jù)準(zhǔn)備好之后】   
P0 = table[numdu]
不佳:【C語(yǔ)言取數(shù)組中的數(shù)據(jù),不止一條指令,也即占用時(shí)間長(zhǎng)了】
最佳:【事先做 NEX_x = table[numdu],在此:P0 = NEX_x】
dula = 0【OK】

改正后:
P0 = NEX_x;【切換前準(zhǔn)備好 NEX_x = table[numdu]】
dula = 1;
dula = 0;
ID:535881 發(fā)表于 2023-9-14 21:05
前兩天我也遇到了,proteus上使用數(shù)碼管必須消影。
當(dāng)數(shù)碼管切換到下一位時(shí),這個(gè)數(shù)碼管就會(huì)顯示上一個(gè)數(shù)碼管的數(shù)字,由于切換時(shí)間很短,一閃而過,給人一種影的感覺,為了不顯示上一個(gè)數(shù),應(yīng)該在切換數(shù)碼管之前把所有的燈關(guān)掉,這就是所謂的消影。
ID:272176 發(fā)表于 2023-9-14 15:41

謝謝老哥,修改成功。請(qǐng)問這是段選P0口賦值和位選P0口賦值相互之間的干擾嗎?
我也剛意識(shí)到,上傳的代碼沒有注釋。感謝老哥!!
ID:161164 發(fā)表于 2023-9-14 14:08
要加消影
  1.                 if(aa==1)
  2.                 {
  3.                         aa = 0;
  4.                         numdu++;
  5.                         if(numdu==7)
  6.                         {
  7.                                 numdu = 1;
  8.                         }
  9.                         wela = 1;
  10.                         P0 = 0xFF;//消影
  11.                         wela = 0;
  12.                        
  13.                         dula = 1;
  14.                         P0 = table[numdu];
  15.                         dula = 0;

  16.                         wela = 1;
  17.                         P0 = tablewe[numwe];
  18.                         wela = 0;
  19.                         numwe++;
  20.                         if(numwe==6)
  21.                                 numwe = 0;

  22.                 }
復(fù)制代碼



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

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

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