51系列单片机例程,包括串口收发,io操作等;
用到的软件:VSPD XP 5--虚拟串口;串口调试助手;ISIS 7 Professional;
软件设置及演示效果如下图所示:
单片机源程序如下:
- #include"51_compat.h"
- sbit led0=P2^0;
- extern unsigned char key_flag;
- void main()
- {
- uchar com_buf[6] ;
- uchar x = 0 ,b100=0 ;
- uchar key_num=0;
- uint time_r=2000;
- system_initial();
-
- while(1)
- {
- com_buf[0]=com_buf[1]=com_buf[2]=com_buf[3]=com_buf[4]=com_buf[5]=0;
- x =0 ;
- send_strings("\r\n请输入 : 0 <--> led亮;1 <--> led灭;\r\n");
- while(1)
- {
- com_buf[x] = USART_Receive();
- if(com_buf[x]=='\r')
- break;
- send_onechar(com_buf[x]);
- x++;
- }
- b100 = (com_buf[0]-0x30) ;
- if(b100==0)
- led0=0;
- else
- led0=1;
- if(b100>=8)
- break;
- }
- /*
- while(1)
- {
- jdq3=1;jdq4=1;//停止
- Delay_nms(time_r);
- jdq3=1;jdq4=0;//正转
- Delay_nms(time_r);
- jdq3=1;jdq4=1;//停止
- Delay_nms(time_r);
- jdq3=0;jdq4=1;//反转
- Delay_nms(time_r);
- }
- */
- send_strings("\r\nkey test begin ...");
- while(1)
- {
- if(key_flag==1)
- {
- key_flag=0;
- key_num++;
- if(key_num==2)
- key_num=0;
- if(key_num)//dc motor 正转
- {
- led0=0;
- jdq3=1;jdq4=1;//jdq停止
- Delay_nms(time_r);
- jdq3=1;jdq4=0;
- }
- else//dc motor 反转
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
52单片机演示程序.rar
(73.51 KB, 下载次数: 22)
|