欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    stm32 点阵移动程序.docx

    • 资源ID:1474717       资源大小:23.98KB        全文页数:10页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    stm32 点阵移动程序.docx

    if(S<anRow=1.ED_SET.Firs(Row)16行(假如完成,帧扫描,置标记.扫描完ScanFIag=1;只有当SvanFIag=1时,才能切换显示内容)elseIScanFIag=O;)U#ifdefOS_T1CKS_PER_SEC/傲如时神节拍数定义广.说明婺运用ucosll?.OS_EXrr_CRITICA1.。;/*endif1.edDeIayC1.ED_SET.BIankTiine);消隐时间if(1.ED_SET.OnOff=ON)假如显示屏配置为显示,那么开显示if(!1.ED.SETENMode)(1.CdEn_£>:1“开显示else(1.cdEn_H();1JIvoidGct_HzMai(unsignedchar*c<k,unsigncdchar*mat.uint8jsize)(unsignedCharqh.ql;unsignedchari;unsignedlongfoffsct;WifOS_CRITICA1._METHOD=3OS_CPU_SRcpu_sr=Ou:中断函数被设定为模式3Sendifqh=*code:ql=*(+-Hx>de);ImpDala=*tpBuf;tmpData&=OKfY«(X-tmprow);ImPDiKaI=()xf>>improw:ImPData&=(*fb11l6x8mpu*16+8=tj÷i)»improw:*pBuf=tmpData;elseif(row>=8)&&(now<16)Iif。=O)IImPDaS=tpBuf;(mpDla=Oxff;*pBuf=tmpData;PBUf+=1.ED_SET,Widlh;ImpData=pBuf;tmpData&=Ox(X);tmpData=(-foncl6x8tmptt*16÷8*j÷i)>>improw;*Buf=CmPDala;>elseif(row>-8)&&(row<=0)Iif(j=)ItmpData=*pBuf;ImPDala&=0x00;ImpDala=(-font16x8Imptl*16+8*ej+i)<<-improw:tmpData=Oxff»(8÷tmprow);fpBuf'=tnDa;pBuf-=1.ED.SET.Widh:tmpData=pBut,;tmpData&=0x00;ImpDataI=(-fontl6x8mpu"6+8*ji)»(8+ImlXDW)I(Oxff«-(mprw):tmpData&=(*fontl6x8tmptt*16+i)«-tmprow)(0xff»(8÷<mprow);tBuf=ImPDa【a;elseif(row>-16)&&(row<=-8)Iif<j=)ItmpData=pBuf;UnPDataI=Oxfl':pBuf=ImPDala:PBUf-=1.ED_SETWidth;UnPData=*pBf;ImPDala&=0x00;tmpData=(-fontl6x8(tmptt*16+8*j+ij)<<-tmprow:tmpData=Oxff>>(8+tmprow);*Buf=ImPData;>)J)尸*程序名称:voidShowHZ(intl6jrow.intl6jcol.uint8-t4hzk.uint8jback) 输入参数:intl6_trow显示行坐标 *inl6-tcol显示列坐标 *uint8.t*hzk指向指定汉字内码的指针UintSjback指示写入字模的显示援存 输出参数:无 *返回值;无 *描述:在指定位置显示一个16*16汉字.注:运用GBK16字库。 冷«山>»*/voidShow_HZ<intl6_(wj11l6jcol,uint8j*hzk,ui118jback)(Uiin8dzk32J;uint8j*pBuftmp;uin(8_(mp!X>w;Uim8,tmpData:Uinl8,i,j;产纵向取模字库/Gct.HzMat(hzk,dzk,l6);/取字模tmprow=row%8:i1(!back)(pBuf=ButD;Jelse(pBuf=BufI:J(n=PBUf;for(j=()Jv2J+)for(i=0;i<16;i+)(,"推断溢出条件,在这里行可以到-15去iR(row+j)<1.ED_SET.Hcight)&&(col+i)>=0)&&(COIi)<1.ED-SETAVidth)(pBuf=tmp+j*1.ED-SET.Width+(col+i);PBuf的计算方法.纵向取模if(row>=0)&&(row<8)Iif(j=Ow推断在上面还是在下面的IX域ItmpData=pBuf;tm)Data=0x00;全部清等ImpDataI=(-dzk2*i+(j%2)1)»tmprow;U将高位清零,低位放的是原来高位的pBuf=ImpDaia;pBuf+=1.ED.SET.Widlh;tmpData=pBuf;tmpData&=OXo0;/帚零UnpDataI=(dzk2*i+(j%2)«(8ImPrOW);将前一个低位的位放到高位,低位为0tmpData&=Oxff«(8-tmprow);"全部清零tmpDaa=Oxfl->>tmprow;"高位不变.低位全为(mpDal<&=(dzk2*i+(j%2)+1J»tmprow):H将高位清零.低位放的是原来高位的fpBuf'=tnDa;IelseIImPDaIa=pBuf;UImPDaIa&=Oxff«(8-tmprow):"全部清零U(mpDala=0xf»improw;"高位不变,低位全为IImPDMa&=dzk2*i÷(j%2)»ImPrOw):将离位消等,低位放的是原来高位的4pBuf=tmpData:elseif(row>=8>&&(row<16)Iif(j=O)IImpData=pBuf;tmpData=Oxff:pBuf-tmpData;pBuf+=1.ED_SET,Widih;tmpData=pBuf;tmpData&=Ox(X);ImPData=(-dzk2*i+(j(2)»(nxou;*pBuf=tmpData:)elseif(row>-8)&&(row<=0)if0=)ItmpData=pBuf;tmpData&=0x00;tmpData=-dzk2*i+(j%2)J«-tmprow;tmpData=()xf>>(8Improw);*)Buf=UnPDala:pBuf-=1.ED_SET.Width:tmpData=pBuf;ImPDala&=0x00;ImpDataI=(dzk2*i+(j%2)»(8+(mprw)(Oxff«-t11prow):tmpDta&=(izk2*i÷(j%2)-1«-tmprow)(0xfl,>>(8÷tmprow);*pBuf=tmpData;elseif(row>-16)&&(IOW<=8)Iif(j=)QmPDa【a三pBuf;ImpData=Oxff:4pBuf=tmpData:pBuf=1.ED-SETWidih;ImpData=pBuf;tmpData&=0x00:ImPDaIa=(-dzk(2*i÷(j%2)1)<<tmprow;tmpData-OXfr»(8÷tmprow);*pBuf=ImpDala;程序名称:Show_Str(in(l6_txjnd6jy,uint8jfs(r,uin8jback)*食输入参数:inil6y显示行坐标intl6.lx显示列坐标uint8jstr指向字符串的指针”输出参数:无襁返回检无行描述:在指定位置开场及示一个字符:k(xy):起始坐标,voidShoW_SiNini16x,intl6jy,uini8j*str)inti6_tx=x;in16jy=y;字符或者中文uim8jbHz=0;uint8-lforgel_back:/检测显示缓存位置,不允许写入正在显示的缓存/if(BackF1ag).'.'BackFIag前后台标记,初始值为1Ibrgcjback=(kIelse(fbrgct-back=I;前分后台I1.edClear(li>rget_back):“清空要写入的缓存数据未完毕/bHz=l表示是中文中文字符换行符号.忽视WhilC("str!=0)if(!bHz)(ifl!*s(r>0x8O)bHz=l;else(if(*str=13)Istr+;)else“有效用部写入ShoW_ChaNyo,x,*Syfclrge1.baCk):str+;Ix+=8;字符,为全字的一半J)else中文(bHz=O:有汉字库Show_HZ(yO,x0.slr.forgel_ba<k);str+=2:x()*=16;下一个汉字偏移/*等待一帧显示完成,将显示缓存切换到当前缓存,WhiIc(JScanRag);BackFIag=forge.back;voidI.CdCIosc(Void)/关显示*/ill(!1.ED.SET.ENMode)(1.edEn-Ho;关显示)elseI1.edEn_1.O:)1.ED-SE1.OnOff=OFF:Ivoid1.CdOPen(void)(/开显示(消隐)/if(!1.ED_SET.ENMode)(1.CdEn_1.(>:关显示1else(1.edEn_H();J1.ED-SETQnOff=ON:I/左移显示/voidDisplajzMvoe1.efKvoid*p_arg)(uint8-tst11intl6.(i:uinl!6-tIenght:(voi<i)p.arg;vhile<)str写自己要显示的东西!:s<r=p_arg;Iengln=OS_S(r1.en(sir)*8:for(i=-1.ED_SET.Width;i<Icnght;i+=2)"左移.每次移动2位(Show_Str(0i.O.str);/Show-HZ(3.10,str.O);;/Show_HZ(3.10.str.l);OSTimcDlyHMSM(0.0.0,5(X);J)/右移显示/voidDispIayMoveRighUvoid*p_arg)(uint8_tst11intl6.ti;uint!6-tIenght:(void)p_arg;while(l)$tr="写自己要显示的东西;str=p_arg:Ienght=OS_Str1.en(str)*8;for(i=Ienght:i>1.ED-SE.Wdth);i-=2)左移.每次移动2位Show_Slr(Oi.O.str);OSTimeDlylIMSM(0.0.0,500);)I,上移动显示7voidDisplayMovcUp<voidp_arg)(uinl8_t*M11intl6ji;H(voi<i)p.at:whildl)Isir=p_arg:for(i=15;i>-16;i)Show_Str(0,i,Mr);OSTimeDIyHMSM(0.0.0500):)产下移显示*/voidDisplayMveDuwn(void*p_arg)(uint8jstr:intl6_ti;U(void)p-ag:WhiIe(I)(str=p_aij:fr(i=-I5;i<I6;i+)(ShOW_SU(O.i.str);OSnmeDlyHMSM(0.0.0.500):IJI,不移动,但是始终在闪着0示干VniiiDiSPlayBlink(VOid*p_arg)Ilinl8*Str=加油!”;uiu16_tIcnghl;(VOid)P一晔whilc(l)(Ienght=OS-Str1.en(Str)48:ShOW_S<K(1.ED_SETWidth-lcnght2.0.str):将要显示的字放到中间部位1.oiCIcar(O);“清屏,什么都不显示,只消一个缓存的,这样才会闪雄显示1.edClear(I)OSTimeDlyllMSM(0.0.0.500):

    注意事项

    本文(stm32 点阵移动程序.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开