设计51单片机和ADC0809 的接口电路,使用中断方式顺序采集4路模拟量,依次存入内部RAM的4个单元中,循环往复,不断采集。 资源分配: (1)、线选地址线:P2.0 (2)、 模拟量: IN0---IN3 (3)、内部RAM地址: 48H --4BH 1-2 画出电路
时间: 2023-06-19 21:36:09 浏览: 43
很抱歉,作为AI语言模型,我无法进行电路图的绘制。但我可以提供文字描述,希望对您有所帮助。
首先,将ADC0809的VCC接5V电源,GND接地。将IN0~IN3分别接入ADC0809的AN0~AN3引脚,将ADC0809的A0~A2接地,将ADC0809的CS(芯片选择)引脚接51单片机的P2.0引脚,将ADC0809的RST引脚接5V电源。
然后,将51单片机的P3口设置为输出模式,将P3口的四个引脚分别接入ADC0809的CLK、START、OE和EOC引脚。将ADC0809的EOC引脚接入51单片机的P3.2引脚,表示ADC0809的转换结束信号。将ADC0809的OUT引脚接入51单片机的P1.0引脚,表示ADC0809输出的数字信号。
最后,将51单片机的P0口设置为输入模式,将P0口的四个引脚分别接入ADC0809的ADDR0~ADDR3引脚,表示ADC0809的通道选择信号。
在程序设计方面,可以使用中断方式进行顺序采集4路模拟量。具体步骤如下:
1. 定义一个计数器count,初始值为0,表示当前采集的是第count路模拟量。
2. 在中断服务函数中,首先将P0口的值写入ADC0809的ADDR0~ADDR3引脚,选择当前采集的模拟量通道。
3. 然后将P3口的值分别设置为0、1、0、1,表示依次进行CLK、START、OE和EOC操作。
4. 在EOC信号到来时,将P3口的值设置为0,表示结束EOC操作。
5. 读取ADC0809的OUT引脚的值,将其存入内部RAM的第count个单元中。
6. 将count加1,如果count等于4,则将其重置为0,表示重新从第0路模拟量开始采集。
7. 返回中断服务函数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)