一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 7925|回复: 42
收起左侧

[其他DIY] 也玩伊爱高新车载屏(STC89C516RD+@19264)

[复制链接]
发表于 2016-1-3 22:53 | 显示全部楼层 |阅读模式
1.拆X5045的看门狗复位管脚。
2.拆4.7K上拉电阻。
3.拆SP202和74LS126电源。
4.短接RX , TX线到电源口。

看看SST39FS040里边都有什么:
IMG20160103223642.jpg
IMG20160103223710.jpg
IMG20160103223749.jpg
车马炮,要下象棋的样子!

下面是拼音排序的一级字库
IMG20160103223804.jpg

笔画排序的二级字库
IMG20160103223850.jpg
IMG20160103223930.jpg
IMG20160103223950.jpg
EPROM容量很大,这是剩下的50%里的内容,好像是图片的样子。
IMG20160103224032.jpg
IMG20160103224043.jpg


IMG20160103223658.jpg
IMG20160103223729.jpg
IMG20160103224051.jpg
 楼主| 发表于 2016-1-3 22:55 | 显示全部楼层
本帖最后由 pla155 于 2016-1-3 23:28 编辑

P1.1接了个红外头,利用T2中断,可以分析红外数据。
; void Init_T2(void)
        RSEG  ?PR?Init_T2?IR_T2
        USING        0
Init_T2:
                        CLR          C_T2
                        SETB         CP_RL2                                                 // 定时器捕获模式
                        SETB         EXEN2                                                 // 下降沿触发模式
                        SETB         ET2                                                        // 中断允许
                        CLR          IR_OK
                        MOV          IR_CODE                        , #0FFH
                        CLR          A
                        MOV          IR_CNT1                        , #LOW(IRDAT)
                        MOV          IR_CNT2                        , A
                        RET         
; END OF Init_T2



; .............................................................................
; void IntT2() interrupt 5
        RSEG  ?PR?INT5_T2?IR_T2
        USING        0
INT5_T2:
                        PUSH         ACC
                        PUSH         PSW
                        PUSH        000H                 //R0
        MOV          TL2,#00H
        MOV          TH2,#00H
// ----------  外部下降沿引起的中断  ------------------------------
        JNB          EXF2,?C0003
        SETB         TR2
        CLR          EXF2
        MOV                R0                                , IR_CNT1
        MOV                A                                , RCAP2H
        MOV                @R0                                , A
        MOV                SBUF                        , A
        INC                  IR_CNT1
        JNB                ACC.4                        , ?C0003
        CLR          SPK
        JMP                ?C0006
?C0003:
// -----------  定时器溢出引起的中断  ------------------------------
        JNB                  TF2,?C0006
        CLR          TF2
        CLR          TR2
        SETB         SPK    //这个配的有音响效果哦!
        MOV          IR_CNT1                        , #LOW(IRDAT)
        SETB         IR_OK
?C0006:
                        POP                000H                //R0
                        POP          PSW
                        POP          ACC
                        RETI         
; END OF IntT2

 楼主| 发表于 2016-1-3 22:57 | 显示全部楼层
利用串口监视到的数据,解码就很容易了。
/******************************************************************************
; ............... 美的空调 R51/C遥控器 ........................................
制冷 30度

07 1F
07 03 07 07 04 03 07 03   B2
03 07 04 04 07 07 04 07   4D
07 04 07 07 07 07 07 07   BF
04 07 03 04 04 03 04 03   40
07 04 07 07 04 04 04 03   B0
04 07 04 03 07 07 07 07   4F

14 1F
07 04 07 07 04 04 07 03   B2
03 07 04 04 07 07 03 07   4D
07 04 07 07 07 07 07 07   BF
03 07 04 04 04 03 04 04   40
07 04 07 07 04 03 04 03   B0
04 07 04 03 07 07 07 07   4F
; .............................................................................
 楼主| 发表于 2016-1-3 22:58 | 显示全部楼层
空调遥控器和电视机的遥控器发送的红外编码完全不一样。
这个要注意。
 楼主| 发表于 2016-1-3 23:16 | 显示全部楼层
本帖最后由 pla155 于 2016-1-3 23:19 编辑

关于寻址空间。
1.内部低128字节,直接和间接(R0,R1寄存器)寻址。
2.内部高128字节SFR,只能直接寻址。
3.内部高128字节RAM,只能间接(R0,R1寄存器)寻址。
4.物理内部逻辑外部扩展的1K字节RAM,可DPTR寻址,需用AUXR寄存器的EXTRAM位约束。EXTRAM=0。
5.物理外部逻辑外部扩展的1K字节RAM,可DPTR寻址,需用AUXR寄存器的EXTRAM位约束。EXTRAM=1。
6.大于3FF地址的外部扩展的RAM,无论EXTRAM位状态如何,都访问外部空间。
7.ISSI 62C256的使能端是P1.2。
8.SST 39SF040的使能端是P1.0。
9.SST 39SF040的页面选择是P4.0 P4.1 P4.2。
10.SST 39SF040是以RAM的操控方式挂在总线上的,因为他并没有使用PSEN控制线。只是写引脚接了5V。
 楼主| 发表于 2016-1-3 23:20 | 显示全部楼层
既然EEPROM是以RAM形式挂在总线上,就必须用MOVX进行操作,而不是MOVC。
; .............................................................................
;功能:读ROM字模到RAM  ,共32字节(相当于一个汉字的完整字模)
;入口:DPTR指向字模的ROM首地址
;占用:R0 , R1 , A
;出口:32字节的一个汉字完整字模
Show_ROM2RAM:        CLR                CS_ROM

                                MOV                R0                        , #HZK
                                MOV                R1                        , #020H
Show_ROM2RAM_JP0:
                               MOVX        A                        , @DPTR
                                INC                DPTR
                                MOV                @R0                        , A
                                CLR                A
                                INC                R0
                                DJNZ        R1                        , Show_ROM2RAM_JP0

                                SETB        CS_ROM
                                RET
 楼主| 发表于 2016-1-3 23:23 | 显示全部楼层
无标题.png
 楼主| 发表于 2016-1-3 23:27 | 显示全部楼层
六个漂亮的按钮也不错,不能放过,玩一玩。

         while(1)
            {
                Show_HZ_XY(X,Y,Index++) ;       
                P0                   = 0X0FF ;
                Key_Comm = 0 ;
                while(P0     == 0X0FF)
                  Delay100mS() ;
                Key_Comm = 1 ;

            }

 楼主| 发表于 2016-1-3 23:33 | 显示全部楼层
X5045是看门狗,烧写51的时间很长,看门狗会复位。

看来完全从外部进行改造是不可能实现的了,必须开壳。
 楼主| 发表于 2016-1-4 00:08 | 显示全部楼层
/* ............................................................................
;  汉字内码 - 0A0A0H = 区位码
;  每区94个汉字 ,每个汉字32字节
;  ADDR = (区码*94+位码+1)*32
;  在汉字的区位码中,高两位为区号,低两位为位号。
;  在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字 。
;  其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),
;  56-87区为二级汉字(3008个汉字,按部首次序排列)。
;  GB2312构成一个二维平面,分成94行和94列,行号成为区号,列号成为位号。
............................................................................*/
//                ---- Variable 'HZ' assigned to Register 'R2/R3'  ----
Show_HZK:                        ;计算汉字库在ROM中的位置            
;-------------- (R2*94+R3+1)*32 -> P4:DPTR
                                MOV                A                        , R3  ; (汉字内码 - 0A0A0H) = 区位码
                                DEC                A                        , #0A0H
                                MOV                R3                        , A
                                MOV                A                        , R2
                                DEC                A                        , #0A0H
                                MOV                B                        , #094
                                MUL                AB                          ; 低位在A
                                INC                R3                          ; R3 最大为 94,不会越界
                                ADD                A                        , R3
                                XCH                A                        , B
                                ADDC        A                        , #0  ; 高位在A        低位在 B
;-------------- 先乘16 , 相当于移位4 (R2 R3 A -> P4 DPH DPL)
                                MOV                R2                        , #000H
                                MOV                R3                        , #000H  
                                SWAP        A
                                MOV                R2                        , A
                                ANL                A                        , #11110000B
                                MOV                R3                        , A
                                MOV                A                        , R2
                                ANL                A                        , #00001111B
                                MOV                R2                        , A
                                MOV                A                        , B
                                SWAP        A
                                MOV                B                        , A
                                ANL                A                        , #00001111B
                                ORL                A                        , R3
                                MOV                R3                        , A
                                MOV                A                        , B
                                ANL                A                        , #11110000B
;-------------- 再乘2 , 相当于移位1 (R2 R3 A -> P4 DPH DPL)
                                CLR                C
                                RLC                A
                                MOV                DPL                        , A
                                MOV                A                        , R3
                                RLC                A
                                MOV                DPH                        , A
                                MOV                A                        , R2
                                RLC                A
                                ANL                A                        , #00000111B
                                MOV                P4                        , A
                                RET

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-25 22:10 , Processed in 0.067493 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表