永发信息网

请哪位C语言高手翻译一下程序,就在每一段标注一下。谢谢啦

答案:1  悬赏:60  手机版
解决时间 2021-01-03 04:04
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdata;
unsigned int temp;
unsigned int temp1;
unsigned char count;
unsigned char d;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P17=P1^7;
sbit fwei1=P2^7;
sbit fwei2=P2^6;
sbit fwei3=P2^5;
sbit SPK1 = P0^0;
sbit SPK2 = P0^1;
sbit SPK3 = P0^2;
void TimeInitial();
void Delay(unsigned int i);

void TimeInitial()
{ TMOD=0x10;
TH1=(65536-200)/256;
TL1=(65536-200)%256;
EA=1;
ET1=1;
TR1=1;
}
void Delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}

void Display()

{
P1=dispbitcode[dispbuf[3]];
P20=0;
P21=1;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[2]];
P17=1;
P20=1;
P21=0;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[1]];
P20=1;
P21=1;
P22=0;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[0]];
P20=1;
P21=1;
P22=1;
P23=0;
Delay(10);
P1=0x00;
}
void main()
{
unsigned char t,a,b, h, m,n,k,p,q;
TimeInitial();
while(1)
{
ST=0;
OE=0;
ST=1;
ST=0;
P34=0;
P35=0;
P36=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
temp=getdata*1.0/255*500;
dispbuf[0]=temp%10;
dispbuf[1]=temp/10%10;
dispbuf[2]=temp/100%10;
dispbuf[3]=temp/1000;
Display();
if(getdata>0&&getdata<100)
{ fwei1=1;
fwei2=0;
fwei3=0;

for(a=0;a<200;a++)
{
SPK1 = ~SPK1;
for(b=0;b }
}
if(getdata>100&&getdata<200)
{ fwei1=0;
fwei2=1;
fwei3=0;

for(m=0;m<200;m++)
{
SPK2 = ~SPK2;
for(n=0;n }
}
if(getdata>200&&getdata<255)
{ fwei1=0;
fwei2=0;
fwei3=1;

for(p=0;p<200;p++)
{
SPK3 = ~SPK3;
for(q=0;q }
}
}
}

void t1(void) interrupt 3 using 0
{
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
}
最佳答案
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdata;
unsigned int temp;
unsigned int temp1;
unsigned char count;
unsigned char d;
//定义端口及其方向
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P17=P1^7;
sbit fwei1=P2^7;
sbit fwei2=P2^6;
sbit fwei3=P2^5;
sbit SPK1 = P0^0;
sbit SPK2 = P0^1;
sbit SPK3 = P0^2;
void TimeInitial();
void Delay(unsigned int i);
//定时设置
void TimeInitial()
{ TMOD=0x10;
TH1=(65536-200)/256;
TL1=(65536-200)%256;
EA=1;
ET1=1;
TR1=1;
}
void Delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
//四个数码管逐次显示数字
void Display()

{
P1=dispbitcode[dispbuf[3]];
P20=0;
P21=1;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[2]];
P17=1;
P20=1;
P21=0;
P22=1;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[1]];
P20=1;
P21=1;
P22=0;
P23=1;
Delay(10);
P1=0x00;
P1=dispbitcode[dispbuf[0]];
P20=1;
P21=1;
P22=1;
P23=0;
Delay(10);
P1=0x00;
}
void main()
{
unsigned char t,a,b, h, m,n,k,p,q;
TimeInitial();
while(1)
{
ST=0;
OE=0;
ST=1;
ST=0;
P34=0;
P35=0;
P36=0;
while(EOC==0);
OE=1;
getdata=P0;//读取输入数据
OE=0;
temp=getdata*1.0/255*500;//数据值转换
//求取个十百千位上的数
dispbuf[0]=temp%10;
dispbuf[1]=temp/10%10;
dispbuf[2]=temp/100%10;
dispbuf[3]=temp/1000;
Display();//显示十进制各个位上的数
//getdata 在0~100 SPK1电平变换200次 100周期每周期时间与t有关
if(getdata>0&&getdata<100)
{ fwei1=1;
fwei2=0;
fwei3=0;

for(a=0;a<200;a++)
{
SPK1 = ~SPK1;
for(b=0;b }
}
//getdata 在100~200 SPK2电平变换200次 100周期每周期时间与h有关
if(getdata>100&&getdata<200)
{ fwei1=0;
fwei2=1;
fwei3=0;

for(m=0;m<200;m++)
{
SPK2 = ~SPK2;
for(n=0;n }
}
//getdata 200~255 SPK3电平变换200次 100周期每周期时间与k有关

if(getdata>200&&getdata<255)
{ fwei1=0;
fwei2=0;
fwei3=1;

for(p=0;p<200;p++)
{
SPK3 = ~SPK3;
for(q=0;q }
}
}
}
//定时中断控制时钟
void t1(void) interrupt 3 using 0
{
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
福鼎市工商行政管理局办公位置在哪啊?好找么
鸟类对人类有哪些益处呢?
影响元素化学性质主要是原子的A.核外电子总数
福安市工商行政管理局(解放东路)在什么地方啊
4y/3x·x/2y^3= ab^2/2c^2÷-3a^2b^2/4cd
单选题下列部门不适宜建在城区的是A.学校B.公
福安市工商行政管理局(京都美景花园西北)办公
毕业生档案怎么办?报到证有什么用
解答题电饭锅是一种可以自动煮饭并自动保温,
附加税重得申报并已扣款成功该如何做分录
佛珠上的中国结怎么编
求几个日系的网名 女生的 要好听一点
单选题狗常用沾有唾液的舌去舔伤口,结果对伤
如何在毛衣上绣图案
农村买房怎么样
推荐资讯
什么动物脑子最简单 50分
后汉书·陈寔传阅读答案
下午吃了柿子.晚上可以喝酸奶吗?
三报备三留存三抽查制度是什么意思
单选题糖类、脂类和蛋白质这三大营养物质之间
倒抽的意思
江华瑶族自治县永州阿依莲地址在哪,我要去那
有没有人要exo-l的账号? 看补充
oppoa31刷机后黑屏怎么办
有没有那么一个人,开始在你的QQ分组栏里面是
香隅森林派出所在什么地方啊,我要处理点事
一个四位数除以一个两位数,商是A.两位数B.三
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?