推荐阅读最新更新时间:2024-03-16 15:24
C51单片机——红外遥控 驱动程序
本文为学习HC6800-EM3 V2.2开发板的学习笔记汇总,本文所用 红外接收头的引脚封装如图下: 驱动函数封装 声明:请自行根据晶振编写相匹配的延时函数; IrReceive.h文件 #ifndef __IRRECEIVE_H__ #define __IRRECEIVE_H__ #include delay.h //请自行根据晶振编写相匹配的延时函数; typedef struct{ uchar usercode;//用户码 uchar cmd;//操作码 uchar ok;//完成标志位 uchar irtime; //时间控制 uint count_repeat;//重复码计数
[单片机]
(C51学习一)如何点亮led灯
1.找出C51最小系统原理图 在网上买的开发板,一定有光碟的,光碟中一定有原理图,先找出最小系统原理图,这个原理图标明了CPU的 I/O接口都接什么了。并且给I/O口都标上号 2.找出LED模块原理图 由下图可以看到,P1组I/O口的8个接口分别接着一个LED灯,并且当P1上的某个口为低电平时,LED就会亮。 3.进行编程 #include sbit LED0=P1^0; // 用自己写的标志 LED0 表示 I/O口 P1^0 sbit LED1=P1^1; void main() { LED0 = 0; //P1^0口给低电平 LED1 = 0; //P1^1口给低电平 while(1
[单片机]
单片机攻略3——C51入门
一:背景介绍 随着时代的发展,人们希望把CPU、RAM等器件集成到一个平台上来工作,单片机就这么诞生了。到现在为止市面上的单片机款式种类多如牛毛,继承的功能也要根据实际需求演化出了不同的方向。以51系列为例,比较常见的是Intel开发的MCS-51系列,和国内的STC51系列。 之后也以51系列(STC89C52RC型号)学习。 STC89C52RC资源:8kbROM程序储存器,256B数据存储器RAM,3个定时器计数器,6个中断源,16位重装 二:51的结构 51是40针脚直插式排布。下图是51芯片的实际引脚图。(细枝末节的硬件结构以后再补) 2.1 各引脚的功能作用 C51总体来讲可以分为六个类型的
[单片机]
Matlab/RTW实时仿真与嵌入式系统开发
引 言
在日益激烈的竞争中,系统的开发周期显得尤为重要,但开发时间与系统安全性、可靠性又有一定冲突,如果仍然使用传统的编写代码的模式,显然有些不妥。本文介绍一种基于Matlab/RTW实现实时仿真与嵌入式系统开发的方法。方法所涉及的开发环境如下:
◆Microsoft Windows XP SP3: ◆Matlab Version 7.5.0.342(R2007b); ◆Keil uVersion2V 2.30; ◆Proteus 7.1SP2。
先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代码(C语言),再使用Keil编译、调试Matlab生成的C语言代码,并且生
[嵌入式]
keil4中头文件路径设置的方法汇总
个人记录: 感觉相对路径比较方便。 keil是从project文件所在目录找头文件,头文件的相对目录是相对.uvproj文件的。 目前我的个人习惯是 建立:Doc、Listing、Output、Project、User几个文件夹 Doc放文档和readme Listing设置为配置中的清单选项卡输出文件夹 Output设置为输出文件夹 Project放建立的工程文件 User放自己写的.c和.h(这部分后期可能做更改) 还可以有OS等操作系统的文件夹。 在这种情况下,包含头文件用相对方式写的话就是类似于: #include ..Userallkeillibrary.h #include ..UserS
[单片机]
使用Keil C进行51单片机延时程序编写的几点心得
应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动 DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全部派上了别的用途。这时就需要我们另想别的办法了。 以前用汇编语言写单片机程序的时候,这个问题还是相对容易解决的。比如用的是12MHz晶振的51,打算延时20us,只要用下面的代码,就可以满足一般的需要: 51 单片机的指令周期是晶振频率的1/12,也就是1us一个周期。mov r0, #09h需要2个极其周期,djnz也需要2个极其周期。那么存在r
[单片机]
C51中断中的使用 中断优先级 interrupt 和 using
8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务 处理程序。中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。8051的中断向量表如下: 中断源 中断向量 --------------------------- 上电复位 0000H 外部中断0 000
[单片机]
一种基于C51的多任务机制及应用
摘要: 本文介绍了一种在MCS51单片机程序中实现多任务机制的简单方法,并给出了源代码和一个应用实例。通过中断进行实时任务切换,具有结构简单清晰、代码量少、不需使用汇编等优点。该方法亦可应用于其他单片机系统。 关键词 :多任务系统 单片机 C51 中断 安防系统 引言 传统的单片机程序一般采用单任务机制,单任务系统具有简单直观、易于控制的优点。然而由于程序只能按顺序依次执行,缺乏灵活性,只能使用中断函数实时地处理一些较短的任务,在较复杂的应用中使用极为不便。嵌入式多任务操作系统的出现解决了这个问题。在多任务系统中,可以同时执行多个并行任务,任务之间可以相互跳转。但是嵌入式操作系统在提供强大功能的同时,也带来了代码量大、结构复
[单片机]