54dsp十天速成(编辑修改稿)内容摘要:
NT1: RETE。 Timer1 中断 (默认 )或 DMA1 中断 . NOP NOP NOP INT3: RETE。 外部中断 3 NOP NOP NOP HPINT: RETE。 HPI 中断 NOP NOP NOP BRINT1: RETE。 McBSP 1 接收中断 (默认 )或 DMA2 中断 NOP NOP NOP BXINT1: RETE。 McBSP 1 发送中断 (默认 )或 DMA3 中断 NOP NOP NOP DMAC4: RETE。 DMA4 中断 NOP NOP NOP DMAC5: RETE。 DMA5 中断 .end 在本实验中只要把在开头加上中断子程序标号的引用,并在中断表的TINT 部分换成跳转指令就行了: ******************************************************* * for 方波发生器 ******************************************************* .sect .vectors。 开始命名段 .vecotrs .global CodeStart。 引用程序入口的全局符号定义 .global TINT0_ISR。 引用 Timer0 中断子程序 <节省篇幅,中间省略> TINT: B TINT0_ISR。 Timer0 中断 NOP NOP BRINT0: RETE。 McBSP 0 receive interrupt 节省篇幅,下略 技巧提示:只有第一个中断( Reset 中断)是每个程序都应该有的,在不需要其它中断的情况下,可以只用这一部分,后面可以省略。 如果只需要部分中断也可以按需设置,但必须保证所用中断在中断向量表的位置不变。 不熟悉中断向量表的情况下最好还是用这个完整中断向量表样例。 另外 C5400系列中不同型号 DSP的中断向量数量和在中断向量表中的位置有所不同,程序移植时需要查相应 datasheet 确认。 2.中断向量指针 中断向量表的位置并没有强 制的位置,可以在内部存贮器,也可以在外部存贮器。 但有一个要求:中断量表必须放在 80H 字长存贮块的起始处,即中断向量表的首地址的低 7 位必须全为 0。 DSP 的寄存器 PMST 的高 9 位是中断向量表的指针 IPTR。 其上电时默认是在 FF80H 处,这是为了运行固化在内部 ROM 的上电加载程序 (见实验八的程序加载部分 )。 由于 FF80H 是只读的,加载用户自定义的中断向量表时会报错。 这样需要重新设置 IPTR 的值,本书一般把它重定义到 0080H(也可以用自定义的地址),并在程序开头重新设置一下IPTR 的值:。 改变中断向量表位置 K_IPTR .set 0080h。 指向 0080H,默认是 FF80 LDM PMST,A AND 7FH,A。 保留低 7 位,清掉高位 OR K_IPTR,A。 将新值传到高 9 位 STLM A,PMST。 修改 PMST 寄存器 技巧指示:由于这段代码几乎每个程序都需要,可以单独存成一个文件: ,然后在程序需要的地方用 .copy 或 .include 指令: .copy “ ” 或: .include “ ” 编译时就会自动把这段代码嵌到相 应位置。 稍微要注意的是由于这一小段代码要用到累加器 A,所以最好保证执行这段代码之前不要使用累加器 A。 其它还有一些经常重复的代码,如初始化 SP、 DP、 IPTR 的代码都可以写在一个文件里 include/copy 进来。 注 1: .copy和 .inlucde指令效果是一样的,只是在生成程序列表时, .copy 会把代码复制过来,而 .include 不会。 注 2:文件名可以用路径,如果不用,则编译器会按下面的循序搜索:当前目录、编译选项指定的目录、环境变量指定的目录。 更多参考: 1.关于中断: SPRU131 TMS320C54x DSP Reference Set, Volume 1: CPU and Peripherals, Interrupts 2.关于定时器: SPRU131 TMS320C54x DSP Reference Set, Volume 1: CPU and Peripherals, Timer 实验 外部中断:频率计 DSP 有 4 个外部中断 INT0INT3,下降沿触发,实验箱的频率计使用的是 INT3。 频率计的设计原理是:在设定时间下计外部中断 INT3 的次数,除以定时器的定时周期 (也就是乘以定时器中断的触发频率 ),就得到外部脉冲频率。 实验箱上配有 共 8 档频率源,也可以外接频率源。 用跳线冒选择频率源,并接到 INT3 上。 下面的例程是定时器定时 1s,在 INT3 中断服务子程序中计脉冲个数,到时则关闭中断。 脉冲计数结果显示到数码管上,即为以单位为 Hz 的频率值 ********************************************** *频率计 ********************************************** .mmregs .global CodeStart .global TINT1_ISR .global INT3_ISR .include ../ .data DATA_DP: PulseCounter: .word 0。 脉冲计数器 Display: .word 0FH,0FH,0FH,0FH,0FH,0FH。 存放数据管显示值 ,值 F 在数码管上不显示 DotData: .word 000000B。 数码管的 dot point Number10: .word 10。 十六进制转 BCD 所除的 10 .text CodeStart: .copy ../。 初始化 SP、 DP 和 IPTR的代码段 STM 99,AR1。 10ms 计数后再 100 分频 STM Display,AR3。 定义数据管显示存贮区指针 LD 0,A。 A 用来计脉冲数 SSBX INTM。 关中断 CALL Timer1Init。 初始化 Timer1 STM 110000000B,IMR。 允许 Timer1 和 INT3中断 STM 0FFH,IFR。 清除挂起的中断 RSBX INTM。 开中断 wait: B wait。 *************************************** *外部中断子程序 *************************************** INT3_ISR: ADD 1,A。 计中断次数 RETE *************************************** *定时器中断子程序 *************************************** TINT1_ISR: BANZ GoOnCount,*AR1。 测量次数计数器减 1,次数为 0 就中止计数数,。 结束计数 STM 0,IMR。 取消所有中断 HEX2BCD:。 把计数结果转成 BCD 码 RPT 15 SUBC Number10,A STH A,*AR3+ AND 0FFFFH,A BC HEX2BCD,ANEQ。 在数码管上显示结果 STM Display,AR3 PORTW *AR3+,Digital0 PORTW *AR3+,Digital1 PORTW *AR3+,Digital2 PORTW *AR3+,Digital3 PORTW *AR3+,Digital4 PORTW *AR3+,Digital5 PORTW DotData,DotPoint RETE GoOnCount:。 继续计数 STM 1100001B,IFR。 清除挂起的中断 RETE *************************************** *定时器初始化 *************************************** Timer1Init:。 定时器 1 的寄存器地址 TIM1 .set 0030h。 减1计数器 PRD1 .set 0031h。 存放定时时间常数 TCR1 .set 0032h。 定时器状态及控制寄存器。 F=50MHz, T=20ns*(1+15)*(1+3124)=20ns*16*31250=10ms STM 010,TCR1。 TSS 置位停止 Timer STM 31249,PRD1 STM 2FH,TCR1 RET .end 简单起见本例只能测一次,可以做一些改进,比如每隔 12S 自动重新测量,或者用按键来触发测量。 实验 数码管及 LED 显示接口实验 实验箱说明部分已经介绍了数码管的控制原 理,下面的程序 Digital 简单的演示了对数码管和 LED 控制的指令,可以在显示预设的数字和 LED 状态。 复杂的程序可以见附盘的流水灯程序, Digital。 =========================================================。 实验用 DSP 控制实验板数码管。 DSP 用 I/O 指令对 CPLD 地址 100010005 写数据,分别对应 Digtal05。 ========================================================= .mmregs .def main。 主程序入口 .ref Timer0Init。 Timer0 初始化子程序。 数据管地址 Digital0 .set 1000H。 数据管 1 Digital1 .set 1001H。 数据管 2 Digital2 .set 1002H。 数据管 3 Digital3 .set 1003H。 数据管 4 Digital4 .set 1004H。 数据管 5 Digital5 .set 1005H。 数据管 6 DotPoint .set 1006H。 小数点 LED .set 1007H。 LED STACK .usect STACK,10H。 分配堆栈空间 .data DATA: .word 1,2,3,4,5,6。 测试数据 Dot_DATA: .word 010101b。 LED_DATA: .word 0101010b .text main: STM。54dsp十天速成(编辑修改稿)
相关推荐
雅芝表示,作为女人,保养还是很重要的,就算不喜欢化妆,至少应该学会保养,生活规律尤其重要, “我不爱夜生活,很少应酬,生活起居有规律,保持了充足的睡眠,吃得健康,不偏食,不会想吃什么就吃什么。 肉我照吃,不是素食主义者,也喜欢吃辣,但我会注意营养均衡。 ”其次,还要选择适
序交接检验工作,不符合规范要求的,不准进行油漆施工。 要求书面交接。 ( 4) 施工前各种材料必须先报验,经业主及监理确认并进行封样后才能采购。 已报验样品在大批量材料进场时必须经过业主及监理公司 验收出具有关书面验收单后才能正式使用。 关键质量要点 材料的关键要求 ( 1) 应有使用说明、储存有效期和产品合格证,品种、颜色应符合设计要求。 ( 2) 油漆、填充料、催干剂
E=1/R 韦伯定律:三角 I/I=K(韦伯分数 ) 7.心理物理定律 (1) 韦伯定律:⊿ I/I=K (2) 费希纳定律 S=klgI + C (3) 史蒂文定律 Φ =ks(b次方 ) b 由被试给出 8 感觉阈限测量方法 (1)最小变化法 t=Σ (T↑ +T↓ )/2n (2)正误法 (3)平均误差法 (4) 信号质差法 amp。 3.视觉 一.视觉概述 (一 )视觉产生过程
12 mA 74 15 输出低电平电流IOL 54 12 mA 74 24 动态特性 (TA=25℃ ) 参 数 测 试 条 件 LS244 单位 最 大 tPLH输出由低到高传输延迟时间 Vcc =5V CL=45pF RL=667 Ω 18 ns tPHL输出由高 到低传输延迟时间 18 ns tPZH输出由高阻态到高允许时间 23 ns tPZL输出由高阻态到低允许时间 30 ns
了集体的最大损失。 这就是博弈论中著名的 囚徒困境 的故事。 2. 如果大家能够有所 沟通 ,可以相互 信任 ,那么大家一起选择不说真话,那么对于大家来说都是最有利的。 3. 通过这个 反面的例子 可以帮助我们看出,只有集体间相互信任 ,保持 团结合作 ,才能让大家都能获得 最有利 的结局。 如何建立信任(适用:团队建设) 带眼罩行走,两人一组 第一阶段:一个人带眼罩行走,另一人手牵手,可以提示
SL 等。 建议已有 LAN 的小区首选 LAN 的接入方式,其次可考虑采用 ADSL 专线等。 公众区 WLAN 的联网和后台应进行统一规划、统一建设,按业务情况分地区逐步实现。 公众区 WLAN 业务的认证、计费等建议采用集中后台方式。 4 4 公众区 WLAN 热点选点 和覆盖原则 在选择公众区 WLAN 热点的时候,应遵循以下原则: 布线不方便且有上网需求的场所; 有较强辐射力