完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
小弟初学DSP2812,希望哪位大侠帮助小弟解释一下下面这个主程序的意思,谢谢了。
#include "DSP28_Device.h" #include "ext_inf.h" unsigned int Led_Flag; //unsigned int *led_7seg; //unsigned int *led_7seg = (unsigned int *)0x02000; #define led_7seg (*((unsigned int *)0x02400)) void delay_ms(unsigned int n) { unsigned int i,j; for(j=0;j } /*void SendData(Uint16 data);*/ void main(void) { unsigned int k; unsigned int uLED[10]={0x024,0x0af,0x94,0x8c,0x0f,0x4c,0x044,0x0ae,0x004,0x00c}; /*初始化系统*/ InitSysCtrl(); /*关中断*/ DINT; IER = 0x0000; IFR = 0x0000; /*初始化PIE*/ InitPieCtrl(); /*初始化PIE中断矢量表*/ InitPieVectTable(); /*初始化外设*/ InitPeripherals(); /**LedReg = 0xFF; *Led8Lock = 0xB7;*/ // SendData(0xFF); // InitExRam(0); // RamRead(0x4000); // InitExRam1(0x0); // for(i=0x0;i<0x3;i++) // { // *(led_7seg++) = 0x0; // delay_ms(5); // led_7seg = (unsigned int *)0x02400; for(;;) { for ( k=0;k<3;k++ ) { led_7seg = 0x0; delay_ms(40); led_7seg = 0x0ff; delay_ms(40); } for ( k=0;k<10;k++ ) { led_7seg=uLED[k]; // 正向顺序送控制字 delay_ms(60); // 延时 } for ( k=10;k>0;k-- ) { led_7seg=uLED[k-1]; // 正向顺序送控制字 delay_ms(60); // 延时 } } //for(;;); } /*void SendData(Uint16 data) { Uint16 i,Temp; Temp = 0x80; for (i=0;i<8;i++) { if ((data & Temp)==0) ClrData; else SetData; Temp >>= 1; ClrClk; SetClk; } *Led8Lock = 0xB7; *Led8Lock = 0xBF; SetData; }*/ //=========================================================================== // No more. //=========================================================================== |
|
相关推荐
5个回答
|
|
|
|
不错,下载下来看看。。。
|
|
|
|
这个程序很简单。
1、 unsigned int uLED[10]={0x024,0x0af,0x94,0x8c,0x0f,0x4c,0x044,0x0ae,0x004,0x00c};定义一个数组,对于数码二极管来说是0-9; 2、 for ( k=0;k<3;k++ ) { led_7seg = 0x0; delay_ms(40); led_7seg = 0x0ff; delay_ms(40); } 这段是对数码管进行闪烁3次,即全暗然后全亮闪烁; 3、 for ( k=0;k<10;k++ ) { led_7seg=uLED[k]; // 正向顺序送控制字 delay_ms(60); // 延时 } for ( k=10;k>0;k-- ) { led_7seg=uLED[k-1]; // 正向顺序送控制字 delay_ms(60); // 延时 } 这段即为正向显示0-9,然后反向显示9-0 |
|
|
|
谢谢大家对我的帮助了,
|
|
|
|
请问这个程序下面还有一段该怎么理解呀
void SendData(Uint16 data) { Uint16 i,Temp; Temp = 0x80; for (i=0;i<8;i++) { if ((data & Temp)==0) ClrData; else SetData; Temp >>= 1; ClrClk; SetClk; } *Led8Lock = 0xB7; *Led8Lock = 0xBF; SetData; } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
3214 浏览 0 评论
789 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
3646 浏览 0 评论
4408 浏览 1 评论
1368 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:48 , Processed in 0.650375 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号