完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
#include
#define uchar unsigned char #define uint unsigned int uint tf,temp,rok,getnumok,start; //定义溢出时间, ,接收完成标志,转换完成标志 uchar rtime[],value[],rcode[]; //定义数组 存放接收时间,存放4段码,存放用户码和数据码 uint i,j,k; uchar code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0~F共阴显示子码 uchar code dispbit[]={0xfd,0xfb,0xf7,0xef}; //数码管位选码,低电平为选通,分别是P11,P12,P13,P14 void delayms(uint ms) { uchar b; while(ms--) { for(b=0;b<125;b++); } } void outside0(void) //外部中断初始化 { EA=1; IT0=1; ET0=1; } void timer0(void) //定时器0初始化 { TMOD=0x02; TH0=0x00; TH0=0x00; EA=1; ET0=1; } void timer0inter()interrupt 1 //定时器0中断函数 { tf++; //计算TF溢出次数 } void outside0inter() interrupt 0 //外部中断0中断服务函数 { if(start) TR0=1; //启动定时器0 if(tf>35) //检测引导码 { i=0; } rtime[i]=tf; //把每位对应的溢出时间存档 tf=0; i++; if(i==33) //4段码接收完毕 { TR0=0; //关闭定时器0 i=0; rok=1; //接收完毕 } else { start=1; tf=0; } } void getnum(void) //把溢出时间转换成0、1 { i=1; for(j=0;j<4;j++) //4段码 { for(k=0;k<8;i++) //8位数 { temp=temp>>1; //点到每个位的次序 if(rtime[i]>6) temp=temp|0x80; //大于六秒为1 else temp=0x00; //小于六秒为0 i++; } value[j]=temp; } getnumok=1; //转换完毕 } void apart(void) //把用户码和用户反码,数据码和数据反码分开 { rcode[0]=value[0]/16; //把用户码前四位和后四位分开 rcode[1]=value[0]%16; rcode[2]=value[3]/16; //把数据码前四位和后四位分开 rcode[3]=value[3]%16; } void display(void) //数码管显示函数 { for(i=0;i<4;i++) { P0=dispcode[rcode[i]]; P1=dispbit[i]; delayms(50); } } void main() { outside0(); timer0(); while(1) { if(rok) { getnum(); rok=0; } if(getnumok==1) { apart(); getnumok=0; } display(); } } |
|
相关推荐
3 个讨论
|
|
|
首先,鉴于上面凌乱的程序,我读不出来。但是我可以给你一个实测可以使用的程序,解码部分完全没有问题。你可以稍稍修改就行了。。
|
|
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
693 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
681 浏览 0 评论
有人有STM8H1K08T连接TM1650的源码吗,可以直接使用的那种,我的代码在烧录之后数码管一直处于熄灭状态
993 浏览 0 评论
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
781 浏览 0 评论
893 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16957 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 05:40 , Processed in 0.730662 second(s), Total 60, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7445