|
大家好,小弟又来了!!
今年小弟大学毕业班,可这学校大四了才上周立功的LPC。
碰上这阵子没钱,只能使用Proteus。之前对仿真软件的印象挺好的,例如模电的LTspice,ORCAD..
可我发现Proteus的问题 真的让我摸不着头脑
ARM老师布置了一个作业,数码管0~9显示,小弟很快就做好了,今天下午把proteus从7.7升级到7.8
安装文件链接如下:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4789743&bbs_page_no=1&search_mode=4&search_text=Helloeveryon&bbs_id=9999
不想就出问题了,烧写个简单的程序,把一个IO口拉高,愣是没反应。。
主程序部分:
/****************************************************************************
′íÎó×ü½á£o
μí¼¶′íÎó£¡
****************************************************************************/
//#include "../lib/config.h"
#include "config.h"
#include "74HC595.h"
//#define buzz 1<<7 //ÕaÖÖ·½ê½Ã2ËÆ2»±»ê¶±e
#define buzz 0x00000080
const uint8 DISP_TAB[10] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};
/****************************************************************************
* Ãû3Æ£omain()
* 1|Äü£o¸ù¾Y±íDISP_TABà′¿ØÖÆLEDÏÔ꾡£
****************************************************************************/
int main(void)
{ uint8 i;
PINSEL0 = 0x00000000; // éèÖÃ1ü½ÅᬽóGPIO
IODIR = SPI_IOCON; // éèÖÃSPI¿ØÖÆ¿úÎaêä3ö
//IOSET = buzz;
//IOCLR = buzz;
while(1) ;
{
//for(i=0; i<10; i++)
// {
// HC595_SendDat(DISP_TAB); // êä3öLEDÏÔê¾êy¾Y
// DelayNS(300); // Ñóê±
// }
IOSET = SPI_CS;
}
return(0);
}
595.H的宏定义如下:
#define SPI_CS 0x00000100 /* P0.8 */
#define SPI_DATA 0x00000040 /* P0.6 */
#define SPI_CLK 0x00000010 /* P0.4 */
#define SPI_IOCON 0x00000150 /* ¶¨òåSPI½ó¿úμÄI/OéèÖÃ×Ö */
附上proteus的图:
(原文件名:QQ截图未命名.png)
从图上可以看出,那三个IO口是处于GPIO模式,可是死循环里面的“ IOSET = SPI_CS;”
怎么就没反应呢???? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|