二位数码管怎么显示18
1个回答
关注
展开全部
亲,很高兴为您服务:2位七段数码管一般只需要8位控制位就行了七段abcdefg,还有一个位选假设你的是共阴数码管,那么你的0就代表亮,你想显示"8"那么你只要7段输入0000000,比如0是选择第一位,而你的位选是接在P0.7 那么只要P0=0x00就可以在第一位显示8了。
咨询记录 · 回答于2022-12-26
二位数码管怎么显示18
亲,很高兴为您服务:2位七段数码管一般只需要8位控制位就行了七段abcdefg,还有一个位选假设你的是共阴数码管,那么你的0就代表亮,你想显示"8"那么你只要7段输入0000000,比如0是选择第一位,而你的位选是接在P0.7 那么只要P0=0x00就可以在第一位显示8了。
要程序
2位七段数码管一般只需要8位控制位就行了七段abcdefg,还有一个位选假设你的是共阴数码管,那么你的0就代表亮,你想显示"8"那么你只要7段输入0000000,比如0是选择第一位,而你的位选是接在P0.7 那么只要P0=0x00就可以在第一位显示8了。
要编程的程序
KEYVAL EQU 30HKEYTM EQU 31HKEYSCAN EQU 32HDAT EQU 33HSCANLED EQU 39HCLK EQU 77HSEC EQU 78HMIN EQU 79HHOUR EQU 7AHPAUSE BIT 00HDOT BIT 01HORG 0000HLJMP MAINORG 000BHLJMP T0ISR ;50ms定时ORG 001BHLJMP T1ISR ;扫描显示ORG 0030HMAIN:MOV SP,#5FHMOV TMOD,#11HMOV TH0,#03CHMOV TL0,#0B0HMOV TH1,#0ECHMOV TL1,#078HMOV KEYVAL,#0MOV SCANLED,#0MOV 33H,#10HMOV 34H,#10HMOV 35H,#10HMOV 36H,#10HMOV 37H,#10HMOV 38H,#10HMOV SEC,#0MOV MIN,#0MOV HOUR,#0MOV CLK,#0CLR PAUSESETB EASETB ET1SETB TR1LOOP:LCALL KEYSELMOV A,KEYVALCJNE A,#0FFH,LOOP1SJMP LOOPLOOP1:CJNE A,#10,LOOP2 ;“ON”启动SETB TR0SETB ET0SETB PAUSESJMP LOOPLOOP2:CJNE A,#11,LOOP3 ;“=”清零MOV SEC,#0MOV MIN,#0MOV HOUR,#0LCALL DISCHGSJMP LOOPLOOP3:CJNE A,#15,LOOP4 ;“+”暂停CLR TR0CLR ET0CLR PAUSESJMP LOOPLOOP4:CJNE A,#14,LOOP5 ;“-”清显示暂停MOV 33H,#10HMOV 34H,