//CS=0 A0=0 写数据口#define LcmWdataPort (*(volatile unsigned char *)0xFC00)//CS=0 A0=1 写命令口#define LcmCmdPort(*(volatile unsigned char *)0xFE00) volatile unsigned char * 表示把后面的数据强制转换为
看逻辑地址是否统一编址。FLASH,RAM在同一个逻辑地址空间的,都是直接用用const,如arm,stm8,msp430等。FLASH,RAM逻辑地址空间分开的,要用其它办法,通常是特殊关键字,__flash,__code等。如AVR,8051等。注:cons
#include "stdio.h"#include "reg51.h"// 0 - 9 的编码unsigned char code table[] = { 0x11,0xb7,0x29,0x23,0x87,0x43,0x41,0x37,0x01,0x03,0x00 } ;unsigned int count2 ;//第1-6 位的片选线unsigne
下面是DS1302的AVR单片机的C程序,这个程序结构很不错。但是站长没有调试这个AVR单片机的程序。#define ds1302_rst PC0#define ds1302_io PC1#define ds1302_sclk PC2#define set_ds1302_rst_ddr() DDR
在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中断服务例程的功能。例如: IRQEntry B HandleIRQ ;跳转范围较小 B HandleFIQ 或IRQEntry LDR PC,=Handl
/****************************************************说明 :ARM9中断调试(1)***************************************************/ 一般情况下,在ARM9调试程序都是下载到RAM中执行的,当然,只要没有中断产生
第一节 绝对地址访问C51提供了三种访问绝对地址的方法:1. 绝对宏:在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD具体使用可看一看ab
第一节KeilC51编译器的控制指令C51编译器的控制指令分为三类:源文件控制类,目标文件控制类及列表控制类。1.源文件控制类NOEXTEND:C51源文件不允许使用ANSIC扩展功能。DEFINE(DF):定义预处理(在C51命令行)。2.目标
一.原理和功能介绍1.PROTEUS模拟的效果图如下:我简要介绍一下系统的组成及各部分的功能本系统主要有五部分构成:1.显示和键盘显示采用的是最常用最便宜的1602液晶,内藏HD44780,且内含简单字库.指令简单,容易上手键盘部
一、8个按键控制8个LED灯1 /*******************************************************************************2 实验名称: 8个独立按键控制8盏LED灯(按下哪个键,那个键对应的LED亮)3 实验时间: 2015/1/2
PWM:脉冲宽度调制,图中T为脉冲周期,t为高电平时间,t与T的比值t/T称为占空比,脉宽调制指的是调整t的大小,即改变脉冲的占空比,占空比值越大,输出的电压越高。改变占空比就改变输出的电压,常用于
红外接收目前用的比较多的有三种方法.1,查询法,既软件不停地查询是否为低(遥控信号)然后通过精确延时读头码.和数据0或1码.2,读到有信号输入时开打开定时计数器,然后通过读定时器的中断次数,来判定头码和
一、确定任务开发单片机最小系统二、任务分析:该系统具有的功能:(1)具有2位LED数码管显示功能。(2)具有八路发光二极管显示各种流水灯。(3)可以完成各种奏乐,报警等发声音类实验。(4)具有复位功
前言:从接触单片机到现在,从PIC到STM32,从来没有写过任何技术日记。忽然感觉很空虚,既然学了技术,就该留点什么东西来。这篇是我从事技术行业的第一篇技术文章。目的是想与大家交流学习,当中有不当的技术错误,
LPC1114一共有42个GPIO,分为4个端口,P0、P1、P2口都是12位的宽度,引脚从Px.0~Px.11,P3口是6位的宽度,引脚从P3.0~P3.5。每个GPIO都可以通过软件设置为输入或输出引脚,读取引脚的电平,就需要把引脚设置为输入引