微控制器寫入程式這段是關於數碼管的求教這段程式的意義

2021-05-17 23:07:31 字數 979 閱讀 3350

1樓:胖大海君

嘿嘿 俺來幫你分析

1 這段程式的意義:

就是一個顯示子函式 把陣列table[p[i]]中的四位資料 即table[p[0]、table[p[1]、table[p[2]、

table[p[3]送4位數碼管上顯示一遍。

每位資料顯示的時間間隔由delay_nms(1);延時函式決定。

2 outport為數碼管的段形口 送要顯示的顯示編碼3 conport為數碼管的位控制口 決定讓哪一個數碼管亮的 低電平 亮

呵呵 有問題還可以問 滿意就給加分

2樓:匿名使用者

void display(unsigned char *p)//資料大小1個位元組 *p地址 呼叫時&陣列 這個是調入的陣列所在的地址

{unsigned char i; //定義一個8位變數unsigned sel = 0x08;//定義一個 這個是什麼型別的? 反正sel=0x08

for(i=0;i<4;i++) //迴圈4次{conport = ~sel; //某個變數獲得sel取反的數值outport = table[p[i]];//某個變數=陣列的某地址的某個個值

delay_nms(1); //軟體延時 嗯 應該是sel = sel>>1; //sel右移一位

3樓:匿名使用者

void display(unsigned char *p) //顯示指標*p指向的字串

{unsigned char i;

unsigned sel = 0x08; //數碼管位選位for(i=0;i<4;i++) //共四個數碼管{conport = ~sel; //位控制訊號輸出(共陰輸出)outport = table[p[i]]; //數碼管顯示資料輸出delay_nms(1); //延時

sel = sel>>1; //位選移位顯示下一位

微控制器數碼管小數點閃爍,微控制器數碼管小數點的顯示

我不懂你的電路圖是怎麼接的,但是數碼管的小數點是這樣的p0 table1 ge 你這個是定址的後面加個點就得了給為p0 table1 ge 0x80 或者p0 table1 ge 0x80應該都一樣的 0x80就是那個點亮,不懂你是公陽還是共陰的,如果是公陽的是0x7f。和共陰的相反 數碼管分為7段...

51微控制器如何讓2位數碼管閃爍,微控制器數碼管動態顯示的過程中,怎麼實現讓其中一個閃爍,其他的不受影響

想讓抄他最後3秒閃爍 我猜應該是像倒計時到快結束時的警報那樣的閃爍吧?這需要再新增一個計時變數。比如總共有10秒,想讓它在最後3秒閃爍,可以這樣 在定時器中斷 比如100ms一次 裡令一個計時變數 假設叫t 加1 加到10就是1秒,加到70就是第7秒。在進行數碼管驅動的時候判斷這個變數t,如果大於7...

51微控制器控制數碼管並顯示,51微控制器控制8個數碼管並顯示

數碼管段選連線到微控制器p0口,位選連線到p2口org 0000h main call display ajmp main display mov r0,0 mov r1,0x01 mov dptr,tab loop inc r0 mov a,r0 movc a,a dptr mov p0,0 消隱...