当前位置:文档之家› 51单片机应用开发案例精选

51单片机应用开发案例精选

51单片机应用开发案例精选
51单片机应用开发案例精选

1.发光二极管流水灯

2.交通灯控制器

3.单片机演奏音乐

4.液晶显示复杂自制图形

5.电子万年历

6.实时时钟(年月日时分秒,含定时计时)

7.液晶显示字符(PC计算发送)

8.四路抢答器

9.数字化语音存储与回放(低频)

10.数字温度传感器

11.宽带数控放大器

12.超声波测距

13.基于单片机的电压表设计

14.基于单片机的称重显示仪表设计

15.基于单片机的车轮测速系统

16.步进电机控制

17.控制微型打印机

18.简易智能电动车

19.多种模型发生器

20.相位差测试仪

21.简易红外遥控器或红外通信

22.PC与单片机通信

23.单片机间多机通信

24.无线数据传输

25.单片机实现PWM信号

26.低频信号频谱分析仪

27.单片机USB接口

28.单片机实现TCP/IP

29.单片机读写U盘

30.高精度实时时钟芯片的应用

31.SD卡读写

32.LED数码管点阵显示(支持显示10个汉字)

33.低频数字示波器

34.频率计

35.GPS系统设计(实现GPS模块接口,获取当前定位信息)

36.I2C接口(实现串行EEPROM读写)

37.键盘扩展(增加16个按键,实现队按键的控制)

38.条形码应用

51单片机应用开发案例精选

第1章51单片机开发基础

1.1单片机开发流程

1.2开发工具

1.3测试方法和工具

第2章51单片机开发入门实例

2.1点亮发光二极管实例

2.2跑马灯实例

2.3流水灯实例

2.4查0~9平方表实例

2.5受控输出实例

2.6比较输入数大小实例

2.7交通灯控制器实例

2.8蜂鸣器发音实例

2.9单片机演奏音乐实例

2.10软件陷阱实例

第3章输入和显示

3.1独立式键盘输入实例

3.2行列式键盘输入实例

3.3扫描方式键盘输入实例

3.4定时中断方式键盘输入实例

3.5LED静态显示实例

3.6LED动态显示实例

3.7实时时钟实例

3.8简单液晶显示实例

3.9液晶显示复杂自制图形实例

3.10电子万年历实例

第4章数据采集

第5章数据通信

第6章全球定位系统的设计与开发51单片机应用开发范例大全

第1章单片机C语言开发基础

1.1 MCS-51单片机硬件基础

1.1.1 8051引脚

1.1.2 51单片机功能结构

1.1.3 中央处理器(CPU)

1.1.4 存储器结构

1.1.5 定时/计数器

1.1.6 并行端口

1.1.7 串行端口

1.1.8 中断系统

1.1.9 总线

1.2 Keil mVision2

1.2.1 Keil mVision2集成开发环境介绍

1.2.2 使用Keil mVision2进行开发

1.2.3 dScope for Windows的使用

1.3 C51基础知识

1.3.1 C51控制语句

1.3.2 C51函数

1.3.3 C51数组和指针

1.4 【实例19】P1口控制直流电动机实例

第2章单片机接口的扩展

2.1 基本器件实现端口扩展实例

2.1.1 【实例20】用74LS165实现串口扩展并行输入口2.1.2 【实例21】用74LS164实现串口扩展并行输出口2.1.3 【实例22】P0 I/O扩展并行输入口

2.1.4 【实例23】P0 I/O扩展并行输出口

2.2 扩展芯片实现端口扩展

2.2.1 【实例24】用8243扩展I/O端口

2.2.2 【实例25】用8255A扩展I/O口

2.2.3 【实例26】用8155扩展I/O口

2.3 CPLD实现端口扩展

第3章存储器的扩展

3.1 外部程序存储器的扩展

3.1.1 【实例27】EPROM27xxx程序存储器的扩展

3.1.2 【实例28】EEPROM28xxx程序存储器的扩展

3.2 外部数据存储器的扩展

3.2.1 【实例29】与AT24系列EEPROM接口及驱动程序3.2.2 【实例30】EEPROM(X5045)接口及驱动程序3.2.3 【实例31】铁电存储器接口及驱动程序

3.2.4 【实例32】与双口RAM存储器接口及应用实例3.3 FLASH驱动程序

第4章输入/输出及显示技术

4.1 【实例34】独立键盘控制

4.1.1 实例功能

4.1.2 典型器件介绍

4.1.3 硬件设计

4.1.4 程序设计

4.1.5 经验总结

4.2 【实例35】矩阵式键盘控制

4.2.1 实例功能

4.2.2 典型器件介绍

4.2.3 硬件设计

4.2.4 程序设计

4.2.5 经验总结

4.3 【实例36】改进型I/O端口键盘

4.3.1 实例功能

4.3.2 硬件设计

4.3.3 程序设计

4.4 【实例37】PS/2键盘的控制

4.4.1 实例功能

4.4.2 典型器件介绍

4.4.3 硬件设计

4.4.4 程序设计

4.4.5 经验总结

4.5 【实例38】LED显示

4.5.1 实例功能

4.5.2 硬件设计

4.5.3 程序设计

4.5.4 经验总结

4.6 【实例39】段数码管显示实例

4.6.1 实例功能

4.6.2 硬件设计

4.6.3 程序设计

4.6.4 经验总结

4.7 【实例40】16×2字符型液晶显示实例4.7.1 实例功能

4.7.2 典型器件介绍

4.7.3 硬件设计

4.7.4 程序设计

4.7.5 经验总结

4.8 【实例41】点阵型液晶显示实例

4.8.1 实例功能

4.8.2 典型器件介绍

4.8.3 硬件设计

4.8.4 程序设计

4.8.5 经验总结

4.9 【实例42】LCD显示图片实例

4.9.1 实例功能

4.9.2 典型器件介绍

4.9.3 硬件设计

4.9.4 程序设计

4.9.5 经验总结

第5章实用电子制作

5.1 【实例43】简易电子琴的设计

5.1.1 实例功能

5.1.2 典型器件介绍

5.1.3 硬件设计

5.1.4 程序设计

5.1.5 经验总结

5.2 【实例44】基于MCS-51单片机的四路抢答器5.2.1 实例功能

5.2.2 典型器件介绍

5.2.3 硬件设计

5.2.4 程序设计

5.2.5 经验总结

5.3 【实例45】电子调光灯的制作

5.3.1 实例功能

5.3.2 典型器件介绍

5.3.3 硬件设计

5.3.4 程序设计

5.3.5 经验总结

5.4 【实例46】数码管时钟的制作

5.4.1 实例功能

5.4.2 典型器件介绍

5.4.3 硬件设计

5.4.4 程序设计

5.4.5 经验总结

5.5 【实例47】LCD时钟的制作

5.5.1实例功能

5.5.2典型器件介绍

5.5.3硬件设计

5.5.4程序设计

5.5.5经验总结

5.6 【实例48】数字化语音存储与回放

5.6.1 实例功能

5.6.2 典型器件介绍

5.6.3 硬件设计

5.6.4 程序设计

5.6.5 经验总结

5.7 【实例49】电子标签设计

5.7.1 实例功能

5.7.2 典型器件介绍

5.7.3 硬件设计

5.7.4 程序设计

5.7.5 经验总结

第6章传感控制技术

6.1 【实例50】指纹识别模块

6.1.1 指纹识别传感器原理

6.1.2 硬件设计

6.1.3 程序设计

6.1.4 实例实现过程

6.1.5 经验总结

6.2 【实例51】数字温度传感器

6.2.1 数字温度传感器原理

6.2.2 硬件设计

6.2.3 程序设计

6.2.4 实例实现过程

6.2.5 经验总结

6.3 【实例52】宽带数控放大器

6.3.1 宽带数控放大器设计原理

6.3.2 硬件设计

6.3.3 程序设计

6.3.4 实例实现过程

6.3.5 经验总结

第7章智能仪表与测试技术

7.1 【实例53】超声波测距

7.1.1 实例功能

7.1.2 典型器件介绍

7.1.3 硬件设计

7.1.4 程序设计

7.1.5 经验总结

7.2 【实例54】数字气压计

7.2.1 实例功能

7.2.2 典型器件介绍

7.2.3 硬件设计

7.2.4 程序设计

7.2.5 经验总结

7.3 【实例55】基于单片机的电压表设计

7.3.1 实例功能

7.3.2 电压表设计原理

7.3.3 硬件设计

7.3.4 程序设计

7.3.5 经验总结

7.4 【实例56】基于单片机的称重显示仪表设计7.4.1 实例功能

7.4.2 典型器件介绍

7.4.3 硬件设计

7.4.4 程序设计

7.4.5 经验总结

7.5 【实例57】基于单片机的车轮测速系统

7.5.1 实例功能

7.5.2 典型器件介绍

7.5.3 硬件设计

7.5.4 程序设计

7.5.5 经验总结

第8章电气传动及控制技术

8.1 【实例58】电源切换控制

8.1.1 实例功能

8.1.2 典型器件介绍

8.1.3 硬件设计

8.1.4 程序设计

8.1.5 经验总结

8.2 【实例59】步进电机控制

8.2.1 实例功能

8.2.2 典型器件介绍

8.2.3 硬件设计

8.2.4 程序设计

8.2.5 经验总结

8.3 【实例60】单片机控制自动门系统

8.3.1 实例功能

8.3.2 典型器件介绍

8.3.3 硬件设计

8.3.4 程序设计

8.3.5 经验总结

8.4 【实例61】控制微型打印机

8.4.1 实例功能

8.4.2 典型器件介绍

8.4.3 硬件设计

8.4.4 程序设计

8.4.5 经验总结

8.5 【实例62】单片机控制的EPSON微型打印头8.5.1 实例功能

8.5.2 典型器件介绍

8.5.3 硬件设计

8.5.4 程序设计

8.5.5 经验总结

8.6 【实例63】简易智能电动车

8.6.1 实例功能

8.6.2 典型器件介绍

8.6.3 硬件设计

8.6.4 程序设计

8.6.5 经验总结

8.7 【实例64】洗衣机控制器

8.7.1 实例功能

8.7.2 典型器件介绍

8.7.3 硬件设计

8.7.4 程序设计

8.7.5 经验总结

第9章单片机数据处理

9.1 【实例65】串行A/D转换

9.1.1 实例功能

9.1.2 典型器件介绍

9.1.3 硬件设计

9.1.4 程序设计

9.1.5 经验总结

9.2 【实例66】并行A/D转换

9.2.1 实例功能

9.2.2 典型器件介绍

9.2.3 硬件设计

9.2.4 程序设计

9.2.5 经验总结

9.3 【实例67】模拟比较器实现A/D转换9.3.1 实例功能

9.3.2 典型器件介绍

9.3.3 硬件设计

9.3.4 程序设计

9.3.5 经验总结

9.4 【实例68】串行D/A转换

9.4.1 实例功能

9.4.2 典型器件介绍

9.4.3 硬件设计

9.4.4 程序设计

9.4.5 经验总结

9.5 【实例69】并行电压型D/A转换

9.5.1 实例功能

9.5.2 典型器件介绍

9.5.3 硬件设计

9.5.4 程序设计

9.5.5 经验总结

9.6 【实例70】并行电流型D/A转换

9.6.1 实例功能

9.6.2 典型器件介绍

9.6.3 硬件设计

9.6.4 程序设计

9.6.5 经验总结

9.7 【实例71】I2C接口的A/D转换

9.7.1 实例功能

9.7.2 典型器件介绍

9.7.3 硬件设计

9.7.4 程序设计

9.7.5 经验总结

9.8 【实例72】I2C接口的D/A转换

9.8.1 实例功能

9.8.2 典型器件介绍

9.8.3 硬件设计

9.8.4 程序设计

9.8.5 经验总结

第10章单片机通信技术

10.1 【实例73】单片机间通信

10.1.1 实例功能

10.1.2 典型器件介绍

10.1.3 硬件设计

10.1.4 程序设计

10.1.5 经验总结

10.2 【实例74】单片机间多机通信方法之一10.2.1 主从通信介绍

10.2.2 实例功能

10.2.3 硬件设计

10.2.4 程序设计

10.2.5 经验总结

10.3 【实例75】单片机间多机通信方法之二10.3.1 实例功能

10.3.2 程序设计

10.3.3 经验总结

10.4 【实例76】PC与单片机通信

10.4.1 实例功能

10.4.2 典型器件介绍

10.4.3 硬件设计

10.4.4 程序设计

10.4.5 经验总结

10.5 【实例77】红外通信接口

10.5.1 实例功能

10.5.2 典型器件介绍

10.5.3 硬件设计

10.5.4 程序设计

10.5.5 经验总结

10.6 【实例78】无线数据传输模块

10.6.1 实例功能

10.6.2 典型器件介绍

10.6.3 硬件设计

10.6.4 程序设计

10.6.5 经验总结

第11章单片机实现信号与算法

11.1 【实例79】单片机实现PWM信号输出

11.1.1 实例功能

11.1.2 典型器件介绍

11.1.3 硬件设计

11.1.4 程序设计

11.1.5 经验总结

11.2 【实例80】实现基于单片机的低频信号发生器11.2.1 实例功能

11.2.2 典型器件介绍

11.2.3 硬件设计

11.2.4 程序代码

11.2.5 经验总结

11.3 【实例81】软件滤波方法

11.3.1 实例功能

11.3.2 软件滤波方法介绍

11.3.3 程序设计

11.3.4 经验总结

11.4 【实例82】FSK信号解码接收

11.4.1 实例功能

11.4.2 FSK原理

11.4.3 程序设计

11.4.4 经验总结

11.5 【实例83】单片机浮点数运算实现

11.5.1 实例功能

11.5.2 单片机浮点数运算实现原理

11.5.3 程序设计

11.5.4 经验总结

11.6 【实例84】神经网络在单片机中的实现

11.6.1 实例功能

11.6.2 神经网络简介

11.6.3 程序设计

11.6.4 经验总结

11.7 【实例85】信号数据的FFT变换

11.7.1 实例功能

11.7.2 FFT变换介绍

11.7.3 程序设计

11.7.4 经验总结

第12章单片机的总线与网络技术

12.1 【实例86】I2C总线接口的软件实现

12.1.1 实例功能

12.1.2 典型器件介绍

12.1.3 程序设计

12.1.4 经验总结

12.2 【实例87】SPI总线接口的软件实现12.2.1 实例功能

12.2.2 典型器件介绍

12.2.3 硬件设计

12.2.4 经验总结

12.3 【实例88】1-WIRE总线接口的软件实现12.3.1 1-WIRE总线通信原理

12.3.2 硬件设计

12.3.3 程序设计

12.3.4 经验总结

12.4 【实例89】单片机外挂CAN总线接口12.4.1 CAN总线介绍

12.4.2 CAN总线接口

12.4.3 程序设计

12.4.4 经验总结

12.5 【实例90】单片机外挂USB总线接口12.5.1 USB总线原理

12.5.2 与单片机的硬件接口

12.5.3 程序设计

12.5.4 经验总结

12.6 【实例91】单片机实现以太网接口12.6.1 以太网接口芯片

12.6.2 程序设计

12.6.3 经验总结

12.7 【实例92】单片机控制GPRS传输12.7.1 典型器件介绍

12.7.2 硬件设计

12.7.3 程序设计

12.7.4 经验总结

12.8 【实例93】单片机实现TCP/IP协议12.8.1 TCP/IP原理

12.8.2 程序设计

12.8.3 经验总结

第13章典型器件及应用技术

13.1 【实例94】读写U盘

13.1.1 实例功能

13.1.2 典型器件介绍

13.1.3 硬件设计

13.1.4 程序设计

13.1.5 经验总结

13.2 【实例95】非接触IC卡读写

13.2.1 实例功能

13.2.2 典型器件介绍

13.2.3 硬件设计

13.2.4 程序设计

13.2.5 经验总结

13.3 【实例96】SD卡读写

13.3.1 实例功能

13.3.2 典型器件介绍

13.3.3 硬件设计

13.3.4 程序设计

13.3.5 经验总结

13.4 【实例97】高精度实时时钟芯片的应用

13.4.1 实例功能

13.4.2 典型器件介绍

13.4.3 硬件电路设计

13.4.4 程序设计

13.4.5 经验总结

第14章综合应用实例

14.1 【实例98】智能手机充电器设计

14.1.1 智能手机电池充电器的结构组成

14.1.2 智能手机电池充电器的硬件电路设计

14.1.3 智能手机电池充电器的软件设计

14.1.4 经验总结

14.2 【实例99】单片机控制门禁系统

14.2.1 门禁系统的结构组成

14.2.2 门禁系统的硬件电路设计

14.2.3 门禁系统的软件设计

14.2.4 经验总结

14.3 【实例100】电机保护器的设计

14.3.1 电机保护器的结构组成

14.3.2 电机保护器的硬件电路设计

14.3.3 电机保护器的软件设计

14.3.4 设计中的几个关键问题

14.3.5 经验总结

附录1 8051的指令列表

附录2 PS/2键盘键值和符号对照表

51单片机应用开发实战手册

第1章 MCS-51单片机基础

1.1 概述

1.2 MCS-51单片机硬件结构

1.2.1 MCS-51单片机的基本组成

1.2.2 AT89S52单片机的引脚图及各引脚功能说明1.3 MCS-51单片机的复位

1.4 MCS-51的存储系统

1.4.1 MCS-51程序存储器

1.4.2 MCS-51数据存储器

1.4.3 特殊功能寄存器(SFR)

1.5 MCS-51的中断系统

1.5.1 MCS-51的中断源

1.5.2 MCS-51的中断请求标志

1.5.3 MCS-51的中断控制

1.5.4 MCS-51的中断处理过程

第2章51单片机软硬件开发环境

2.1 硬件开发环境的建立

2.1.1 Protel 99SE

2.1.2 开发工具的选择

2.1.3 硬件开发所需仪器

2.2 软件开发环境的建立

2.2.1 系统概述

2.2.2 Keil C51单片机软件开发系统的整体结构

2.2.3 Keil C51 的使用

2.3 Keil C51+ Proteus 实现单片机的软件仿真……

第3章单片机应用系统设计的必备知识

第4章简单应用系统设计案例——I/O使用

第5章简单应用系统设计案例——定时器和中断使用第6章简单应用系统设计——串行通信类

第7章简单应用系统设计——控制类

第8章综合应用系统设计案例——基础篇

第9章综合应用系统设计案例——提高篇

第10章综合应用系统设计案例——实践篇

80c51单片机交通灯课程设计报告1.pdf

80C51单片机交通灯课程设计报告 目录 第一章引言 (3) 第二章单片机概述 (4) 第三章芯片介绍 (6) 3.1AT89S51单片机介绍 (6) 3.1.1简介 (6) 3.1.2主要管脚介绍 (6) 3.274LS164介绍 (8) 3.3共阳数码管介绍 (8) 3.3.1分类简介 (8) 图3.3LED数码管引脚定义 (9) 3.3.2驱动方式 (9) 3.3.3主要参数 (10) 3.3.4应用范围 (10) 第四章系统硬件设计 (11) 4.1硬件设计要求 (11) 4.2硬件设计所用元器件 (11) 4.3硬件设计图 (11) 4.4设计流程图 (12) 第五章系统软件设计 (13) 5.1流程图 (13)

5.2程序设计 (14) 第六章结论 (16) 参考文献 (18)

第一章引言 在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。 本文为了实现交通道路的管理,力求交通管理先进性、科学化.分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。

51单片机实例程100讲全集

目录 目录 (1) 函数的使用和熟悉 (4) 实例3:用单片机控制第一个灯亮 (4) 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 (4) 实例5:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 (5) 实例6:使用P3口流水点亮8位LED (5) 实例7:通过对P3口地址的操作流水点亮8位LED (6) 实例8:用不同数据类型控制灯闪烁时间 (7) 实例9:用P0口、P1 口分别显示加法和减法运算结果 (8) 实例10:用P0、P1口显示乘法运算结果 (9) 实例11:用P1、P0口显示除法运算结果 (9) 实例12:用自增运算控制P0口8位LED流水花样 (10) 实例13:用P0口显示逻辑"与"运算结果 (10) 实例14:用P0口显示条件运算结果 (11) 实例15:用P0口显示按位"异或"运算结果 (11) 实例16:用P0显示左移运算结果 (11) 实例17:"万能逻辑电路"实验 (11) 实例18:用右移运算流水点亮P1口8位LED (12) 实例19:用if语句控制P0口8位LED的流水方向 (13) 实例20:用swtich语句的控制P0口8位LED的点亮状态 (13) 实例21:用for语句控制蜂鸣器鸣笛次数 (14) 实例22:用while语句控制LED (15) 实例23:用do-while语句控制P0口8位LED流水点亮 (16) 实例24:用字符型数组控制P0口8位LED流水点亮 (17) 实例25:用P0口显示字符串常量 (18) 实例26:用P0 口显示指针运算结果 (19) 实例27:用指针数组控制P0口8位LED流水点亮 (19) 实例28:用数组的指针控制P0 口8 位LED流水点亮 (20) 实例29:用P0 、P1口显示整型函数返回值 (21) 实例30:用有参函数控制P0口8位LED流水速度 (22) 实例31:用数组作函数参数控制流水花样 (22) 实例32:用指针作函数参数控制P0口8位LED流水点亮 (23) 实例33:用函数型指针控制P1口灯花样 (25) 实例34:用指针数组作为函数的参数显示多个字符串 (26) 实例35:字符函数ctype.h应用举例 (27) 实例36:内部函数intrins.h应用举例 (27) 实例37:标准函数stdlib.h应用举例 (28) 实例38:字符串函数string.h应用举例 (29) 实例39:宏定义应用举例2 (29) 实例40:宏定义应用举例2 (29) 实例41:宏定义应用举例3 (30)

51单片机与PC机通信资料

《专业综合实习报告》 专业:电子信息工程 年级:2013级 指导教师: 学生:

目录 一:实验项目名称 二:前言 三:项目内容及要求 四:串口通信原理 五:设计思路 5.1虚拟串口的设置 5.2下位机电路和程序设计 5.3串口通信仿真 六:电路原理框图 七:相关硬件及配套软件 7.1 AT89C51器件简介 7.2 COMPIN简介 7.3 MAX232器件简介 7.4友善串口调试助手 7.5 虚拟串口软件Virtual Serial Port Driver 6.9八:程序设计 九:proteus仿真调试 十:总结 十一:参考文献 一:实验项目名称:

基于51单片机的单片机与PC机通信 二:前言 在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。 目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。 为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。 用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。 串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容的设备也带有RS-232口。同时串口通讯协议也可以用于获取远程采集设备数据。所以,深入的理解学习和研究串口通信相关知识是非常必要的。此次毕业设计选题为“PC机与MCS-51单片机的串口通讯”,使用51单片机来实现一个主从式

基于51单片机课程设计报告

单片机课程设计 课题:基于51单片机的交通灯设计 专业:机械设计制造及其自动化 学号: 指导教师:邵添 设计日期:2017/12/18 成绩: 大学城市科技学院电气学院 基于51单片机数字温度计设计报告

一、设计目的作用 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。DS18B20支持“一线总线”接口,测量温度围-55°C~+125°C。在-10~+85°C围,精度为±0.5°C。18B20的精度较差,为±2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。 二、设计要求 (1).利用DS18B20传感器实时检测温度并显示。 (2).利用数码管实时显示温度。 (3).当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。 (4).能够手动设置上限和下限报警温度。 三、设计的具体实现 1、系统概述 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案设计框图如下:

51单片机中断系统详解

的定时器中断后便认为是1s,这样便可精确控制定时时间啦。要计50000个数时,TH0和TL0中应该装入的总数是65536-50000=15536.,把15536对256求模:15536/256=60装入TH0中,把15536对256求余:15536/256=176装入TL0中。 以上就是定时器初值的计算法,总结后得出如下结论:当用定时器的方式1时,设机器周期为T CY,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/T CY ,装入THX和TLX中的数分别为: THX=(65536-N)/256 , TLX=(65536-N)%256 中断服务程序的写法 void 函数名()interrupt 中断号using 工作组 { 中断服务程序内容 } 在写单片机的定时器程序时,在程序开始处需要对定时器及中断寄存器做初始化设置,通常定时器初始化过程如下: (1)对TMOD赋值,以确定T0和 T1的工作方式。 (2)计算初值,并将初值写入TH0、TL0或TH1、TL1。 (3)中断方式时,则对IE赋值,开放中断。 (4)使TR0和TR1置位,启动定时器/计数器定时或计数。 例:利用定时器0工作方式1,实现一个发光管以1s亮灭闪烁。 程序代码如下: #include #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num; void main() { TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1) TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872 TL0=(65536-45872)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1) { if(num==20) //如果到了20次,说明1秒时间 { led1=~led1; //让发光管状态取反 num=0; } } } void T0_time()interrupt 1

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.doczj.com/doc/6d14446044.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

51单片机实用汇编程序库(word)

51 单片机实用程序库 4.1 流水灯 程序介绍:利用P1 口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如:广告灯箱彩灯、霓虹灯闪烁。 程序实例(LAMP.ASM) ORG 0000H AJMP MAIN ORG 0030H MAIN: 9 MOV A,#00H MOV P1,A ;灭所有的灯 MOV A,#11111110B MAIN1: MOV P1,A ;开最左边的灯 ACALL DELAY ;延时 RL A ;将开的灯向右边移 AJMP MAIN ;循环 DELAY: MOV 30H,#0FFH D1: MOV 31H,#0FFH D2: DJNZ 31H,D2 DJNZ 30H,D1 RET END 4.2 方波输出 程序介绍:P1.0 口输出高电平,延时后再输出低电 平,循环输出产生方波。实际应用中例如:波形发生器。 程序实例(FAN.ASM): ORG 0000H MAIN: ;直接利用P1.0 口产生高低电平地形成方波////////////// ACALL DELAY SETB P1.0 ACALL DELAY 10 CLR P1.0 AJMP MAIN ;////////////////////////////////////////////////// DELAY: MOV R1,#0FFH DJNZ R1,$ RET

五、定时器功能实例 5.1 定时1 秒报警 程序介绍:定时器1 每隔1 秒钟将p1.o 的输出状态改变1 次,以达到定时报警的目的。实际应用例如:定时报警器。程序实例(DIN1.ASM): ORG 0000H AJMP MAIN ORG 000BH AJMP DIN0 ;定时器0 入口 MAIN: TFLA G EQU 34H ;时间秒标志,判是否到50 个 0.2 秒,即50*0.2=1 秒 MOV TMOD,#00000001B;定时器0 工作于方式 1 MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 11 SETB EA ;开总中断 SETB ET0 ;开定时器0 中断允许 SETB TR0 ;开定时0 运行 SETB P1.0 LOOP: AJMP LOOP DIN0: ;是否到一秒//////////////////////////////////////// INCC: INC TFLAG MOV A,TFLAG CJNE A,#20,RE MOV TFLAG,#00H CPL P1.0 ;////////////////////////////////////////////////// RE: MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 RETI END 5.2 频率输出公式 介绍:f=1/t s51 使用12M 晶振,一个周期是1 微秒使用定时器1 工作于方式0,最大值为65535,以产生200HZ 的频率为例: 200=1/t:推出t=0.005 秒,即5000 微秒,即一个高电

51单片机中断系统编程

51单片机中断系统编程 51单片机中断系统编程 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆中断是指如下过程(如下图所示):CPU 与外设同时工作,CPU执行主程序,外设做准备工作。当外设准备好时向CPU发中断请求信 号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序。在中断服务程序中 CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。 5.3.1 中断系统 MCS-51单片机提供了5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储 器中各有固定的中断入口地址,由此进入中断服务程序。5个中断源的符号、名称及产生 的条件如下。 ? INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 ? INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 ? T0:定时器/计数器0中断,由T0计数溢出引起。 ? T1:定时器/计数器l中断,由T1计数溢出引起。 ? TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 中断源有两级中断优先级,可形成中断嵌套。两个特殊功能寄存器用于中断控制和条件设 置。整个中断系统的结构框图如图所示。 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 中断系统结构框图 2 中断系统的控制寄存器 中断系统有两个控制寄存器(IE和IP),它们分别用来设定各个中断源的打开/关闭和中

断优先级。此外,在TCON中另有4位用于选择引起外部中断的条件并作为标志位。 (1)中断允许寄存器IE IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH。IE 用 来打开或关断各中断源的中断请求,基本格式如下: 上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 ? EA:全局中断允许位。EA=0,禁止一切中断;EA=1,打开全局中断控制,此时,由各 个中断控制位确定相应中断的打开或关闭。 ? ×:无效位。 ? ES:串行I/O中断允许位。ES=1,允许串行I/O中断;ES=0,禁止串行I/O中断。 ? ETl;定时器/计数器T1中断允许位。ETl=1,允许T1中断;ETl=0,禁止T1中断。 ? EXl:外部中断l中断允许位。EXl=1,允许外部中断1中断;EXl=0,禁止外部中断1中 断。 ? ET0:定时器/计数器T0中断允许位。ET0=1,允许T0中断;ET0=0,禁止TO中断。 ? EX0:外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中 断。 (2)中断优先级寄存器IP IP在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8H一BFH。 MCS-51单片机的中断分为两个优先级,IP用来设定各个中断源属于两级中断中的哪一级, 其基本格式如下: 上传的图片

51单片机与PC串口通讯

目录 第1章需求分析 ............................................................................................................................ - 1 - 1.1课题名称 (1) 1.2任务 (1) 1.3要求 (1) 1.4设计思想 (1) 1.5课程设计环境 (1) 1.6设备运行环境 (2) 1.7我在本实验中完成的任务 (2) 第2章概要设计 ............................................................................................................................ - 2 - 2.1程序流程图 (2) 2.2设计方法及原理 (3) 第3章详细设计 ............................................................................................................................ - 3 - 3.1电路原理 (3) 3.1.1STC89C52芯片 ............................................................................................................. - 3 -3.2串口通信协议 (4) 3.3程序设计 (5) 3.3.1主程序模块 .................................................................................................................... - 5 - 3.3.2串口通讯模块 ................................................................................................................ - 6 - 3.3.3控制部分文件 ................................................................................................................ - 8 - 3.3.4公共部分模块 .............................................................................................................. - 11 -3.4电路搭建 (12) 3.4.1电路原理图 .................................................................................................................. - 12 -第4章上位机关键代码分析 ...................................................................................................... - 12 - 4.1打开串口操作 (12) 4.2后台线程处理串口程序 (15) 4.3程序运行界面 (18) 第5章课程设计总结与体会 ...................................................................................................... - 19 -第6章致谢 .................................................................................................................................. - 19 -参考文献........................................................................................................................................... - 19 -

(完整word版)51单片机课程设计实验报告

51单片机课程设计报告 学院: 专业班级: 姓名: 指导教师: 设计时间:

51单片机课程设计 一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、总原理图及元器件清单 1.总原理图 2.元件清单 三、模块电路分析 1. 最小系统: 单片机最小系统电路分为振荡电路和复位电路, 振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;

图 1 图 2 复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可; 图 3 当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST 为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST 为低电平。正常工作为低电平,高电平复位。 2. 显示模块: 分析发光二极管显示电路: 图 4 发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为

LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,产生自发辐射的荧光。图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。其余四个为功能状态指示灯,实际作用与学习板有关 分析数码管显示电路 图 5 数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。数码管主要用来显示经电路板处理后的程序的运行结果。图中使用了八个八段数码管,可以显示八个0-15的数字。使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。 四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。 1、详细描述硬件安装过程中出现的故障现象,并作故障分析,及解决方法。 六、软件调试

51单片机实例(含详细代码说明)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在 执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时, 延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms, 10ms×R5=200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管 的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平, 即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 5.程序框图 如图4.1.2所示

89C51单片机课程设计之秒表设计实验报告.

这里可以加学校LOGAL 单片机课程设计报告 院系:12级物信系 班别:光信息科学与技术7班 课程名称:秒表设计 姓名:龚俊才欧一景 学号:1210407033 1210407041 指导老师:张涛 2011.12.23

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2软件方案设计 3 程序编写流程及课程设计效果3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会 5 相关查阅资料

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C52RC设计一个4位LED数码显示“秒表”,显示时间为 00.00~99.99秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决三个主要问题,一是有关单片机定时器的使用;二是如何实现LED 的动态扫描显示;三是如何对键盘输入进行编程。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有两个开关按键:其中key1按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key2按键按下去时数码管清零,复位为“00.00”. 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步 的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的 计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 六、课程设计仪器 a) 集成电路芯片8051,七段数码管,89C51单片机开发板 b) MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2)。

51单片机中断系统程序实例

51单片机中断系统程序实例(STC89C52RC) 51单片机有了中断,在程序设计中就可以做到,在做某件事的过程中,停下来先去响应中断,做别的事情,做好别的事情再继续原来的事情。中断优先级是可以给要做的事情排序。 单片机的学习不难,只要掌握学习方法,学起来并不难。什么是好的学习方法呢,一定要掌握二个要点: 1. 要知道寄存器的英文全拼,比如IE = interrupt中断 不知道全拼,要去猜,去查。这样就可以理解为什么是这个名称,理解了以后就不用记忆了。 2. 每个知识点要有形像的出处 比如看到TF0,脑子里马上要形像地定位到TCON寄存器的某位 看到ET0, 马上要形像地定位到IE寄存器的第2位 https://www.doczj.com/doc/6d14446044.html,/tuenhai/独家揭秘:形像是记忆的最大技巧。当人眼看到某个图时,是把视觉信号转化成电信号,再转化成人能理解的形像。当我们回忆形像时,就是在重新检索原先那个视觉信号,并放大。在学习过程中,不断练习检索、放大信号,我们的学习能力就会越来越强。 写程序代码时,也要把尽量把每行代码形像化。 51单片机内中断源 8051有五个中断源,有两个优先级。与中断系统有关的特殊功能寄存器有IE(中断允许寄存器)、IP(中断优先级控制寄存器)、中断源控制寄存器(如TCON、SCON的有关位)。51单片机的中断系统结构如下图(注意,IF0应为TF0):

8052有6个中断源,它比8051多一个定时器/计数器T2中断源。 8051五个中断源分别是: (1)51单片机外部中断源 8051有两个外部中断源,分别是INT0和INT1,分别从P3.2和P3.3两个引脚引入中断请求信号,两个中断源的中断触发允许由TCON的低4位控制,TCON的高4位控制运行和溢出标志。 INT0也就是Interrupt 0。在这里应该看一下你的51单片机开发板的电路原理图。离开形像的记忆是没有意义的。读到上面这句,你应该回忆起原理图上的连接。任何记忆都转化为形像,这是学习的根本原理,我们通过学习单片机要学会这种学习方法,会让你一辈子受益无穷。 TCON的结构如下图: (a)定时器T0的运行控制位TR0

51单片机串口通信,232通信,485通信,程序

51单片机串口通信,232通信,485通信,程序代码1:232通信 #include #define uchar unsigned char #define uint unsigned int uchar flag,a,i; uchar code table[]="i get"; void init() { TMOD=0X20; TH1=0XFD; TH0=0XFD; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; } void main() { init();

while(1) { if(flag==1) { ES=0; for(i=0;i<6;i++) { SBUF=table[i]; while(!TI); TI=0; } SBUF=a; while(!TI); TI=0; ES=1; flag=0; } } } void ser() interrupt 4 {

RI=0; a=SBUF; flag=1; } 代码2:485通信 #include #include"1602.h" #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar code table[]="i get "; void init() { TMOD=0X20; TH1=0Xfd; TL1=0Xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1;

} void main() { init_1602(); init(); while(1) { if(flag==1) { display(0,a); } } } void ser() interrupt 4 { RI=0; a=SBUF; flag=1; }

51单片机电子时钟课程设计报告报告

目录 第一部分设计任务和要求 1.1单片机课程设计内 容 (2) 1.2单片机课程设计要求………………………………………………… 2 1.3系统运行流程………………………………………………………… 2 第二部分设计方案 2.1 总体设计方案说明 (2) 2.2 系统方框图 (3) 2.3 系统流程图 (3) 第三部分主要器材及基本简介 3.1 主要器材 (4) 3.2 主要器材简介 (4) 第四部分系统硬件设计 4.1 最小系统 (6) 4.2 LCD显示电路 (6) 4.3 键盘输入电路 (7) 4.4 蜂鸣器和LED灯电路 (7)

第五部分仿真电路图与仿真结果 (8) 第六部分课程设计总结 (8) 第七部分参考文献 (9) 附录A 实物图 附录B 系统源程序 第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序

用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图

51单片机与串口通信代码

51单片机与串口通信代码 2011年04月22日 17:18 本站整理作者:佚名用户评论(0) 关键字:串口通信(35) 串口调试 1. 发送:向总线上发命令 2. 接收:从总线接收命令,并分析是地址还是数据。 3. 定时发送:从内存中取数并向主机发送. 经过调试,以上功能基本实现,目前可以通过上位机对单片机进行实时控制。 程序如下: //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的 #i nclude #i nclude #i nclude #define INBUF_LEN 4 //数据长度 unsigned char inbuf1[INBUF_LEN]; unsigned char checksum,count3 , flag,temp,ch; bit read_flag=0; sbit cp=P1^1; sbit DIR=P1^2; int i; unsigned int xdata *RAMDATA; /*定义RAM地址指针*/ unsigned char a[6] ={0x11,0x22,0x33,0x44,0x55,0x66} ; void init_serialcomm(void) { SCON=0x50; //在11.0592MHz下,设置串行口波特率为9600,方式1,并允许接收

PCON=0x00; ES=1; TMOD=0x21; //定时器工作于方式2,自动装载方式 TH0=(65536-1000)%256; TL0=(65536-1000)/256; TL1=0xfd; TH1=0xfd; ET0=1; TR0=1; TR1=1; // TI=0; EA=1; // TI=1; RAMDATA=0x1F45; } void serial () interrupt 4 using 3 { if(RI) { RI=0; ch=SBUF; TI=1; //置SBUF空 switch(ch) { case 0x01 :printf("A"); TI=0;break; case 0x02 :printf("B"); TI=0;break; case 0x03 :printf("C"); TI=0;break;

基于单片机的双机串行通信

河南机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx 姓名: xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

51单片机电子时钟课程设计报告

第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。 第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图 2.2 单片机系统流程图 主流程图键盘扫描流程图

时钟流程图 第三部分主要器件及简介 3.1 主要器件 1. STC89C51单片机; 2.LCD1602液晶显示屏; 3.2 主要器件简介 1.STC89C51单片机简介 STC89C51是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率 为80MHz,片内含8K Bytes的可反复擦写1000次的 Flash只读程序存储器,器件兼容标准MCS-51指令系 统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。 2.LCD1602液晶显示屏简介

相关主题
文本预览
相关文档 最新文档