一、功能介绍程序实现字幕不同方向,不同速度滚动显示的效果,字幕滚动方向和速度可以通过键盘操作改变。当出现静态笑脸图案时,可以操作键盘,键盘按下时,会听到蜂鸣提示音。此时按下第一个或第二个键,分别显示向左和向上的“小”“石”“山”“庄”和一个笑脸的滚动字幕的显示,当再次出现静态的现笑脸时,按下第三个或第四个键,分别降低和提高字幕滚动的速度。然后,可以再次按下第一个或第二个键,来检测改变速度后字幕滚动的效果。二、硬件原理即实现有关部分的电路图如下:有关部分电路说明:点阵显示部分:CPU的P0.0~P0.7口接8*8LED点阵的COM1~COM8端,控制点阵行的显示;P2.0~P2.7口通过74HC573接8*8LED点阵的RED1~RED8,存放点阵每行显示的数据。从程序中获取数据后控制点阵的显示。COM端为0,表示该行可能亮起;RED端为1,表示某行该列亮。按键实现部分:CPU的P3.2~P3.5口分别接KEY1~KEY4,用于接收从键盘输入的控制信息。KEY等于0,表示该按键按下;否则,没有按下。蜂鸣器部分:CPU的P3.7接蜂鸣器的BEE口,用于控制蜂鸣器。低电平蜂鸣器蜂鸣,高电平安静。一、软件原理及实现1.整体思路主程序用while循环执行显示和几个分支语句,实现用键盘对滚动方向和滚动速度的控制。滚动效果原理类似动画片的原理,逐屏显示错位一行或一列的字幕,从而达到横向或纵向滚动的效果。横向滚动的实现只需将RED端的数据向右和向左移位,并将每次移位后的数据存储于中间变量中,用于显示输出。纵向滚动的实现需要循环控制输出数据的起始位置,每次循环输出的起始位置向后移一个元素,从而实现逐行向上滚动的效果。用一个全局变量来控制滚动速度,该全局变量可以通过键盘的操作增加或减小,从而实现键盘控制速度。程序特点:主程序分别调用子程序,子程序再调用子程序,最多达到了调用三层子程序。这样的子程序嵌套调用可以提高程序代码的重用率,同时使主程序看起来简练、清晰。例如,程序中实现向左滚动的部分调用了函数disp_moveleft函数,该函数又分别调用了adjust_moveright和adjust_moveleft函数,用于分别实现逐列显示出完整的字符和字符显示完全后,逐列左移直到全部移出。具体的程序部分功能参见程序源代码中的注释。2.程序大体流程图如下:3.程序原代码如下:#include #include uchar code sz[][8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//null0x08,0x08,0x08,0x 2a,0x49,0xa8,0x18,0x08,//小0xff,0x10,0x10,0x3e,0x52,0x92,0x12,0x1e,//石0x08,0x08,0x08,0x08,0x49,0x49,0x49,0x7f,//山0x08,0x3f,0x20,0x24,0x2e,0x24,0x44,0x9f,//庄0x00,0x42,0xA5,0x00,0x00,0xff,0x42,0x3C,//smile0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00//null};uchar code smile[][8]={0x00,0x00,0xa5,0x42,0x00,0x00,0x24,0x18,0x00,0x00,0xe7,0x00,0x00,0x3c,0x42,0x3c,0x00,0x42,0xA5,0x00,0x00,0xff,0x42,0x3C};uchar temp[8]={0};//用于临时存放某一时刻屏幕上显示的字符或字符某部分的图案uchar time=5;//用于控制速度void delayms(uchar x)//延时一段时间(具体由参数而定){uchar i;uint16 j;for(i=x;i>0;i--)for(j=5000;j>0;j--);}void delay(){uchar i;for(i=150;i>0;i--);}void disp_dat(uchar x)//显示一屏{uchar i,j,k,l;for(j=x;j>0;j--){for(k=3;k>0;k--){l=0xfe;for(i=0;i<8;i++){P2=0;P0=l;P2=temp[i];delay();l<<=1;l++;}}}}
推荐内容
-
京东家电年货节盛大开启 多家线下门店活动不断喜迎销售高峰
-
红米K50电竞版工程机曝光 爆料者还表示其与量产版已无大差异
-
红魔7新机入网 后置摄像模组为竖向排列可使用屏幕指纹识别
-
最新版高德地图推出超好用功能 新手驾车模式将拥有更详细讲解
-
vivo最新上架Y10与t1新机 定价1099元 仅有4+128GB版本
-
育碧新版工人物语预告视频来了 即时策略类型游戏备受期待
-
华硕破晓Pro15笔记本:搭载全新处理器 拥有更强大运行效率
-
摩托罗拉edgeX30喜获2021最具影响力产品奖 实力获得肯定
-
小米音频输出模式调整相关专利获批 有望在手机中加入更好扬声器
-
INNOCN海外发布全新4K液晶显示器 产品将在明日进行首销
-
AppleProCam8K视频相机新图曝光 整体形似带镜头版Macintosh
-
IP衍生手游《阿凡达:清算》首曝 针对安卓和iOS平台开发的手游
热点新闻
-
河南正阳农商行违法解冻代开银行承兑汇票保证金 被罚20万
-
2018首届中国郏县美食文化节即将开宴 千年特色美味竞艳味蕾 丰硕县域旅游产业链
-
河南郏县红牛 打破日本神话的中国“雪花牛肉”
-
2018河南能源发展报告发布 消费增量占比超过50%
-
获嘉县美女副县长郑州“卖白菜”
-
从欧盟大数据规划中能学到什么?
-
区块链版权应用实践案例
-
区块链+网络社交,带来全新的行业发展模式
-
食品追溯 区块链技术的出现为绿色食品的打造提供新思路
-
全球区块链典型应用案例
-
5G应用已“露脸” 6G研究今年启动
-
650亿年后月球可能将撞上地球