你好。51单片机的晃晃灯程序能给点参考吗。 51单片机点灯程序

51\u5355\u7247\u673a\u4e2d\u547c\u5438\u706f\u7684\u7a0b\u5e8f\u6211\u6709\u70b9\u4e0d\u61c2

\u8fde\u7eed\u8c03\u6574\u300a\u53d1\u5149\u7684\u65f6\u95f4\u300b\u3001\u300a\u4e0d\u53d1\u5149\u7684\u65f6\u95f4\u300b\uff0c
LED \u7684\u4eae\u5ea6\uff0c\u5c31\u9010\u6e10\u7684\u53d8\u4e86\u3002

#include
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
sbit D7=P1^6;
sbit D8=P1^7;
void delay(unsigned int z);
void main()
{ while(1)
{ D1=0;
delay(100);
D1=1;
delay(100);
D2=0;
delay(100);
D2=1;
delay(100);
D3=0;
delay(100);
D3=1;
delay(100);
D4=0;
delay(100);
D4=1;
delay(100);
D5=0;
delay(100);
D5=1;
delay(100);
D6=0;
delay(100);
D6=1;
delay(100);
D7=0;
delay(100);
D7=1;
delay(100);
D8=0;
delay(100);
D8=1;
delay(1000);
D8=0;
delay(500);
D8=1;
delay(500);
D7=0;
delay(500);
D7=1;
delay(500);
D6=0;
delay(500);
D6=1;
delay(500);
D5=0;
delay(500);
D5=1;
delay(500);
D4=0;
delay(500);
D4=1;
delay(500);
D3=0;
delay(500);
D3=1;
delay(500);
D2=0;
delay(500);
D2=1;
delay(500);
D1=0;
delay(500);
D1=1;
delay(500);


}
}
void delay(unsigned int z)
{ unsigned int x,y;
for(x=z;x>0;x--)
for(y=124;y>0;y--);
}
\u8fd9\u4e2a\u662fPI\u53e3\u5ef6\u65f6\u70b9\u4eae\u7684\u7a0b\u5e8f \u867d\u7136\u7e41\u7410\u4f46\u662f\u4fbf\u4e8e\u76f4\u89c2

第1章 单片机在哪里 3

1.1 ■寻找单片机 3

1.1.1 电磁炉与单片机 4

1.1.2 MP3播放机与单片机 5

1.1.3 更多单片机 5

1.2 ■学习单片机 6

1.2.1 掌握单片机基础知识 6

1.2.2 理解单片机系统 6

1.2.3 成为单片机系统设计师 7

1.3 ■单片机之家 7

1.3.1 Intel 8051单片机 7

1.3.2 PIC单片机 8

1.3.3 AVR单片机 9

1.3.4 其他单片机 9

1.4 ■应用体验--数字温度计 9

1.4.1 数字温度计工作原理 10

1.4.2 体验数字温度计 10

1.5 ■实例解读--装小球系统 11

1.5.1 需求分析 11

1.5.2 系统框架 12

第2章 如何成为单片机系统设计师 13

2.1 ■需要准备哪些 13

2.1.1 综合素质 13

2.1.2 软件工具 15

2.1.3 硬件工具之一:面包板 15

2.1.4 硬件工具之二:万用板和印刷电路板 18

2.1.5 焊接工具 19

2.1.6 焊接方法 21

2.2 ■单片机系统设计流程 22

2.2.1 需求分析 22

2.2.2 电路设计 23

2.2.3 程序设计 24

2.2.4 系统调试 24

2.3 ■应用体验--单片机控制下的发光二极管 25

2.3.1 发光二极管工作原理 25

2.3.2 单片机的控制 26

2.3.3 体验单片机控制发光二极管 26

2.4 ■实例解读--反应时间测试仪 27

2.4.1 需求分析 27

2.4.2 电路设计 27

2.4.3 程序设计 28

第3章 单片机系统登场 30

3.1 ■单片机系统组成 30

3.1.1 单片机本身 31

3.1.2 系统的构成 31

3.2 ■单片机系统抽丝剥茧 32

3.2.1 AT89S51单片机的"外衣" 33

3.2.2 AT89S51单片机的管脚 34

3.2.3 常见外设 36

3.3 ■元器件插曲之一:变压器 38

3.3.1 变压器基础知识 38

3.3.2 电源变压器 39

3.4 ■元器件插曲之二:二极管与整流 40

3.4.1 二极管基础知识 40

3.4.2 整流 40

3.4.3 整流全桥 42

3.5 ■元器件插曲之三:电容 43

3.5.1 电容基础知识 43

3.5.2 电容的种类 44

3.5.3 电源滤波 46

3.6 ■元器件插曲之四:三端稳压与单片机系统电源 47

3.6.1 三端稳压基础知识 47

3.6.2 单片机系统电源方案一:自制直流稳压电源 48

3.6.3 单片机系统电源方案二:电源适配器 48

3.6.4 单片机系统电源方案三:USB口供电 49

3.7 ■元器件插曲之五:晶振与振荡器 50

3.7.1 晶振基础知识 50

3.7.2 振荡器 51

3.8 ■诠释单片机最简系统 52

3.8.1 单片机最简系统 52

3.8.2 电源端(VCC、GND) 52

3.8.3 时钟信号端(XTAL1、XTAL2) 53

3.8.4 复位端(RST) 54

3.8.5 外部程序存储器访问控制端( ) 55

3.8.6 从最简系统出发 56

3.9 ■元器件插曲之六:电阻 56

3.9.1 电阻基础知识 56

3.9.2 电阻的参数和种类 58

3.9.3 电阻的分压、限流、上拉作用 59

3.10 ■从单片机最简系统开始设计 60

3.10.1 发光二极管交替发光 61

3.10.2 程序设计 61

3.10.3 初见汇编语言 63

3.10.4 初识指令 64

3.10.5 立即数 65

3.11 ■应用体验--发光二极管的交替发光 66

3.11.1 控制交替发光的原理 66

3.11.2 体验交替发光 66

3.12 ■元器件插曲之七:开关 66

3.12.1 开关基础知识 66

3.12.2 常用开关 67

3.13 ■实例解读--与发光二极管的交互 68

3.13.1 需求分析 68

3.13.2 电路设计 69

3.13.3 程序设计 69

3.13.4 延时子程序 72

第4章 单片机系统设计辅助软件 74

4.1 ■Proteus单片机系统仿真软件 74

4.1.1 Proteus软件界面 75

4.1.2 用Proteus仿真 76

4.2 ■µVision单片机程序开发 82

4.2.1 µVision软件界面 83

4.2.2 新建和保存项目 83

4.2.3 向项目中添加文件 84

4.2.4 汇编程序,生成执行代码 87

4.2.5 生成下载到单片机的执行代码HEX文件 88

4.3 ■µVision的调试及仿真功能 89

4.3.1 调试界面 89

4.3.2 虚拟逻辑分析仪 89

4.4 ■应用体验--把程序下载到单片机里 92

4.4.1 下载器与单片机 92

4.4.2 体验下载过程 92

4.5 ■实例解读--流水灯 93

4.5.1 需求分析 93

4.5.2 电路设计 94

4.5.3 软件设计 94

第2篇 揭 密

单片机的内部结构是怎样的?单片机开发经常会用到哪些电子技术和元器件知识?还有那困扰了很多人的单片机编程语言……本篇将生动地通过诸多实例带出单片机的基础知识,在遇到相关模电、数电、元器件知识时会有及时的补充说明,带领读者一点点揭开单片机的神秘面纱。

第5章 单片机的触角--I/O口 101

5.1 ■何谓I/O口 101

5.1.1 I/O口的功能 101

5.1.2 I/O口与单片机的关系 102

5.1.3 I/O口的操作 103

5.2 ■元器件插曲之八:场效应管 104

5.2.1 JFET 105

5.2.2 MOSFET 106

5.3 ■元器件插曲之九:逻辑门 106

5.3.1 非门 106

5.3.2 或门 107

5.3.3 或非门 107

5.3.4 与门 107

5.3.5 与非门 107

5.3.6 异或门 108

5.3.7 缓冲器 108

5.4 ■元器件插曲之十:锁存器与触发器 108

5.4.1 门控D锁存器 109

5.4.2 边沿D触发器 109

5.5 ■I/O口结构探密 110

5.5.1 P1口 110

5.5.2 P3口 110

5.5.3 P0口 111

5.5.4 P2口 112

5.5.5 I/O口小结 112

5.6 ■应用体验--控制流水灯 112

5.6.1 功能与电路 113

5.6.2 体验控制流水灯 113

5.7 ■实例解读--晃晃灯 113

5.7.1 原理分析 114

5.7.2 需求分析 114

5.7.3 电路设计 114

5.7.4 软件设计 116

第6章 七段数码管显示 118

6.1 ■二进制与数据 118

6.1.1 二进制与数字 118

6.1.2 二进制与语音 119

6.1.3 二进制与图像 120

6.2 ■元器件插曲之十一:七段数码管 121

6.2.1 七段数码管原理 121

6.2.2 七段数码管显示数字 122

6.3 ■应用体验--计时器 123

6.3.1 功能与电路 124

6.3.2 体验计时器 124

6.4 ■元器件插曲之十二:蜂鸣器 125

6.4.1 蜂鸣器 125

6.4.2 蜂鸣器如何工作 125

6.5 ■元器件插曲之十三:三极管及三极管开关 125

6.5.1 三极管基础 126

6.5.2 三极管的直流放大特性 128

6.5.3 三极管的直流增益 128

6.5.4 三极管的电流关系式 129

6.5.5 三极管开关 129

6.6 ■实例解读--带声音提示的秒表 130

6.6.1 需求分析 130

6.6.2 电路设计 130

6.6.3 开关抖动的处理 130

6.6.4 计时中数字的增加 133

6.6.5 软件设计 134

第7章 解剖单片机 136

7.1 ■单片机的功耗 136

7.1.1 运行功耗 137

7.1.2 I/O口驱动功耗 137

7.1.3 空闲模式 137

7.1.4 待机模式 138

7.2 ■单片机内部结构 138

7.2.1 从I/O口到内部结构 138

7.2.2 数据在内部交换 139

7.2.3 算术逻辑单元(ALU) 140

7.2.4 在µVision中观察寄存器 141

7.3 ■单片机的程序存储器 142

7.3.1 整体结构 143

7.3.2 程序下载到哪里 144

7.3.3 片内程序存储器 144

7.3.4 程序计数器PC 145

7.3.5 是片内还是片外程序存储器 145

7.3.6 在µVision中观察程序存储器 147

7.4 ■单片机的数据存储器 149

7.4.1 片内数据存储器 149

7.4.2 工作寄存器区(00H~1FH) 150

7.4.3 位寻址区(20H~2FH) 151

7.4.4 开放区(30H~7FH) 153

7.4.5 在µVision中观察数据存储器 153

7.5 ■单片机的特殊功能寄存器 155

7.5.1 特殊功能寄存器分布图 155

7.5.2 特殊功能寄存器的功能 156

7.5.3 特殊功能寄存器的字节操作 158

7.5.4 特殊功能寄存器的位操作 158

7.5.5 在µVision中观察特殊功能寄存器 159

7.6 ■应用体验--用取表方式实现流水灯 162

7.6.1 取表法 162

7.6.2 取表法小结 164

7.6.3 体验流水灯 165

7.7 ■实例解读--直接驱动七段数码管 165

7.7.1 需求分析 165

7.7.2 电路设计 165

7.7.3 软件设计 166

第8章 单片机与汇编指令 168

8.1 ■汇编语言真面目 168

8.1.1 汇编语言与高级语言 169

8.1.2 从汇编程序到执行代码 169

8.1.3 伪指令 170

8.2 ■指令的执行 173

8.2.1 振荡周期、机器周期、指令周期 173

8.2.2 指令的执行 174

8.3 ■寻址方式 175

8.3.1 直接寻址 175

8.3.2 间接寻址 175

8.3.3 寄存器寻址 176

8.3.4 寄存器特征寻址 177

8.3.5 立即寻址 177

8.3.6 变址寻址 177

8.4 ■指令分类 177

8.4.1 指令概述 178

8.4.2 指令的长度 178

8.5 ■算术运算指令 179

8.5.1 加法指令--ADD A, <src-byte> 179

8.5.2 带进位的加法指令--ADDC A, <src-byte> 180

8.5.3 带借位的减法指令--SUBB A,<src-byte> 181

8.5.4 自增/自减指令--INC <byte>/ DEC <byte> 181

8.5.5 乘法指令--MUL AB 182

8.5.6 除法指令--DIV AB 183

8.5.7 十进制调整指令--DA A 183

8.6 ■逻辑运算指令 184

8.6.1 与操作--ANL <dest-byte>,<src-byte> 184

8.6.2 或操作--ORL <dest-byte>, <src-byte> 185

8.6.3 异或操作--XRL <dest-byte>,<src-byte> 186

8.6.4 累加器A清0操作--CLR A 186

8.6.5 累加器A取反操作--CPL A 187

8.6.6 累加器A位移动操作--RL、RLC、RR、RRC 187

8.6.7 累加器A高低位交换操作--SWAP A 188

8.7 ■数据装载指令 189

8.7.1 片内数据装载指令--MOV<dest>, <src> 189

8.7.2 数据指针DPTR装载指令--MOV DPTR, #data16 190

8.7.3 堆栈指令--PUSH、POP 191

8.7.4 数据交换指令--XCH、XCHD 194

8.7.5 片外数据装载指令--MOVX <dest>, <src> 195

8.7.6 查表指令--MOVC <dest>, <src> 197

8.8 ■布尔指令 198

8.8.1 清0、置1、取反操作--CLR、SETB、CPL 198

8.8.2 布尔逻辑运算指令--ANL、ORL 199

8.8.3 位数据装载指令--MOV <dest-bit>,<src-bit> 200

8.8.4 布尔跳转指令--JC、JNC、JB、JNB、JBC 200

8.9 ■调用子程序指令 201

8.9.1 长调用指令--LCALL 201

8.9.2 绝对调用指令--ACALL 202

8.9.3 返回指令--RET、RETI 203

8.10 ■跳转与循环指令 203

8.10.1 无条件跳转指令--LJMP、AJMP、SJMP、JMP 203

8.10.2 条件跳转指令--JZ、JNZ 204

8.10.3 比较跳转指令--CJNE <dest-byte>, <src-byte>, rel 205

8.10.4 循环指令--DJNZ <byte>,<rel-addr> 207

8.10.5 无操作指令--NOP 208

8.11 ■应用体验--七段数码管的串行控制技术 208

8.11.1 串行与并行传输 208

8.11.2 串行控制七段数码管 209

8.11.3 程序设计 210

8.12 ■实例解读--指令应用(程序)实例 211

8.12.1 数据求和 211

8.12.2 减法与二进制的二补数 212

8.12.3 异或操作指令XRL用于比较寄存器数值 213

8.12.4 利用布尔指令产生矩形波信号 214

8.12.5 布尔指令应用于控制 215

第3篇 解 密

之所以单片机能成为控制核心,设计出包罗万象的应用系统来,是因为开发者利用了单片机提供的种种功能及各种外设。本篇将介绍单片机的各种功能,加上诸如传感器、模数转换、扫描显示、串行、中断的应用思维,结合更多的元器件、电子电路知识,为读者逐个解开实际的单片机系统的秘密。

第9章 传感器及模拟信号的处理 219

9.1 ■元器件插曲之十四:运算放大器 219

9.1.1 运算放大器基础 220

9.1.2 运算放大器的参数 221

9.1.3 运算放大器的黄金守则 222

9.2 ■基础运放电路 223

9.2.1 同相放大器 223

9.2.2 反相放大器 224

9.2.3 跟随器 225

9.2.4 向运放进行单电源供电 226

9.3 ■比较器 226

9.3.1 过零比较器 227

9.3.2 非过零比较器 227

9.3.3 迟滞比较器(施密特触发器) 228

9.4 ■具有运算功能的运放电路 229

9.4.1 加法放大器 229

9.4.2 单运放差分放大器 230

9.4.3 仪表放大器 232

9.5 ■滤波器 234

9.5.1 高通滤波器 234

9.5.2 低通滤波器 235

9.5.3 带通滤波器 236

9.5.4 带阻滤波器 238

9.6 ■传感器 238

9.6.1 压力传感器 239

9.6.2 光电传感器 242

9.6.3 温度传感器 243

9.7 ■应用体验--幅频变换 245

9.7.1 MPX4115A压力传感器 245

9.7.2 幅频变换器 247

9.8 ■实例解读--磁场强度的测量 248

9.8.1 霍尔传感器与磁场的测量 248

9.8.2 线性霍尔传感器3503 248

9.8.3 检测电路 250

第10章 ADC和DAC 251

10.1 ■模数转换 251

10.1.1 从模拟信号到数字信号 251

10.1.2 电平指示器中的ADC 253

10.2 ■元器件插曲之十五:ADC0804 255

10.2.1 管脚名称及功能 255

10.2.2 使能控制端 255

10.2.3 转换控制端 256

10.2.4 时钟信号 256

10.2.5 模拟输入电压范围 256

10.2.6 转换时间 256

10.2.7 接地 257

10.2.8 参考电平与分辨率 257

10.3 ■ADC与单片机 258

10.3.1 单片机控制ADC0804 258

10.3.2 程序设计 259

10.4 ■模拟信号的调理 260

10.4.1 电平变换电路 260

10.4.2 峰值检测器 261

10.4.3 绝对值电路 262

10.4.4 微分器和积分器 263

10.4.5 采样保持电路 264

10.4.6 接地问题 266

10.5 ■数模转换 268

10.5.1 数模转换基础 269

10.5.2 DAC0808 269

10.5.3 DAC的程序控制 270

10.6 ■如何选择ADC 271

10.6.1 常用ADC简介 271

10.6.2 如何确定位数 273

10.6.3 如何确定转换速率 273

10.6.4 如何确定是否需要采样保持器 273

10.6.5 如何确定工作电压和参考电平 274

10.7 ■如何选择DAC 274

10.7.1 如何确定分辨率 274

10.7.2 如何确定线性度 274

10.7.3 如何确定转换精度 274

10.7.4 如何理解建立时间 275

10.7.5 按参数条件选择 275

10.8 ■应用体验--DAC正弦波

发生器 276

10.8.1 正弦信号公式 276

10.8.2 正弦波发生程序 277

10.9 ■实例解读--数字温控系统 278

10.9.1 系统功能与硬件设计 278

10.9.2 程序设计 278

第11章 时间的计算 283

11.1 ■定时与计数 283

11.1.1 什么是定时 283

11.1.2 什么是计数 284

11.1.3 单片机的Timer 285

11.2 ■与Timer有关的寄存器 285

11.2.1 Timer实现的延时 285

11.2.2 Timer模式控制寄存器TMOD 286

11.2.3 Timer寄存器 288

11.2.4 Timer控制寄存器TCON 288

11.2.5 Timer用做定时/计数器小结 288

11.3 ■Timer的工作模式1 289

11.3.1 模式1的特点 289

11.3.2 模式1的设置 290

11.3.3 模式1的计数初始值 291

11.3.4 设计模式1的计数初始值 292

11.3.5 利用Timer进行长时间定时 294

11.4 ■Timer的工作模式0 295

11.4.1 模式0的特点 295

11.4.2 设计模式0的计数初始值 296

11.5 ■Timer的工作模式2 297

11.5.1 模式2的特点 297

11.5.2 模式2的设置 298

11.5.3 设计模式2的计数初始值 300

11.6 ■Timer的工作模式3 300

11.6.1 模式3的特点 300

11.6.2 模式3的设置 301

11.6.3 设计模式3的计数初始值 303

11.6.4 在Vision中观察Timer 303

11.7 ■计数器 305

11.7.1 计数器的应用 305

11.7.2 计数器的设置 306

11.7.3 在Vision中操作计数器 307

11.7.4 计数器的计数初始值设定 308

11.7.5 各种模式下的计数器 308

11.7.6 计数脉冲的要求 311

11.7.7 TMOD寄存器的门控位 312

11.8 ■看门狗 313

11.8.1 什么是看门狗 313

11.8.2 单片机的内置看门狗 313

11.9 ■应用体验--"叮咚"门铃 315

11.9.1 功能及电路 315

11.9.2 "叮咚"声发生程序 315

11.10 ■实例解读--频率计 318

11.10.1 利用计数器设计频率计 318

11.10.2 频率计的程序 318

第12章 扫描与显示 322

12.1 ■扫描多位七段数码管 322

12.1.1 动态扫描的原理 323

12.1.2 动态扫描操作指南 325

12.1.3 动态扫描方式程序 326

12.2 ■扫描键盘 327

12.2.1 什么是键盘 327

12.2.2 键盘的电路结构 328

12.2.3 键盘按键判断程序 329

12.2.4 键盘编码器芯片74C922 332

12.3 ■扫描发光二极管点阵 334

12.3.1 显示原理 334

12.3.2 发光二极管点阵器件结构 335

施密特触发器

加法放大器

差分放大器

仪表放大器

滤波器

压力传感器

光电传感器

温度传感器

霍尔传感器

模数转换器

电平移位器

增益控制器

峰值检测器

绝对值电路

微/积分器

采样保持器

系统接地

数模转换器

键盘

LED点阵

液晶屏

继电器

红外对管

直流电动机

PWM

步进电动机

RAM和ROM

EEPROM存储器

Flash存储

适用对象

不知从哪里开始学习单片机的人。有的朋友正准备开始学习单片机,但是陷于在市面上琳琅满目的单片机教程的选择中。本书的写作手法和内容叙述独特、新颖,是一本真正读起来不费劲、学起来不枯燥、用起来得心应手的参考书。这将极大提高学习的兴趣和吸收的效率。

广大的学生朋友。不管您的手里是否有了单片机的教程,都可以从本书一开始就找到学习单片机的崭新道路,这都归功于本书从头到尾丰富生动的、贴近生活的实例。如果您想真正高效地、深刻地、扎实地学习单片机基础知识和应用方法,不妨选择本书读一读。本书既可以单独作教程使用,也可作为一本参考书,讲述课堂内外与单片机有关的精彩案例。

老师们。如果能在课堂上使用本书中一些生动的单片机应用实例结合到知识介绍中,或者干脆把本书中知识描述、过程讲解、实例解析直接引入课堂,与学生们一起在单片机学习中互动。同时跟随本书深刻地对单片机原理、系统规划设计、软/硬件设计方法进行形象地学习,在活跃课堂气氛的同时,让学生真正掌握了单片机相关知识和学习的方法,岂不是事半功倍、皆大欢喜吗?

正想利用单片机设计系统的人。可能您在工作中、毕业设计中需要利用单片机结合外设设计一个应用系统来完成老板、老师布置的任务,但是原来掌握的单片机知识可能有些不够,不知道从何下手来设计单片机应用系统。本书将把单片机系统设计中包括电路知识、电子元器件知识、电子工艺、单片机系统组成方案等一粒粒"珍珠"串起来,实现为您带来设计的灵感和帮助您着手开始设计与制作。

内容结构

晃晃灯???具体要求能描述详细点吗???

  • 浣犲ソ銆51鍗曠墖鏈虹殑鏅冩檭鐏▼搴忚兘缁欑偣鍙傝冨悧銆
    绛旓細7.3.2 绋嬪簭涓嬭浇鍒板摢閲 1447.3.3 鐗囧唴绋嬪簭瀛樺偍鍣 1447.3.4 绋嬪簭璁℃暟鍣≒C 1457.3.5 鏄墖鍐呰繕鏄墖澶栫▼搴忓瓨鍌ㄥ櫒 1457.3.6 鍦µVision涓瀵熺▼搴忓瓨鍌ㄥ櫒 1477.4 鈻鍗曠墖鏈虹殑鏁版嵁瀛樺偍鍣 1497.4.1 鐗囧唴鏁版嵁瀛樺偍鍣 1497.4.2 宸ヤ綔瀵勫瓨鍣ㄥ尯(00H~1FH) 1507.4.3 浣嶅鍧鍖(20H~2FH) 1517.4.4 寮鏀惧尯(30H~7FH...
  • 扩展阅读:调音台功能键详细图解 ... 51单片机小灯闪烁程序 ... 单片机声控灯简易程序 ... 单片机流水灯程序编程 ... 51单片机声控灯程序 ... 51 串转并 流水灯 ... 51单片机8 8心形灯程序 ... 现役最好的冲锋枪 ... c51单片机 常用编程 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网