控制台多功能显示模块电路与检测程序的设计.docx
《控制台多功能显示模块电路与检测程序的设计.docx》由会员分享,可在线阅读,更多相关《控制台多功能显示模块电路与检测程序的设计.docx(13页珍藏版)》请在冰豆网上搜索。
控制台多功能显示模块电路与检测程序的设计
目录
第一章绪论2
1.1引论2
1.2概论2
1.3问题背景2
第二章需求分析3
2.1设计要求3
2.2系统需求设计3
第三章方案设计与比较论证4
3.1模块工作原理4
3.2软件原理4
3.3模块控制原理5
第四章设计与实现6
4.1硬件选择6
4.2硬件电路图6
4.3程序设计流程图7
第五章测试9
第六章总结10
参考文献11
附录12
控制台多功能显示模块电路与检测程序的设计
第一章绪论
1.1引论
如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。
在现代社会中,控制台多功能显示模块电路不仅应用在工厂生产方面,其作用也体现到了各个方面。
对此次实验的学习对我们的工作、学习和生活,有着重要的作用和影响。
1.2概论
控制台是一种专为监控室内摆放设备及理清线路的机壳设备。
单片机面向工业控制领域,控制功能强。
在工业测控系统、智能仪表、智能通信产品、智能家用电器和智能终端设备等领域得到广泛应用。
控制台是由控制台树中的项定义的,可能包括文件夹和其他容器、万维网页和其他管理项。
控制台带有窗口,这些窗口能提供控制台树视图和由控制台树中的项引发的管理属性、服务及事件的视图。
而“模块化”是指每个控制台既可以单独使用,也可以根据用户的需求结合其它型号形成多功能控制台。
这样设计的好处在于,您可以只买自己需要或者自己买得起的型号,而在以后需要扩展时再购买其它型号。
1.3问题背景
面对越来越多的智能化管理,而众多的仪器设备、错综复杂的线路已挤满了整个工作室,使管理人员无法工作。
通过本实验了解输入、输出口的控制台,能设计控制台多功能电路,并能熟练运用,了解模块的原理和应用。
第二章需求分析
2.1设计要求
(1)单片机实验室或程控交换机相关电路(中央处理模块可自行设定)。
(2)构建8×8LED显示矩阵模块控制、扫描与驱动电路。
(3)确定扫描工作原理与驱动过程。
2.2系统需求设计
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
(1)程序存储器
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
(2)数据存储器
AT89S52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
第三章方案设计与比较论证
3.1模块工作原理:
与单片机接口的数据线为SCK(P1_6),SDA(P1_7),RCK(P1_5),通过这三根线控制将数据串行输入扩展模块,扩展模块又将数据并行输出。
3.2软件原理
端口扩展的方法采用串并转换,即将需要并行输出的数据采用串行的方式送入扩展模
块,同时配合SCK进行每位数据的输入,每一个SCK脉冲输入一位数据,当数据输出完成后由RCK输出一个锁存信号,之后数据从扩展模块的并行端口上输出并行数据。
3.3模块控制原理
通过端口扩展后,将扩展后的数据输出控制点阵显示模块,8根行信号信号线对应每行的点阵,8根列信号线对应每列的点阵,通常情况下,列数据信号用来选择具体要显示的行,而行信号用于显示选中行的8个发光管的亮灭情况,如果合理的控制列信号线用于扫描每行,就可以做成字体显示的效果。
第四章设计与实现
4.1硬件选择:
ATMEL公司的AT89S52的P1.5、P1.6、P1.7、P3.0、P3.1,以及两片74HC5做
串并转换,一块8*8LED显示模块。
4.2硬件电路图如下:
4.3程序设计流程图:
示例程序流程图如下:
动态效果控制程序流程图如下:
第五章测试
用单片机跟PC串口做串行通信试验,PC上用的是“串口调试助手”,通过它给单片机发数据,并在8*8的LCD上显示,遇到了:
怎样把多字节的数据从“串口调试助手”送到单片机,以及怎样把多字节的数据送到“串口调试助手”(即怎样接收数据到单片机)的问题。
还有遇到了怎么样把汉字循环显示的程序设计的困难。
通过本人不懈的努力,最终将所有问题一一解决,得到了预先设计的要求和目的。
第六章总结
随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。
在现代社会中,控制台多功能显示模块电路不仅应用在工厂生产方面,其作用也体现到了各个方面。
控制台多功能显示模块电路所用的基础是单片机和嵌入式原理,单片机和嵌入式极大地影响了我们的生活,关于他们的资料比较多,用的人也很多,市场也很大。
就我个人的体会怎么样才能更快的学会单片机嵌入式这两门课。
单片机嵌入式这两门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机嵌入式的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。
由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。
至于看书,只需大概了解单片机各管脚都是干什么的?
能实现什么样的功能?
通过信息家电这次实验,我通过把理论和实践相结合,把很多知识都系统地联系起来,使知识在自己的脑海里面更加稳固,使我对单片机嵌入式这两门对单片机嵌入式所学的内容有了更深刻的理解。
也让我回忆和复习了汇编语言的语句和用法。
这将对我以后的学习和工作有很大的帮助。
参考文献
《51单片机及其C语言程序开发实例》戴仙金主编清华大学出版社
《单片机原理及应用》宋晖主编电子科技大学出版社
《新编单片机原理与应用》潘永雄著西安电子科技大学出版社
附录
;16*16显示一个汉字,向左移动
;只能显示8个汉字,受8位控制
;资源分析
;R0指向数据缓存地址,R1显示地址指针,R2数据增加指向指针,R3显示扫描次数
;R4、R5延时程序,R6扫描延时,50H左片选字,51H右片选字
;52H、53H、54H、55H、56H屏幕流动积存器,57H第二个字首地址
;30H~4FH显示缓存
;………………………………………………
;引脚定义
;………………………………………………
CLKBITP2.0;74HC164清零,低电平清零
RCKBITP2.1;74HC595移出脉冲,上升沿有效
SRCLRBITP2.2;74HC595清零,低电平清零
GBITP2.3;74HC595使能输出,低电平输出
;………………………………………………
;定义变量
;………………………………………………
D_LISTEQU(8);单个数据显示时间延时,即向右流动速度
;………………………………………………
;显存初始化
;………………………………………………
CHULI:
MOVR6,#D_LIST;单个数据显示时间延时
MOVR2,#0;定义编码数据指针,从0开始
MOVR0,#30H;首显存地址送R0,定义显存地址指针
LOOP3:
MOVA,R2;编码数据指针送A
MOVDPTR,#TAB;表首地址送DPTR
MOVCA,@A+DPTR;查表取显示编码
MOV@R0,A;显示编码送现显存
INCR2;编码数据指针+1
INCR0;指向下一地址
CJNER2,#32,LOOP3;判断是否完成一次数据刷新
LOOP6:
ACALLSTART;调用显示程序作延时
DJNZR6,LOOP6;判断是否完成延时
MOVR6,#D_LIST;恢复延时时间
;………………………………………………
;显示流动
;………………………………………………
MOV57H,#32;第二个字的编码首地址
LOOP1:
MOVR2,#15;定义数据移动指针
MOVR0,#30H;显存首地址送R0
LOOP5:
MOV52H,R0;地址指针缓存
INCR0;地址指针加1,指向下一地址
MOV53H,R0;地址指针缓存
INCR0;指向下一地址
MOV55H,R0;地址指针缓存
MOV54H,@R0;取指针地址里的数据存54H
MOVR0,52H;取回地址指针
MOV@R0,54H;刷新地址指针指向地址的数据
MOVR0,55H;取回地址指针
INCR0;地址指针+1,指向下一地址
MOV56H,@R0;取指针地址里的数据存56H
MOVR0,53H;取回地址指针
MOV@R0,56H;刷新地址指针指向地址的数据
MOVR0,55H;地址指针缓存
DJNZR2,LOOP5;完成15次刷新地址
MOVDPTR,#TAB;表首地址送DPTR
MOVA,57H;取回地址指针给A
MOVCA,@A+DPTR;查表取数
MOVR0,#4EH;送最后一列上地址指针
MOV@R0,A;A送给最后一列上地址
INC57H;编码数据地址加1
MOVA,57H;取回地址指针给A
MOVCA,@A+DPTR;查表取数
MOVR0,#4FH;送最后一列下地址指针
MOV@R0,A;A送给最后一列下地址
INC57H;指向下一地址
LOOP4:
ACALLSTART;调用显示程序作延时
DJNZR6,LOOP4;判断是否完成延时
MOVR6,#D_LIST;恢复延时时间
SJMPLOOP1;返回LOP1,继续刷新地址里的数据,使显示右移
;………………………………………………
;显示子程序
;………………………………………………
START:
CLRCLK;74HC164清零
SETBCLK
CLRSRCLR;74HC595清零
SETBSRCLR
LOOP2:
MOVR3,#16;扫描次数送R3
MOVR1,#30H;显存首地址送R1
CLRC;C置1
MOV50H,#0FFH;左片选字
MOV51H,#0FFH;右片选字
;………………………………………………
LOOP:
CLRRCK;74HC595移出脉冲准备
SETBG;置高74HC595使能端,使输出呈高阻
MOVA,@R1;取显存首地址里的是数
MOVSCON,#00H;选串口以方式0工作
MOVSBUF,A;把A从串口发送
JNBTI,$;等待发送完一帧
CLRTI;清标志位
INCR1;地址指针加1
MOVA,@R1;取显存R0所指向地址里的是数
;MOVSCON,#00H;选串口以方式0工作
MOVSBUF,A;把A从串口发送
JNBTI,$;等待发送完一帧
CLRTI;清标志位
INCR1;地址指针加1
MOVA,50H;左片选字送A
RRCA;带进位位右移,选中第一列,低电平有效
;MOVSCON,#00H;选串口以方式0工作
MOVSBUF,A;把A从串口发送
JNBTI,$;等待发送完一帧
CLRTI;清标志位
MOV50H,A;左片选字送回寄存器
MOVA,51H;右片选字送A
RRCA;带进位位右移,选中第九列,低电平有效
;MOVSCON,#00H;选串口以方式0工作
MOVSBUF,A;把A从串口发送
JNBTI,$;等待发送完一帧
CLRTI;清标志位
MOV51H,A;右片选字送回寄存器
SETBRCK;74HC595移出脉冲呈上升沿,数据移出
CLRG;使能输出
ACALLDELAY;调延时子程序,是显示定格1ms
DJNZR3,LOOP
RET
;………………………………………………
;1ms延时子程序
;………………………………………………
DELAY:
MOVR4,#1;延时毫秒数送R4
D2:
MOVR5,#250;1ms延时值
D1:
NOP
NOP
DJNZR5,D1;1ms延时循环
DJNZR4,D2;毫秒数减1,不等于0则继续循环,等于结束
RET