《8051单片机C语言彻底应用》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:赖麒文编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2002
  • ISBN:7030090543
  • 页数:499 页
图书介绍:本书介绍8051单片机C语言结合硬件编程应用的工程方法。本书通过一个个实用的例子分析,讲解了C语言实现自动控制和界面的设计方法、技巧以及常见问题剖析。 本书适合8051单片机应用设计人员参考。

第1章 C语言基本概念 1

1-1 程序的初步 1

1-2 C程序的运算符 2

1-3 C程序的流程控制 3

第2章 程序的开始 19

主程序main( ) 19

#include define.h 22

#include cpu8052.h 27

#include global.h 32

#include 36

#include 36

第3章 开机后的启动流程 38

PowerOnInitial( ) 38

InitialCpu( ) 39

InitialCpuIO( ) 41

InitialEeprom( ) 42

InitialVariable( ) 43

第4章 延时例程 45

DelayX1ms(count) 45

DelayX1mx1(count) 46

DelayX1ms2(count) 46

DelayX10ms(count) 47

DelayX10ms1(count) 48

Delay50uS(count) 49

ShortDelay(count) 49

Timer40msDelay(count) 50

第5章 基本输入输出 52

Led_1( ) 52

LedOn( ) 53

Input1( ) 56

Input2( ) 57

Input3( ) 63

Input4( ) 65

Input5( ) 66

第6章 中断的应用 69

CountMain1( ) 69

Timer0ISR_2( ) 73

CountMain2( ) 74

CountMain3( ) 76

One_INT0ISR( ) 77

More_INT0ISR( ) 79

TimerIISR_1( ) 83

第7章 公用函数 85

UnSignVar( ) 85

SignVar( ) 85

ByteVariableAdd1( ) 86

ByteVAriableAdd2( ) 87

ByteVariableSub( ) 88

ByteProcess( ) 89

WordVariableAdd1( ) 90

WordVariableAdd2( ) 91

WordVariableSub1( ) 92

WordVariableSub2( ) 93

WordProcess( ) 94

Hex2Bcd1(value) 95

Hex2Bcd2(value) 96

Hex2Bcd3(value) 97

Value255_100(value) 98

Value100_128a(value) 99

Value100_128b(value) 100

RamClear( ) 101

ZeroContinue(counter) 102

LedFlash0( ) 103

第8章 显示器的应用 103

LedFlash1( ) 104

LedFlash2( ) 105

LedFlash3( ) 106

LedFlash4(ontime,offtime) 107

LedFlash5(count,ontime,offtime) 108

LedFlash6(count,ontime,offtime) 109

LedFlashGetkey(count,ontime,offtime) 110

LedMain1( ) 111

LedMain2( ) 112

LedTimming( ) 115

LedMain3( ) 120

LedMain4( ) 122

LedMain5( ) 124

Beep1( ) 132

第9章 蜂鸣器的应用 132

Beep2(tone) 134

Beep3(soundlong,tone) 135

Beep4(count,soundlong,tone) 136

BeepGetkey(count,soundlong,tone) 137

Alarm1(soundlong,tone) 139

Alarm2(count,soundlong,tone) 140

AlarmGetkey(count,soundlong,tone) 141

BeepLed(count,soundlong,tone) 143

HardWareBeep1( ) 145

HardWareBeep2( ) 147

HardWareBeep3( ) 149

第10章 演奏歌曲的应用 151

Sound( ) 152

Musicl( ) 153

Music2( ) 155

Music3( ) 157

Music4(number) 159

第11章 七段显示器的应用 162

BcdDisplay1( ) 162

BcdDisplay2( ) 164

BcdDisplay3( ) 166

BcdDisplay4( ) 169

第12章 点阵显示器的应用 171

Dot5x7_Display1( ) 171

Dot5x7_Display2( ) 173

Dot5x7_Display3( ) 174

Dot5x7_Display4( ) 179

Dot5x7_Display5( ) 180

Dot5x7_Display6( ) 182

Output74138_1( ) 184

第13章 解码器的应用 184

Output74138_2( ) 185

Output74138_3( ) 187

Output74138_4( ) 190

第14章 扩充输出端口的应用 193

Output4094_1(value) 193

Output4094_5(outputstate,value) 197

第15章 脉冲的应用 200

OutPulse1( ) 200

OutPulse2(count) 201

OutPulse3( ) 202

OutPulse4( ) 203

PulseDetect1( ) 205

PulseDetect2( ) 207

PulseDetect3( ) 208

PulseGenerator( ) 210

PulseDuty1_TimerIISR( ) 212

PulseDuty2_TimerIISR( ) 214

CheckPulseCome( ) 215

CheckPulseWidth( ) 216

CheckPulseData( ) 218

CheckPulseHiLow( ) 220

PulseDecoder( ) 223

EncoderProcess( ) 225

第16章 多任务器的应用 229

Input4051_1( ) 229

Input4051_2( ) 230

Input4051_3( ) 231

Input4051_4( ) 232

Input4051_5( ) 235

Input4051_6( ) 237

Input4067_1( ) 239

Input4067_2( ) 243

Input4067_3( ) 245

第17章 键盘操作的应用 247

InputKey1( ) 247

InputKey2( ) 248

InputKey3( ) 250

ScanKey1( ) 251

ScanKey2( ) 254

GetKey1( ) 257

GetKey2( ) 259

KeyCheck( ) 262

KeyCountCheck( ) 264

KeyProcess( ) 265

第18章 可控制电源电压的应用 271

LM7805( ) 271

LM317( ) 272

Dac08( ) 273

SawTooth( ) 275

TriAngle( ) 276

Square( ) 278

第19章 存储芯片93C66的应用 280

PushEeprom93c66( ) 280

EepWriteData(adr,value) 282

PopEeprom93c66( ) 286

ReadROM(adr) 287

第20章 ICC BUS的应用 289

IIC BUS概念 289

IIC总线协议 290

读/写(Read/Write) 292

确认(Acknowedge) 292

地址:(Address) 292

开始(Start) 292

数据(Data) 293

停止(Stop) 293

IIC BUS 时序(Timming) 293

12cStart( ) 294

12cStop( ) 295

12cSentByte(bytedata) 296

12cWait( ) 296

12cSentBytel(bytedata) 298

12cReceiveByte( ) 300

SendAcknowledge(ack) 301

12cByteWrite(device,address,bytedata) 301

12cByteWrite1(device,address,bytedata) 302

12cByteWrite2(device,address,bytedata) 304

12cByteRead(device,address) 306

12cSentData(bytecnt) 307

12cReceiveData(bytecnt) 308

DataSetBit(device,addr,bitno) 309

DataClearBit(device,addr,bitno) 310

第21章 PWM IC的应用 312

PWM_Output( ) 312

TEST_DacOut( ) 313

第22章 IC 24C08的应用 318

Eeprom24c08命令格式 318

EepromByteWrite0(bank,addr,value) 319

EepromByteRead0(bank,addr) 321

EepromByteWrite(addr,bytedata) 322

EepromByteRead(addr) 322

EepromPageWrite( ) 323

EepromPageRead( ) 324

EepromWrite(subaddress,count) 324

EepromRead(subaddress,count) 326

SendEEPROMData( ) 328

SendData( ) 329

RcvData( ) 330

GoMaster(slaveaddr) 332

SendByte(value) 333

SendStop( ) 335

DdcChecksum(adr) 336

第23章 存储器IC 24C32的应用 338

EEPROM24c32WriteByte_1(addr,value) 338

EEPROM24c32WriteByte_2(addr,value) 339

EEPROM24c32WriteMulti_1(addr,count) 341

EEPROM24c32WriteMulti_2(addr,count) 342

EEPROM24c32ReadByte_1(addr) 343

EEPROM24c32ReadByte_2(addr) 344

EEPROM24c32ReadWord_1(addr) 346

EEPROM24c32ReadWord_2(addr) 347

EEPROM24c32ReadMUlti_1(addr,count) 349

EEPROM24c32ReadMulti_2(addr,count) 350

第24章 OSD IC的应用 352

OsdStart( ) 352

OsdStop( ) 353

OsdSentByte(bytedata) 354

OsdReceiveByte( ) 356

OsdFormatA_0(row,col,value) 357

OsdFormatA(row,col,value) 358

OsdFrameControl(vertd,hord,height,width,rowspace) 358

OsdLocationSet(vertical,horizontal) 359

OsdRamClear( ) 360

OsdEnable(yes) 361

OsdOpenUp( ) 361

OsdResetFont( ) 362

OsdNormal( ) 362

OsdClearRow(start,end,color) 363

OsdClearRow1(start,end,color) 364

OsdPrintIcon(row,col,icon,color) 366

OsdStringAdr0(*string,sel) 367

OsdStringAdr(*string,total,sel,fglanguage) 368

OsdPrintString(row,col,color,*string) 369

OsdPrintString1(row,col,color,*string) 371

OsdDisableWindow1(sub_window) 373

OsdSetWindow(sub_window,row_start,row_end,column_start,column_end,attribute) 374

OsdBarHandle(row,col,color) 375

OsdBarHandle1(row,col,color) 378

OsdDisplayValue(row,col,color) 380

OsdDisplayCount(count) 383

附录A 头文件 385

附录B 汇编程序 404