当前位置:首页 » 课程大全 » 课程设计电压表

课程设计电压表

发布时间: 2020-11-29 11:07:46

⑴ 单片机课程设计: 简单数字直流电压表 汇编程序 和原理图

LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
LED_3 EQU 33H
ADC EQU 35H
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV LED_0, #00H
MOV LED_1, #00H
MOV LED_2, #00H
MOV P2, #0FFH
MOV DPTR, #TABLE
MOV TMOD, #02H ;采用定时器2实现11 us的定时
MOV TH0, #245
MOV TL0, #00
MOV IE, #82H
SETB TR0
WAIT: CLR ST;此语句到第三条语句为启动A/D转换
SETB ST
CLR ST
JNB EOC, $ ;查询A/D转换是否结束
SETB OE ;允许输出
MOV ADC, P1 ; A/D转换结果存入ADC也即35H单元中
CLR OE ;关闭输出
MOV A, ADC ;A/D转换数据转BCD码
MOV B, #51
DIV AB
MOV LED_3, A;整数位存入LED_3也即33H单元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD1
ADD A,#5
BCD1:MOV LED_2, A;小数点后第一位存入LED_2也即32H单元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD2
ADD A,#5
BCD2:MOV LED_1,A;小数点后第二位存入LED_1即31H单元中
MOV A, B
CLR F0
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,BCD3
ADD A,#5
BCD3:MOV LED_0,A;小数点后第三位存入LED_0即30H单元中
LCALL DISP
LJMP WAIT
INT_T0: CPL CLOCK ;给A/D转换器提供时钟
RETI
DISP: MOV A, LED_0
MOVC A, @A+DPTR;查询小数点后第三位段码
CLR P2.3
MOV P0, A;显示小数点后第三位
LCALL DELAY
SETB P2.3
MOV A, LED_1
MOVC A,@A+DPTR ;查询小数点后第二位段码
CLR P2.2
MOV P0, A ;显示小数点后第二位
LCALL DELAY
SETB P2.2
MOV A, LED_2
MOVC A, @A+DPTR;查询小数点后第一位段码
CLR P2.1
MOV P0,A;显示小数点后第一位
LCALL DELAY
SETB P2.1
MOV A, LED_3
MOVC A, @A+DPTR;查询整数位段码
CLR P2.0
ORL A, #80H ;显示小数点位
MOV P0, A;显示整数位
LCALL DELAY
SETB P2.0
RET
DELAY: MOV R6, #10 ;延时5ms
D1: MOV R7, #250
DJNZ R7, $
DJNZ R6, D1
RET
TABLE: DB 3FH, 06H, 5BH, 4FH, 66H
DB 6DH, 7DH, 07H, 7FH, 6FH
END

⑵ 微机原理课程设计 简易数字电压表设计

#include <AT89X52.H> unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[]={0x3f,0x06,

⑶ 0~200 v数字电压表课程设计

以测量0~200V的直流电压
我知道分析,了解

⑷ 数字电压表的课程设计

不用单片机啊,那就ICL710x系列的吧,应用电路在它的数据手册里都有.
不过0~200V的范围要达到0.1mV的分辨率,就是100uV了,要全部检测的话那就得21位以上的ADC分辨率,带这样高分辨率ADC的东东可不好找啊,就算有你也买不起.
因此,由于位数的原因,你这个测量范围和分辨率要做成几个量程档位才会比较好做.
另外,你的供电电源得好好处理一下,不然它的参考电压纹波都是这个分辨率的几百倍了,再加上你还要对待测的信号进行前级处理,也得选用低噪音高精度的运放之类,没有个好的电源可不行..

⑸ 求用霍尔元件设计数显电压表课程设计论文

找我啊。396516239

⑹ 课程设计,如何做简单的电压表

电压表的话一般来说需要进行一个出厂设置设置成功后就可以

⑺ 求单片机简易电压表课程设计

^我这个程序是用1602显示的,ADC0832做的AD,给你看一下。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define channel_0 0x02 //单通道0输入选择
#define channel_1 0x03 //单通道1输入选择

//sfr AUXR=0x8E;
//sfr WDT_CONTR=0xe1;

sbit csad=P1^1;
sbit adclk=P1^2;

sbit scl=P1^3;
sbit sda=P1^4;

sbit dawr=P3^6;
sbit csda=P1^0;

sbit cs485=P1^5;

sbit key1=P1^6;
sbit key2=P1^7;
sbit key3=P2^0;
sbit key4=P2^1;

sbit DS=P2^2;

sbit lcrs=P3^7;//数据/命令
sbit lcwr=P3^5;//读/写
sbit lcden=P3^4;//使能

//sbit lcrs=P3^4;
//sbit lcden=P3^5;
//sbit lcwr=P3^7;

sbit ACC0=ACC^0; //通道与输入方式控制字
sbit ACC1=ACC^1; //通道与输入方式控制字

uchar code table[]={48,49,50,51,52,53,54,55,56,57};
uchar data dis[]=
{'A','D','-','d','a','t','e',' ',0x00,'.',0x00,0x00,'V'}; //定义3个显示数据单元
uchar table3[]={"CHANG DA CE KONG"};
/********************************************************************/
/* */
/* 启动ADC转换 */
/* */
/********************************************************************/

ADC_start()
{
csad=1; //一个转换周期开始
sda=0;
_nop_();
adclk=0;
_nop_();
csad=0; //CS置0,片选有效
_nop_();
sda=1; //DI置1,起始位
_nop_();
adclk=1; //第一个脉冲
_nop_();
sda=0; //在负跳变之前加一个DI反转操作
_nop_();
adclk=0;
_nop_();
}

/********************************************************************/
/* */
/*AD转换函数 */
/*选择输入通道,输入信号的模式《单端输入,或差分输入》 */
/* */
/********************************************************************/

ADC_read(uchar mode)
{
uchar i;
ADC_start(); //启动转换开始
ACC=mode;
sda=ACC1; //输出控制位1,DI=1,单通道输入,DI=0,差分输入。
adclk=1; //第二个脉冲
_nop_();
sda=0;
adclk=0;
_nop_();
sda=ACC0; //输出控制位0,DI=0,通道0输入,DI=1,通道1输入。
adclk=1; //第三个脉冲
_nop_();
sda=1;
adclk=0; //输入模式和通道号已经选择完。

adclk=1; //第四个脉冲
ACC=0;

for(i=8;i>0;i--) //读取8位数据
{
adclk=0; //脉冲下降沿
ACC=ACC<<1;
ACC0=sda; //读取DO端数据
_nop_();
_nop_();
adclk=1;
}
csad=1; //CS=1,片选无效
sda=0;
adclk=0;
return(ACC);
}

//////1062/////////
void ydelay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=10;b>0;b--);
}
void write_com(uchar com)
{
P0=com;
lcwr=0;
lcrs=0;
lcden=0;
ydelay(10);
lcden=1;
ydelay(10);
lcden=0;
lcwr=1;
}

void write_date(uchar date)//写数据
{
P0=date;
lcwr=0;
lcrs=1;
lcden=0;
ydelay(10);
lcden=1;
ydelay(10);
lcden=0;
lcwr=1;
}

void init1602()//初始化
{
write_com(0x38);//设置显示模式
ydelay(20);
write_com(0x0c);//开显示
ydelay(20);
write_com(0x06);//指针和光标自动加一
ydelay(20);
write_com(0x01);//清屏指令
ydelay(20);
}

void delay(uchar count) //delay
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
//////////////显示函数/////////////////
void display(uchar date)
{
uchar a=0,b=0,c=0,k;
uint d;
a=date/51;
d=date%51;
d=d*10;
b=d/51;
d=d%51;
d=d*10;
c=d/51;

dis[8]=table[a];
dis[10]=table[b];
dis[11]=table[c];

write_com(0x82);
delay(2);
for(k=0;k<13;k++)
{
write_date(dis[k]);
delay(2);
}
write_com(0xc0);
for(a=0;a<16;a++)
{
write_date(table3[a]);
delay(2);
}
}

///////主函数/////////////////
void main()
{
uchar i;
init1602();
while(1)
{
i=ADC_read(channel_0);
display(i);
csda=0;
dawr=0;
P0=i;
csda=1;
dawr=1;
}
}

⑻ 单片机课程设计:数字直流电压表的设计;怎么设计

单片机的课程设计,具体题目是:数字直流电压表设计:测量电压为0-5V,精度为0.1V,数码管能实时显示测量电压
联系我!

⑼ 单片机课程设计数字电压表

不就是一个单片机数字电压表吗
我原来从老师那里拷了我们上届全部的资料
这个电压表的报告
10多份啊,哈哈
哈哈
想要就联系我
直接Q里面找
我网络名字
59开头的那个

⑽ 智能仪表课程设计之电压表的设计,求大神帮忙设计程序~!

是用试验箱吗

我做单片机设计的

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919