
单片机8*8点阵显示汉字的程序
展开全部
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; 点阵代码表
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; 点阵代码表
参考资料: http://zhidao.baidu.com/question/352502204.html

2025-01-01 广告
作为硕方科技(北京)有限公司的工作人员,关于硕方线号机居中符号的打印方法,简要说明如下:**居中打印设置**:1. **直接选择居中打印功能**:在编辑模式下,通过操作键找到“居中打印”选项,按Enter键即可将打印内容设置为居中。若初始设...
点击进入详情页
本回答由程经理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |