<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenlian1111的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenlian1111</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenlian1111]]></copyright><item><title><![CDATA[中断（外部中断0、外部中断1、定时器中断0、定时器中断1）]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107399837</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107399837</guid><author>chenlian1111</author><pubDate>Fri, 17 Jul 2020 08:36:37 +0800</pubDate><description><![CDATA[中断

TMOD:定时器/计数器工作方式寄存器
TCON:定时器/计数器控制寄存器

IE:中断允许控制寄存器

IP：中断优先级控制寄存器
外部中断0
外部0中断触发：（P3.2口触发；P3.2触发；P3.2触发）
若IT0=0，则为低电平触发
若IT0=1，则为下降沿触发
外部中断0初始化：
初始化方法一：
void Init_INT0()
{
 IT0=1;//设置外部中断0;下降沿触发 
 EX0=1;//开启外部中断0; 
 EA=1;//开启中断总开关 
 } 


初始
化方法二：
void ]]></description><category></category></item><item><title><![CDATA[单片机利用Proteus进行仿真点亮一个LED灯（C语言和汇编语言）]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107280511</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107280511</guid><author>chenlian1111</author><pubDate>Sat, 11 Jul 2020 10:33:49 +0800</pubDate><description><![CDATA[Proteus仿真图：

c语言程序：
#include &lt;reg51.h&gt;
sbit LED=P0^0;//给P0^0引脚赋别名
void main()   //主函数
{
 LED=0; //P0^0引脚赋低电平
}
汇编语言：

]]></description><category></category></item><item><title><![CDATA[c语言文件操作]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107266371</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107266371</guid><author>chenlian1111</author><pubDate>Sat, 11 Jul 2020 09:18:37 +0800</pubDate><description><![CDATA[文件操作
1，标准输入/输出
文件，被封装各种设备复杂的存取方法
目录 被windows形象化为文件夹路径
文件格式
.doc   .jpg   .mp3   .mp4  .mp5


打开
int open(const char *pathname,int acess,unsigned mode);
O_RDONLY  只读不写
O_WRONLY  只写不读
O_RDWR   可读可写
O_CREAT  创建新文件
O_EXCL   如果文件存在返回-1，否则新建...]]></description><category></category></item><item><title><![CDATA[二叉树遍历（前序，中序，后序）]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107177996</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107177996</guid><author>chenlian1111</author><pubDate>Tue, 07 Jul 2020 11:32:43 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

struct NODE//定义一个节点的结构体 
{
	int data;//存储数据 
	struct NODE *left;//左子树 
	struct NODE *right;//右子树 
};
typedef struct NODE Node;//给结构体取个别名 （以后引用可省掉struct） 

void  addTree(int data.]]></description><category></category></item><item><title><![CDATA[C语言动态链表]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107158180</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107158180</guid><author>chenlian1111</author><pubDate>Mon, 06 Jul 2020 14:29:17 +0800</pubDate><description><![CDATA[#include "stdio.h"				
#include "stdlib.h"	//提供malloc()和free()
#include "string.h" //提供strcpy()等
void show();
void add(int a);
void deleteNode();
void addTitle(int a);
void addRand(int index,int a);
void delectRand(int indexs);
struct NODE
{
	int data;
	s.]]></description><category></category></item><item><title><![CDATA[C语言静态链表]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107157269</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107157269</guid><author>chenlian1111</author><pubDate>Mon, 06 Jul 2020 14:20:35 +0800</pubDate><description><![CDATA[C语言静态链表
一个简单的静态链表（只包过添加过程和查询过程）：
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
struct STUDENT
{
 int studentID;
 char studentName[10];
 char studentSex[4];
 struct  STUDENT *next;
};
typedef struct STUDENT Student;
int main(){
 Student *p,*head,stu1,s]]></description><category></category></item><item><title><![CDATA[结构体嵌套]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107124842</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107124842</guid><author>chenlian1111</author><pubDate>Sat, 04 Jul 2020 15:19:48 +0800</pubDate><description><![CDATA[结构体嵌套


#include &lt;stdio.h&gt;
struct STUDENT
{
	int studentID;
	char studentName[10];
	char studentSex[4];
};
typedef struct STUDENT Student; 

struct CLASS
{
	int classID;
	char className[10];
	Student student;
};
typedef struct CLASS Class; 
int main(]]></description><category></category></item><item><title><![CDATA[结构体数组]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107124624</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107124624</guid><author>chenlian1111</author><pubDate>Sat, 04 Jul 2020 15:07:37 +0800</pubDate><description><![CDATA[结构体数组
#include &lt;stdio.h&gt;
struct STUDENT
{
 int studentID;
 char studentName[10];
 char studentSex[4];
};
typedef struct STUDENT Student; 
int main()
{
 Student stu[]={{1,"小明","男"},{2,"大白","男"},{3,"小红","女"},{4,"小李","男"}};
 int k=sizeof(stu)/sizeof(Stu]]></description><category></category></item><item><title><![CDATA[结构体应用]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107120119</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107120119</guid><author>chenlian1111</author><pubDate>Sat, 04 Jul 2020 10:25:01 +0800</pubDate><description><![CDATA[结构体
概念:
结构体（Structure)是一个或多个相同数据类型或不同数据类型的变量集合在一个名字下的用户自定义数据类型。
定义：
struct 结构体名
{
成员变量声明语句;
};
#include &lt;stdio.h&gt;
#include "string.h" 
//结构体的赋值和访问 
/*
struct 结构体名 
{
 成员变量声明语句; 
}; 
*/
//typedef可定义结构体类型（取别名） 
struct STUDENT
{
 int studentID;
 char st]]></description><category></category></item><item><title><![CDATA[函数指针]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107100971</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107100971</guid><author>chenlian1111</author><pubDate>Fri, 03 Jul 2020 10:50:03 +0800</pubDate><description><![CDATA[函数指针
#include &lt;stdio.h&gt;
int (*p)(int x, int y); //函数指针定义方式 
int sum(int x, int y){
  return x + y;
}
int reduce(int x, int y){
  return x - y;
}
int main(){
 int x=1,y=1,a;
  //第一种使用方式
  p=sum;//初始化
  a=p(x,y);
  printf("第一种函数指针返回值：%d\n",a);
  printf]]></description><category></category></item><item><title><![CDATA[各种指针的应用]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107100501</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107100501</guid><author>chenlian1111</author><pubDate>Fri, 03 Jul 2020 10:43:04 +0800</pubDate><description><![CDATA[普通指针
#include &lt;stdio.h&gt;
int main(){
 //指针类型 *指针名 
 int *p1,*p2,*p;
 int a=1,b=2;
 p1=&amp;a,p2=&amp;b;
 if(a&lt;b){
  p=p1;
  p1=p2;
  p2=p; 
 }
 printf("a=%d,b=%d\n",a,b);
 printf("a=%d,b=%d",*p1,*p2);
 return 0;
} 
数组指针
#include &lt;stdio.h&gt;
int]]></description><category></category></item><item><title><![CDATA[指针]]></title><link>https://blog.youkuaiyun.com/chenlian1111/article/details/107048306</link><guid>https://blog.youkuaiyun.com/chenlian1111/article/details/107048306</guid><author>chenlian1111</author><pubDate>Tue, 30 Jun 2020 18:50:06 +0800</pubDate><description><![CDATA[指针概念
下图是 4G 内存中每个字节的编号（以十六进制表示）：

我们将内存中字节的编号称为地址（Address）或指针（Pointer）。地址从 0 开始依次增加，对于 32 位环境，程序能够使用的内存为 4GB，最小的地址为 0，最大的地址为 0XFFFFFFFF。
下面的代码演示了如何输出一个地址：
#include &lt;stdio.h&gt;
int main(){
 int a=100;
 char str[20]="Hello World!";
 printf("a的内存地址:%#X\n"]]></description><category></category></item></channel></rss>