MCU
Armauk
这个作者很懒,什么都没留下…
展开
-
单片机基础c语言之条件编译
C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同转载 2014-05-08 08:38:20 · 992 阅读 · 0 评论 -
struct和typedef struct
struct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student s转载 2014-08-10 09:12:21 · 459 阅读 · 0 评论 -
IAR-C中实现IO端口直接位定义操作的一个示例
IAR-C中实现IO端口直接位定义操作的一个示例IAR-C有着强大的软件仿真功能,但其中的寄存器位操作定义却十分烦琐,并且编译后生成的ASM代码冗余较多,针对该问题,版主自已定义一个位操作定义的方法,初学者可参考定义,并且该种方法可应用于所有寄存器位操作定义.共实现置位--Set_Bit, 清位--Clr_Bit, 取反位Com_Bit, 测试位Test_Bit四种位操作功能,并且转载 2014-08-11 08:42:20 · 2822 阅读 · 0 评论 -
用IO检测方式判断交流220V与110V(松瀚汇编程序)
用IO检测方式判断交流220V与110V(松瀚汇编程序)转载 2014-08-26 18:25:42 · 3975 阅读 · 0 评论 -
一种基于NTC热敏电阻测量的温度模块
一种基于NTC热敏电阻测量的温度模块设计初衷和经历:设计这块温度采集模块时,最初的用途在冰箱的检测线,通过485总线的方式,采集每个工位的冰箱关键节点的温度。后因为工作变动,加以改进,增加了三相电缺相,错相检测,用于热泵空调的温度采集上。温度采集最关键的就是在温度探头的选择上,刚开始采用的是DS18B20,测量的精度不得不承认很优秀,但是实际用在工程上,发现几点致命的问题。转载 2014-08-15 16:48:40 · 11546 阅读 · 1 评论 -
C语言全局变量定义方法
C语言全局变量定义方法 今天调试系统的时候,需要定义几个全局位变量,定义好后一编译,发现错误一大堆,错误基本都是位变量定义时产生的。以前也定义过全局变量啊,但是先前怎么没错误?瞎折腾了一会最后还是发现问题出在细节上面了。以前只是侥幸没遇到而已。今天做个总结,以后再忘记了就回来直接查一下。 我们都知道定义在函数外部的变量就叫做全局变量,但是通常只有一个C文件和一个H转载 2014-10-12 11:43:35 · 2510 阅读 · 0 评论 -
stm8 红外解码 使用TL IO中断与定时实现(芯片用103)
// http://blog.csdn.net/yingqiyingqi/article/details/7425047void EXTI_init(void){ EXTI_CR1_PCIS = 2; // PC口下降沿触发中断}void TIM1_init(void){ CLK_PCKENR1|=0x80; //开启定时器转载 2014-12-21 13:13:45 · 1865 阅读 · 1 评论 -
PIC 里面关于 __CONFIG( ) 配置位
PIC 里面关于 __CONFIG( ) 配置位//http://www.cnblogs.com/wangh0802PositiveANDupward/archive/2012/05/26/2519297.html一.配置字 PIC单片机的配置字可以用__CONFIG命令来定义: #i nclude __CONFIG(x) ;其中x是配置转载 2015-01-20 16:19:54 · 3572 阅读 · 0 评论 -
51单片机驱动无源蜂鸣器
51单片机驱动无源蜂鸣器在学习过程中遇到如下例题:8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。流水灯的程序相对我个人来说比较简单,但是蜂鸣器有些难度,正常给I/0口一个信号,蜂鸣器既然不响,后经查证是无源蜂鸣器;无源的蜂鸣器,就要通过IO口输出振荡信号来驱动蜂鸣器转载 2015-02-26 23:31:03 · 6493 阅读 · 6 评论 -
51单片机做的PWM无级调光程序
51单片机做的PWM无级调光程序 #i nclude "reg51.h"#i nclude "user.h"#define uchar unsigned charunsigned int value=100;unsigned int del=0;uchar value_temp=4;uchar temp=0;uchar code tab[11]={0x88,转载 2015-03-27 14:13:40 · 8604 阅读 · 1 评论 -
PIC单片机红外遥控编码及识别.
红外遥控应用广泛,而编码及识别往往是单片机初学者最头痛的问题,其实红外编码及识别并不难,关键是要掌握红外编码及识别的方法,首先让我们来了解下红外编码. 一.红外编码. 红外编码一般是以下格式. 9ms 高电平的头+2.4ms低电平的结果码+8byte address code+8byte address c转载 2014-08-09 10:07:16 · 1859 阅读 · 0 评论 -
HT1621测试程序
HT1621测试程序 2009-08-09 15:57:32| 分类: 单片机—LCD|举报|字号 订阅/********************************************************功能描述: HT1621芯片测试程序说 明:本测试程序能够测试HT1621的每一个字段,转载 2014-09-05 09:12:48 · 5968 阅读 · 2 评论 -
关于STM8的时钟源配置
关于STM8的时钟源配置转载 2014-08-07 17:59:31 · 5418 阅读 · 0 评论 -
NTC热敏电阻设计高精度温度计的方案2
//#define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define ERRORCOUNT 10/*unsigned char code keytable[]={0x18,0x14,0x44,0x24,0x42,0x22,0x12,//CW,Pulse,UP,D转载 2014-05-13 20:03:03 · 2894 阅读 · 0 评论 -
NTC热敏电阻设计高精度温度计的方案1
#include#include#include#include #include #include #include #include "drive.h"unsigned int code V0=2320;//2.32伏=>R=32660 2.5K Vref=2.5V // unsigned int code V0=3828;//转载 2014-05-13 20:01:22 · 5310 阅读 · 0 评论 -
多CPU单线通信原理与实现
多CPU单线通信原理与实现 原理图 (原文件名:多CPU单线通信原理图.JPG) 发现所有已发帖子都丢了,用户也注销了,还是重新注册回来的。下面转正题。 所谓单线通信,其实还是需要两根导线,否则形不成电流回路。这里的意思是,共用CPU电源线完成信号的传递,而不需要单独的信号线。 两根线,既要给CPU供电,又要传递信号,供电电转载 2014-07-17 13:04:49 · 4157 阅读 · 0 评论 -
STC15F104E做的LED小台灯(USB供电+3级触摸调光+掉电记忆)
STC15F104E做的LED小台灯(USB供电+3级触摸调光+掉电记忆)转载 2014-05-25 21:24:42 · 7206 阅读 · 1 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y);首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回转载 2014-06-28 21:09:25 · 440 阅读 · 0 评论 -
IAR 扩展关键字
IAR 扩展关键字 1.扩展关键字:用于控制数据和指针__eeprom 用于EEPROM 存储空间, 控制数据存放,控制指针类型和存放__tinyflash, __flash, __farflash, __hugeflash 用于flash 存储空间, 控制数据存放,控制指针类型和存放__ext_io, __io 用于I/O存储空间, 控制数据存转载 2014-07-02 11:22:02 · 792 阅读 · 0 评论 -
PT2262软件解码程序
PT2262软件解码程序我看过很多PT2262软件解码程序,都是用定时器测量脉冲宽度。占用系统太多资源。我自己编写的程序不用定时器,不用中断,代码最少。发射端为PT2262 3.3M 的电阻 接收端为 M8 内部1M RC振荡。解码成功后输出D口显示。编译软件为 ICCAVR。(原文件名:2272.JPG) #include #include转载 2014-07-03 23:07:25 · 4259 阅读 · 1 评论 -
C语言实现单片机中三种方式的流水灯
C语言实现单片机中三种方式的流水灯流水灯,呃,高手默默的路过吧主要是记录下来供自己参考参考,呵呵这三种都是用C语言实现的。三种方式分别是:1. 通过位操作实现2.通过位移实现3.通过循环位移实现//源码的具体实现需要配合相应硬件电路,本篇代码基于电路如最后所示。如果有幸被参考,烦请调整硬件电路1.通过位操作。这种办转载 2014-06-20 12:00:43 · 3015 阅读 · 1 评论 -
STC89C52通过串口控制流水灯亮灭
STC89C52通过串口控制流水灯亮灭本次笔记包含两个方面:1.只是控制LED的亮灭,不返回数值2.控制LED的亮灭,并返回数值看了几讲的视频,都是在讲串口的方式1。其他的还没接触,这里也只用串口的方式1实现这两个功能。串口里面需要计算的地方是根据所要使用的波特率求定时器的初始值。定时器使用的是方式2,可以自动装初始值,避免赋值语句装初始值时出现误差。转载 2014-06-20 12:02:14 · 5026 阅读 · 0 评论 -
指针的强制转换,char*转结构体指针,该怎么处理
指针的强制转换,char*转结构体指针,该怎么处理转载 2014-06-21 20:44:18 · 1393 阅读 · 0 评论 -
基于51单片机的可控硅调压调光程序-带过零检测
基于51单片机的可控硅调压调光程序-带过零检测#include#includesbitledRS=P1^0;sbitledRW=P1^1;sbit ledE=P1^2;sbit keyjia=P2^7;sbitkeyjian=P2^6;sbitcontrolLD=P1^3;bitflag1=1;bitflag2=1;unsignedchar转载 2015-03-13 18:15:02 · 13235 阅读 · 0 评论