河北工业大学 单片机 滚动显示字符串.docx
《河北工业大学 单片机 滚动显示字符串.docx》由会员分享,可在线阅读,更多相关《河北工业大学 单片机 滚动显示字符串.docx(7页珍藏版)》请在冰点文库上搜索。
河北工业大学单片机滚动显示字符串
工业大学计算机硬件技术基础(MCS-51单片机原理及应用)
课程设计任务书
学院班级设计人成绩
设计题目
利用单片机滚动显示字符“0123456789AbCdEF”
二.问题的提出:
在单片机的LED显示器上面滚动显示题目要求的字符串。
并且可以利用外部中断进行滚动的启停。
三.目的与要求
1.目的:
培养学生综合利用单片机进行程序和硬件设计的能力,主要是培养学生根据要求正确编写程序和进行外部连线。
2.基本要求:
(1)能够正确掌握中断和定时器/计数器的使用;
(2)能够正确掌握LED显示器的使用方法;
(3)能够掌握面对硬件的编程思想
四.总体设计
所设计题目的功能
因为单片机的LED显示器只有六位,所以要显示的字符串的长度超过六位的时候就要滚动显示。
所谓的滚动显示就是指在t1这个时刻显示“012345”,在t1+Δt这个时刻显示“123456”,在t1+2Δt这个时刻显示“234567”,以此类推。
总体方案设计
程序功能可以分为以下几个部分:
主程序负责定时器/计数器的初始化、中断的初始化和LED显示,外部中断的数理程序用来启动或停止滚动显示,定时器/计数器中断服务程序用来负责读取下一显示周期要显示的字符串。
(1)中断源的选择
系统一共用到了两个中断源,即一个定时器/计数器中断和一个外部中断
(2)字符串截取实现
其实就是一个对指定地址开始将连续的6个字节的数据传送到显示缓冲区中的操作。
四.硬件系统设计
硬件电路
《中断电路》
五.软件系统设计
软件模块设计和流程
按下开关
《流程图》
程序清单
ORG0000H
SETBP3.2;p3.2口置1输出高电平
MAIN:
JNBP3.2,MAIN3
MOVA,#03H方式控制字03H送A
MOVDPTR,#0FF20H;给DPTR开辟存储空间
MOVXDPTR,A方式控制字送8155命令
TT:
MOVR2,#04H
TT1:
MOVR4,#05H;R4循环表示循环次数
TT2:
DJNZR4,;
DJNZR2,TT1
MOV5FH,5EH
MOV5EH,5DH
MOV5DH,5CH
MOV5CH,5BH
MOV5BH,5AH
MOV5AH,59H
MOV59H,58H
MOV58H,57H
MOV57H,56H
MOV56H,55H
MOV55H,54H
MOV54H,53H
MOV53H,52H
MOV52H,51H
MOV51H,50H
MOV50H,5FH
AJMPMAIN
DISP4:
MOVR5,#01H;位码给R5
MOVR0,#59H;显示缓冲区地址给R0
MOVA,R5;位码送A
LD0:
MOVDPTR,#0FF21H;c口给DPTR
MOVXDPTR,A;0ff21H中值为01H
MOVDPTR,#0FF22H;B口给DPTR
MOVA,R0;待显示字符地址偏移量送A
ADDA,#0EH;对A进行地址修正
MOVCA,A+PC;查表
MOVXDPTR,A;查表结果给0FF22H
ACALLDLAY;延时
INCR0
MOVA,R5
JBACC.5,LD1;累加器的第6为1,执行LD1
RLA;A左移一位,选通第二个数码管
MOVR5,A;送回R5
AJMPLD0
LD1:
SJMPTT2
DB0C0h,0F9H,0A4H,0B0H,99H,92H
DB82H,0F8H,80H,90H,88H,83H,0C6H
DB0A1H,86H,8EH,0FFH,0CH,89H
DB0C8H,0C1H,7FH,0BFH
DLAY:
MOVR7,#04H
DL1:
MOVR6,#0FFH
DL2:
DJNZR6,DL2
DJNZR7,DL1
RET
MAIN3:
CLRC;中断
MOVC,P3.2;Cy=1
JNCFF;若Cy=0,执行FF,若Cy=1,则顺序执行
MOVA,#03H
MOVDPTR,#0FF20H
MOVXDPTR,A
TT3:
MOVR2,#02H
TT13:
MOVR4,#05H
TT23:
DJNZR4,DISP43
DJNZR2,TT13
AJMPMAIN3
DISP43:
MOVR5,#01H
MOVR0,#59H
MOVA,R5
LD03:
MOVDPTR,#0FF21H
MOVXDPTR,A
MOVDPTR,#0FF22H
MOVA,R0
ADDA,#0EH
MOVCA,A+PC
MOVXDPTR,A
ACALLDLAY3
INCR0
MOVA,R5
JBACC.5,LD13
RLA
MOVR5,A
AJMPLD03
LD13:
SJMPTT23
DB0C0h,0F9H,0A4H,0B0H,99H,92H
DB82H,0F8H,80H,90H,88H,83H,0C6H
DB0A1H,86H,8EH,0FFH,0CH,89H
DB0C8H,0C1H,7FH,0BFH
DLAY3:
MOVR7,#04H
DL13:
MOVR6,#0FFH
DL23:
DJNZR6,DL23
DJNZR7,DL13
RET
FF:
AJMPMAIN
END
六.调试方案
硬件调试方案
连线X15口到LED接口,然后运行,在显示器上可以显示滚动字符串,按下去即可中断。
软件调试方案
把程序放到WAVE上执行,编译运行看是否程序编译正确,是否可以运行
七.实习感想:
通过这次设计实习,把理论知识应用到了实践当中,同时也发现了自己的不足之处。
通过设计实验,培养了自己认真谨慎的习惯,增强了自己的动手能力,也巩固了所学知识。
在这次实习当中,得到了老师和同学的大力帮助,在此表示感。