8051单片机C语言实训:LED控制实例

需积分: 9 3 下载量 88 浏览量 更新于2024-07-31 收藏 2.32MB DOC 举报
"单片机100实例包含多个实用的单片机编程案例,主要以8051单片机为核心,结合Proteus仿真软件进行教学。这些实例覆盖了基础的LED控制、循环移位等基本技能,以及更复杂的花样流水灯效果。" 在单片机学习和应用中,掌握基础的C语言编程和硬件控制是至关重要的。上述内容提供的四个实例分别是: 1. **闪烁的LED**:这是单片机编程的入门实例,通过定义LED引脚,使用循环延迟函数实现LED的周期性闪烁。`DelayMS`函数用于产生固定时间的延迟,使得LED按照设定的频率亮灭。`while(1)`结构形成了无限循环,确保程序持续运行。 2. **从左到右的流水灯**:这个例子展示了如何控制8个LED在P0口上按顺序点亮,形成流水灯效果。使用`_crol_`函数实现数据左移,使得LED逐个亮起,达到走马灯效果。同样使用延迟函数控制点亮速度。 3. **8只LED左右来回点亮**:这个实例扩展了流水灯的概念,利用`_crol_`和`_cror_`函数交替进行左移和右移,使8个LED在P2口上往返滚动点亮,增强了视觉效果。 4. **花样流水灯**:此实例更进一步,通过控制16只LED(可能分布在两个端口)实现多样的显示模式。这可能涉及到更复杂的逻辑控制和位操作,提供了一种创造性的显示效果。 这些实例的共同点在于它们都使用了8051系列单片机,C语言编程,并且配合Proteus仿真软件进行验证。通过这些实例,学习者可以掌握单片机的基本输入/输出操作、定时器和计数器的使用、位操作技巧以及如何创建和控制各种灯光效果。同时,Proteus仿真提供了无需硬件即可测试和调试代码的便利,对于初学者来说是很好的学习工具。 在深入学习单片机时,了解并掌握如何编写和优化这类基本程序至关重要,因为它们构成了复杂系统的基础。同时,通过实际动手操作和不断实践,可以提升对单片机系统及其控制原理的理解。
2017-04-05 上传
第一章.... 4 【实例1】使用累加器进行简单加法运算:... 4 【实例2】使用B寄存器进行简单乘法运算:... 4 【实例3】通过设置RS1,RS0选择工作寄存器区1:... 4 【实例4】使用数据指针DPTR访问外部数据数据存储器:... 4 【实例5】使用程序计数器PC查表:... 4 【实例6】if语句实例:... 4 【实例7】switch-case语句实例:... 4 【实例8】for语句实例:... 4 【实例9】while语句实例:... 5 【实例10】do…while语句实例:... 5 【实例11】语句形式调用实例:... 5 【实例12】表达式形式调用实例:... 5 【实例13】以函数的参数形式调用实例:... 5 【实例14】函数的声明实例:... 5 【实例15】函数递归调用的简单实例:... 5 【实例16】数组的实例:... 6 【实例17】指针的实例:... 6 【实例18】数组与指针实例:... 6 【实例19】P1口控制直流电动机实例... 6 第二章.... 8 【实例20】用74LS165实现串口扩展并行输入口... 8 【实例21】用74LS164实现串口扩展并行输出口... 10 【实例22】P0 I/O扩展并行输入口... 12 【实例23】P0 I/O扩展并行输出口... 12 【实例24】用8243扩展I/O端口... 12 【实例25】用8255A扩展I/O口... 14 【实例26】用8155扩展I/O口... 19 第三章.... 26 【实例29】与AT24系列EEPROM接口及驱动程序... 26 【实例30】EEPROM(X5045)接口及驱动程序... 30 【实例31】与铁电存储器接口及驱动程序... 33 【实例32】与双口RAM存储器接口及应用实例... 35 【实例33】与NANDFLASH(K9F5608)接口及驱动程序... 35 第四章.... 43 【实例34】独立键盘控制... 43 【实例35】矩阵式键盘控制... 44 【实例36】改进型I/O端口键盘... 46 【实例37】PS/2键盘的控制... 49 【实例38】LED显示... 53 【实例39】段数码管(HD7929)显示实例... 54 【实例40】16×2字符型液晶显示实例... 55 【实例41】点阵型液晶显示实例... 61 【实例42】LCD显示图片实例... 63 第五章.... 70 【实例43】简易电子琴的设计... 70 【实例44】基于MCS-51单片机的四路抢答器... 71 【实例45】电子调光灯的制作... 76 【实例46】数码管时钟的制作... 81 【实例47】LCD时钟的制作... 96 【实例48】 数字化语音存储与回放... 103 【实例49】电子标签设计... 112 第六章.... 120 【实例50】指纹识别模块... 121 【实例51】数字温度传感器... 121 第七章.... 124 【实例53】超声波测距... 124 【实例54】数字气压计... 125 【实例55】基于单片机的电压表设计... 132 【实例56】基于单片机的称重显示仪表设计... 133 【实例57】基于单片机的车轮测速系统... 136 第八章.... 138 【实例58】电源切换控制... 138 【实例59】步进电机控制... 140 【实例60】单片机控制自动门系统... 141 【实例61】控制微型打印机... 144 【实例62】单片机控制的EPSON微型打印头... 144 【实例63】简易智能电动车... 145 【实例64】洗衣机控制器... 149 第九章.... 152 【实例65】串行A/D转换... 152 【实例66】并行A/D转换... 153 【实例67】模拟比较器实现A/D转换... 154 【实例68】串行D/A转换... 155 【实例69】并行电压型D/A转换... 156 【实例70】并行电流型D/A转换... 156 【实例71】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的A/D转换... 157 【实例72】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的D/A转换... 161 第十章.... 164 【实例73】单片机间双机通信... 164 【实例74】单片机间多机通信方法之一... 166 【实例75】单片机间多机通信方法之二... 171 【实例76】 PC与单片机通信... 176 【实例77】红外通信接口... 178 第十一章.... 180 【实例79】单片机实现PWM信号输出... 180 【实例80】实现基于单片机的低频信号发生器... 182 【实例81】软件滤波方法... 183 【实例82】FSK信号解码接收... 186 【实例83】单片机浮点数运算实现... 187 【实例84】神经网络在单片机中的实现... 192 【实例85】信号数据的FFT变换... 194 第十二章.... 198 【实例86】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.gif总线接口的软件实现... 198 【实例87】SPI总线接口的软件实现... 200 【实例88】1-WIRE总线接口的软件实现... 205 【实例89】单片机外挂CAN总线接口... 207 【实例90】单片机外挂USB总线接口... 210 【实例91】单片机实现以太网接口... 214 【实例92】单片机控制GPRS传输... 221 【实例93】单片机实现TCP/IP协议... 223 第十三章.... 229 【实例94】读写U盘... 229 【实例95】非接触IC卡读写... 234 【实例96】SD卡读写... 238 【实例97】高精度实时时钟芯片的应用... 242 第十四章.... 247 【实例98】智能手机充电器设计... 247 【实例99】单片机控制门禁系统... 248
2017-09-22 上传
实例 54-2:测量负脉冲宽度...........................................................................41 实例 55:方式 0 控制流水灯循环点亮............................................................42 实例 56-1:数据发送程序...............................................................................43 实例 56-2:数据接收程序...............................................................................44 实例 57-1:数据发送程序...............................................................................45 实例 57-2:数据接收程序...............................................................................46 实例 58:单片机向PC发送数据......................................................................47 实例 59:单片机接收PC发出的数据 ..............................................................48 数码管显示.....................................................................................................49 实例 60:用LED数码显示数字 5 ....................................................................49 实例 61:用LED数码显示器循环显示数字 0~9 ..............................................49 实例 62:用数码管慢速动态扫描显示数字"1234"...........................................50 实例 63:用LED数码显示器伪静态显示数字 1234.........................................51 实例 64:用数码管显示动态检测结果 ............................................................51 实例 65:数码秒表设计..................................................................................53 实例 66:数码时钟设计..................................................................................55 实例 67:用LED数码管显示计数器T0 的计数值.............................................58 实例 68:静态显示数字“59”.........................................................................59 键盘控制 ........................................................................................................60 实例 69:无软件消抖的独立式键盘输入实验..................................................60 实例 70:软件消抖的独立式键盘输入实验.....................................................60 实例 71:CPU控制的独立式键盘扫描实验.....................................................61 实例 72:定时器中断控制的独立式键盘扫描实验 ..........................................64 实