点阵课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
点阵课程设计报告

目录 目录 1 一.方案论证与设计 2 1.1 设计要求 2 1.2 要求分析 2 1.3 方案说明 5 二.点阵硬件设计 5 三.点阵软件设计 6 四. 实验结果与分析 6 五.总结与体会 8 参考文献 9 附录 9 一.方案论证与设计 1.1 设计要求 一、使用AT89S51设计一个点阵显示控制系统。 二、基本要求(难度系数0.7): (1)在点阵上显示固定的汉字“中”; (2)同过按键切换显示汉字“中”、“国”; (3)在点阵上滚动显示汉字“中国”。 三、发挥部分: (1)增加通过串口设置点阵显示内容的功能 1.2 要求分析 一、点阵说明: 8×8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的交叉点上如图(1)。比如:如果要想实现第一发光二极管亮,那么只要将DC8引脚置高电平,DR1引脚置低电平。这样便可以实现第一个二极管亮。如果要实现第一行亮,DC=0x80;DR=0xfe。按照这样的思路就可以让点阵上的任一个二极管亮。本课程设计中,行是由74HC595控制列是由P0口控制的。所以我们下面介绍一下74HC595的用法,及其芯片的原理。 图(1) 二、74HC595简介: 74HC595的输出端为D0~D7,这8位并行输出端可以直接控制数码管的8个管段,D7’为级联输出端,它用来连接下一片595的串行数据输入端DS,下面给出74HC595控制引脚的详细说明。 SRCLK(11脚)用于输入移位时钟脉冲,在上升沿时移位寄存器(shift register)数据移位,D0→D1→ D2→D3→D4→D5→D6→D7→Q7’,其中Q7’用于595的级联,本课程设计中串行输入函数Hc595SendByte,使用了SRCLK引脚及下面的DS引脚。 SER(14脚)为串行数据输入引脚,Hc595SendByte函数通过移位运算符有高位到低位将各位数据通过SER引脚传行输入595芯片,串行发送时由SRCLK引脚提供移位时钟。For循环控制完成8次移位急可完成1字节的串行传送。 RCLK(12脚)提供锁存脉冲,在上升沿时移位寄存器的数据被传入存储器,由于引脚接地,传入存储寄存器的数据会直接出现在输出端D0~D7。在串行输入函数完成1个字节的传送后,数据送出由并行输出函数COMMONPORTS在RCLK的上升沿完成。 (10脚)在低电平时将移位寄存器数据清零,本课程设计中该引脚直接连接VCC。 (13脚)在高电平时禁止输出(高阻态),本课程设计中改引脚接地,存储寄存器中的内容将直接输出。 74HC595的主要优点是能锁存数据,在移位过程中,输出端的数据保持不变,这有利于使点阵在串行速度较慢的场合不会出现闪烁感。 三、按键的介绍: 按键的扫面的方法的有两种,本设计中采用较快的行列扫描的方法。 行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。 1.3 方案说明 二.点阵硬件设计 三.点阵软件设计 void main() { display(2); KeyValue=0xff; while(1) { KeyDown(); if(KeyValue==0) display(0); if(KeyValue==1) display(1); if(KeyValue==2) { int num,temp,tab; temp=ALL[0]; for(num=0;num15;num++) { ALL[num]=ALL[num+1]; } ALL[15]=temp; for(num=0;num15;num++) { for(tab=0;tab8;tab++) { Hc595SendByte(0x00); //消隐 COMMONPORTS = TAB[tab]; //输出字码 Hc595SendByte(ALL[tab]); delay(2); } } } else display(2); } } 四. 实验结果与分析 五.总结与体会 一、问题与解决方法 (1)74HC595芯片不认识 74HC595芯片是我做这个课程设计遇到的最大的问题,起初我以前点阵像数码管一样,是共阴或者是

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档