单片机中c语言8*8点阵编程,单片机8*8点阵显示汉字的程序

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

egufgmln

2013.09.12

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:52%    等级:12

已帮助:5471人

1. ORG 0HSTART:MOV DPTR,#DATA1 ;指向点阵代码首址;

CLR CDISP?这个应该是CLR C(清除标志位,因为下面要判断是否移完8位)吧

2. MOV R2,#80H ; 80H 使第7 列(最左一列)阴极为低电平(这个感觉也有问题)

3.DISP:MOV A,#0; 赋初值0,为了下面能从点阵代码表中从零开始取代码

MOVC A,@A+DPTR ; 取第一列点阵代码

MOV P2,A ; 将第一列点阵代码的值赋给P2口

MOV P1,R2 ;使一列阴极为低电平?

CALL DELAY ; 调用延时

INC DPTR ; 指向下一列点阵代码

MOV A,R2 ; R2的值赋给A

RRC A ; 右移一位,为下一列阴极输出低电平作准备

MOV R2,A ;右移一位后再把值存储到R2,为了下一次右移

JNC DISP ; 8 列未完跳回到DISP继续执行

4.AJMP START 跳转到START

DELAY: MOV R1,#0 ;//这个有问题,R1不是赋零,不然怎么延时啊

DELY0: DJNZ R1,DELY0 ;延时(直到R1的值变为0)

5.RET 返回(这个子程序执行完了)

6.DATA1: DB 24H,44H,DCH,54H,7FH,54H,54H,44H; 点阵代码表

02分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值