调试时首先观察待测电阻是否工作正常。在电阻的变化端插入电压探针,具体方式在
左边工具探针中选取电压探针(Voltage)运行仿真,点击电阻,观察探针电压是否在不断
变化。
调试流程
绘制 ADC 接口电路
1.在器件库中找到 ADC 转换芯片(ADC0801),如图连接 ADC0801 和总线信号。其中 ADC0801数据线连接数据总线最低字节(D0-D7),读写信号接总线读写信号(NRD,NWR)。其他信
号请按照下图进行连接。
2.片选信号 AD_CS 接译码电路输出(采用部分译码,对应地址为 0x03XXXXXX)。
3.连接模拟输入,在器件库找到可变电阻(POT-HG)。
完成 ADC0801 工作流程编程
现在我们需要用程序控制 ADC 正常工作。主要操作就是先写一次,作为 AD 转换触发信
号,再读取转换结果。为了保证结果能够显示在终端上,我们是使用的上节课设计的 8251
串行通信口。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
LPC2101源程序如下:
- area init,code,readonly
- entry
- ldr r3,=0x04000000 ;//芯片 8251 数据端口
- ldr r4,=0x04000004 ;//芯片 8251 控制、状态端口
- ldr r7,=0x03000000 ;//芯片 AD0801 的端口地址
- ldr r6,=0x0
- ;//8251 初始化 1. 首先向控制端发送 3 个 0
- ldr r1,=0x0
- strb r1,[r4]
- ldr r1,=0x0
- strb r1,[r4]
- ldr r1,=0x0
- strb r1,[r4]
- ;//2. 软件复位
- ldr r1,=0x40
- strb r1,[r4]
- ;//3. 方式控制字
- ldr r1,=0x4d ;//0b01001101 1 位停止位 无校验 8 位数据 波特率系数*1
- strb r1,[r4]
- ;//4. 命令控制字
- ldr r1,=0x01;//0b00000001 发送使能
- strb r1,[r4]
- ;//查询式输出
- lp
- ldr r1,[r4]
- tst r1,#0x01;//读状态,检查 TxRdy 是否准备好
- beq lp
- str r2,[r7]
- ldr r2,[r7]
- str r2,[r3]
- Delay
- add r6,#1
- cmp r6,#0x2000
- bne Delay
- ldr r6,=0x0
- b lp
- end
复制代码
所有资料51hei提供下载:
AD转换器.zip
(106.29 KB, 下载次数: 39)
|