2019-08-02 16:58:47 YHy_0258 阅读数 114
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    790 人正在学习 去看看 郭占鑫

(学习笔记)

锁存器无法锁存,不知道解决,失败。

在这里插入图片描述

1、数码管
相关知识:com_a是共阳极,com_k是共阴极,选择的时候注意,这里用的字段码是共阴极的接法,使用供阳极可以在相同接法下使用按位取反~。
在这里插入图片描述
2、D锁存器
单片机的带负载能力不足以驱动数码管,因此需要锁存器进行驱动。
在这里插入图片描述
3、8051单片机
P0用于位选和段选
P2.7wela(位)
P2.6dula(段
4、总线(非必须)
(1)画出总线。
(2)将单片机P0口接到总线,背景有很多小点,从单片机引脚单击划线,到总线附近一个点的地方就会自动连接到总线,再次单击后出现总线设置窗口,这时总线没被使用,“确定”即可,接下来还有7个引脚一样。完成后总线便有8个号,以后再接入时,选择已有的号就是与之相连,最下面的号是即将创建的号。
在这里插入图片描述
在这里插入图片描述
可以看到相同的号的线是连在一起的。
5、排阻(上拉电阻)
公共端接VCC,其他接P0(通过总线)。

6、连线图。
在这里插入图片描述

无关

multisim仿真时,LED与电阻串联时,LED的阻值约为电阻的一半,且与电阻在LED的哪一端无关。
这里LED导通电流为3mA。
在这里插入图片描述

在这里插入图片描述

2019-08-01 16:19:39 YHy_0258 阅读数 411
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    790 人正在学习 去看看 郭占鑫

(学习笔记)
目标图。
在这里插入图片描述
1、找排阻,需要一线作为公共电位(接VCC电源),八线作为8位输入(分别接8个LED灯),所以选择8Line。
在这里插入图片描述
2、找8位D型锁存器。
proteus软件仿真的图给的是74HC573,当时没找到,用了74273。(后来找到,叫74F573PC。)
Q端(输出端)分别连接LED灯,D端(输入端)分别连接单片机P1的8个管脚(跟代码对应,可选)。
11号端口需要接VCC电源保持工作状态,CLK时钟端口接到了单片机的P2.5端口(跟代码对应,可选)。
在这里插入图片描述

3、接下来就是51单片机了,虽然这里用了52芯片不过不影响。
在这里插入图片描述

放置元件后会弹出设置向导,第一步设置名字和路径,根据个人情况。第二步,如果使用 Multisim里的51头文件,是8051.h ,不是 reg51.h,这里选择外部HEX文件,用KEIL软件编译生成,具体使用参照郭天祥的单片机教学。(单片机,10天征服你)
在这里插入图片描述

4、还有LED灯(任选)
在这里插入图片描述

5、电源和地。
VCC和GROUND。
6、连线吧。(毫无美感哭)
在这里插入图片描述
7、程序。
双击51芯片,选择“代码”,“属性”,选择“项目一”(个人起的名字)
在这里插入图片描述
在这里插入图片描述

右边选择HEX文件。
一路确定,开始仿真。

#include<reg52.h>
#include <intrins.h>
#define uint unsigned int 
#define uchar unsigned char 
uchar temp,num;
sbit p2=P2^5;	
void delay(uint);
void check();//用于启动时检查灯的好坏,仿真就没用处。
void clock();//74273上升沿触发,此函数用来锁存。

void main()
{
	check();
	temp=0xfe;
	while(1)
	{	
		
		for(num=0;num<8;num++)
			{
				
				P1=temp;
				clock();
				delay(10);
				temp=_crol_(temp,1);
				P1=0xff;
				clock();
				delay(10);	
			}

			temp=0x7f;
		for(num=0;num<8;num++)
			{
				P1=temp;
				clock();
				delay(10);
				temp=_cror_(temp,1);
				P1=0xff;
				clock();
				delay(10);	
			}
		}
}

void delay(uint z)
{
	uint x,y;
	for(x=z/4;x>0;x--)
		for(y=z/2;y>0;y--);	
}

void check()
{
	uchar t=0x00;
	P1=t;
	p2=0;
	clock();
	delay(50);
}

void clock()
{ 
	p2=1;
	delay(10);
	p2=0;
}
	
2018-03-28 09:38:57 u010167165 阅读数 27198
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    790 人正在学习 去看看 郭占鑫
Keil基本操作 
    文/阿丘  2018/3/28


一、概述
    工欲善其事必先利其器。Keil uVersion 4.0(后文简称为Keil 4.0)是单片机程序开发的集成开发环境(IDE),集成了C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。
     本节以点亮一个LED为例,演示如何通过Keil新建工程、添加源文件、编译等基本操作。

二、Keil基本操作——以点亮一个LED项目为例
     本项目通过8051单片机的P2.0管脚控制一个红色LED, 支持两种控制模式:长亮模式和闪烁模式。电路图如下图所示,由图可知,P3.0输出低电平时,LED点亮;输出低电平时,LED熄灭。
      项目程序由一个.c和一个.h组成,其中,LedCtrl.c为主程序,演示LED的两种控制模式;led.h为LED控制实现,定义了长亮函数LED_lit(bit flag)、闪烁函数LED_flash(unsigned int interval)和软件延时函数LED_delayMS(unsigned int ms)。
      下面演示基于Keil完成本项目的开发过程。
        1. 新建工程。
        (1) 运行Keil uVision4。
        (2)选择菜单【Project>New μVersion Project】,打开Create New Project对话框。
          

         (3)设置工程保存路径和工程名称。注意,建议一个工程对应一个文件夹,方便管理。 
          
    (4)设置单片机型号。 在Select a CPU Data Base File对话框选择Generic Data Base,然后弹出的对话框中选择ATMEL>AT89C51,单击【OK】按钮。
      (5)单击【否 】按钮,选择不复制8051启动代码到工作文件。
    
 
   到此,空白工程已经建好,如下图所示。

  1.  编写代码
   (1)选择菜单【File>New】(快捷键Ctrl+N)新建一个空白文件,则进入文件编辑状态。
   (2)选择菜单【File>Save As】(快捷键Ctrl+S)将新建文件存储到工程目录LEDCtrl下,命名为led.h。
   (3)重复步骤(1)~(2),新建文件LedCtrl .c,存储路径为工程目录LEDCtrl 下。
   (4)编写led.h,代码如下:
    
#include <reg51.h>   //导入8051特殊功能寄存器定义及其可寻址位定义
sbit led_red = P3^0; //定义led_red变量控制P3.0引脚:
                     //输出0时(低电平),LED亮,输出1时,LED灭。

/******************************
*函数:LED_lit
*功能:点亮/熄灭led_red
*参数:bit flag: flag = 1, 点亮;flag = 0,熄灭
*返回:无
*****************************/
void LED_lit(bit flag)
{
   led_red = ~flag;  //不用if语句,控制输出与flag为相反,直接取反操作即可。
}

/******************************
*函数:delayMS
*功能:ms级延时函数@12MHz晶振
*参数:unsigned int: 延时时间,单位ms
*返回:无
*****************************/
void LED_delayMS(unsigned int ms)
{
   unsigned int i,j;
   for(i=0;i<ms;i++)
     for(j=0;j<150;j++);
}


/******************************
*函数:LED_flash
*功能:led_red闪烁:亮->灭>亮>灭...
*参数:unsigned int: 闪烁间隔,单位ms
*返回:无
*****************************/
void LED_flash(unsigned int interval)
{
   lit(1);
   delayMS(interval);
   lit(0);
   delayMS(interval);
}


    (5)编写LEDCtrl.c,代码如下:
     
#include "led.h"
/******************************
*函数:main
*功能:程序入口,演示:1. LED长亮10s; 2. LED闪烁10次.
*参数:无
*返回:无
*****************************/
void main()
{
  unsigned char flash_times = 10;
  unsigned char i;
  while(1)
    {
      LED_lit(1);
      LED_delayMS(10000);
      for(i=0;i<flash_times;i++)
        {
          LED_flash(1000);
        }
    }  
}

 (6)添加LEDCtrl.c和led.h到当前工程。
   a. 在工程浏览区双击Target 1下的Source Group1,打开添加对话框。 
  
b. 再添加对话框中先选择文件类型(.h或.c),再双击要添加的文件即可。
添加的文件会出现在工程资源浏览区下,如下图所示。

  1. 编译程序。 
   (1)设置输出.hex选项,输出目录默认为工程路径的根目录。
      选择菜单【Project>Options for Target 'Target1'...】(快捷键ALT+F7或快捷图标),在弹出的对话框的Output页签中勾选Create Hex File选项,单击【OK 】按钮。。

   (2)单击工具栏的快捷图标或按快捷键F7,编译程序。
在编译信息输出区域显示编译结果,如下图所示。
    若有错误(error),双击错误提示即可。
    如将LEDCtrl.c里的LED_lit函数调用改为lit,则错误提示如下,表示lit函数缺少原型,即没有定义ing。
    
至此,整个工程从创建到编译已经介绍完成,以上就是Keil最基本的操作。
至于程序调试功能,属于高级功能,不作介绍。

本文PDF版本及源程序(包括Proteus仿真文件)获取路径:github: mcu8051
https://github.com/happyicefish/mcu8051.git
https://github.com/happyicefish/mcu8051.git










2019-04-18 22:09:46 liluochengren 阅读数 1282
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    790 人正在学习 去看看 郭占鑫

STLINK,ST-LINK Utility无法连接单片机

keil,ST-LINK Utility尝试连接最小系统板,但是无法连接。网上搜了很多教程,偶然看到一位道友说他连接空板子可以,有程序的不行,不知道为什么,因为我的板子之前也下载过程序,我就想起以前调试用过一个按住复位键的操作,就试了一下。果然成功了。

确认连线正确

STLINK连线
就这几根,没的说

按住复位键点击连接

单片机复位键
就这个键,一直按着,然后点击ST-LINK Utility的target->connect,大约过个两三秒松开复位键,软件就连上单片机了(一次不成多试几次)。

擦除程序

连上了,内存我这读的乱七八糟的东西。重新拔插STLINK,会又回到最初的状态,所以这时候你只能再按上述操作一遍,然后选择ST-LINK Utility的target->erase chip(或者点击橡皮擦的图标)擦除程序。好了,现在可以正常使用了。回到keil正常下载调试程序。

其他可以试试更新固件

2019-04-21 03:40:29 weixin_44347282 阅读数 246
  • 16天入门物联网操作系统——RT-Thread

    课程概述: RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成, RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过13年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、 CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A,  MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。

    790 人正在学习 去看看 郭占鑫

有关利用PL2303HX USB到RS232 TTL转换器适配器模块把STC89C52RC等STC系列单片机与计算机连接、向Keil添加STC库及hex文件考录方法小结

最近一段时间,在做STC89C52RC单片机支持下的小车。其中有关STC89C52RC单片机与电脑连接的方法以及考录方法众说纷纭,在这里做一个总结。

PL2303HX转换器适配器模块接线方法。

首先在接线方面,PL2303HX转换器适配器模块共有5个引脚,分别为3.3V、5.0V、TXD、RXD和GND。STC单片机一般以5V为工作电压,因此使用时,将5.0V引脚接单片机VCC或5.0V引脚,GND引脚接单片机GND引脚。
在连接TXD与RXD接口时注意!模块的TXD接单片机的RXD(P3.0),模块的RXD接单片机的TXD(P3.1).
在这里插入图片描述

在计算机配置COM端口

将USB接入电脑,打开设备管理器,会发现在端口中出现了Prolific USB-to-Serial Comm Port(COM7)(后面是哪个COM因情况而定)
初次打开的时候会有黄色的感叹警示端口驱动未安装(我这里以及安装了驱动所以没有感叹号),具体的安装方法可以参考一下下面的文章,讲的很详细,亲测可用。
不过文章后面有关回退驱动程序的方面没有尝试,目前短时间内也没有再次出现二次报警的问题。
https://blog.csdn.net/super_demo/article/details/53368862
在这里插入图片描述

向Keil添加STC库及hex文件的考录

这里首先留下STC的官网:
http://www.stcmcu.com/index.htm
可以直接在官网下载最新的STC-ISP软件,其中自带的STC-USB驱动安装,不过没有尝试过。
注意!新版本的STC-ISP具有Keil仿真设置,不需要下载STC的CBD文件就可以在Keil中找到STC的单片机。
点击图片左上角的“添加型号和头文件到Keil中,添加STC仿真器驱动到Keil中”后,要寻找安装Keil的路径,文件夹中必须要有C51目录和UVx目录。
在这里插入图片描述
在这里插入图片描述
设置完以后,打开Keil。在创建项目的时候就会首先弹出选择窗口(这里我用的Keil4,其他版本的Keil可能会有不同的效果,但是作用相同)。
在这里插入图片描述
在下拉菜单中选择STC MCU Database后点击OK即可选择STC单片机类型。
在这里插入图片描述
在这里插入图片描述
在Keil编写完程序,并输出hex文件后,就可以考录程序给单片机了。
打开STC-ISP,选择正确的单片机型号和串口号,之后打开程序文件,选择hex文件
在这里插入图片描述
在这里插入图片描述
接着,最关键的一步:
由于STC单片机在考录时需要冷启动
因此首先断开小车或者电路的电源,让小车处于无电状态下。
接着将PL2303HX转换器适配器模块的TXD与RXD与单片机的RXD和TXD连接。
这里再次强调模块的TXD接单片机的RXD(P3.0),模块的RXD接单片机的TXD(P3.1)

之后点击下载/编程,可以看到,STC-ISP显示正在检查目标单片机。
在这里插入图片描述
此时,将PL2303HX转换器适配器模块的5V口和GND口与单片机相连。
看见模块蓝光闪烁一段时间后,STX-ISP上显示操作成功,表明考录成功。

在这里插入图片描述

keil调试模式

阅读数 988

Keil软件安装教程

阅读数 300

没有更多推荐了,返回首页