- 博客(0)
- 资源 (3)
空空如也
stm32系列资料
STM32F103ZET6开发板提供了丰富的软件资源,一共有150多个例程,分为初级、
中级和高级三个部分,可以全面满足用户的需求。
■ 初级部分:提供80个试验例程
■ 中级部分:提供40个试验例程
涉及到STM32的很多方面,有些是从51程序移植过来的,适合从51向STM32转变
■ 高级部分:提供30个试验例程
包括STM32虚拟串口例程、STM32 U盘功能读写、STM32 SD卡读卡器例程、
ucGUI演示系统和LabVIEW实验例程等。通过这些高级例程,用户可以掌握STM32的高级
应用,以及LabVIEW上位机软件的使用。
2015-07-20
msp430系列芯片数据手册
MSP430的CPU采用16位RISC架构,具有高度的应用开发透明性。除了流程控制指令,所有的操作都以寄存器操作的形式进行,其中源操作数有七种寻址方式,目的操作数有四种寻址方式。
该CPU集成了16个寄存器,用于缩短指令执行时间可以在一个时钟周期内完成寄存器间操作。其中R0-R3这四个寄存器被用作特殊功能寄存器,分别作为程序计数器、堆栈指针、状态寄存器、常数发生器,其余寄存器用作通用寄存器。外围设备通过数据、抵制、控制总线与CPU相连,通过所有指令可以很容易的对它们进行控制。
2.指令集
整个指令集由51条指令构成,具有三种格式和七种寻址方式。每一条指令都既可以做字操作,又可做字节操作。
表1总结了三种指令格式并举例,寻址方式见表2
2015-07-20
MSP430G2553数据手册
void mcu_init()
{
WDTCTL = WDTPW + WDTHOLD;
WDTCTL=WDTPW+WDTHOLD;
BCSCTL1=CALBC1_1MHZ;
DCOCTL=CALDCO_1MHZ;
BCSCTL3|=LFXT1S_0;
IFG1&=~OFIFG;
BCSCTL2 |=SELM_1 + DIVM_0;
lcd_port_dir|=RST+SCE+D_C+DIN+SCK;
lcd_port_out=RST+SCE+D_C+DIN+SCK;
//lcd_back_dir|=BIT4;
//cd_back_out|=BIT4;
}
void lcd_write(uchar dat,uchar cmd)
{
uchar i;
lcd_port_out&=~SCE;
if(cmd) lcd_port_out|=D_C;
else lcd_port_out&=~D_C;
for(i=0;i<8;i++)
{
if(dat&0x80) lcd_port_out|=DIN;
else lcd_port_out&=~DIN;
dat<<=1;
lcd_port_out&=~SCK;
lcd_port_out|=SCK;
}
lcd_port_out|=SCE;
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
//LCD_init: LCD初始化
void LCD_init(void)
{
lcd_port_out&=~RST;
delay_1ms();
lcd_port_out|=RST;
delay_1ms();
lcd_port_out&=~SCE;
delay_1ms();
lcd_port_out|=SCE;
delay_1ms();
lcd_write(0x21,0);//初始化Lcd,功能设定使用扩充指令
lcd_write(0xd0,0);//设定液晶偏置电压
lcd_write(0x06,0);
lcd_write(0x13,0);
lcd_write(0x20,0);//使用基本指令 水平寻址
lcd_write(0x0C,0);//设定显示模式,正常显示
//lcd_write0x0D,0); //设定显示模式,反白显示
lcd_port_out&=~SCE;//选择芯片SCE=0;
}
/////////////////////////////////////////////////////////////
void lcd_s_xy(uchar x,uchar y)
{
lcd_write(0x40|y,0);
lcd_write(0x80|x,0);
}
void LCD_Clear(void)
{
uchar x;
uchar y;
lcd_s_xy(0,0);
lcd_write(0x0c,0);
lcd_write(0x80,0);
for(y=0;y<=5;y++)
{
for(x=0;x<=83;x++)
{
lcd_write(0x00,1);
}
}
}
void display_ASIll(uchar s_x,uchar s_y,uchar ASI)
{
uchar i;
lcd_s_xy(s_x*8,s_y);
for(i=0;i<8;i++)
{
lcd_write(nAsciiDot[ASI-0X20][i],1);
}
lcd_s_xy(s_x*8,s_y+1);
for(i=8;i<16;i++)
{
lcd_write(nAsciiDot[ASI-0X20][i],1);
}
}
void Display_hz(uchar S_X,uchar S_Y,uchar n)///汉字显示函数S_X为x坐标;y为纵坐标;n为显示第几个汉字;
{
uchar i,j;
uchar dx;
lcd_s_xy( S_X*16, S_Y);
for(i=0;i<16;i++)
{
dx=Chinese_table[i+n*32];
lcd_write(dx,1);
}
lcd_s_xy( S_X*16, S_Y+1);
for(j=0;j<16;j++)
{
dx=Chinese_table[j+16+n*32];
lcd_write(dx,1);
}
}
void LCD_Write_str68(uchar x, uchar y,uchar *string)
{
uchar i;
lcd_s_xy(x*8,y);
while(!(*string=='\0'))
{
for(i=0; i<6;i++)
{
lcd_write(font6x8[*string-0x20][i],1);
}
string++;
}
}
/*void lcd_draw_bmp(uchar x,uchar y,const uchar *map,uchar pin_x_y,uchar pin_x_x)
{
uint n,i;
uchar row;
if(pin_x_y%8==0)
row=pin_x_y/8;
else row=pin_x_y/8+1;
lcd_s_xy(x,y);
for(n=0;n<row;n++)
for(i=0;i< pin_x_x;i++)
{
lcd_s_xy(x+i,y+n);
lcd_write(map[i+n*pin_x_x],1);
}
}*/
void lcd_draw_bmp(uchar x,uchar y,const uchar map[][84],uchar pin_x_y,uchar pin_x_x)
{
uint n,i;
uchar row;
if(pin_x_y%8==0)
row=pin_x_y/8;
else row=pin_x_y/8+1;
lcd_s_xy(x,y);
for(n=0;n<row;n++)
for(i=0;i< pin_x_x;i++)
{
lcd_s_xy(x+i,y+n);
lcd_write(map[n][i],1);////*(p+i)等价与p[i]
}
}
2015-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人