We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
hi friends,
this is part of the code used to read the binary data from a motorola Oncore gps timing RX (they do/did a version that can output 10Khz as well).
its got 4 errors so plz tell me what is bad
GetRx call readst ; read receiver data string iorlw 0 ; test W, 0 = checksum good btfss status,z ; if read error do not update lcd return ; Call again for second string call readst ; read receiver data string iorlw 0 ; test W, 0 = checksum good btfss status,z return ; if read error do not update lcd MOVLW 0x01 ; Clear LCD CALL cout CALL chkbsy movf day,w ;Send date call p_bin movlw '-' call dout movf month,w call p_bin movlw '-' call dout movf year_hb,w movwf hbyte movf year_lb,w movwf lbyte call bin2bcd call p_4 ; send 4 lsd from "R" reg to LCD movlw ' ' ; send space call dout movf hour,w ; send time return
You need to do two things:
1. Use the assembler to show you the syntax erros;
2. Use the simulator to step through the code, and observe what happens.
In fact, you could do both of them just with pencil & paper and referring to the Instruction Set manual - Chapter 2 of the so-called "bible" for the 8051:
Chapter 1 - 80C51 Family Architecture: www.nxp.com/.../80C51_FAM_ARCH_1.pdf
Chapter 2 - 80C51 Family Programmer's Guide and Instruction Set: www.nxp.com/.../80C51_FAM_PROG_GUIDE_1.pdf
Chapter 3 - 80C51 Family Hardware Description: www.nxp.com/.../80C51_FAM_HARDWARE_1.pdf