第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
#include
第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