本帖最后由 宁静清幽 于 2016-2-5 11:24 编辑
组装晒图
来几发小车照片,晒一晒 。
小车主控板正面照片
小车主控板反面照片
主控板给我的感觉:板子质量杠杠的,焊工也是棒棒哒,没有什么质量问题 。
小车底盘反面照片
全身照片
感觉小车帅帅哒  。
基础实验 1. Keil工程模板的建立
2. LED指示灯实验
这两个实验就放一块了,Keil工程模板的建立在图中了,不知道这样算不算完成,好多文件还没有写呢,做以后的实验再补充。
LED指示灯实验主函数代码在下图就不再贴出来了
all_header.h的代码如下: - #ifndef __all_head_
- #define __all_head_
- #include "STC15W4Kxx.h"
- #include <intrins.h>
- #include "Delay.h"
- #endif
复制代码
Delay.h的代码和all_header.h的代码格式一样,也不贴啦。 还是贴一下吧。 - #ifndef __Delay_
- #define __Dealy_
- #include <intrins.h>
- void Delay300ms(); //@20.000MHz
- #endif
复制代码在贴一下Delay.c的代码吧! - #include "Delay.h"
- void Delay300ms() //@20.000MHz
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 23;
- j = 205;
- k = 120;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
复制代码最后来张效果图
打死我,我也不会说 这个程序里面控制的两个LED,但是只有一个亮。 这个问题实在是无关紧要啦
3. UART串口通讯实验
还是先上个效果图
写好程序编译,在左侧选好单片机型号,串口号,用的是内部时钟,填好IRC频率,为了方便通信嘛,就选的11.0592M。 在右侧最下面的蓝色框中,选好串口好,波特率,无校验位,停止位1位。上面两个蓝色框就是效果图了  对了,还得用安卓数据线把小车和电脑连起来,装上CP2102的驱动。 再上代码 主函数main代码: - #include "all_header.h"
- void main()
- {
- Uart1Init();
- EA=1;
- while(1);
- }
- void UART1() interrupt 4 using 1
- {
- unsigned char date;
- if (RI)
- {
- RI=0;
- date=SBUF;
- UART1SendByte(date);
- }
- if (TI)
- {
- TI=0;
- }
- }
复制代码
all_header.h头文件代码: - #ifndef __all_head_
- #define __all_head_
- #include "STC15W4Kxx.h"
- #include <intrins.h>
- //#include "Delay.h"
- #include "UART1.h"
- #endif
复制代码UART1.h代码: - #ifndef _UART_H_
- #define _UART_H_
-
- #include "STC15W4Kxx.h"
- void Uart1Init(void);
- void UART1SendByte(unsigned char TxD1);
- #endif
复制代码UART1.c代码: - #include "UART1.h"
- void Uart1Init(void) //115200bps@11.0592MHz
- {
- SCON = 0x50; //8位数据,可变波特率
- AUXR |= 0x01; //串口1选择定时器2为波特率发生器
- AUXR |= 0x04; //定时器2时钟为Fosc,即1T
- T2L = 0xE8; //设定定时初值
- T2H = 0xFF; //设定定时初值
- AUXR |= 0x10; //启动定时器2
- }
- void UART1SendByte(unsigned char TxD1)
- {
- SBUF=TxD1;
- while(TI == 0);
- TI=0;
- }
复制代码
串口通信实验就算是完成了  |