『壹』 c51單片機顯示自己八位學號
用8個數碼管和8個74HC595組成擴展電路,使用單片機的SPI或者任意2個GPIO模擬數據線和時鍾線按照時序發送數據即可。
『貳』 單片機C51編程(C語言):實現學號的顯示(學號是10位數字)
你用什麼驅動數碼管呢?
不同的驅動,程序寫法不同。
如果直接用I/O口驅動,8位數碼管就這樣寫:
wei=位選
an=段選
//斷碼表
uchar
code
shuzi[12]={0xc0,0xf9,0xa4,0xb0,0x99,//0,1,2,3,4,
0x92,0x82,0xf8,0x80,0x90,//5,6,7,8,9,
0x00,0xff};
void
led_scan(void)
{
uchar
i,j;//共陽數碼管
wei=0xff;
j=0x01;
for(i=0;i<8;i++)
{
an=shuzi[i];
wei=!j;
delay(200);
j<<=1
;
}
wei=0xff;
}
『叄』 AT89C51單片機怎麼用匯編語言讓數碼管顯示學號最好有電路圖
數碼管連接電路如圖1所示,P0口輸出碼型,P2口輸出位選。鎖存器74HC573起驅動作用,提供驅動電流供數碼管發光。解碼器74HC138將位選地址轉換成位選信號,例如當前是第5個數碼管顯示,那麼P2口輸出位選地址05H,解碼器輸入CBA=110,輸出位選信號Y7-Y0=11101111,其中Y5=0,第5個數碼管選通並顯示,其它數碼管不顯示。實驗時將J6的左邊兩個引腳針(1和2)用跳冒連接,鎖存器11腳接VCC,關閉鎖存功能。
數碼管顯示方式為動態掃描方式,當P0口送第一個數0的碼型到鎖存器時,P2送位選地址01H,即Y0=0,只有第一個數碼管亮,顯示0,其他數碼管不顯示。當P0口送第二個數1的碼型到鎖存器時,P2送位選地址02H,即Y1=0,只有第二個數碼管亮,顯示1,其他數碼管不顯示。即每次只有一個數碼管點亮,8個數碼管是輪流被點亮的,輪流點亮的間隔時間很短(一般用延時程序延時幾個毫秒),由於視覺的暫留現象,看到的卻好象全都點亮著,這就是動態掃描。
數碼管顯示數字的碼型由數碼管的數據腳a~dp決定,圖2為數碼管的筆段分布圖,由於是共陰極的,所以當a~dp為高電平時相應的筆段會亮,電路中P1.0~P1.7分別接數碼管的a.b.c.d.e.f.g.dp,得到0~9這10個數字的碼型如表1所示。
圖2數碼管的筆段分布圖
引腳 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1P0.0數字碼型
筆段 dp g f e d c ba
0 0 1 1 1 1 11 03FH
0 0 0 0 0 1 10 106H
0 1 0 1 1 0 11 25BH
0 1 0 0 1 1 11 34FH
0 1 1 0 0 1 10 466H
0 1 1 0 1 1 01 56DH
0 1 1 1 1 1 01 67DH
0 0 0 0 0 1 11 707H
0 1 1 1 1 1 11 87FH
0 1 1 0 1 1 11 96FH
1 0 0 0 0 0 00 小數點80H
只要把上面的相關數,改成學好就可以了。
『肆』 怎麼用單片機顯示自己的名字和學號
只要一塊128*64或者128*32的LED屏幕就可以顯示了,1602驅動的常式很多,使用字模工具生成字模數組調用即可。逐一顯示或者並排顯示。
『伍』 (單片機求助)用數碼管顯示自己的學號(例如2830850407),要求用匯編語言編寫
ORG00H
AJMPMAIN
ORG30H
MAIN:MOV20H,#2;把你的學號的10位送到相應單元
MOV21H,#8
MOV22H,#3
MOV23H,#0
MOV24H,#8
MOV25H,#5
MOV26H,#0
MOV27H,#4
MOV28H,#0
MOV29H,#7
LCALLDISP;顯示子程序
AJMPMAIN
DISP:MOVA,20H;送最高位到A
ACALLSEG7;取碼指針子程序
MOVP0,A;段碼送P0口
CLRP2.0;位選
ACALLDLY;延時1MS,即顯示1MS
SETBP2.0;關顯示。動態顯示的方法就是:取優碼,送段碼,位選,延時1MS,關顯示.
MOVA,21H;下一位
ACALLSEG7
MOVP0,A
CLRP2.1
ACALLDLY
SETBP2.1
MOVA,22H
ACALLSEG7
MOVP0,A
CLRP2.2
ACALLDLY
SETBP2.2
MOVA,23H
ACALLSEG7
MOVP0,A
CLRP2.3
ACALLDLY
SETBP2.3
MOVA,24H
ACALLSEG7
MOVP0,A
CLRP2.4
ACALLDLY
SETBP2.4
MOVA,25H
ACALLSEG7
MOVP0,A
CLRP2.5
ACALLDLY
SETBP2.5
MOVA,26H
ACALLSEG7
MOVP0,A
CLRP2.6
ACALLDLY
SETBP2.6
MOVA,27H
ACALLSEG7
MOVP0,A
CLRP2.7
ACALLDLY
SETBP2.7
MOVA,28H
ACALLSEG7
MOVP0,A
CLRP3.0
ACALLDLY
SETBP3.0
MOVA,29H
ACALLSEG7
MOVP0,A
CLRP3.1
ACALLDLY
SETBP3.1
RET
DLY:MOVR7,#10;延時1MS子程序。12M晶振,粗略演算法:2XR7XR6
D1:MOVR6,#50
DJNZR6,$
DJNZR7,D1
RET
SEG7:INCA
MOVCA,@A+PC
RET
DB03FH;0共陰管段碼
DB006H;1
DB05BH;2
DB04FH;3
DB066H;4
DB06DH;5
DB07DH;6
DB007H;7
DB07FH;8
DB06FH;9
『陸』 怎麼用單片機數碼管顯示學號後三位
很簡單,三個數碼管動態控制方式顯示後三位的學號就好了。有原理圖才能編程的。
『柒』 51單片機編寫lcd1602顯示程序,第一行顯示自己的姓名,第二行顯示學號
1、首先我們打開Keil μVision編譯器,新建一個工程,然後保存在硬碟上的位置,然後選擇Atmel-AT89C51單片機為模型,並啟動器添加STARTUP.A51文件,然後在當前目錄下新建一個C文件,並將其添加入工作路徑。