手电大家谈-手电筒爱好者之家

 找回密码
 注册成为会员,享受更多功能。

QQ登录

只需一步,快速开始

只需一步,快速开始

搜索
查看: 2379|回复: 9

来点另类的

[复制链接]
  • TA的每日心情
    开心
    2017-8-18 10:05
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-3-13 19:26 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?注册成为会员,享受更多功能。

    x
    刚学51不久,汇编这几天才开始。下面来个练手的。开始用C写的,就这么两行字居然占了400字节,看来C编小程序没有优势呀!昨天用汇编写了一个,200多字节,想着想着还是不爽,今天琢磨着优化了一下,一开始是126字节,接着124、123,最后115了。实在是压榨不了它了,哪位高手来支支招,看还能缩减不?
    附上最终的源程序:
        EN    BIT   P1.2
        RW    BIT   P1.1
              RS    BIT   P1.0
                    ORG   0000H
                    LJMP  START
    START:          MOV   SP,#60H
    LCDINT:         CLR   RW  ;没有读这一操作,所以读写标志位常设为写
                    CLR   RS        ;写指令
                    MOV   A,#01H    ;清屏
                    ACALL WRBYT
    LOOP:           CLR   RS        ;写指令
                    MOV   A,#38H    ;8位总线方式,双行5*7点阵字符
                    ACALL WRBYT
                    MOV   A,#06H    ;设置文字不移动
                    ACALL WRBYT     
                    MOV   A,#0CH    ;开显示,无光标,不闪烁
                    ACALL WRBYT     ;
                    MOV   A,#80H    ;写第一行起始地址
                    ACALL WRBYT     
                    SETB  RS        ;写数据
        MOV   DPTR,#CHR1;调第一行字符串首地址
        LCALL WRITE
        CLR   RS  ;写指令
        MOV   A,#0C0H ;第二行起始地址
        ACALL WRBYT
        SETB  RS  ;写数据
        MOV   DPTR,#CHR2;调第二行字符串首地址
        LCALL WRITE
        LJMP  LOOP
    WRITE:          MOV   R3,#16
    WCHAR:          MOV   A,#0
        MOVC   A,@A+DPTR;调对应位置字符内容
        ACALL WRBYT  ;把调用的字符写入LCD
        INC   DPTR  ;字符地址加1
                    DJNZ  R3,WCHAR ;如果这一行没有写完,返回到WRCHR继续写。
        RET  
    WRBYT:          LCALL DELLAY
                    MOV   P0,A
        SETB  EN
        CLR   EN
        RET
    DELLAY:         MOV   R4,#20
                    DJNZ  R4,$
        RET
    CHR1:           DB " Hi! welcome to "
    CHR2:           DB "www.shoudian.org"
                    END
    DSCF0210.JPG
    回复 dsu_marcocopyright:copyright

    使用道具 举报

    该用户从未签到

    发表于 2009-3-13 19:29 | 显示全部楼层
    牛X,哈哈
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-18 10:05
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2009-3-13 19:46 | 显示全部楼层
    把能缩减的都缩减了,读忙操作砍掉,延时也尽量缩短,这样在复位的时候基本看不到屏幕的闪烁。
    下一步,让它动起来!
    回复

    使用道具 举报

    该用户从未签到

    发表于 2009-3-13 20:51 | 显示全部楼层
    我很想搞个1802显示屏玩玩
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-18 10:05
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2009-3-13 21:28 | 显示全部楼层
    回复

    使用道具 举报

    头像被屏蔽
  • TA的每日心情
    开心
    2018-8-13 22:30
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2009-3-13 21:40 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-11-10 09:38
  • 签到天数: 392 天

    [LV.9]以坛为家II

    发表于 2009-3-13 23:01 | 显示全部楼层
    看看
    回复

    使用道具 举报

    该用户从未签到

    发表于 2009-3-14 10:19 | 显示全部楼层
    这是源程序吧,编译后体积会变化的啊!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-5-22 20:42
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2009-3-14 10:31 | 显示全部楼层
    又见牛人。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-18 10:05
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2009-3-14 11:49 | 显示全部楼层
    原帖由 djliubo 于 2009-3-14 10:19 发表
    这是源程序吧,编译后体积会变化的啊!

    我说的当然是指编译后的了。
    回复

    使用道具 举报

    本版积分规则

    小黑屋|手机版|Archiver|论坛自带搜索|下载论坛app|手电大家谈-手电筒爱好者之家 ( 备案序号:鲁ICP备05002565号 )
    以上言论纯属个人观点,与手电大家谈立场无关。
    最佳浏览模式:1920*1080


    GMT+8, 2024-9-30 15:19 , Processed in 0.204428 second(s), 46 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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