标题:
Proteus仿真ARM7 LPC2101 AD转换器源程序
[打印本页]
作者:
王薇薇是仙女
时间:
2019-6-7 12:05
标题:
Proteus仿真ARM7 LPC2101 AD转换器源程序
调试时首先观察待测电阻是否工作正常。在电阻的变化端插入电压探针,具体方式在
左边工具探针中选取电压探针(Voltage)运行仿真,点击电阻,观察探针电压是否在不断
变化。
调试流程
绘制 ADC 接口电路
1.在器件库中找到 ADC 转换芯片(ADC0801),如图连接 ADC0801 和总线信号。其中 ADC0801数据线连接数据总线最低字节(D0-D7),读写信号接总线读写信号(NRD,NWR)。其他信
号请按照下图进行连接。
2.片选信号 AD_CS 接译码电路输出(采用部分译码,对应地址为 0x03XXXXXX)。
3.连接模拟输入,在器件库找到可变电阻(POT-HG)。
完成 ADC0801 工作流程编程
现在我们需要用程序控制 ADC 正常工作。主要操作就是先写一次,作为 AD 转换触发信
号,再读取转换结果。为了保证结果能够显示在终端上,我们是使用的上节课设计的 8251
串行通信口。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
888.png
(18.56 KB, 下载次数: 156)
下载附件
2019-6-7 12:04 上传
0.png
(7.51 KB, 下载次数: 156)
下载附件
2019-6-7 19:53 上传
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)
2019-6-7 12:04 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
successhand
时间:
2020-4-3 19:46
有没有C语言版本
作者:
星星落在我头上
时间:
2020-6-10 21:06
程序很完整,但是仿真我有点不会用♀
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1