|
TI C54xx DSP 十天速成讲义 <四>
[复制链接]
实验4.1 数码管及LED显示接口实验实验箱说明部分已经介绍了数码管的控制原理,下面的程序DigitalLED.asm简单的演示了对数码管和LED控制的指令,可以在显示预设的数字和LED状态。复杂的程序可以见附盘的流水灯程序,DigitalLED2.asm ;========================================================= ;DigitalLED.asm ;实验用DSP控制实验板数码管 ;DSP用I/O指令对CPLD地址1000-10005写数据,分别对应Digtal0-5 ;========================================================= .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 #STACK+10H,SP ;设堆栈指针SP STM #K_SWWSR,SWWSR SSBX INTM ;关中断 LD #DATA,DP ;设数据地址DP STM #DATA,AR1 *写数据 PORTW *AR1+,Digital0 PORTW *AR1+,Digital1 PORTW *AR1+,Digital2 PORTW *AR1+,Digital3 PORTW *AR1+,Digital4 PORTW *AR1+,Digital5 PORTW Dot_DATA,DotPoint PORTW LED_DATA,LED END: B END .end 技巧提示:数码管、LED的IO地址的定义也可以单独存到一个文件中,在需要它的程序中用.include/.copy指令。练习:修改预设值重新运行观察结果。
|
|