05V数字式直流电压表设计实验报告《电子与控制系统设计》实验报告Word文档格式.docx
- 文档编号:15674930
- 上传时间:2022-11-12
- 格式:DOCX
- 页数:16
- 大小:72.58KB
05V数字式直流电压表设计实验报告《电子与控制系统设计》实验报告Word文档格式.docx
《05V数字式直流电压表设计实验报告《电子与控制系统设计》实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《05V数字式直流电压表设计实验报告《电子与控制系统设计》实验报告Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
综合
设计
其他
*
一、实验目的
1.掌握A/D转换程序的设计;
2.掌握数据采集与显示的应用;
3.掌握数据处理的方法;
二、实验内容
1.编一程序,实现0~5V数字式直流电压表功能,用电位器RV1作模拟量的输入,右边4
位数码管显示输入电压值,使用PA7进行模拟量输入。
其仿真电路见下图5-1所示。
图5-10~5V数字式直流电压表仿真电路图
2.实现输入信号的幅值为0~10V,重新设计实现电路和算法程序,电路图如5-2所示。
图5-20~10V数字式直流电压表仿真电路图
三、使用仪器设备及材料
1、安装windowsxp操作系统的微型计算机1台
2、AVR单片机C语言集成开发环境ICCAVR6.31A
3、单片机仿真平台proteus7.5
4、AVR单片机下载软件progisp
5、AVR单片机实验板1套(含下载器)
四、实验过程原始记录
1、主程序流程图
2.显示函数流程图:
2、软件主要程序及注解
驱动程序:
/*******LCD1602液晶驱动程序***************/
#include<
iom16v.h>
macros.h>
#definextal8
#definePB00
#definePB11
#definePB22
//----------------------------
#defineucharunsignedchar
#defineuintunsignedint
#defineSET_BIT(x,y)(x|=(1<
<
y))
#defineCLR_BIT(x,y)(x&
=~(1<
#defineGET_BIT(x,y)(x&
=(1<
//-------端口电平的宏定义------------
#defineLCM_RS_1SET_BIT(PORTB,PB0)
#defineLCM_RS_0CLR_BIT(PORTB,PB0)
#defineLCM_RW_1SET_BIT(PORTB,PB1)
#defineLCM_RW_0CLR_BIT(PORTB,PB1)
#defineLCM_EN_1SET_BIT(PORTB,PB2)
#defineLCM_EN_0CLR_BIT(PORTB,PB2)
//------------------------------
#defineDataPortPORTA
#defineBusy0x80
//**********函数声明********************
voidDelay_1ms(void);
voidDelay_nms(uintn);
voidLcdWriteData(ucharW);
voidLcdWriteCommand(ucharCMD);
voidInitLcd(void);
voidDisplayLine2(uchardd);
voidDisplayOneChar(ucharx,uchary,ucharWdata);
voidePutstr(ucharx,uchary,ucharconst*ptr);
/***********显示指定坐标的一串字符子函数************/
voidePutstr(ucharx,uchary,ucharconst*ptr)
{
uchari,l=0;
while(ptr[l]>
31){l++;
}
for(i=0;
i<
l;
i++){
DisplayOneChar(x++,y,ptr[i]);
if(x==16){
x=0;
y^=1;
}
//**********演示第二行移动字符串子函数************
voidDisplayLine2(uchardd)
uchari;
16;
DisplayOneChar(i,1,dd++);
dd&
=0x7f;
if(dd<
32)dd=32;
//***********显示光标定位子函数******************
voidLocateXY(charposx,charposy)
uchartemp=0;
temp&
temp=posx&
0x0f;
posy&
=0x01;
if(posy)temp|=0x40;
temp|=0x80;
LcdWriteCommand(temp);
//**********显示光标定位的一个字符子函数***********
voidDisplayOneChar(ucharx,uchary,ucharWdata)
LocateXY(x,y);
LcdWriteData(Wdata);
//***********LCD初始化子函数******************
voidInitLcd(void)
LcdWriteCommand(0x38);
//显示模式设置(固定),8位数据接口
Delay_nms(5);
LcdWriteCommand(0x01);
//清屏
LcdWriteCommand(0x0c);
//开显示,不显示光标
//************写命令到LCM子函数************
voidLcdWriteCommand(ucharCMD)
LCM_RS_0;
LCM_RW_0;
DataPort=CMD;
LCM_EN_1;
Delay_nms
(1);
LCM_EN_0;
//************写数据到LCM子函数*************
voidLcdWriteData(uchardataW)
LCM_RS_1;
DataPort=dataW;
//***********1ms延时子函数*******************
voidDelay_1ms(void)
{uinti;
for(i=1;
(uint)(xtal*143-2);
i++);
//=============n*1ms延时子函数================
voidDelay_nms(uintn)
uinti=0;
while(i<
n)
{Delay_1ms();
i++;
}
0~5V数字式直流电压表程序:
ucharconstSEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//单个数码管1~9显示
ucharconstACT[4]={0xfe,0xfd,0xfb,0xf7};
//选通数码管
uintadc_val,dis_val;
uchari,cnt;
/************************************************/
voidport_init(void)
PORTA=0x7F;
DDRA=0x7F;
PORTB=0xFF;
DDRB=0xFF;
PORTC=0xFF;
DDRC=0xFF;
PORTD=0xFF;
DDRD=0xFF;
voidadc_init(void){
ADCSRA=0xE3;
ADMUX=0x47;
//***************************
voidtimer0_init(void){
TCNT0=0x83;
TCCR0=0x03;
TIMSK=0x01;
/*********************************************/
voidinit_devices(void)
port_init();
timer0_init();
adc_init();
SREG=0x80;
#pragmainterrupt_handlertimer0_ovf_isr:
10
voidtimer0_ovf_isr(void)
TCNT0=0x83;
cnt++;
//=========================
uintADC_Convert(void)
{uinttemp1,temp2;
temp1=(uint)ADCL;
temp2=(uint)ADCH;
temp2=(temp2<
8)+temp1;
return(temp2);
/**************************/
uintconv(uinti)
longx;
uinty;
x=(5000*(long)i)/1023;
y=(uint)x;
returny;
voiddelay(uintk)
uinti,j;
k;
i++)
{
for(j=0;
j<
1141;
j++);
/***********************/
voidmain(void)
init_devices();
delay(400);
DDRA=0X7F;
PORTA=0X7F;
DDRC=0XFF;
PORTC=0X00;
DDRB=0XFF;
PORTB=0X00;
while
(1)
if(cnt>
100)
adc_val=ADC_Convert();
dis_val=conv(adc_val);
cnt=0;
delay(10);
100;
PORTC=ACT[0];
PORTB=SEG7[d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子与控制系统设计 05 数字式 直流 电压表 设计 实验 报告 电子 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)