首页 > 其他分享 >smgconve数码管转换,显示

smgconve数码管转换,显示

时间:2023-02-25 12:06:41浏览次数:28  
标签:case index Choose573 转换 smgconve SmgTemp break 数码管 display


//*************数码管转换
void SmgConvert(void)
{
u8 i=0;
u8 j=0;
//*****************数据转换成数码管的段码,相当于数码管翻译
while(SmgBuffer[i]!=0x00)
{
switch(SmgBuffer[i])
{
case '0':SmgTemp =t_display[0];break;
case '1':SmgTemp =t_display[1];break;
case '2':SmgTemp =t_display[2];break;
case '3':SmgTemp =t_display[3];break;
case '4':SmgTemp =t_display[4];break;
case '5':SmgTemp =t_display[5];break;
case '6':SmgTemp =t_display[6];break;
case '7':SmgTemp =t_display[7];break;
case '8':SmgTemp =t_display[8];break;
case '9':SmgTemp =t_display[9];break;
case 'U':SmgTemp =0x3E;break;
case '-':SmgTemp =0x40;break;
case 'C':SmgTemp =0x39;break;
default:SmgTemp=0x00;break;
}
if(SmgBuffer[i+1]=='.') //将段的最高位置1,点亮对应小数点的数据
{
SmgTemp =SmgTemp | 0x80;
i=i+2; //注意,这里是加2,因为多个小数点
}
else
i=i+1; //如果没有小数点,那么就是+1,下个元素。

SmgData[j]=SmgTemp; //将数据翻译成功,放到对应的数据区
j++;//数据区位置+1。
}

}


void SmgDisp()
{
static u8 index=0;
//**************消隐,为什么要消隐呢,因为前后两个显示,变化太快,会存在残影,影响显示效果。
//如何消隐?将对应的数码管熄灭,就可以了。
//选择位选
P0=0x00;
Choose573(SMGCOMY);
Delay5us();
Choose573(LOCKY);
//选择段码
P0=~0xff;
Choose573(SMGDATY);
Delay5us();
Choose573(LOCKY);
//******************************************消隐


//选择位选
P0=T_COM[index];
Choose573(SMGCOMY);
Delay5us();
Choose573(LOCKY);
//选择段码
P0=~SmgData[index];
Choose573(SMGDATY);
Delay5us();
Choose573(LOCKY);

index++;
if(index==8)index=0;

}


标签:case,index,Choose573,转换,smgconve,SmgTemp,break,数码管,display
From: https://blog.51cto.com/u_1355431/6085180

相关文章

  • 字符串与base64相互转换
    字符串转base64functionencode(str){//对字符串进行编码varencode=encodeURI(str);//对编码的字符串转化base64varbase64=btoa(encode);......
  • Acme CAD Converter版本转换器下载地址+使用教程
    AcmeCADConverter下载地址网盘地址 AcmeCADConverter使用教程第一步:下载压缩包,打开图示软件; 第二步:把图纸直接拖进软件中,另存为低版本即可。 ......
  • JavaScript 之下划线转换驼峰和驼峰转换下划线
    下划线转换驼峰functiontoHump(lineStr){returnlineStr.replace(/\_(\w)/g,function(all,letter){returnletter.toUpperCase();});}驼峰转换下划线......
  • STATA:变量转换
    变量转换encodesex,generate(gender)//生成数值型变量genderdecodegender,generate(gender2)//根据gender变量重新生成一个字符型变量gender2recodex2(12=1)(3=2)(......
  • 如何使用二极管将交流电转换为直流电
    将交流电转换为直流电的过程称为整流。AC-DC转换器主要用于电力电子应用,其中电源输入是50Hz或60Hz正弦波交流电压,需要将电源转换为直流输出。我们家里的每一件电器都......
  • python如何转换为私有属性
    1、在属性或方法名称之前增加一个下划线,表示属性或方法只在类中使用。2、可手动调用_age,从而获得age属性,更严格的方法是在属性或方法之前增加两个下划线__,此时手动调用属性......
  • c++中具有继承关系的隐式转换问题
    起因是群里有人问:   2,3,4是为什么。解答:2:2是因为B中的show(A)才是多态,Aa2=newB(),此时a2只有show(A)的多态,而面对的类型切割问题,在编译的时候派生类会将基类的多......
  • 算法随想Day21【二叉树】| LC669-修剪二叉搜索树、LC108-将有序数组转换为二叉搜索树
    LC669.修剪二叉搜索树相当于一个中序遍历吧,当某个节点<low时,其右子树的各个节点值虽然都比该节点值大,但仍可能存在<low的,所以要据于次节点,向其右子树进军遍历,等回溯时,del......
  • PHP数组与XML之间的转换【转载】
    在开发中,我们经常会遇到数组与XML之间的互相转换,尤其在处理接口开发的时候经常用到,比如对方客户端POST一个XML格式的数据到服务器上,服务器上的程序要负责接收解析,还有需要将......
  • pdf2docx:可将 PDF 转换成 docx 文件的 Python 库
    pdf2docx:https://github.com/dothinking/pdf2docx 可将PDF转换成docx文件的Python库。frompdf2docximportparsepdf_file='/path/to/sample.pdf'docx_fi......