查看: 2673  |  回复: 4
基于51单片机的微型电压表
小马玩转单片机
10
主题
15
回复
发表于2018-11-16 15:54:13 | 显示全部楼层
1# 电梯直达

很多新手包括我也是,学会用proteus后,很新奇但不知道仿真什么。今天我仿真了一个微型单片机,有兴趣的是新手可以仿真一下  点击查看大图这个是我在proteus中的仿真,新手可以照猫画虎的试一下。制作一个电压表

#include<reg51.h>
#define uchar unsigned char
#define uint  unsigned int
uchar code led[10]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint volt;
sbit CLK=P3^3;
sbit START=P3^0;
sbit EOC=P3^1;
sbit OE=P3^2;
void delay(uint z)        
{ uchar x,y;            
   for(x=z;x>0;x--)   
      for(y=250;y>0;y--);

void ADC()
{
 START=0;
 START=1;
 START=0;
 while(EOC==0);
 OE=1;
 volt=P1;
 OE=0;
 volt=volt*196; 
}
void display()
{
 P0=0XFF;
 P2=0x01;
 P0=led[volt/10000]&0x7F;
 delay(2);
 P0=0XFF;
 P2=0x02;
 P0=led[(volt/1000)%10];
 delay(2);
 P0=0XFF; 
 P2=0x04;
 P0=led[(volt/100)%10];
 delay(2);
 P0=0XFF;  
 P2=0x08;
 P0=led[(volt/10)%10];
 delay(2);
}
void main()
{
 EA=1;
 TMOD=0x02;
 TH0=0XF6;
 TL0=0XF6;
 ET0=1;
 TR0=1;
 while(1)
 {
  ADC();
  display();
 }
}
void timer() interrupt 1
{
 CLK=~CLK;
}
这个是在keil中的程序,不会写的可以直接复制过去!在单片机的前期学习是比较枯燥的。自己平时可以试一下,仿真来增加学习兴趣!为了防止你们复制过去的,存在格式错误。我把C文件添加到附件里面!微型电压表.rar 

FOCUS电路设计
3
主题
152
回复
发表于2018-11-16 16:59:32   |  显示全部楼层
2#
你是来搞笑的么?

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部