TI C54xx DSP 十天速成讲义 <四>

[replyview]实验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指令。
练习:修改预设值重新运行观察结果。
[/replyview]
关键词: C54xx 十天 速成 讲义 数据
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏50分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 |