推荐阅读最新更新时间:2024-11-11 23:24
自制单片机之十六……将文字或图形转成LCD上使用的C51字模
这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧! 取字模的软件有很多款。有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据。在这里我就介绍一款使用简单易用的,它能将文字或图形转成我们LCD模块使用的C51数据,其它的软件也大同小异。 iframe id="iframe_0.11324494727887213" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://hiphotos.baidu.com/txz01/pic/item/03e1c42b775c78c8e7cd40e3.
[单片机]
三种常用的CRC16校验算法的C51程序的优化
CRC校验又称为循环冗余校验,是数据通讯中常用的一种校验算法。它可以有效的判别出数据在传输过程中是否发生了错误,从而保障了传输的数据可靠性。 CRC校验有多种方式,如:CRC8、CRC16、CRC32等等。在实际使用中,我们经常使用CRC16校验。CRC16校验也有多种,如:1005多项式、1021多项式(CRC-ITU)等。在这里我们不讨论CRC算法是怎样产生的,而是重点落在几种算法的C51程序的优化上。 计算CRC校验时,最常用的计算方式有三种:查表、计算、查表+计算。一般来说,查表法最快,但是需要较大的空间存放表格;计算法最慢,但是代码最简洁、占用空间最小;而在既要求速度,空间又比较紧张时常用查表+计算法
[单片机]
c51 单片机中断函数
以串口中断为例: 如: void serial() interrupt 4 { } 和 void serial_uart() interrupt 4 { } 两个函数的功能都是定义串口中断函数。函数名字不一样不重要,重要的是函数名字后面的interrupt 4(中断向量表地址)要正确。
[单片机]
bit 和sbit的区别
bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。
[单片机]
基于mini2440的按键中断控制LED(裸机代码)
#define GLOBAL_CLK //相当于定义了FCLK,HCLK,PCLK,UCLK #include def.h #include option.h #include mmu.h #include 2440addr.h #define LED1_on rGPBDAT = ((0xf 5)^(1 5)) //GPB5=0 #define LED2_on rGPBDAT = ((0xf 5)^(1 6)) //GPB6=0 #define LED3_on rGPBDAT = ((0xf 5)^(1 7)) //GPB7=0 #define LED4_on rGPBDAT = ((0xf 5)^(1 8))
[单片机]
单片机c51头文件的解释
#include reg51.h 是 c51(用于单片机开发的一种c语言)的头文件。 类似于头文件 AT89X51.h。 这两个头文件基本是一样的,只是在使用时对位的定义不一样, at89x51.h 文件中对 P1.1的操作是写成 P1_1; reg51.h 文件中的操作则写成 P1^1。 打开 reg51.h 可以看到这样的一些内容: 此文件一般在 C:KEILC51INC 下 ,INC 文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。 如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到 INC 文件夹里就可以了。 sfr 并非标准C语言的关键字
[单片机]
STM32定时器控制led灯亮灭
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产 生一次中断,以此循环往复。 在使用时,只需要配置前三个寄存器,最后一个校准寄存器不需要使用。 接下来,利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁。 1、设置重装载寄存器的值 2、清除当前数值寄存器的值 3、配置控制与状态寄存器 配置头文件: void PendSV_Handler(void) { }
[单片机]