-
xuexiexuexi
-
你是那个华兄吗 我加你qq了
想跟你学习 ucosii
-
移动搜索
-
靶子四周装激光发射器 炮台装两排激光接受头
先搜索靶子 找到靶子定外 在发射
不知有用否
-
楼主可以给我查查吗 怎么还没有我 快哭了
-
焦急等待 感谢楼主
-
第二期(5月19-25日)获奖名单公布
铁电有我的
-
25号的呀
https://bbs.eeworld.com.cn/viewth ... 26amp%3Btypeid%3D66
-
第二周获得的launchpad 还有铁电 为什么没有我
是ti审查没有通过吗
-
gei li
-
其实很简单的你看看就懂了
希望eeworld能给个touchpad
-
用51仿真
由于我的msp430只有四个按键 所以就只能上下左右了
原来有51仿真的是有按键不限 所以启动暂停继续 停止就都上了键盘
把proteus仿真也传上来
-
要是有一个ti的 touchpad 电容触摸板控制就给力了
ti是不是能给申请一个呢
-
vb上位机图片
-
//使用单片机的串口0//P10~P13输入模式,接四个按键//#include <msp430x14x.h>
#define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char#define uint unsigned int#define ulong unsigned long
/*当BRCLK=CPU_F时用下面的公式可以计算,否则要根据设置加入分频系数*/#define baud 9600 //设置波特率的大小#define baud_setting (uint)((ulong)CPU_F/((ulong)baud)) //波特率计算公式#define baud_h (uchar)(baud_setting>>8) //提取高位#define baud_l (uchar)(baud_setting) //低位#define KeyPort P1IN //*************************************************************************// 系统时钟初始化//*************************************************************************void Clock_Init(){ uchar i; BCSCTL1&=~XT2OFF; //打开XT振荡器 BCSCTL2|=SELM1+SELS; //MCLK为8MHZ,SMCLK为8MHZ do{ IFG1&=~OFIFG; //清除震荡标志 for(i=0;i<100;i++) _NOP(); //延时等待 } while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待 IFG1&=~OFIFG; }//*************************************************************************// MSP430内部看门狗初始化//*************************************************************************void WDT_Init(){ WDTCTL = WDTPW + WDTHOLD; //关闭看门狗}
//*************************************************************************// MSP430串口初始化//*************************************************************************void UART_Init(){ U0CTL|=SWRST; //复位SWRST U0CTL|=CHAR; //8位数据模式 U0TCTL|=SSEL1; //SMCLK为串口时钟 U0BR1=baud_h; //BRCLK=8MHZ,Baud=BRCLK/N U0BR0=baud_l; //N=UBR+(UxMCTL)/8 U0MCTL=0x00; //微调寄存器为0,波特率9600bps ME1|=UTXE0; //UART1发送使能 ME1|=URXE0; //UART1接收使能 U0CTL&=~SWRST; IE1|=URXIE0; //接收中断使能位 P3SEL|= BIT4; //设置IO口为普通I/O模式 P3DIR|= BIT4; //设置IO口方向为输出 P3SEL|= BIT5;}
//*************************************************************************// 串口0发送数据函数//*************************************************************************
void Send_Byte(uchar data){ while((IFG1&UTXIFG0)==0); //发送寄存器空的时候发送数据 U0TXBUF=data;}
//*************************************************************************// 处理来自串口 0 的接收中断//*************************************************************************
#pragma vector=UART0RX_VECTOR__interrupt void UART0_RX_ISR(void){
} //*************************************************************************// 处理来自串口 0 的发送中断,预留//*************************************************************************
#pragma vector=UART0TX_VECTOR__interrupt void UART0_TX_ISR(void) Send_Byte(data);{
}
/*************************************************************************// 初始化IO口子程序//*************************************************************************void Port_init(){
P1SEL = 0x00; //P1普通IO功能 P1DIR = 0xF0; //P10~P13输入模式,外部电路已接上拉电阻}
//**********************************************************************// 键盘扫描子程序,采用逐键扫描的方式//**********************************************************************
uchar Key_Scan(void) { uchar key_check; uchar key_checkin; key_checkin=KeyPort; //读取IO口状态,判断是否有键按下 key_checkin&= 0x0F; //读取IO口状态,判断是否有键按下 if(key_checkin!=0x0F) //IO口值发生变化则表示有键按下 { delay_ms(20); //键盘消抖,延时20MS key_checkin=KeyPort; if(key_checkin!=0x1F) { key_check=KeyPort; switch (key_check & 0x0F) { case 0x0E:key=1;Send_Byte(key);break; case 0x0D:key=2;Send_Byte(key);break; case 0x0B:key=3;Send_Byte(key);break; case 0x07:key=4;Send_Byte(key);break;
} } } else { key=0xFF; } return key;}
//*************************************************************************// 主函数//*************************************************************************void main(void){ WDT_Init(); //看门狗设置 Clock_Init(); //系统时钟设置 UART_Init(); //串口设置初始化 _EINT(); //开中断 while(1) //无限循环 {Key_Scan(); }}
-
俄罗斯方块上位机vb部分
-
感谢
-
#include
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
/*12864应用指令*/
#define CLEAR_SCREEN 0x01 //清屏指令:清屏且AC值为00H
#define AC_INIT 0x02 //将AC设置为00H。且游标移到原点位置
#define CURSE_ADD 0x06 //设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动)
#define FUN_MODE 0x30 //工作模式:8位基本指令集
#define DISPLAY_ON 0x0c //显示开,显示游标,且游标位置反白
#define DISPLAY_OFF 0x08 //显示关
#define CURSE_DIR 0x14 //游标向右移动:AC=AC+1
#define SET_CG_AC 0x40 //设置AC,范围为:00H~3FH
#define SET_DD_AC 0x80
#define P50 0
#define P51 1
#define P55 5
#define P56 6
#define P57 7
#define RS_CLR P5OUT &= ~(1
-
//说明
//P4口作为数据口
//P55连rs
//P57连rw
//P57连re
#include
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define P55 5
#define P56 6
#define P57 7
#define RS_CLR P5OUT &= ~(1
-
很想学习 穷学生一个
帮顶了