完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char #define uint unsigned int uchar flag,i,a,b,c; uint num1,num2; uint d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,d18; int num_1() { num1=0;num2=0;c=0; d1=d2=d3=d4=d5=d6=d7=d8=d9=d10=d11=d12=d13=d14=d15=d16=d17=d18=0; if(P0^0==0) {d1=1;num1++;} if(P0^1==0) {d2=2;num1++;} if(P0^2==0) {d3=3;num1++;} if(P0^3==0) {d4=4;num1++;} if(P0^4==0) {d5=5;num1++;} if(P0^5==0) {d6=6;num1++;} if(P0^6==0) {d7=7;num1++;} if(P0^7==0) {d8=8;num1++;} if(P2^0==0) {d9=9;num1++;} if(P2^1==0) {d10=10;num1++;} if(P2^2==0) {d11=11;num1++;} if(P2^3==0) {d12=12;num1++;} if(P2^4==0) {d13=13;num1++;} if(P2^5==0) {d14=14;num1++;} if(P2^6==0) {d15=15;num1++;} if(P2^7==0) {d16=16;num1++;} if(P1^6==0) {d17=17;num1++;} if(P1^7==0) {d18=18;num1++;} c=d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+d16+d17+d18; if(num1==0) num2=0; else num2=c/num1; return(num2); } void init()//初始化总程序 { TMOD=0x20;//设置定时器工作方式位方式一 TH1=0xfd;//T1定时器装初值 TL1=0xfd; TR1=1;//启动定时器中断 REN=1;//允许串行口接受数据 SM0=0;// SM1=1;//串行口工作方式1(10位异步收发) EA=1;//开总中断 ES=1;//串行口允许中断 } void main() { init(); while(1) { if(flag==1) { ES=0; b=num_1(); SBUF=b; //发送数据 while(!ti); TI=0; ES=1; flag=0; } } } void zhongduan() interrupt 4 { RI=0;//取消中断请求 b=SBUF;//将SBUF中数值读走 flag=1; } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 09:39 , Processed in 0.581662 second(s), Total 59, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号