Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
Lab008
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
Dream Logic Group
实验项目模板
微机原理与接口技术
Lab008
提交
526a2914
提交
526a2914
12月 06, 2018
创建
作者:
李川
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'lab8' into 'master'
更新ram源程序 See merge request
!1
上级
effb1ed8
1c468203
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
99 行增加
和
36 行删除
+99
-36
.gitmodules
.gitmodules
+3
-0
8086
8086
+1
-1
8255
8255
+1
-0
ADC0809_test.dlsche
ADC0809_test.dlsche
+0
-0
ADC0809_test.dlsche.svg
ADC0809_test.dlsche.svg
+0
-0
DAC0832
DAC0832
+1
-1
Lab008.dlproj
Lab008.dlproj
+17
-0
ram.asm
MEM/ram.asm
+36
-15
ram.dbg
MEM/ram.dbg
+0
-0
ram.lst
MEM/ram.lst
+40
-19
ram.rxm
MEM/ram.rxm
+0
-0
top.dlsche
top.dlsche
+0
-0
top.dlsche.svg
top.dlsche.svg
+0
-0
没有找到文件。
.gitmodules
浏览文件 @
526a2914
...
...
@@ -8,3 +8,6 @@
[submodule "DAC0832"]
path = DAC0832
url = https://lichuan@www.codecode.net/engintime/Dream-Logic/Intel-classic-chips/DAC0832.git
[submodule "8255"]
path = 8255
url = https://lichuan@www.codecode.net/engintime/Dream-Logic/Intel-classic-chips/8255.git
8086
@
4614dea2
Subproject commit
0278cc57b2050c74e10bbda5a0b67fb99b83fd58
Subproject commit
4614dea2cce14f4448c4a02e8cf06dbea6185aba
8255
@
688dedca
Subproject commit 688dedca3cf590dce9d50b6172225344fdefa0a5
ADC0809_test.dlsche
浏览文件 @
526a2914
没有这种文件类型的预览
ADC0809_test.dlsche.svg
浏览文件 @
526a2914
差异被折叠。
点击展开。
DAC0832
@
18f27a14
Subproject commit
c37f3a2566cedb0e7e23fd21630cee9f0a85e0e0
Subproject commit
18f27a14e020e279716b0c4be4a8608306cef6bc
Lab008.dlproj
浏览文件 @
526a2914
...
...
@@ -40,6 +40,23 @@
<file
relativepath=
"DAC0832\DAC0832.pdf"
/>
<file
relativepath=
"DAC0832\README.md"
/>
</filefolder>
<filefolder
id=
"8d6994c4-7dc3-47a0-a2a6-787dcb7ee1f2"
name=
"8255"
>
<file
relativepath=
"8255\8255.dlsche"
/>
<file
relativepath=
"8255\8255.pdf"
/>
<file
relativepath=
"8255\A0.dlsche"
/>
<file
relativepath=
"8255\A2.dlsche"
/>
<file
relativepath=
"8255\ac.dlsche"
/>
<file
relativepath=
"8255\ACh.dlsche"
/>
<file
relativepath=
"8255\AIN1.dlsche"
/>
<file
relativepath=
"8255\AOUT1.dlsche"
/>
<file
relativepath=
"8255\B0.dlsche"
/>
<file
relativepath=
"8255\bc.dlsche"
/>
<file
relativepath=
"8255\BCl.dlsche"
/>
<file
relativepath=
"8255\BIN1.dlsche"
/>
<file
relativepath=
"8255\BOUT1.dlsche"
/>
<file
relativepath=
"8255\README.md"
/>
<file
relativepath=
"8255\wrc.dlsche"
/>
</filefolder>
<file
relativepath=
"ADC0809_test.dlsche"
/>
<file
relativepath=
"README.md"
/>
<file
relativepath=
"top.dlsche"
/>
...
...
MEM/ram.asm
浏览文件 @
526a2914
;
test
;
8路模拟量的循环数据采集程序
.
text
BEGIN
:
mov
al
,
0x1a
START
:
mov
al
,
0x98
; 设8255的A,B,C口均为方式0,A口入,B口出,C口高四位入
out
0x83
,
al
mov
dl
,
0xb0
; 8路数据存储空间
mov
bl
,
0
; 通道号,初始指向第8路通道
mov
cl
,
8
; 共采集8路,每路采集一次
UP
:
out
2
,
al
inc
al
cmp
al
,
0x84
jnz
UP
dec
al
AGAIN
:
mov
al
,
bl
out
0x81
,
al
; 送通道地址到B口
DOWN
:
out
2
,
al
dec
al
cmp
al
,
0x19
jnz
DOWN
jmp
BEGIN
or
al
,
8
; 使PB3=1
out
0x81
,
al
; 送ALE信号(上升沿),锁存通道号
and
al
,
0xf7
; 使PB3=0,形成负脉冲START启动信号
out
0x81
,
al
; 输出START启动信号(下降沿)
nop
; 空操作等待转换
WAITING
:
in
al
,
0x82
; 读C口的PC7(即EOC)状态
and
al
,
0x80
; 保留EOC的状态值
jZ
WAITING
; 若EOC=0则等待
mov
al
,
bl
; 若EOC=1,则转换结束,选择通道输出到B口
or
al
,
0x10
; 使PB4=1
out
0x81
,
al
; 当检测到EOC=1时则输出读允许信号OE(=1)
in
al
,
0x80
; 由A口读入转换数据
mov
[dl],
al
; 将转换后的数字量保存到存储区
Inc
dl
; 修改存储指针
inc
bl
; 修改通道号
mov
cl
,
bl
sub
cl
,
8
jnz
AGAIN
;采集下一路模拟输入量
end
:
jmp
end
; 8路采集完毕,进入死循环
MEM/ram.dbg
浏览文件 @
526a2914
没有这种文件类型的预览
MEM/ram.lst
浏览文件 @
526a2914
0001 ;
test
0001 ;
8路模拟量的循环数据采集程序
0002 .text
0003
0004
BEGIN
:
0005 10 01 00
1A mov al, 0x1a
0006
0007
UP:
0008 1
3 4E 00 02 out 2, al
0009 1
6 78 00 inc al
0010
18 47 00 84 cmp al, 0x84
0011
1B 55 13 jnz UP
0012 1
D 79 00 dec a
l
0013
0014
DOWN:
0015
1F 4E 00 02 out 2, al
0016 2
2 79 00 dec al
0017
24 47 00 19 cmp al, 0x19
0018 2
7 55 1F jnz DOWN
0019 2
9 57 10 jmp BEGIN
0020
0004
START
:
0005 10 01 00
98 mov al, 0x98 ; 设8255的A,B,C口均为方式0,A口入,B口出,C口高四位入
0006
13 4E 00 83 out 0x83, al
0007
16 01 03 B0 mov dl, 0xb0 ; 8路数据存储空间
0008 1
9 01 01 00 mov bl, 0 ; 通道号,初始指向第8路通道
0009 1
C 01 02 08 mov cl, 8 ; 共采集8路,每路采集一次
0010
0011
AGAIN:
0012 1
F 02 10 mov al, b
l
0013
21 4E 00 81 out 0x81, al ; 送通道地址到B口
0014
0015
24 38 00 08 or al, 8 ; 使PB3=1
0016 2
7 4E 00 81 out 0x81, al ; 送ALE信号(上升沿),锁存通道号
0017
0018 2
A 30 00 F7 and al, 0xf7 ; 使PB3=0,形成负脉冲START启动信号
0019 2
D 4E 00 81 out 0x81, al ; 输出START启动信号(下降沿)
0020
30 6F nop ; 空操作等待转换
0021
0022
0022 WAITING:
0023 31 4B 00 82 in al, 0x82 ; 读C口的PC7(即EOC)状态
0024 34 30 00 80 and al, 0x80 ; 保留EOC的状态值
0025 37 54 31 jZ WAITING ; 若EOC=0则等待
0026
0027 39 02 10 mov al, bl ; 若EOC=1,则转换结束,选择通道输出到B口
0028 3B 38 00 10 or al, 0x10 ; 使PB4=1
0029 3E 4E 00 81 out 0x81, al ; 当检测到EOC=1时则输出读允许信号OE(=1)
0030
0031 41 4B 00 80 in al, 0x80 ; 由A口读入转换数据
0032 44 05 03 mov [dl], al ; 将转换后的数字量保存到存储区
0033 46 78 03 Inc dl ; 修改存储指针
0034 48 78 01 inc bl ; 修改通道号
0035
0036 4A 02 12 mov cl, bl
0037 4C 1E 02 08 sub cl, 8
0038 4F 55 1F jnz AGAIN ;采集下一路模拟输入量
0039
0040 end:
0041 51 57 51 jmp end ; 8路采集完毕,进入死循环
0042
0043
MEM/ram.rxm
浏览文件 @
526a2914
没有这种文件类型的预览
top.dlsche
浏览文件 @
526a2914
没有这种文件类型的预览
top.dlsche.svg
浏览文件 @
526a2914
差异被折叠。
点击展开。
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论