点阵课程设计报告_第1页
点阵课程设计报告_第2页
点阵课程设计报告_第3页
点阵课程设计报告_第4页
点阵课程设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物理和电子工程学院设计实验报告目录目录1一.方案演示和设计21.1设计要求21.2需求分析21.3计划说明5二.点阵硬体设计5三.点阵软件设计6四。实验结果和分析6V.总结和经验8参考文献9附录9一.方案演示和设计1.1设计要求首先,使用AT89S51设计点阵显示控制系统。二、基本要求(难度系数0.7):(1)在光栅上显示固定汉字“中间”。(2)相同的键切换显示汉字“中间”、“国家”。(3)在格子上滚动显示汉字“中国”。第三,发挥部分:(1)添加通过串行端口设置光栅显示内容的功能1.2需求分析一、光栅说明:88单色光栅器总共需要64个发光二极管,每个二极管放置在图(1)和行和列线的交点处。例如,将DC8针置于较高的级别,将DR1针置于较低的级别,以使第一发光二极管变亮。这将打开第一个二极管。如果第一行变亮,则DC=0x80;DR=0xfe。使用这种方法可以点亮光栅中的所有二极管。在本课程设计中,行由74HC595控制列P0端口控制。因此,我们将在下面讨论74HC595的使用方法及其芯片的原理。图(1)二、74HC595简介:74HC595的输出端为D0到D7,该8位并行输出端可以直接控制数码管的8个段,D7是用于连接下一个595的串行数据输入端DS的级联输出端,74HC595控制端的详细说明如下。SRCLK(11发)在上升时输入移位时钟脉冲,d0 D1 D2 D3 D4 D5 D6 D6 D7 Q7 其中Q7 用于595的级联,此课程设计中的串行输入SER(14英尺)串行数据的端号。Hc595SendByte函数通过移位运算符将数据从高位传递到低位,传递到SER针,输入到595芯片,并在串行传输中从SRCLK针提供移位时钟。For循环控制可以完成8个移动,完成1字节的串行传输。RCLK(12发)提供在上升时移位寄存器的数据进入接收存储器的锁定存储脉冲,并且由于插针接地,接收存储寄存器的数据直接出现在输出端D0D7。当串行输入函数完成单字节传输时,RCLK的上升由并行输出函数COMMONPORTS完成。(10英尺)在低级别将移位寄存器数据整理为零。此过程旨在将此针脚直接连接到VCC。(13发)高水平禁止输出(高电阻状态),在本课程设计中更改针接地将直接输出存储寄存器的内容。74HC595的主要优点是锁定数据,在移动过程中保持输出部的数据不变,以避免串行速度较慢时光栅闪烁。三、密钥介绍:按键的方法有两种。在此设计中,行扫描速度更快。线扫描:我们可以高4位全输出低水平,低4位输出高水平。如果所有4位都接收到非高级别的数据,则可以按下键,然后通过接收的数据值确定哪个列中的键被按下,反之,如果根据4位的输出高级别、4位的输出低级别、接收的4位的值确定哪个键被按下,则可以确定哪个键被按下。1.3计划说明二.点阵硬件设计三.点阵软件设计打开始作俑者按键键值取得键值关键值=0y关键值=0显示“中间”n关键值=1y显示国家/地区n关键值=2SIF table“中国”不显示结束Void main()显示(2);键值=0xffWhile(1) KeyDown();If(KeyValue=0)display(0);If(KeyValue=1)display(1);If(KeyValue=2)Int num、temp、tabtemp=ALL0;for(num=0;Num15Num)ALLnum=ALLnum 1;ALL15=temp;for(num=0;Num15Num) for(tab=0);选项卡8;选项卡)HC 595 send byte(0x 00);/隐藏common ports=TABTAB;/代码输出HC 595 send byte(ALLtab);delay(2);Else显示(2);四。实验结果和分析V.总结和经验一、问题和解决方法我不知道74HC595芯片74HC595芯片是我在设计这门课程时遇到的最大的问题,一开始像数码管一样,同时,或像总量一样连接在一起。只要在P0上控制,就可以自由照亮所有二极管。通过网络查看,发现他们不是。必须在一个区间设置高水平,在另一个区间设置低水平,才能开灯。在原理图中,显然发光二极管的一端由P0端口控制,另一端由74HC595控制。了解595的工作原理。在需求分析阶段已经讨论了74HC595。(2)delay()函数的延迟计算延迟时间的长度等于命令周期乘以总。如果是这样的话。使用延迟延迟函数更方便。要具体推迟时间,请使用计时器和准确性。(3)“中间”字闪烁出现“中”一词,出现短闪烁现象。我立刻想到。因为我按线扫描了光栅。所以肯定扫描的上一行和下一行的眼睛太长了。因此,您只需更改delay()函数的延迟时间。(4)FPGA电路板通电后,立即出现“中间”一词这是因为第一次开始定义ValueKey时没有指定值。如果在Keil中定义变量但未指定值,则keil默认为0。所以当我进入函数的时候,当我没有按键的时候,ValueKey得到了值。将立即显示“medium”。在老师的帮助下找出了这个问题。通过这个问题,我编程的时候,我认为是因为操作没有标准化造成的。这提醒了我,下次编程时,必须在定义变量的同时指定值。参考文献1张敬武,周灵雄。单片机系统的Proteus设计与仿真M。北京:电子产业出版社20072张洪、邹华。单片机原理和应用机械行业报道2012.073王月凯51单片机系统入门。扩展。应用开发学习手册中国铁路出版社20134彭威单片机c语言编程培训100电子行业报道2011附录(1)“中间”方案包括:#include#include# define uchar uninged char#define COMMONPORTSP0sbit Sr clk=P3 6;sbit RCLK=P3 5;sbit ser=P3 4;Unsigned char code tab 8=0x7f,0xbf,0xdf,0xef,0xxf 7,0xfb,0xfd,0x Fe ;unsigned char code charcode18=0x7c,0x48,0x48,0xff,0x48,0x48,0x7c,0x 00 ;/“中间”void HC 595 send byte(unsigned char dat)unsigned char a;Sr clk=0;RCLK=0;for(a=0);A8;a)SER=dat7dat=1;Sr clk=1;_ nop _();_ nop _();Sr clk=0;RCLK=1;_ nop _();_ nop _();RCLK=0;Void delay(未指定时间)/延迟程序;Unsigned int i,j;for(I=0);I#include#define uchar unsigned char#define GPIO_KEY P1#define COMMONPORTSP0Unsigned char KeyValuesbit Sr clk=P3 6;sbit r=P3 5;sbit ser=P3 4;Uchar code tab 8=0x7f,0xbf,0xdf,0xef,0xxf 7,0xfb,0xfd,0x Fe ;Uchar code charcode 3 8=0x7c,0x48,0x48,0xff,0x48,0x48,0x7c,0x00,/0x00,0xff,0xd3,0xd3,0xff,0xd7,0xd3,0xff,/国家/地区0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/光栅不亮Ucharall 16=0x7c,0x48,0x48,0xff,0x48,0x48,0x7c,0x00,0x00,0xff,0xd3,0xd3/“中国”void HC 595 send byte(unsigned char dat)unsig

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论