标题:
基于proteus/keil51单片机的 AD/DA转换实验程序
[打印本页]
作者:
hxy970426
时间:
2019-5-23 13:56
标题:
基于proteus/keil51单片机的 AD/DA转换实验程序
0.png
(178.72 KB, 下载次数: 47)
下载附件
2019-5-30 04:49 上传
一、实验目的
1. 掌握单片机与A/D转换器ADC0809的接口技术;
2. 熟悉模拟信号采集与数据输出显示的综合程序设计与调试方法。
3. 掌握硬件仿真软件ISIS的使用。
二、实验设备(仪器)
计算机
三、实验内容
将调节器一端接+5V,另一端接地,中间抽头接A/D转换芯片ADC0809的任意通道,ADC0809采集来自调节器的0~5V连续可变的模拟电压信号,将其转换为8位数字信号00~FFH后,送单片机处理,并在最右端两位数码管上显示出电压值(显示格式:0.0~5.0),同时最左端数码管显示采集的通道数。
四、实验步骤
1.硬件仿真原理图如图1所示。
2.创建ISIS设计文件,绘制图1仿真原理图。
3.运行Keil uVision2软件,新建工程项目,编写简易数字电压表功能的源程序。
4.对源程序调试,连接,生成可执行文件。
5.切换到ISIS仿真界面,双击AT89C51器件,弹出“edit component”对话框,打开”Program File”文件夹,选中简易数字电压表程序所对应的可执行文件,再点击确定按钮。
6.在ISIS仿真界面中,点击运行按钮,观察运行结果,若结果不正确,再重新调试,编译,直至结果正确。
复习A/D转换器ADC0809芯片的功能引脚及其控制方法和数码管的动态显示控制,并按题目要求编写程序。
单片机源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay();
void display();
sbit START=P2^4;
sbit EOC=P3^2;
sbit OE=P3^0;
sbit ADDA=P2^5;
sbit ADDB=P2^6;
sbit ADDC=P2^7;
uint result;
uchar code tabe0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tabe1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
void main()
{
while(1)
{
ADDA=1; //通道5
ADDB=0;
ADDC=1;
START=0;
START=1;
START=0;
while(EOC==0);
OE=1;
result=P1;
OE=0;
display();
}
}
void delay(uint k)
{
uint i,t;
for(i=0;i<100;i++)
for(t=0;t<k;t++);
}
//void delay()
//{
// uint i;
// for(i=0;i<1000;i++);
//
//}
void display()
{
P2=0x0b;
P0=tabe1[result/51]; //个位
delay(10);
P2=0x07;
P0=tabe0[((result*10)/51)%10]; //小数点后位
delay(10);
P2=0x0e;
P0=tabe0[5];
delay(10);
}
复制代码
所有资料51hei提供下载:
AD8(1).zip
(71.95 KB, 下载次数: 68)
2019-5-23 13:56 上传
点击文件名下载附件
下载积分: 黑币 -5
实验八 AD转换实验.docx
(42.7 KB, 下载次数: 30)
2019-5-23 13:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
hxy970426
时间:
2019-5-23 13:58
C语言的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1