单片机C语言程序设计实训100例-基于8051+Proteus仿真

单片机C语言程序设计实训100例-基于8051+Proteus仿真

作者:彭伟编著

出版社:电子工业出版社

出版年:2009-05-01

评分:5分

ISBN:9787121087578

所属分类:网络科技

书刊介绍

单片机C语言程序设计实训100例-基于8051+Proteus仿真 内容简介

本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写了100余个8051单片机C语言程序设计案例。
全书基础设计类案例贯穿8051单片机*基本的端口编程、定时/计数器应用、中断和串口通信;硬件应用类案例涵盖常用外部存储器扩展、接口扩展、译码、编码、驱动、光机、机电、A/D与D/A转换等内容;综合设计类案例涉及大量消费类电子产品、仪器仪表及智能控制设备的相关技术。
本书可作为大专院校学生学习实践单片机c语言程序设计的教材或参考书,也可作为电子工程技术人员或单片机技术爱好者的参考资料。

单片机C语言程序设计实训100例-基于8051+Proteus仿真 目录

第1章8051单片机C语言程序设计概述
1.18051单片机引脚
1.2数据与程序内存
1.3特殊功能寄存器
1.4外部中断、定时/计数器及串口应用
1.5有符号与无符号数应用、数位分解、位操作
1.6变量、存储类型与存储模式
1.7数组、字符串与指针
1.8流程控制
1.9可重入函数和中断函数
1.10C语言在单片机系统开发中的优势
第2章Proteus操作基础
2.1Proteus操作界面简介
2.2仿真电路原理图设计
2.3元件选择
2.4调试仿真
2.5Proteus与 V3的联合调试
第3章基础程序设计
3.1闪烁的LED
3.2从左到右的流水灯
3.3左右来回循环的流水灯
3.4花样流水灯
3.5LED模拟交通灯
3.6单只数码管循环显示0~9
3.78只数码管滚动显示单个数字
3.88只数码管显示多个不同字符
3.9数码管闪烁显示
3.108只数码管滚动显示数字串
3.11K1~K4控制LED移位
3.12K1~K4按键状态显示
3.13K1~K4分组控制LED
3.14K1~K4控制数码管移位显示
3.15K1~K4控制数码管加减演示
3.164×4键盘矩阵控制条形LED显示
3.17数码管显示4×4键盘矩阵按键
3.18开关控制LED
3.19继电器控制照明设备
3.20数码管显示拨码开关编码
3.21开关控制报警器
3.22按键发音
3.23播放音乐
3.24INT0中断计数
3.25INT0中断控制LED
3.26INT0及INT1中断计数
3.27TIMER0控制单只LED闪烁
3.28TIMER0控制流水灯
3.29TIMER0控制4只LED滚动闪烁
3.30T0控制LED实现二进制计数
3.31TIMER0与TIMER1控制条形LED
3.3210s的秒表
3.33用计数器中断实现100以内的按键计数
3.3410 000s以内的计时程序
3.35定时器控制数码管动态显示
3.368×8 LED点阵屏显示数字
3.37按键控制8×8 LED点阵屏显示图形
3.38用定时器设计的门铃
3.39演奏音阶
3.40按键控制定时器选播多段音乐
3.41定时器控制交通指示灯
3.42报警器与旋转灯
3.43串行数据转换为并行数据
3.44并行数据转换为串行数据
3.45甲机通过串口控制乙机LED闪烁
3.46单片机之间双向通信
3.47单片机向主机发送字符串
3.48单片机与PC串口通信仿真
第4章硬件应用
4.174LS138译码器应用
4.274HC154译码器应用
4.374HC595串入并出芯片应用
4.4用74LS148扩展中断
4.5I2C-24C04与蜂鸣器
4.6I2C-24C04与数码管
4.7用6264扩展内存
4.8用8255实现接口扩展
……
第5章综合设计
参考文献

单片机C语言程序设计实训100例-基于8051+Proteus仿真 节选

第1章8051单片机C语言程序设计概述
1.6变量、存储类型与存储模式
全局变量定义在函数外面,生命期从所定义的地方开始,其后面的所有函数都可以读/写该全局变量,本书案例在使用定时器时,为得到更大的延时值,程序中定义了全局变量tCount,在定时器中断内对该变量累加,从而得到更大的延时间隔,如果程序中其他地方不需要使用tCount,该变量可以不必放在程序*前面,而是放在定时器中断函数的上一行。
局部变量定义在函数内部,对于循环及其他的临时计算,应尽可能使用局部变量,作为优化处理的一部分,编译程序会试图将局部变量维持在寄存器中,寄存器访问是*快的内存访问类型,特别是unsigned char’和unsigned int类型的变量。
对于刚才讨论的tCount变量,在C语言程序设计时,还可以定义在中断函数内部实现计时累加,但要注意在定义前面加上static,因静态变量仅在函数首次调用时被初始化一次,此后不再被初始化。
8051系列单片机中,程序存储器与数据存储器严格分开,特殊功能寄存器与片内数据存储器统一编址,这与一般微型计算机的存储结构是不同的。
Keil C5l编译器完全支持805l单片机硬件结构,可完全访问8051硬件系统的所有部分,编译器通过将变量、常量定义成不同的存储类型(data、bdata、idata、pdata、xdata、code),从而将它们定位在不同的存储区中。……

相关推荐

微信二维码