推荐阅读最新更新时间:2024-03-16 15:20
C51 NEC格式INT1下降沿方式红外解码程序
/**************************************************************** 程序:NEC格式脉宽测量方式红外解码程序 CPU :At89c52 时钟:12MHz 端口:P3.3 编译:keil c51 8.08A 描述: 适用uPC1621/uPC1622及兼容的红外遥控器芯片,占用外部中断0和定时器1, 以中断方式解码,节省系统资源,以查询方式检测遥控信号是否有效. 解码思路: 红外线经一体化接受头解码放到后送到单片机的外部中断1,单片机 设置外部中断下降沿触发,T0和T1为16位定时器,T0在系统启动后定 时5ms.T0 在外部中断1启动后开
[单片机]
TFT液晶屏C51控制
最近事情比较忙,但是最近好像习惯了在自己博客上发些资料,可以以后自己参考下,也可以供别人参考。上次玩了2.8寸的TFT液晶,这几天有点时间了,用51控制了下2.4寸的TFT液晶,驱动是一样的。写了下程序,放网上。 /*功能描述:TFT(ILI9325)液晶测试程序 */ /*作者:ClimberWin */ /*编写时间:2010.3.8 */ /*功能:TFT液晶显示图片和打印字符 */ /*STC89C58RD 接外部晶振11.0592 MHZ */ /**********************************
[单片机]
在C51语言中如何嵌入汇编语言
keil C 语言中嵌入汇编语言进行混合编程,方法如下: 1、在C 文件中要嵌入汇编代码片以如下方式加入汇编代码 #pragma ASM ; Assembler Code Here #pragma ENDASM 2、在Project 窗口中包含汇编代码的C 文件上右键,选择“Options for ...” 在弹出的对话框中,点击右边的 “Generate Assembler SRC File” 和“Assemble SRC File” 使检查框由灰色变成黑色(有效)状态 3 、根据选择的编译模式, 把相应的库文件( 如Small 模式时, 是 KeilC51LibC51S.Lib)加入工程中, 该文件必须作为工程的最
[单片机]
C51单片机编程规范总则
简介:本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对C51编程语言和keil编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。 1.单片机C51编程规范-总则 格式清晰 注释简明扼要 命名规范易懂 函数模块化 程序易读易维护 功能准确实现 代码空间效率和时间效率高 适度的可扩展性 2. 单片机C51编程规范-数据类型定义 编程时统一采用下述新类型名的方式定义数据类型。 建立一个datatype.h文件,在该文件中进行如下定义: typedef bit BOOL; // 位变量 // typedef unsigned char INT8U; // 无符号8位整型变量 //
[单片机]
在C51系统上实现YAFFS文件系统
随着NAND Flash存储器作为大容量数据存储介质的普及,基于NAND闪存的文件系统YAFFS(Yet Another Flash File System)正逐渐被应用到各种嵌入式系统中。本文将详细阐述YAFFS文件系统在C51系统上的实现过程。
1 NAND Flash的特点
非易失性闪速存储器Flash具有速度快、成本低、密度大的特点,被广泛应用于嵌入式系统中。Flash存储器主要有NOR和NAND两种类型。NOR型比较适合存储程序代码;NAND型则可用作大容量数据存储。NAND闪存的存储单元为块和页。本文使用的Samsung公司的K9F5608包括2 048块,每一块又包括32页,一页大小为528字节,依次分为2个2
[单片机]
STM32 GPIO——流水灯例程 学习总结
通过控制LED灯,熟悉STM32的存储器结构、地址映射、时钟树、库文件、利用库的方法及开发工程的步骤,建立STM32的开发思想。 这是我建立的第一个工程,由于涉及面较广,知识点分散,在此做一个总结。 1)为控制LED灯,知道要使用GPIO外设。 GPIO(General-Purpose I/O):I/O引脚可以被软件设置成各种不同的功能,如输入或输出。控制LED灯,即控制STM32芯片的I/O引脚电平的高低来实现。 2)了解GPIO外设有什么功能,要如何使用。 GPIO引脚又被分为GPIOA、GPIOB、...、GPIOG不同的组,每组端口分为0~15共16个不同的引脚,对于不同型号的芯片,端口的组和引脚的数量不同。 功能查看
[单片机]
C51单片机定时器介绍
简介 C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器或者计数器使用。 确切的说,定时器和计数器区别是致使他们背后的计数存储器加1的信号不同。当配置为定时器使用时,每经过1个机器周期,计数存储器的值就加1。而当配置为计数器时,每来一个负跳变信号(信号从P3.4 或者P3.5引脚输入),就加1,以此达到计数的目的。 标准C51有2个定时器/计数器:T0和T1。他们的使用方法一致。C52相比C51多了一个T2。 时钟周期与机器周期 定时器的本质原理就是:每经过1个机器周期,计数存储器的值就加1。因此当使用定时器时,就必须掌握时钟周期和机器周期的关系。 时钟周期 :晶振频率的倒数
[单片机]
keilC51 idata xdata pdata code bdata的意思
从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。 在51系列中data,idata,xdata,pdata的区别: data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的
[单片机]