没有合适的资源?快使用搜索试试~ 我知道了~
首页C51单片机C语言程序100例_Keil
资源详情
资源评论
资源推荐

目录
目录 ................................................................................................................................1
函数的使用和熟悉 ********************************/.......................................4
实例 3:用单片机控制第一个灯亮 .............................................................................4
实例 4:用单片机控制一个灯闪烁:认识单片机的工作频率 .................................4
实例 5:将 P1口状态分别送入 P0、P2、P3口:认识 I/O 口的引脚功能 ............5
实例 6:使用 P3口流水点亮 8 位 LED.......................................................................5
实例 7:通过对 P3口地址的操作流水点亮 8 位 LED...............................................6
实例 8:用不同数据类型控制灯闪烁时间 .................................................................7
实例 9:用 P0口、 P1 口分别显示加法和减法运算结果 .........................................8
实例 10:用 P0、P1口显示乘法运算结果 ................................................................9
实例 11:用 P1、P0口显示除法运算结果 ................................................................9
实例 12:用自增运算控制 P0口 8 位 LED 流水花样 ..............................................10
实例 13:用 P0口显示逻辑 "与"运算结果 ...............................................................10
实例 14:用 P0口显示条件运算结果 .......................................................................11
实例 15:用 P0口显示按位 "异或 "运算结果 ...........................................................11
实例 16:用 P0显示左移运算结果 ...........................................................................11
实例 17:"万能逻辑电路 "实验.................................................................................11
实例 18:用右移运算流水点亮 P1口 8 位 LED.......................................................12
实例 19:用 if 语句控制 P0口 8 位 LED 的流水方向 ..............................................13
实例 20:用 swtich 语句的控制 P0口 8 位 LED 的点亮状态 ..................................13
实例 21:用 for 语句控制蜂鸣器鸣笛次数 ..............................................................14
实例 22:用 while 语句控制 LED...............................................................................16
实例 23:用 do-while 语句控制 P0口 8 位 LED 流水点亮 ......................................16
实例 24:用字符型数组控制 P0口 8位 LED 流水点亮 ..........................................17
实例 25: 用 P0口显示字符串常量 .........................................................................18
实例 26:用 P0 口显示指针运算结果 ......................................................................19
实例 27:用指针数组控制 P0口 8 位 LED 流水点亮 ..............................................19
实例 28:用数组的指针控制 P0 口 8 位 LED 流水点亮 ........................................20
实例 29:用 P0 、P1口显示整型函数返回值 ........................................................21
实例 30:用有参函数控制 P0口 8 位 LED 流水速度 ..............................................22
实例 31:用数组作函数参数控制流水花样 .............................................................23
实例 32:用指针作函数参数控制 P0口 8 位 LED 流水点亮 ..................................23
实例 33:用函数型指针控制 P1口灯花样 ...............................................................25
实例 34:用指针数组作为函数的参数显示多个字符串 .........................................26
实例 35:字符函数 ctype.h应用举例 .......................................................................27
实例 36:内部函数 intrins.h 应用举例 .....................................................................27
实例 37:标准函数 stdlib.h 应用举例 .......................................................................28
实例 38:字符串函数 string.h 应用举例 ..................................................................29
实例 39:宏定义应用举例 2......................................................................................29
1/ 192

实例 40:宏定义应用举例 2......................................................................................30
实例 41:宏定义应用举例 3......................................................................................30
中断、定时器 ************************************************ .........31
实例 42:用定时器 T0 查询方式 P2口 8位控制 LED 闪烁 ....................................31
实例 43:用定时器 T1 查询方式控制单片机发出 1KHz 音频 .................................31
实例 44:将计数器 T0 计数的结果送 P1口 8 位 LED 显示 ....................................32
实例 45:用定时器 T0 的中断控制 1位 LED 闪烁 ...................................................33
实例 46:用定时器 T0 的中断实现长时间定时 .......................................................34
实例 47:用定时器 T1 中断控制两个 LED 以不同周期闪烁 ...................................34
实例 48:用计数器 T1 的中断控制蜂鸣器发出 1KHz 音频.....................................36
实例 49:用定时器 T0 的中断实现 "渴望 "主题曲的播放 .......................................36
实例 50-1:输出 50个矩形脉冲 ...............................................................................39
实例 50-2:计数器 T0 统计外部脉冲数 ...................................................................40
实例 51-2:定时器 T0 的模式 2测量正脉冲宽度 ...................................................40
实例 52:用定时器 T0 控制输出高低宽度不同的矩形波 .......................................41
实例 53:用外中断 0 的中断方式进行数据采集 .....................................................42
实例 54-1:输出负脉宽为 200微秒的方波 .............................................................43
实例 54-2:测量负脉冲宽度 .....................................................................................43
实例 55:方式 0 控制流水灯循环点亮 .....................................................................44
实例 56-1:数据发送程序 .........................................................................................45
实例 56-2:数据接收程序 .........................................................................................47
实例 57-1:数据发送程序 .........................................................................................47
实例 57-2:数据接收程序 .........................................................................................49
实例 58:单片机向 PC发送数据 ..............................................................................50
实例 59:单片机接收 PC发出的数据 ......................................................................51
********************************* 数码管显示 ...............................52
实例 60:用 LED 数码显示数字 5..............................................................................52
实例 61:用 LED 数码显示器循环显示数字 0~9......................................................52
实例 62:用数码管慢速动态扫描显示数字 "1234".................................................53
实例 63:用 LED 数码显示器伪静态显示数字 1234...............................................54
实例 64:用数码管显示动态检测结果 .....................................................................54
实例 65:数码秒表设计 .............................................................................................56
实例 66:数码时钟设计 .............................................................................................58
实例 67:用 LED 数码管显示计数器 T0的计数值 ...................................................62
实例 68:静态显示数字“ 59”...................................................................................63
***************************** 键盘控制
2
/
192

*****************************************************/...........................63
实例 69:无软件消抖的独立式键盘输入实验 .........................................................64
实例 70:软件消抖的独立式键盘输入实验 .............................................................64
实例 71:CPU 控制的独立式键盘扫描实验 .............................................................65
实例 72:定时器中断控制的独立式键盘扫描实验 .................................................68
实例 73:独立式键盘控制的 4 级变速流水灯 .........................................................71
实例 74:独立式键盘的按键功能扩展: "以一当四 ".............................................73
实例 75:独立式键盘调时的数码时钟实验 .............................................................75
实例 76:独立式键盘控制步进电机实验 .................................................................79
实例 77:矩阵式键盘按键值的数码管显示实验 .....................................................82
//实例 78:矩阵式键盘按键音 ..................................................................................85
实例 79:简易电子琴 .................................................................................................86
实例 80:矩阵式键盘实现的电子密码锁 .................................................................92
*********************************************************************
*** ** 液晶显示 LCD********* 液晶显示 LCD ***** 液晶显示 LCD *************
***********************************************************/...............95
实例 81:用 LCD 显示字符 'A'....................................................................................96
实例 82:用 LCD 循环右移显示 "WelcometoChina"...............................................99
实例 83:用 LCD 显示适时检测结果 ......................................................................102
实例 84:液晶时钟设计 ...........................................................................................106
****************************************** 一些芯片的使用 *****24c02
........
DS18B20 X5045 ADC0832 DAC0832 DS1302
红外遥控 **********************************************/...................... 112
实例 85:将数据 "0x0f" 写入 AT24C02再读出送 P1口显示 ..................................112
实例 86:将按键次数写入 AT24C02,再读出并用 1602LCD 显示.......................117
实例 87:对 I2C 总线上挂接多个 AT24C02的读写操作 .......................................124
实例 88:基于 AT24C02的多机通信 读取程序 ..................................................129
实例 88:基于 AT24C02的多机通信 写入程序 ....................................................133
实例 90:DS18B20温度检测及其液晶显示 ...........................................................144
实例 91:将数据 "0xaa"写入 X5045 再读出送 P1口显示 ......................................153
实例 92:将流水灯控制码写入 X5045 并读出送 P1口显示 ................................157
实例 93:对 SPI总线上挂接多个 X5045 的读写操作 ............................................161
实例 94:基于 ADC0832 的数字电压表 ..................................................................165
实例 95:用 DAC0832 产生锯齿波电压 ..................................................................171
实例 96:用 P1口显示红外遥控器的按键值 .........................................................171
实例 97:用红外遥控器控制继电器 .......................................................................174
实例 98:基于 DS1302的日历时钟 ........................................................................177
实例 99:单片机数据发送程序 ...............................................................................185
实例 100:电机转速表设计 .....................................................................................186
模拟霍尔脉冲 ............................................................................................................192
3
/
192

/*********************************************************
***
函数的使用和熟悉 ***************
************************************************/
//实例 3:用单片机控制第一个灯亮
#include<reg51.h> //包含 51 单片机寄存器定义的头文件
void main(void)
{
P1=0xfe;//P1=11111110B,即 P1.0输出低电平
}
// 4
//实例 4:用单片机控制一个灯闪烁:认识单片机的工作频率
#include<reg51.h> //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void) //两个 void 意思分别为无需返回值,没有参数传递
{
unsignedint i; //定义无符号整数,最大取值范围 65535
for(i=0;i<20000;i++) //做 20000次空循环
; //什么也不做,等待一个机器周期
}
/*******************************************************
函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)
********************************************************/
void main(void)
{
while(1) //无限循环
{
P1=0xfe; //P1=11111110B, P1.0输出低电平
delay(); //延时一段时间
P1=0xff; //P1=11111111B, P1.0输出高电平
delay(); //延时一段时间
}
}
4/ 192

// 5 P1 P0 P2 P3 I/O
//实例 5:将
#include<reg51.h>
P1 口状态分别送入 P0、P2、P3 口:认识 I/O 口
的引脚功能
//包含单片机寄存器的头文件
/*******************************************************
函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)
********************************************************/
void main(void)
{
while(1) //无限循环
{
P1=0xff; // P1=11111111B,熄灭 LED
P0=P1; // 将 P1口状态送入 P0口
P2=P1; // 将 P1口状态送入 P2口
P3=P1; // 将 P1口状态送入 P3口
}
}
//实例 6:使用 P3 口流水点亮 8 位 LED
#include<reg51.h> //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void)
{
unsignedchari,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
/*******************************************************
函数功能:主函数
********************************************************/
void main(void)
{
5/ 192
剩余191页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0