单片机课程设计(点阵显示汉字).doc
文本预览下载声明
单片机原理与应用课程设计
课程名称:16*16点阵显示实验
学生信息:
内容简介:
利用实验系统16×16点阵实验单元,编制程序实现汉字点阵循环显示“感谢您的指导!”字样。
设备选取:
计算机、字模取样软件、MCS-51 单片机实验系统、138译码电路、连线等。
实验步骤:
按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为FFE0~FFFFH。
⑴把点阵单元的片选信号CS插孔与译码输出插孔Y0相连;
⑵用一8芯扁平电缆把点阵单元总线接口与数据总线(D0~D7)任一接口相连;
⑶用一根双头实验线把点阵单元的写信号WR插孔与位于六位LED显示左下方的系统控制信号WR/IOWR相连。
⑷编译、装载、连续运行程序,点阵显示模块应循环显示“感谢您的指导!”字样。
实验流程图 ???
实验电路图
实验程序:
;===========27个汉字移位循环显示主程序=====================
ORG 0000H
LJMP XB13
;==========点阵扫描子程序====================
X01A: CLR A ;清列值
MOV 0EH, A ;指向零列
X023: MOV A, 0EH ;取列值
CLR C
SUBB A, #10H ;减16(十进制数)
JC X0D2 ;末满16列继续扫描下一列
RET ;本次扫描完毕返回主程序
X0D2: MOV 0F0H, #02H ;0FOH是寄存器B的地址
MOV A, 0EH
MUL AB ;当前列值与“2”进行十进制调正
MOV 82H, A ;调正结果送数据指针DPTR
MOV 83H, 0F0H ;(82H、83H分别是DPL、DPH的地址)
LCALL XB1F ;取与当前列对应的扫描代码
MOV 20H, A
;=====================
LCALL XB4E ;扫描代码送高八位锁存器
;=====================
MOV A, 0EH ;取列值
MOV 0F0H, #02H ; 0FOH是寄存器B的地址
MUL AB ;当前列值与“2”进行十进制调正
ADD A, #01H ;调正结果加1送数据指针DPTR
MOV R7, A
CLR A
ADDC A, 0F0H ; 0FOH是寄存器B的地址
MOV 82H, R7
MOV 83H, A ;(82H、83H分别是DPL、DPH的地址)
LCALL XB1F ;取与当前列对应的扫描代码
;============存储列代码========
PUSH DPH ;扫描代码送低八位锁存器
PUSH DPL
MOV DPTR,#0FFE0H ;0FFE0H是列代码2
MOVX @DPTR,A
;====================
MOV A, #01H ;代码扫描从第一行开始
MOV R6, #00H
MOV R0, 0EH ;取与当前代码扫描对应的列值
INC R0 ;列指针加1
SJMP X083
X07E: CLR C ;当前代码扫描对应行的查找
RLC A ;行高八位左移一位
XCH A, R6
RLC A ;行低八位带进位
显示全部