2012~~单片机C语言程序设计实训100例-基于8051+Proteus仿真(第2版)
第1章8051单片机C语言程序设计概述 1
------------------------------------------------------------------------------------------------------------
1.18051单片机引脚 1
1.2数据与程序内存 5
1.3特殊功能寄存器 6
1.4外部中断、定时器/计数器及串口应用 8
1.5有符号与无符号数应用、数位分解、位操作 9
1.6变量、存储类型与存储模式 11
1.7关于C语言运算符的优先级 13
1.8字符编码 15
1.9数组、字符串与指针 16
1.10流程控制 18
1.11可重入函数和中断函数 19
1.12C语言在单片机系统开发中的优势 20
第2章Proteus操作基础 21
------------------------------------------------------------------------------------------------------------
2.1Proteus操作界面简介 21
2.2仿真电路原理图设计 22
2.3元件选择 25
2.4调试仿真 29
2.5Proteus与Vision 3的联合调试 29
2.6Proteus在8051单片机应用系统开发的优势 30
第3章基础程序设计 32
------------------------------------------------------------------------------------------------------------
3.1闪烁的LED 32
3.2双向来回的流水灯 34
3.3花样流水灯 36
3.4LED模拟交通灯 38
3.5分立式数码管循环显示0~9 40
3.6集成式数码管动态扫描显示 41
3.7按键调节数码管闪烁增减显示 44
3.8数码管显示4×4键盘矩阵按键 46
3.9普通开关与拨码开关应用 49
3.10继电器及双向可控硅控制照明设备 51
3.11INT0中断计数 53
3.12INT0及INT1中断计数 55
3.13TIMER0控制单只LED闪烁 58
3.14TIMER0控制数码管动态管显示 62
3.15TIMER0控制8×8LED点阵屏显示数字 65
3.16TIMER0控制门铃声音输出 68
3.17定时器控制交通指示灯 70
3.18TIMER1控制音阶演奏 72
3.19TIMER0、TIMER1及TIMER2实现外部信号计数与显示 75
3.20TIMER0、TIMER1及INT0控制报警器与旋转灯 77
3.21按键控制定时器选播多段音乐 79
3.22键控看门狗 82
3.23双机串口双向通信 84
3.24PC与单片机双向通信 90
3.25单片机内置EEPROM读/写测试 95
第4章硬件应用 99
------------------------------------------------------------------------------------------------------------
4.174HC138译码器与反向缓冲器控制数码管显示 100
4.2串入并出芯片74HC595控制数码管显示四位数字 103
4.3用74HC164驱动多只数码管显示 106
4.4并串转换器74HC165应用 110
4.5用74HC148扩展中断 112
4.6串口发送数据到2片8×8点阵屏滚动显示 115
4.7数码管BCD解码驱动器CD4511与DM7447应用 117
4.862256RAM扩展内存 119
4.9用8255实现接口扩展 121
4.10可编程接口芯片8155应用 124
4.11串行共阴显示驱动器控制4+2+2集成式数码管显示 129
4.1214段与16段数码管演示 133
4.1316键解码芯片74C922应用 136
4.141602字符液晶工作于8位模式直接驱动显示 139
4.151602液晶显示DS1302实时时钟 148
4.161602液晶屏工作于8位模式由74LS373控制显示 153
4.171602液晶屏工作于4位模式实时显示当前时间 155
4.181602液晶屏显示DS12887实时时钟 159
4.19时钟日历芯片PCF8583应用 167
4.202×20串行字符液晶屏显示 174
4.21LGM12864液晶屏显示程序 177
4.22TG126410液晶屏串行模式显示 184
4.23Nokia7110液晶屏菜单控制程序 192
4.24T6963C液晶屏图文演示 199
4.25ADC0832 A/D转换与LCD显示 211
4.26用DAC0832生成锯齿波 215
4.27ADC0808 PWM实验 217
4.28ADC0809 A/D转换与显示 220
4.29用DAC0808实现数字调压 221
4.3016位A/D转换芯片LTC1864应用 223
4.31I2C接口存储器AT24C04读/写与显示 225
4.32I2C存储器设计的中文硬件字库应用 233
4.33I2C接口4通道A/D与单通道D/A转换器PCF8591应用 237
4.34I2C接口DS1621温度传感器测试 241
4.35用兼容I2C接口的MAX6953驱动4片5×7点阵显示器 246
4.36用I2C接口控制MAX6955驱动16段数码管显示 250
4.37I2C接口数字电位器AD5242应用 254
4.38SPI接口存储器AT25F1024读/写与显示 257
4.39SPI接口温度传感器TC72应用测试 264
4.40温度传感器LM35全量程应用测试 268
4.41SHT75温湿度传感器测试 272
4.42直流电机正、反转及PWM调速控制 278
4.43正反转可控的步进电机 281
4.44ULN2803驱动点阵屏仿电梯数字滚动显示 284
4.45液晶显示MPX4250压力值 286
4.4612864LCD显示24C08保存的开机画面 289
4.47用M145026与M145027设计的无线收发系统 293
4.48DS18B20温度传感器测试 296
4.491-Wire式可寻址开关DS2405应用测试 303
4.50MMC存储卡测试 307
第5章综合设计 316
------------------------------------------------------------------------------------------------------------
5.1带日历时钟及温度显示的电子万年历 316
5.2用8051+1601LCD设计的整型计算器 321
5.3电子秤仿真设计 328
5.41602液晶屏显示仿手机键盘按键字符 332
5.5用24C04与1602液晶屏设计的简易加密电子锁 336
5.61-Wire总线器件ROM搜索与多点温度监测 341
5.7高仿真数码管电子钟设计 356
5.8用DS1302与12864LCD设计的可调式中文电子日历 360
5.9用T6963C液晶屏设计的指针式电子钟 366
5.10T6963C液晶屏中文显示温度与时间 370
5.11T6963C液晶屏曲线显示ADC0832两路A/D转换结果 372
5.12温度控制直流电机转速 374
5.13用74LS595与74LS154设计的16×16点阵屏 377
5.14用8255与74LS154设计的16×16点阵屏 379
5.15红外遥控收发仿真 381
5.16GP2D12红外测距传感器应用 388
5.17三端可调正稳压器LM317应用测试 395
5.18数码管显示的K型热电偶温度计 399
5.19交流电压检测与数字显示仿真 403
5.20用MCP3421与RTD-PT100设计的铂电阻温度计 407
5.21可接收串口信息的带中英文硬字库的80×16 LED点阵屏 414
5.22模拟射击训练游戏 422
5.23GPS仿真 427
5.24温室监控系统仿真 431
5.25基于Modbus总线的数据采集与开关控制系统设计仿真 437
继电器及双向可控硅控制照明设备.DSN
1602液晶显示的DS12887实时时钟-1.DSN
Nokia7110液晶菜单控制程序.DSN
本帖最后由 ourdev00001 于 2012-11-21 17:57 编辑
直流电机正反转及PWM调速控制.DSN
1 //-----------------------------------------------------------------
2 //名称: 直流电机正/反转及PWM调速控制
3 //-----------------------------------------------------------------
4 //说明: 本例SW1的3个挡位用于设置电机正、反转及停转,K1、K2用于控制
5 // 电机PWM调速,在进行相应操作时,对应的LED被点亮。
6 //
7 //-----------------------------------------------------------------
8 #include <reg51.h>
9 #include <intrins.h>
10 #define INT8U unsigned char
11 #define INT16U unsigned int
12 #define S1_ON() (P3 & (1<<5)) == 0x00 //正转
13 #define S2_ON() (P3 & (1<<6)) == 0x00 //停转
14 #define S3_ON() (P3 & (1<<7)) == 0x00 //反转
15 #define Forward 0 //正转指示灯
16 #define Stop 1 //停转指示灯
17 #define Backward 2 //反转指示灯
18 sbit M_DIR = P1^0; //方向控制
19 sbit M_PWM = P1^1; //PWM调速控制
20 sbit Key_INC = P3^0; //加速键
21 sbit Key_DEC = P3^1; //减速键
22 //-----------------------------------------------------------------
23 // 延时函数
24 //-----------------------------------------------------------------
25 void delay_us(INT16U x) { for(; x>0; x--) _nop_(); }
26 //-----------------------------------------------------------------
27 // 主程序
28 //-----------------------------------------------------------------
29 void main()
30 {
31 int speed = 200; //默认初始速度
32 while (1)
33 { if (S2_ON()) //切换到S2位置时表示停转
34 { P0 = ~(1<<Stop); //停转指示灯亮
35 M_DIR = 0; M_PWM = 0; //控制停转
36 continue; //跳过下面的代码,提前入下一个循环
37 }
38 //方向控制
39 if (S1_ON()) //S1合上为正向
40 { M_DIR = 0; P0 = ~(1<<Forward); }
41 else
42 if (S3_ON()) //S3合上为反向
43 { M_DIR = 1; P0 = ~(1<<Backward); }
44 //按键调速控制
45 if(Key_INC == 0) speed = speed < 400 ? speed + 1 : 400;
46 if(Key_DEC == 0) speed = speed > 0 ? speed - 1 : 0;
47 //PWM调速控制信号输出
48 M_PWM = 1; delay_us(speed);
49 M_PWM = 0; delay_us(400 - speed);
50 }
51 }
用24C04与1602LCD设计的简易加密电子密码锁.DSN
交流电压检测与数字显示仿真.DSN
GPS导航系统仿真.DSN
温室监控系统仿真设计.DSN
带日历时钟及温度显示的电子万年历.dsn
用8051+1601LCD设计的整型计算器.DSN
卖书?
~~~~~~ {:smile:}写的不错哦。那有卖? 基于MODBUS总线的数据采集与开关控制系统设计仿真.DSN
pdf 呢?
{:shocked:}
2012~~单片机C语言程序设计实训100例-基于8051+Proteus仿真(第2版)-----当当网:::::
http://product.dangdang.com/main/product.aspx?product_id=22912081#catalog
这么快就2了 {:handshake:} 这是啥 收藏了,谢谢… 这本书有没有电子版呀! 谁有第二版的附带的仿真电路和程序啊?有的请给小弟发一个476732594@qq.com 应该封他 在这里卖书 却不提供电子版 {:huffy:} 同意的顶一下 希望能提供下载,谢谢 网上找的资料,传上来。没有第三部分的源代码。 下来看看,非常感谢{:smile:}
页:
[1]