int8 *pRStut1 = ADDR1 ; //申请一个8位指针变量 变量名为pRStut1int16 *pRStut2 = ADDR2 ; //申请一个16位指针变量 变量名为pRStut2uint8 RStu1 _at_ ADDR1 ; //申请一个8位变量 变量名为RStu1uint16 RStu2 _at_ ADDR2 ; //申请一个16位变量 变量名为RStu2DEF_8BIT_REG_AT(RStu1,ADDR1); //申请一个8位变量[详细]
sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to)该寄存器。sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。STC该系列单片机的特殊功能寄存器布[详细]
buck电路这是一个降压电路,SW 在此处通入PWM ,进行降压的主要工作,Vout分压后,最高不超过芯片工作电压 (5V 也行 )输入到PIC AN1口,进行AD转换,将转换的结果在1602上显示出来。如果电压不是想要的电压 程序便改变PWM的占空比,以达到需要的值。主要环节在1602 的初始化 写数据 和写指令 以及 PIC的AD启动[详细]
1. 利用I/O1.1 利用LED进行可视化管理这种方法需要有多余的I/O。(如果可能,也可以将实现次要功能的I/O暂时借来一用。)其电路很简单,一个LED通过限流电阻接到VCC电源。I/O设置为输出方式。我们可以用下面的宏来定义LED的操作。#define LED_YELLOW_ON() PA6D=0#define LED_YELLOW_OFF() PA6D=1#define L[详细]
单片机的应用范围十分广泛,主要的应用领域有: (1) 工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、温度控制等。 (2) 仪器仪表。如智能仪器、医疗器械、数字示波器等。 (3) 计算机外部设备与智能接口。如图形终端机、传真机、复印机、打[详细]
在单片机学习中,我们常常遇到这样那样的零星问题,这里我将我遇到的问题总结如下,都是个人见解,如果不对,万望指出。(持续更新中)问题0001:51单片机下载失败常见原因1.查看单片机是否插反了;2.下载软件选择正确的单片机型号(注意STC89C52和STC89C52RC是不同的) ;3.检测是否连接了晶振 ,时候有晶振接触[详细]
很多时候我们需要实现设备的开关机,而比较常用的方法有硬件开关的开关机和纯粹的软件开关机。硬件开关机一般都是用拨码式的硬件开关实现,缺点是占用空间比较大,外观不美观。而单纯的软件开关无法实现真正的关机,只是单片机进入睡眠或者休眠状态,存在耗电等问题。为了解决这些问题,有时候我们不得不进行软[详细]
设单片机采用8051,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始得10B中去。解: MOV R2,#00H ;源数据缓冲器地址偏移量00H AMOV&nbs[详细]
最近看了一个大神吴坚鸿的文章,他的软件架构写得还是不错的,但是代码风格一般,全局变量满天飞,但开发出来的产品稳定,性能也好。不管怎么说,在企业里,老板只追求结果,不追求过程,即使代码写得再不好,能实现功能就不错了。在这里,我借鉴他的“”三区一线理论“做下分析”。 [详细]
.error: #18:6.error: #18: expected a ")"如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符error: #20error: #20: identifier "TIM2_IRQChannel" is un[详细]
IO口控制方向寄存器 TRISA~TRISAE 比如 TRISB=0x00; // 1为输入, 0为输出 , 这样就把portB端口全部设为输出数据寄存器 PORTA~PORTE 比如 PORTB=0x01; // 1为置高,0为置低 , 这样就把portB1口置高,其它portB口置低例: 点灯程序#include__CONFIG (0x3B31);// pic单片机需要进行寄存器配置,详[详细]
主要是飞行控制部分,得编写飞控程序,比如卡尔曼滤波,导航定位等,主要是软件部分。涉及到IO口配置,AD转换等,除了程序,硬件部分和其他如机器人,区别不大,涉及到的知识一样的。机上无驾驶舱,但安装有自动驾驶仪、程序控制装置等设备。地面、舰艇上或母机遥控站人员通过雷达等设备,对其进行跟踪、定位、[详细]
以下内容大多是网上资源,我只做一些修改和结合,为的是能够方便更多的和我一样的菜鸟们搞懂GUI的移植。第一部分:在UCGUI移植之前在移植之前,首先要了解在网上下的UCGUI 3.98源码的文件结构是。UCGUI 3.98源码中有三个文件夹:1)“tool文件夹”是用来使用一些uCgui的上位机程序,基本都是字体和[详细]
采用stm32f103rc的STM32最小系统详细解析图,如下:一、STM32主电路二、USB转串口下载电路注:此图中二极管D1不用接!三、SWD模式调试仿真电路四、指示电路五、整体电路注:此图中二极管D1不用接! [详细]
当人们晚上迷失在野外手上只有一个手电筒,此时有直升机飞过。人们用手电筒发出三短三长三短的光线。用这个国际通用的SOS求救信号,告诉飞行员来救你。人们规定的三短三长三短的光线,代表SOS就是一种通讯协议。单片机处理通讯协议的方法其实也类似。只不过用的不是光线而是电平。比如我们完全可以模仿S[详细]
前几天调试ZigBee程序时,因为要用到全局变量,所以在一个全局文件定义了两个全局变量,如下:#ifndef _TC77_H_#define _TC77_H_BYTE GetTC77String( char *buffer );unsigned char WATER_flag = 1;unsigned char LIGHT_flag = 1;#endif不过编译后却出现这样的错误:Copyright (c) 2009 Microchip Techno[详细]
在使用msp430做硬件开发时,一般都不会把用于载入程序的CH340或PL2303等电路模块集成到电路板上,所以就需要一个下载器(或BSL程序烧录器)下载,这个很容易买到。不过,如果手头没有下载器的话该如何把程序下载到你的msp430???一、什么是BSLBSL(BootstrapLoader)是msp430flash系列独有的一项功能,在程序空间、[详细]
在单片机程序设计中,设置一个好的时钟中断,将能使一个CPU发挥两个CPU的功效,大大方便和简化程序的编制,提高系统的效率与可操作性。我们可以把一些例行的及需要定时执行的程序放在时钟中断中,还可以利用时钟中断协助主程序完成定时、延时等操作。下面以6MHz时钟的AT89C51系统为例,说明时钟中断的应用。定[详细]
1、warning: no newline at end of file在文件最后一行加上回车键解释:在《Rationale for the C99 standard》一文中,有C99的相关信息:A backslash immediately before a newline has long been used to continue string literals, as well as preprocessing command lines. In the interest of e[详细]
SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线[详细]

扫码关注我们
0755-82591179
邮箱:ivy@yingtexin.net
地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A09

Copyright © 2014-2025 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4