上海理工大学 DSP讲义07课件PPT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;第8个灯 LOOP1,TC ;是则重新赋值
WAIT
LOOP1:LDP SPLK
WAIT: B
;;;;;系统初始化 SYSINIT:
SETC CLRC CLRC CLRC LDP SPLK SPLK LDP SPLK SPLK RET
#05H #01H,IOSFT_REG NOP LOOP
INTM SXM OVM CNF #0E0H #81FEH,SCSR1 #0E8H,WDCR #0H #0000H,IMR #0FFFFH,IFR
数字I/O控制寄存器地址
地址
7090h 7092h 7094h 7098h 709Ah 709Ch 709Eh 7095h 7096h
寄存器名
MCRA MCRB MCRC PADATDIR PBDATDIR PCDATDIR PDDATDIR PEDATDIR PFDATDIR
说明
IO复用控制寄存器A IO复用控制寄存器B IO复用控制寄存器C IO端口A数据和方向寄存器 IO端口B数据和方向寄存器 IO端口C数据和方向寄存器 IO端口D数据和方向寄存器 IO端口E数据和方向寄存器 IO端口F数据和方向寄存器
BCND B
#DP_PF2
PFDATDIR
#0404
;IOPF2输出高电平
PFDATDIR;开74HC273
#05H IOSFT_REG #DP_PF2 PBDATDIR PFDATDIR #0FFFBH PFDATDIR
;IOPF2=0,273锁定输出
DELAY
#05H IOSFT_REG
IOSFT_REG IOSFT_REG,BIT8;判断是否循环完,点亮
LACL AND SACL
LACL OR SACL
LDP SPLK
.usect .usect .include .def .text
".data0",1 ".data0",1 "F2407REGS.h" _c_int0
SYSINIT #DP_PF2 MCRA #00FFH MCRA
;#0E1,指向7080h-7100h
MCRA,MCRB,MCRC-复用控制寄存器
15
14
13
12 11 10
9
8
MCRA.15
MCRA.8
7
6
5
4
3
MCRA.7
2Байду номын сангаас
1
0
MCRA.0
引脚功能选择位 0:一般IO口,IOPA.0 1:基本功能,SCITXD
PADATDIR,PxDATDIR-数据和方向控制寄存器
15
14
13
12 11 10
;;;延时去抖动 LDP LACL SACL LDP BIT BCND SPLK
K1_RET: RET
#DP_PF2 MCRC #0F7FFH PFDATDIR
#DP_PF2 PFDATDIR KEYDATA #5 KEYDATA,BIT3 K1_RET,TC
;若为1则K1没有按下
#DP_PF2 PFDATDIR KEYDATA #5 KEYDATA,BIT3 K1_RET,TC #0FFH,IOSFT_REG ;给显示的数据
END!
TMS320LF240x DSP 结构原理及应用(第6章)
主讲教师: 杨海马
第6章:数字输入I/O口模块
6.1 概述
LF240x有多达41个通用、双向的数字I/O,通过9个16 位控制寄存器可以实现复选功能,这些寄存器分为两类:
I/O口复用控制寄存器MCRx:用来控制I/O引脚作为基本 功能或一般I/O脚
MCRC #0FBFFH MCRC
;IOPF2配置为一般IO
PBDATDIR #0FF00H PBDATDIR
;IOPB口设为输出方式,低电平
#5H #01H,IOSFT_REG
LOOP: LDP LACL OR SACL
LDP LACL LDP SACL LACL AND SACL
CALL
LDP LACL SFL SACL BIT
数据和方向控制寄存器PxDATDIR:当IO引脚用作一般IO 引脚功能时,用数据和方向控制寄存器可控制数据和IO引 脚的数据方向。
6.2 数字I/O口寄存器
复用引脚结构
I/O端口数据位(读/ 写)
基本功能
I/O端口方向位 (0入,1出)
输入
上拉 下拉
输出 01
MUX控制位
0 I/O功能 1基本功能
9
8
A7DIR
A0DIR
7
6
5
4
3
IOPA7
AnDIR位
2
1
0
0:输入
IOPA0 1:输出
IOPA0位 0:低电平 1:高电平
6.3 I/O口应用
作为输出 循环点亮8个LED 主程序如下
74HC273 驱动8个共阴极LED 利用IOPB口作为输出
IOSFT_REG KEYDATA
_c_int0 CALL LDP LACL AND SACL
;;;;软件延时 DELAY:
MAR LAR LAR DELAY1: SBRK NOP CMPR BCND RET
*,AR4 AR4,#0FFFEH AR0,#00H
#1
00 DELAY1,NTC
作为输入
键盘处理程序
IOINIT: LDP LACL AND SACL RET
READKEY: LDP LACL SACL LDP BIT BCND
WAIT
LOOP1:LDP SPLK
WAIT: B
;;;;;系统初始化 SYSINIT:
SETC CLRC CLRC CLRC LDP SPLK SPLK LDP SPLK SPLK RET
#05H #01H,IOSFT_REG NOP LOOP
INTM SXM OVM CNF #0E0H #81FEH,SCSR1 #0E8H,WDCR #0H #0000H,IMR #0FFFFH,IFR
数字I/O控制寄存器地址
地址
7090h 7092h 7094h 7098h 709Ah 709Ch 709Eh 7095h 7096h
寄存器名
MCRA MCRB MCRC PADATDIR PBDATDIR PCDATDIR PDDATDIR PEDATDIR PFDATDIR
说明
IO复用控制寄存器A IO复用控制寄存器B IO复用控制寄存器C IO端口A数据和方向寄存器 IO端口B数据和方向寄存器 IO端口C数据和方向寄存器 IO端口D数据和方向寄存器 IO端口E数据和方向寄存器 IO端口F数据和方向寄存器
BCND B
#DP_PF2
PFDATDIR
#0404
;IOPF2输出高电平
PFDATDIR;开74HC273
#05H IOSFT_REG #DP_PF2 PBDATDIR PFDATDIR #0FFFBH PFDATDIR
;IOPF2=0,273锁定输出
DELAY
#05H IOSFT_REG
IOSFT_REG IOSFT_REG,BIT8;判断是否循环完,点亮
LACL AND SACL
LACL OR SACL
LDP SPLK
.usect .usect .include .def .text
".data0",1 ".data0",1 "F2407REGS.h" _c_int0
SYSINIT #DP_PF2 MCRA #00FFH MCRA
;#0E1,指向7080h-7100h
MCRA,MCRB,MCRC-复用控制寄存器
15
14
13
12 11 10
9
8
MCRA.15
MCRA.8
7
6
5
4
3
MCRA.7
2Байду номын сангаас
1
0
MCRA.0
引脚功能选择位 0:一般IO口,IOPA.0 1:基本功能,SCITXD
PADATDIR,PxDATDIR-数据和方向控制寄存器
15
14
13
12 11 10
;;;延时去抖动 LDP LACL SACL LDP BIT BCND SPLK
K1_RET: RET
#DP_PF2 MCRC #0F7FFH PFDATDIR
#DP_PF2 PFDATDIR KEYDATA #5 KEYDATA,BIT3 K1_RET,TC
;若为1则K1没有按下
#DP_PF2 PFDATDIR KEYDATA #5 KEYDATA,BIT3 K1_RET,TC #0FFH,IOSFT_REG ;给显示的数据
END!
TMS320LF240x DSP 结构原理及应用(第6章)
主讲教师: 杨海马
第6章:数字输入I/O口模块
6.1 概述
LF240x有多达41个通用、双向的数字I/O,通过9个16 位控制寄存器可以实现复选功能,这些寄存器分为两类:
I/O口复用控制寄存器MCRx:用来控制I/O引脚作为基本 功能或一般I/O脚
MCRC #0FBFFH MCRC
;IOPF2配置为一般IO
PBDATDIR #0FF00H PBDATDIR
;IOPB口设为输出方式,低电平
#5H #01H,IOSFT_REG
LOOP: LDP LACL OR SACL
LDP LACL LDP SACL LACL AND SACL
CALL
LDP LACL SFL SACL BIT
数据和方向控制寄存器PxDATDIR:当IO引脚用作一般IO 引脚功能时,用数据和方向控制寄存器可控制数据和IO引 脚的数据方向。
6.2 数字I/O口寄存器
复用引脚结构
I/O端口数据位(读/ 写)
基本功能
I/O端口方向位 (0入,1出)
输入
上拉 下拉
输出 01
MUX控制位
0 I/O功能 1基本功能
9
8
A7DIR
A0DIR
7
6
5
4
3
IOPA7
AnDIR位
2
1
0
0:输入
IOPA0 1:输出
IOPA0位 0:低电平 1:高电平
6.3 I/O口应用
作为输出 循环点亮8个LED 主程序如下
74HC273 驱动8个共阴极LED 利用IOPB口作为输出
IOSFT_REG KEYDATA
_c_int0 CALL LDP LACL AND SACL
;;;;软件延时 DELAY:
MAR LAR LAR DELAY1: SBRK NOP CMPR BCND RET
*,AR4 AR4,#0FFFEH AR0,#00H
#1
00 DELAY1,NTC
作为输入
键盘处理程序
IOINIT: LDP LACL AND SACL RET
READKEY: LDP LACL SACL LDP BIT BCND