我的学习笔记
a16839678
喜欢自己想做的事情,坚持做自己想做的事情
展开
-
基于mini2440的看门狗(裸机)
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗",s3c2440中也集成了看门狗,在受到干扰或者系统错误时是芯片复位。原创 2013-09-15 20:21:12 · 1163 阅读 · 1 评论 -
基于mini2440的RTC读写(裸机)
很多处理器都有RTC实时时钟功能,s3c2440也提供了这个功能,其功能主要是:实时时钟、闹钟、tick中断等。RTC的操作比较简单。读写时RTCCON最低位应设置为1,不读写时设置为0以免误修改RTC相应寄存器。BCDSEC,BCDMIN,BCDHOUR,BCDDAY,BCDDATE,BCDMON,BCDYEAR可以设置和读取RTC的值,在编程中需要注意一秒只差的问题(具体可查看芯片手册),原创 2013-09-08 14:12:12 · 1253 阅读 · 0 评论 -
基于mini2440的IIC读写(裸机)
在mini2440开发板提供的源代码中IIC操作的源代码写的比较乱,在此根据数据手册和芯片手册,直观的编写代码,有中断模式和轮询模式,两种模式的操作方式相差不大。原创 2013-08-25 21:43:25 · 1553 阅读 · 2 评论 -
C语言实现bool型
bool取值false和true,是0和1的区别,,false可以代表0,但true有很多种.并非只有1。bool是在C++中的定义类型,我们如何在C中实现bool型的数据呢?我们可以利用枚举型的定义来实现,枚举型是定义常量的一种方式,默认从0一次递增,也可以自行定义,未定义的部分递增。#include #include typedef enum {false = 0, t原创 2012-12-14 12:21:28 · 1267 阅读 · 0 评论 -
基于mini2440简单计算器的实现(裸机代码)
基于mini2440简易计算器使用的是数组实现,并非逆波兰式,因此功能不够强大,仅供驱动学习,以及C语言基础编程学习之用.有时间读者可以用逆波兰式来实现强大功能计算器,原理也很简单,建议读《c程序设计第二版》里面有算法的代码.读者自行研究.此程序基于电子相册的改进,触摸屏,LCD,字符现实,数字输入等等.主函数部分:#include "def.h"#include "option.h原创 2012-11-28 11:55:30 · 1004 阅读 · 1 评论 -
c语言单链表的基本操作(代码)
c语言实现单链表的基本操作:建立、打印、删除、插入、逆序。仅供学习之用还需不断完善,有待读者自己研究#include #include typedef struct stu{ int data; //数据 struct stu *next; //指向下一节点的指针}node;node *creat(int n)//创建链表{ node *head,*p1,*p2;原创 2012-11-12 13:24:49 · 4433 阅读 · 1 评论 -
基于51单片机的花样流水灯仿真(代码)
《单片机C语言程序设计实训100例基于8051+Proteus仿真》的例子:#include #define uchar unsigned char #define uint unsigned int uchar code Pattern_P0[]= { 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff原创 2012-11-28 18:51:59 · 6128 阅读 · 1 评论 -
基于mini2440触摸屏版电子相册(裸机代码)
主函数:#include "def.h"#include "option.h"#include "2440addr.h"#include "profile.h"#define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0#define LED4_on rGPBDAT = ((0xf<<5)^(1<<8)) //GPB8=0原创 2012-11-27 12:12:06 · 1876 阅读 · 0 评论 -
基于mini2440按键控制电子相册(裸机代码)
#define GLOBAL_CLK 1#include "def.h"#include "option.h"#include "2440addr.h"#include "profile.h"#define LCD_WIDTH 320 //屏幕宽度#define LCD_HEIGHT 240 //屏幕高度#define CLKVAL 4 //时钟信号//垂直同步信号的脉宽、原创 2012-11-27 11:55:52 · 1283 阅读 · 0 评论 -
c8051单片机和AT24c1024B的通信(IIC协议)代码
利用51单片机的I/O口来模拟IIC协议,加深对其时序的理解,其次学习AT24c1024b的读写方法.已经通过运行代码如下:#include #include//包含_nop_()函数#define CTL_R 0xa1//AT24读控制#define CTL_W 0xa0//AT24写控制sbit SCL=P1^6;sbit SDA=P1^7;void Delay(i原创 2012-11-17 12:16:57 · 3119 阅读 · 2 评论 -
基于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原创 2012-11-27 11:45:40 · 720 阅读 · 0 评论 -
基于mini2440轮询控制LED(裸机代码)
#define GLOBAL_CLK #include "def.h"#include "option.h"#include "2440addr.h" #include "2440lib.h"#include "2440slib.h" #define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0#define LED2_原创 2012-11-27 11:53:05 · 541 阅读 · 0 评论 -
基于mini2440流水灯(裸机代码)
#include "def.h"#include "option.h"#include "2440addr.h" #include "2440lib.h"#include "2440slib.h" int System_init(void);void rDelay(unsigned int x );int Main() //主函数 { Syst原创 2012-11-27 11:51:32 · 772 阅读 · 0 评论 -
IO口模拟SPI总线
SPI是一种全双工同步串行接口,四总线结构SCK、MOSI、MISO、CS分别是时钟、主机输出、主机接收、片选。其中各个厂商的写法可能不一致。SPI总线有四种工作模式,在不再做介绍。最常用的SPI总线时序CS为低时SCK上冲沿数据有效,数据从MISO、MOSI输入和输出。我们只要有这个概念就行,具体时序可以直接看芯片手册。很多芯片都集成了SPI总线接口,没有SPI接口的芯片同样可以用IO口模拟其时原创 2013-10-13 23:18:50 · 5069 阅读 · 1 评论