还是菜鸡º
Bestmez丶
我欲成佛便成佛
关注数: 24
粉丝数: 92
发帖数: 3,151
关注贴吧数: 12
昨天装了个ubuntu装了nvidia驱动就启动不了 tty也进不去,还是arch折腾的舒服
【Original】能杀死始祖的到底是什么怪物?
840EVO和M6M哪个好?
怎么打盖伦?
1302读不出来 IO BIT P3.4 SCLK BIT P3.6 RST BIT P3.5 LSA BIT P2.2 LSB BIT P2.3 LSC BIT P2.4 DIG EQU P0 ORG 0000H JMP MAIN ORG 000BH JMP DISPLAY ORG 0040H ;********************************* ; 主程序 * ;********************************* MAIN: SEC EQU 30H MIN EQU 31H HOU EQU 32H MOV SEC,#00H MOV MIN,#00H MOV HOU,#09H MOV 33H,#80H MOV TMOD,#02H MOV TH0,#9CH MOV TL0,#9CH SETB ET0 SETB TR0 SETB EA MOV DPTR,#DIGDATA CALL DINIT LOOP: CALL READTIME SJMP LOOP ;********************************* ; DS1302初始化程序 * ;********************************* DINIT: MOV R0, #8EH;写保护寄存器 MOV R1, #30H;禁写保护寄存器 CALL WRITEC MOV R0, #80H;写秒 MOV R1, #SEC MOV 0,#3 LOOP1: CALL WRITEC INC R0 INC R0 INC R1 DJNZ 0,LOOP MOV R0, #8EH ;开启写保护 MOV R1, #33H CALL WRITEC ; MOV SEC,#00H ; MOV MIN,#00H ; MOV HOU,#00H RET ;********************************* ; DS1302读时间程序 * ;********************************* READTIME: MOV R0, #81H MOV R1, #40H;读秒 MOV 0,#3 LOOP2: CALL READC INC R0 INC R0 INC R1 DJNZ 0,LOOP2 RET ;********************************* ; 中断显示程序 * ;********************************* DISPLAY: ;-------------第一个 CLR LSA CLR LSB CLR LSC MOV A,40H ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H ;-------------第二个 SETB LSA CLR LSB CLR LSC MOV A,40 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H ;-------------第三个 CLR LSA ;测试数码管 SETB LSB CLR LSC MOV DIG,#40H CALL DELAY2MS MOV DIG,#000H ;-------------第四个 SETB LSA SETB LSB CLR LSC MOV A,41H ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H ;-------------第五个 CLR LSA CLR LSB SETB LSC MOV A,41H SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H ;-------------第六个 SETB LSA CLR LSB SETB LSC MOV DIG,#40H CALL DELAY2MS MOV DIG,#000H ;------------ 第七个 CLR LSA SETB LSB SETB LSC MOV A,42H ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H ;-------------第八个 SETB LSA SETB LSB SETB LSC MOV A,42H SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV DIG,A CALL DELAY2MS MOV DIG,#000H RETI ;********************************* ; 读DS1302 * ;参数:读地址、数据 * ;********************************* READC: CLR SCLK CLR RST SETB RST MOV B,R0 CALL WRITEB CALL READB MOV @R1,A CLR RST SETB SCLK NOP CLR IO NOP SETB IO NOP RET ;********************************* ; 写DS1302 * ;参数:写地址 、数据 * ;********************************* WRITEC: CLR SCLK CLR RST SETB RST MOV B,R0 CALL WRITEB MOV B,@R1 CALL WRITEB CLR SCLK CLR RST RET ;********************************* ; 数据区 * ;********************************* DIGDATA: DB 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 DB 0x7f,0x6f;,0x77,0x7c,0x39,0x5e,0x79,0x71 ;********************************* ; 读字节程序 * ;********************************* READB: PUSH PSW PUSH 0 MOV 0,#8 RLOOP: MOV C,IO RRC A SETB SCLK CLR SCLK DJNZ 0,RLOOP POP 0 POP PSW RET ;********************************* ; 写字节程序 * ;********************************* WRITEB: PUSH PSW PUSH 0 MOV 0,#8 WLOOP: MOV A,B RRC A MOV B,A MOV IO,C SETB SCLK CLR SCLK DJNZ 0,WLOOP POP 0 POP PSW RET ;********************************* ; 延时程序 * ;********************************* DELAY2MS: ;误差 0us MOV R6,#04H DL1: MOV R5,#0F8H DJNZ R5,$ DJNZ R6,DL
读DS1302出现问题!恳求帮忙 程序用数码管显示时分秒,可是读出来全是FFF,程序如下。 SCLK EQU P3.4 SIO EQU P3.5 RST EQU P3.6 LSA BIT P2.2 LSB BIT P2.3 LSC BIT P2.4 GPIO_DIG EQU P0 ORG 0 JMP MAIN ORG 0040H MAIN: MOV 30H,#00H MOV 31H,#08H MOV 32H,#00H MOV 33H,#08H MOV 34H,#08H MOV 35H,#01H MOV 36H,#08H CALL INIT MOV DPTR,#DIGDATA DIS: CALL DISPLAY SJMP DIS DIGDATA: DB 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 DB 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 ;************************************************* ; 数码管显示子程序 * ;************************************************* DISPLAY: CALL RTIME CLR LSA CLR LSB CLR LSC MOV A,54H ANL A,#0FH MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第一个 SETB LSA CLR LSB CLR LSC MOV A,54H ANL A,#0F0H RR A RR A RR A RR A MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第二个 CLR LSA SETB LSB CLR LSC MOV GPIO_DIG,#40H CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第三个 SETB LSA SETB LSB CLR LSC MOV A,51H ANL A,#0FH MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第四个 CLR LSA CLR LSB SETB LSC MOV A,51H ANL A,#0F0H RR A RR A RR A RR A MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第五个 SETB LSA CLR LSB SETB LSC MOV GPIO_DIG,#40H CALL DELAY2MS MOV GPIO_DIG,#000H ;----------- 第六个 CLR LSA SETB LSB SETB LSC MOV A,52H ANL A,#0FH MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H ;------------ 第七个 SETB LSA SETB LSB SETB LSC MOV A,52H ANL A,#30H RR A RR A RR A RR A MOVC A,@A+DPTR MOV GPIO_DIG,A CALL DELAY2MS MOV GPIO_DIG,#000H RET ;************************************************* ; 写字节子程序 * ;************************************************* WRB: MOV 40H,#8 LPW: CLR SCLK MOV A,B RRC A MOV B,A MOV SIO,C SETB SCLK NOP DJNZ 40H,LPW RET ;************************************************* ; 读字节子程序 * ;************************************************* RDB: MOV 40H,#8 LPR: CLR SCLK MOV C,SIO RRC A SETB SCLK DJNZ 40H,LPR RET ;************************************************* ; DS1302初始化子程序 * ;************************************************* INIT: CLR RST CLR SCLK SETB RST MOV B,#8EH CALL WRB MOV B,#00H CALL WRB SETB SCLK CLR RST MOV R0,30H MOV R7,#7 MOV R1,#81H LOOP: CLR RST CLR SCLK SETB RST MOV B,R1 CALL WRB MOV A,@R0 MOV B,A CALL WRB INC R0 INC R1 INC R1 SETB SCLK CLR RST DJNZ R7,LOOP CLR RST CLR SCLK SETB RST MOV B,#8EH CALL WRB MOV B,#80H CALL WRB SETB SCLK CLR RST RET ;************************************************* ; 时间读取子程序 * ;************************************************* RTIME: MOV R7,#7 MOV R1,#81H MOV R0,#50H LPRT: CLR RST NOP CLR SCLK NOP SETB RST MOV B,R1 CALL WRB CALL RDB MOV @R0,A INC R0 INC R1 INC R1 SETB SCLK NOP CLR RST NOP DJNZ R7,LPRT CLR RST NOP SETB SCLK NOP CLR SIO NOP SETB SIO NOP RET ;************************************************* ; 延时子程序 * ;************************************************* DELAY20MS: ;误差 0us MOV R6,#0D7H DL0: MOV R5,#2DH DJNZ R5,$ DJNZ R6,DL0 NOP NOP RET DELAY2MS: ;误差 0us MOV R6,#04H DL1: MOV R5,#0F8H DJNZ R5,$ DJNZ R6,DL1 NOP RET END
关于IIC总线的一个程序,不知道那里错了,请教吧里大神 将单片机内存30H到37H的内容写到24C02,50H为首地址的空间中,再读到单片机60H为首地址的内存中去。以下是程序,错了,检查不出来 ORG 0000H JMP MAIN ORG 0040H MAIN: SDA BIT P2.0 SCL BIT P2.1 MOV SP,#5FH CALL START MOV A,#0A0H CALL WRITEBYTE MOV A,#50H CALL WRITEBYTE MOV R0,#30H CALL WRITEDATA CALL STOP CALL DELAY10US CALL START MOV A,#0A0H CALL WRITEBYTE MOV A,#50H CALL WRITEBYTE MOV A,#0A1H CALL READDATA MOV R1,#60H CALL READDATA CALL STOP SJMP $ START: SETB SDA SETB SCL NOP NOP CLR SDA NOP NOP CLR SCL RET STOP: CLR SDA SETB SCL NOP NOP SETB SDA NOP NOP RET ASK: SETB SDA SETB SCL NOP NOP MOV C,SDA CLR SCL CLR C RET WRITEBYTE: PUSH 0 MOV 0,#8 WRITE: RLC A MOV SDA,C SETB SCL NOP NOP CLR SCL DJNZ 0,WRITE CALL ASK JC WRITEBYTE POP 0 RET WRITEDATA: PUSH 0 MOV 0,#8 WRITED: MOV A,@R0 CALL WRITEBYTE INC R0 DJNZ 0,WRITED POP 0 RET READBYTE: SETB SDA PUSH 0 MOV 0,#8 READ: SETB SCL NOP NOP MOV C,SDA RLC A CLR SCL NOP NOP DJNZ 0,READ POP 0 RET READDATA: PUSH 0 MOV 0,#8 READD: CALL READBYTE MOV @R1,A CLR SDA SETB SCL NOP NOP CLR SCL INC R1 DJNZ 0,READD SETB SDA SETB SCL NOP NOP CLR SCL POP 0 RET DELAY10US: NOP NOP NOP NOP NOP NOP NOP NOP RET END
进不去游戏谁知道怎么回事? 选完英雄进游戏的时候卡住了没进去,退了再进进不去,重启再进还是卡在重新登录的页面,换台电脑还是进不去!!!!!!!!!!!!!!
1
下一页