主要过程:
1 P0口输出数字信号,由logicstate模拟实时输出;
2 DAC0832接收P0的数字信号,将其转化为模拟信号输出,由741转化为电压;
3 ADC0832接收模拟信号,再将其转化为数字信号,由此信号驱动LCD1602;
4 LCD1602一方面显示输入的数字信号,另一方面显示DAC0832转化的模拟电压大小!
单片机源程序如下:
代码:
- #include<reg51.h> //包含单片机寄存器的头文件
- #include<absacc.h> //包含对片外存储器地址进行操作的头文件
- #include<intrins.h>
- #include "1602.C"
- #include "1602_Display.C"
- #include "ADC0832.C"
- sbit CS1=P2^7; //将CS位定义为P2.7引脚
- sbit WR12=P3^6; //将WR12位定义为P3.6引脚
- void main(void)
- {
- unsigned int Output; //储存A/D转换后的值
-
- Lcd_Initiate(); //将液晶初始化
- delaynms(5); //延时5ms给硬件一点反应时间
- display_explain();
- display_symbol();
-
- CS1=0; //输出低电平以选中DAC0832
- WR12=0; //输出低电平以选中DAC0832
- while(1)
- {
- XBYTE[0x7fff]=P0; //将数据i送入片外地址07FFFH ,实际上就是通过P0口将数据送入DAC0832
- delaynms(5);
- display_input(P0); //显示输入数据
- delaynms(5);
-
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
所有资料51hei提供下载: