打印

十进制的数字(如13)写入24C02,那么读出的数字是哪种进制?

[复制链接]
2871|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hopewise|  楼主 | 2011-10-26 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2011-10-26 16:08 | 只看该作者
你是高手

使用特权

评论回复
板凳
hopewise|  楼主 | 2011-10-26 16:51 | 只看该作者
解决了同原先写入的进制一样,只是仿真器显示内容的是十六进制,后来我把读出的内容存到另一个变量,并用段式液晶显示出来显示出来,才知道是原来进制.
    谈到这里,顺便说一下段式液晶显示的驱动方法(这个月刚学会):
    ;****************主程序区*************
;*************************************
main:   
      mov      a,t_125us
      sub      a,40
      snz      c                                 ;到了5mS吗   
      jmp      main                           ;没到,则跳到main
main1:
     clr      t_125us                         ;到了,则清t_125us变量
     snz      halt_b                          ;halt_b 等于1则进入睡眠状态
     jmp      $+2                             ;为0则正常执行指令
     jmp      sleep_man                    ;睡眠管理
     clr      wdt                               ;喂狗      
     call     key_scan_man                ;按键扫描管理
     call     led_out_man                   ;按键led灯输出管理   
     call     up_inspection_man         ;上门行程开关检测管理  
     call     down_inspection_man      ;下门行程开关检测管理
     call     voltage_chk                    ;电池电压检测管理
     call     time_man                       ;时间管理
     call     magnet_up_man             ;上门开门驱动管理
     call     magnet_down_man         ;下门开门驱动管理                                      
     call     buz_work                       ;蜂鸣器管理
     call     baojing_man                  ;报警输出管理
     call     HM_inspect_man             ;换码开关管理
     call     shuiyin_man                   ;水银开关检测管理
     call     key_deal_man                 ;按键处理管理  
     call     disp_man                       ;LCD内容显示管理
     call     led_zhaoming_man          ;照明灯显示管理
     call     dis_translate                   ;LCD段码转换管理
     call     TM1721_man                  ;LCD驱动芯片管理
     call     orange_key_led_man       ;橙色键灯管理
     call     blue_key_led_man          ;蓝色键灯管理   
      jmp   main        

    1.首先按标准的7段顺序,并建一个表.
      那么标准的段顺序如下:
      bit7------x(标示是其它内容)
      bit6------g段
      bit5------f段
      bit4------e段
      bit3------d段
      bit2------c段
      bit1------b段
      bit0------a段
     如,要显示的内容是数字0,则变为3FH.
   2.建个转换子程序.
     因为有时开模的段式液晶显示顺序不一定按标准顺序来排列.
;*********************************
;**********转换LCD的段码管理******
dis_translate:
        mov     a,14
        mov     disp_ram,a
        mov     a,80h                      ;MCU内存地址(即变量disp_ram1~disp_ram14,是有LCD驱动IC直接来驱动的)
        mov     mp0,a  
clr_1721_ram_loop:
        clr      ar0
        inc      mp0
        sdz     disp_ram
        jmp    clr_1721_ram_loop    ;先清HT1721内容
                                                ;ram1_buf~ram14_buf变量是我们按标准段式液晶显示顺序来付给的,如下例要显示字母"OPENED"
                                                ;mov     a,3FH
                                                ;mov     ram1_buf,a          ;显示字母O
                                                ;mov     a,01110011b
                                                ;mov     ram2_buf,a          ;显示字母P
                                                ;mov     a,01111001b
                                                ;mov     ram3_buf,a          ;显示字母E
                                                ;mov     a,00110111b
                                                ;mov     ram4_buf,a          ;显示字母N
                                                ; mov     a,01111001b
                                                ;mov     ram5_buf,a          ;显示字母E
                                                ;mov     a,01011110b
                                                ;mov     ram6_buf,a          ;显示字母D

        sz      ram1_buf.0                ;转换第1位内容
        set     disp_ram1.4               ;ramn_buf为标准7段码,从高位到低位分别是
        sz      ram1_buf.1
        set     disp_ram1.5               ;xgfedcba(即bit7=x,bit0=a)
        sz      ram1_buf.2                ;disp_ramn为LCD厂提供的玻璃图码,从高位到低位分别是--这是针对前面8位而说.
        set     disp_ram1.6               ;/cbadegf(即bit7=/,bit0=f)
        sz      ram1_buf.3
        set     disp_ram1.3
        sz      ram1_buf.4        
        set     disp_ram1.2
        sz      ram1_buf.5
        set     disp_ram1.0
        sz      ram1_buf.6
        set     disp_ram1.1
        sz      ram1_buf.7
        set     disp_ram1.7

        sz      ram2_buf.0                ;转换第2位内容
        set     disp_ram2.4
        sz      ram2_buf.1
        set     disp_ram2.5
        sz      ram2_buf.2
        set     disp_ram2.6
        sz      ram2_buf.3
        set     disp_ram2.3
        sz      ram2_buf.4
        set     disp_ram2.2
        sz      ram2_buf.5
        set     disp_ram2.0
        sz      ram2_buf.6
        set     disp_ram2.1
        sz      ram2_buf.7
        set     disp_ram2.7
        sz      ram3_buf.0                ;转换第3位内容
        set     disp_ram3.4
        sz      ram3_buf.1
        set     disp_ram3.5
        sz      ram3_buf.2
        set     disp_ram3.6
        sz      ram3_buf.3
        set     disp_ram3.3
        sz      ram3_buf.4
        set     disp_ram3.2
        sz      ram3_buf.5
        set     disp_ram3.0
        sz      ram3_buf.6
        set     disp_ram3.1
        sz      ram3_buf.7
        set     disp_ram3.7
        
        sz      ram4_buf.0                ;转换第4位内容
        set     disp_ram4.4
        sz      ram4_buf.1
        set     disp_ram4.5
        sz      ram4_buf.2
        set     disp_ram4.6
        sz      ram4_buf.3
        set     disp_ram4.3
        sz      ram4_buf.4
        set     disp_ram4.2
        sz      ram4_buf.5
        set     disp_ram4.0
        sz      ram4_buf.6
        set     disp_ram4.1
        sz      ram4_buf.7
        set     disp_ram4.7
        
        sz      ram5_buf.0                ;转换第5位内容
        set     disp_ram5.4
        sz      ram5_buf.1
        set     disp_ram5.5
        sz      ram5_buf.2
        set     disp_ram5.6
        sz      ram5_buf.3
        set     disp_ram5.3
        sz      ram5_buf.4
        set     disp_ram5.2
        sz      ram5_buf.5
        set     disp_ram5.0
        sz      ram5_buf.6
        set     disp_ram5.1
        sz      ram5_buf.7
        set     disp_ram5.7
        
        sz      ram6_buf.0                ;转换第6位内容
        set     disp_ram6.4
        sz      ram6_buf.1
        set     disp_ram6.5
        sz      ram6_buf.2
        set     disp_ram6.6
        sz      ram6_buf.3
        set     disp_ram6.3
        sz      ram6_buf.4
        set     disp_ram6.2
        sz      ram6_buf.5
        set     disp_ram6.0
        sz      ram6_buf.6
        set     disp_ram6.1
        sz      ram6_buf.7
        set     disp_ram6.7
        
        sz      ram7_buf.0                ;转换第7位内容
        set     disp_ram7.4
        sz      ram7_buf.1
        set     disp_ram7.5
        sz      ram7_buf.2
        set     disp_ram7.6
        sz      ram7_buf.3
        set     disp_ram7.3
        sz      ram7_buf.4
        set     disp_ram7.2
        sz      ram7_buf.5
        set     disp_ram7.0
        sz      ram7_buf.6
        set     disp_ram7.1
        sz      ram7_buf.7
        set     disp_ram7.7
        
        sz      ram8_buf.0                ;转换第8位内容
        set     disp_ram8.4
        sz      ram8_buf.1
        set     disp_ram8.5
        sz      ram8_buf.2
        set     disp_ram8.6
        sz      ram8_buf.3
        set     disp_ram8.3
        sz      ram8_buf.4
        set     disp_ram8.2
        sz      ram8_buf.5
        set     disp_ram8.0
        sz      ram8_buf.6
        set     disp_ram8.1
        sz      ram8_buf.7
        set     disp_ram8.7
        
        sz      ram9_buf.0                ;转换第9位内容---星期
        set     disp_ram9.0
        sz      ram9_buf.1
        set     disp_ram9.1
        sz      ram9_buf.2
        set     disp_ram9.2
        sz      ram9_buf.3
        set     disp_ram9.7
        sz      ram9_buf.4
        set     disp_ram9.6
        sz      ram9_buf.5
        set     disp_ram9.4
        sz      ram9_buf.6
        set     disp_ram9.5
        sz      ram9_buf.7
        set     disp_ram9.3
        
        sz      ram10_buf.0                ;转换第10位内容---分钟个位
        set     disp_ram10.0
        sz      ram10_buf.1
        set     disp_ram10.1
        sz      ram10_buf.2
        set     disp_ram10.2
        sz      ram10_buf.3
        set     disp_ram10.7
        sz      ram10_buf.4
        set     disp_ram10.6
        sz      ram10_buf.5
        set     disp_ram10.4
        sz      ram10_buf.6
        set     disp_ram10.5
        sz      ram10_buf.7
        set     disp_ram10.3
        
        sz      ram11_buf.0                ;转换第11位内容---分钟十位
        set     disp_ram11.0
        sz      ram11_buf.1
        set     disp_ram11.1
        sz      ram11_buf.2
        set     disp_ram11.2
        sz      ram11_buf.3
        set     disp_ram11.7
        sz      ram11_buf.4
        set     disp_ram11.6
        sz      ram11_buf.5
        set     disp_ram11.4
        sz      ram11_buf.6
        set     disp_ram11.5
        sz      ram11_buf.7
        set     disp_ram11.3
        
        sz      ram12_buf.0                ;转换第12位内容---小时个位
        set     disp_ram12.0
        sz      ram12_buf.1
        set     disp_ram12.1
        sz      ram12_buf.2
        set     disp_ram12.2
        sz      ram12_buf.3
        set     disp_ram12.7
        sz      ram12_buf.4
        set     disp_ram12.6
        sz      ram12_buf.5
        set     disp_ram12.4
        sz      ram12_buf.6
        set     disp_ram12.5
        sz      ram12_buf.7
        set     disp_ram12.3
        
        sz      ram13_buf.0                ;转换第13位内容---小时十位
        set     disp_ram13.0
        sz      ram13_buf.1
        set     disp_ram13.1
        sz      ram13_buf.2
        set     disp_ram13.2
        sz      ram13_buf.3
        set     disp_ram13.7
        sz      ram13_buf.4
        set     disp_ram13.6
        sz      ram13_buf.5
        set     disp_ram13.4
        sz      ram13_buf.6
        set     disp_ram13.5
        sz      ram13_buf.7
        set     disp_ram13.3
               
        sz      ram14_buf.0                ;转换第14位内容---蜂鸣器和电池电量
        set     disp_ram14.4               ;ram14_buf.0---A(标准)
        sz      ram14_buf.1
        set     disp_ram14.5               ;ram14_buf.1---B(标准)
        sz      ram14_buf.2
        set     disp_ram14.6               ;ram14_buf.2---C(标准)
        sz      ram14_buf.3
        set     disp_ram14.7               ;ram14_buf.3---D(标准)
        sz      ram14_buf.4
        set     disp_ram14.1               ;ram14_buf.4---S2
        sz      ram14_buf.5
        set     disp_ram14.0               ;ram14_buf.5---S3
        sz      ram14_buf.6
        set     disp_ram14.2               ;ram14_buf.6---/
        sz      ram14_buf.7
        set     disp_ram14.3               ;ram14_buf.7---/

        ret
   3.这样以后要显示的内容,主要按标准的段顺序就可以了,不用理会实际的开模的段式液晶显示顺序.

LCD厂提供的玻璃图码.rar

133.92 KB

使用特权

评论回复
地板
liang7143| | 2011-10-26 17:06 | 只看该作者
鼓励下LZ的学习精神

使用特权

评论回复
5
DownCloud| | 2011-10-27 11:33 | 只看该作者
本帖最后由 DownCloud 于 2011-10-27 11:37 编辑

计算机的数在我看来并没有什么进制,就是一段内存,该是什么就是什么,可以把它看成任何的信息。如果硬要给他一个进制 , 就是二进制、、、因为从cpu来看,可以加减乘除。 。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

468

帖子

3

粉丝