当前位置: 首页 > news >正文

金数字网站建设北京网站建设公司案例

金数字网站建设,北京网站建设公司案例,新乡建设企业网站,手机网站如何做才能兼容性各种手机21. LED点阵屏 21.1. LED点阵屏介绍 •LED点阵屏由若干个独立的LED组成#xff0c;LED以矩阵的形式排列#xff0c;以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合#xff0c;如汽车报站器、广告屏以及公告牌等 •LED点阵屏分类 按颜色#xff1a;单…21. LED点阵屏 21.1. LED点阵屏介绍 •LED点阵屏由若干个独立的LED组成LED以矩阵的形式排列以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合如汽车报站器、广告屏以及公告牌等 •LED点阵屏分类 按颜色单色、双色、全彩 按像素88、1616等大规模的LED点阵通常由很多个小点阵拼接而成 21.2. 显示原理 •LED点阵屏的结构类似于数码管只不过是数码管把每一列的像素以“8”字型排列而已 •LED点阵屏与数码管一样有共阴和共阳两种接法不同的接法对应的电路结构不同 •LED点阵屏需要进行逐行或逐列扫描才能使所有LED同时显示 21.3. 74HC595 •74HC595是串行输入并行输出的移位寄存器可用3根线输入串行数据8根线输出并行数据多片级联后可输出16位、24位、32位等常用于IO口扩展。 21.4. 开发板引脚对应关系 21.5. C51的sfr、sbit •sfrspecial function register特殊功能寄存器声明 例sfr P0 0x80; 声明P0口寄存器物理地址为0x80 •sbitspecial bit特殊位声明 例sbit P0_1 0x81; 或 sbit P0_1 P0^1; 声明P0寄存器的第1位 •可位寻址/不可位寻址在单片机系统中操作任意寄存器或者某一位的数据时必须给出其物理地址又因为一个寄存器里有8位所以位的数量是寄存器数量的8倍单片机无法对所有位进行编码故每8个寄存器中只有一个是可以位寻址的。对不可位寻址的寄存器若要只操作其中一位而不影响其它位时可用“”(一般用于对某一位进行清零、“|”一般用于对某一位进行置1、“^”对某一位进行取反的方法进行位操作。 22. LED点阵屏显示图形动画 22.1. 为防止和之前数码管类似的动态显示扫描过程中的重影和串位问题每次段选位选中加入延时和位清零 段选位选 加入延时位清零 段选位选 加入延时位清零以上逻辑实现扫描显示 22.2. 基于上述逻辑8x8点阵屏测试程序显示一个对角线的LED程序为 #include REGX52.h #include delay_xms.hsbit RCKP3^5; //RCLK 串行寄存器时钟上升沿有效 SH_CP sbit SCKP3^6; //SRCLK 串行输入时钟上升沿有效 ST_CP sbit SERP3^4; //SER 串行数据输入 DSvoid _74HC595_WriteByte(unsigned char Byte)//数据存入串行寄存器 {unsigned char i;for(i0;i8;i){SERByte(0x80i);//数据按位输入SCK1; SCK0;}RCK1; //数据存入串行寄存器RCK0; }void MatrixLED_ShowColumn(unsigned char Column,Data) //Column是列数据Data数据 {_74HC595_WriteByte(Data);//数据存入DataP0~(0x80Column);delay_xms(1); //延时P00xff; //位清零}void main() {SCK0;RCK0;while(1){MatrixLED_ShowColumn(0,0x80);MatrixLED_ShowColumn(1,0x40);MatrixLED_ShowColumn(2,0x20);MatrixLED_ShowColumn(3,0x10);MatrixLED_ShowColumn(4,0x08);MatrixLED_ShowColumn(5,0x04);MatrixLED_ShowColumn(6,0x02);MatrixLED_ShowColumn(7,0x01);}}Proteus仿真测试结果如下22.3. 点阵屏显示笑脸 作者用excel先将笑脸图形用excel填充再手动计算出16位进制数值 示例程序为 #include REGX52.h #include delay_xms.hsbit RCKP3^5; //RCLK 串行寄存器时钟上升沿有效 SH_CP sbit SCKP3^6; //SRCLK 串行输入时钟上升沿有效 ST_CP sbit SERP3^4; //SER 串行数据输入 DSvoid _74HC595_WriteByte(unsigned char Byte)//数据存入串行寄存器 {unsigned char i;for(i0;i8;i){SERByte(0x80i);//数据按位输入SCK1; SCK0;}RCK1; //数据存入串行寄存器RCK0; }void MatrixLED_ShowColumn(unsigned char Column,Data) //Column是列数据Data数据 {_74HC595_WriteByte(Data);//数据存入DataP0~(0x80Column);delay_xms(1); //延时P00xff; //位清零}void main() {SCK0;RCK0;while(1){MatrixLED_ShowColumn(0,0x3c);MatrixLED_ShowColumn(1,0x42);MatrixLED_ShowColumn(2,0xa9);MatrixLED_ShowColumn(3,0x85);MatrixLED_ShowColumn(4,0x85);MatrixLED_ShowColumn(5,0xa9);MatrixLED_ShowColumn(6,0x42);MatrixLED_ShowColumn(7,0x3c);}}proteus测试没问题 22.4. 为方便动画制作需要用到取模软件简化动画制作过程参考如下链接CSDN中的博文学习比较方便 https://blog.csdn.net/sinat_41752325/article/details/134923671?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171230294316800226592558%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id171230294316800226592558biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-134923671-null-null.142v100pc_search_result_base4utm_term8x8%E7%82%B9%E9%98%B5%E5%8F%96%E5%AD%97%E6%A8%A1%E8%BD%AF%E4%BB%B6spm1018.2226.3001.4187 22.5. 示例动画程序显示Hello如下 模块化 Matrix_LED.c程序如下 #include REGX52.h #include delay_xms.h #define MATRIX_LED_PORT P0sbit RCKP3^5; //RCLK 串行寄存器时钟上升沿有效 SH_CP sbit SCKP3^6; //SRCLK 串行输入时钟上升沿有效 ST_CP sbit SERP3^4; //SER 串行数据输入 DS/*** brief 74HC595写入一个字节* param 要写入的字节 Byte* retval 无*/ void _74HC595_WriteByte(unsigned char Byte)//数据存入串行寄存器 {unsigned char i;for(i0;i8;i){SERByte(0x80i);//数据按位输入SCK1; SCK0;}RCK1; //数据存入串行寄存器RCK0; }/*** brief 点阵屏初始化* param 无* retval 无 */void MatrixLED_Init() {SCK0;RCK0; }/*** brief LED点阵屏显示一列数据* param Column 要选择的列范围0~7,0在最左边* param Data 选择列显示的数据高位在上1为亮0为灭* retval 无*/void MatrixLED_ShowColumn(unsigned char Column,Data) //Column是列数据Data数据 {_74HC595_WriteByte(Data);//数据存入DataMATRIX_LED_PORT~(0x80Column);delay_xms(1); //延时MATRIX_LED_PORT0xff; //位清零}模块化 Matrix_LED.h程序如下#ifndef _MATRIX_LED_H_ #define _MATRIX_LED_H_ void MatrixLED_ShowColumn(unsigned char Column,Data); void MatrixLED_Init();#endif主程序如下#include REGX52.h #include delay_xms.h #include Matrix_LED.hunsigned char Animation[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x0E,0x15,0x15,0x0C,0x00,0x7E,0x01,0x02,0x00,0x7E,0x01,0x02,0x00,0x06,0x09,0x09,0x06,0x00,0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};//定义数组存取所有的Data前后0x00用于滚动显示的连贯性void main() {unsigned char i,offset0,Count0;//offset用于位移量控制Countvoid MatrixLED_Init();while(1){for(i0;i8;i){//delay_xms(2); //用于让显示速度变慢的测试 MatrixLED_ShowColumn(i,Animation[ioffset]);}Count;if(Count10){Count0;offset;if(offset32){offset0;}}} }Proteus测试结果正确
http://www.pierceye.com/news/251005/

相关文章:

  • 圣融网站建设包装设计网站是什么样子的
  • 网站建设的利润设计宝
  • 厦门网站制作案例dede做手机网站
  • 网站建设 环保 图片重庆信息网
  • 做网站的主流软件珠海网站建设珠海
  • 江门市网站建设 熊掌号wordpress分类不显示图片
  • 上海做网站技术有趣的网站小游戏
  • 网站建设需要哪些内容中国建设银行对公网站
  • 网站菜单实现原理全网营销外包
  • 江阴招聘网站建设学徒开源网站开发文档下载
  • 金融网站开发公司六安城市网新闻
  • 什邡网站建设公司linux怎么使用wordpress
  • 安阳网站建设公司网络推广的目标
  • 人像摄影网站有哪些贵阳网站制作企业
  • 山西山西省建设厅网站首页哪个网站做分享赚佣金
  • 曲靖网站制作一条龙赣州章贡区邮政编码是多少
  • 海南省网站设计公司网址百度小说风云榜排名
  • 刷网站关键词排名原理寮步建设网站
  • 银川网站建设一条龙服务服装行业网站模板
  • 重庆建站程序建筑网站起名
  • 便宜网站制作wordpress函数手册
  • 适合在家做的网站工作做音乐网站要求
  • 在哪个网站做视频赚钱的建设彩票网站需要多少投资
  • 大连网站建设意动科技推荐做那个的电影网站
  • 博达 网站群建设wordpress打开乱码
  • 电商网站建设代理商定制网站开发介绍图
  • 网站系统问题解决措施上海网站建设系
  • c 做网站简单吗ui设计需要学什么软件
  • 网站建设app开发公司国内免备案空间
  • nas 支持做网站dedecms 做影网站