已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 单片机原理与接口技术 实训指导书 适用班级 汽电 13 1 2 班 指导教师 李 萍 实习时间 2014 6 30 2014 7 4 浙江水利水电学院机汽分院 2 单片机原理与接口技术 实训任务书 一 实训目的 要求一 实训目的 要求 单片机原理与接口技术 实训是汽电专业学生学习该课程后 进行的一次全面的综合训练 以达 到以下的目标要求 1 进一步熟悉和掌握 AT89C51 单片机的结构 工作原理 指令系统 中断系统及定时系统等 2 掌握 AT89C51 单片机的接口技术及相关外围芯片的外特性 控制方法 3 掌握以单片机核心的电路设计的基本方法和技术 4 利用开发软件 Proteus 与 Keil 软件 完成相应的硬件电路原理图 C 语言软件程序流程图及程序 清单 并进行系统调试 逐步掌握模块化程序设计方法和调试技术 5 使学生了解开发单片机应用系统的全过程 为今后从事汽电产品的开发 生产 管理及维护工作打 下一定的基础 二 计划安排二 计划安排 地点 工地点 工训训中心中心 313 日期日期汽汽电电 13 1 班班汽汽电电 13 2 班班时间时间及任及任务务安排安排 6 30 一 8 10 10 40 12 00 14 00 14 00 16 30 18 00 20 00 课题一设计与调试 7 1 二 8 10 10 40 12 00 14 00 14 00 16 30 18 00 20 00课题二设计与调试 7 2 三 8 10 10 4014 30 17 00课题三设计与调试 7 3 四 14 00 16 30 18 00 20 00 8 10 10 40 12 00 14 00 课题四设计与调试 7 4 五 14 00 16 30 18 00 20 00 8 10 10 40 12 00 14 00 答辩 撰写报告 三 课题名称及设计要求 详见指导书 五 实训成果及要求 设计说明书一份 包括 功能 硬件电路原理图 软件设计思路 程序清单 设计说明书要求 步骤清楚 层次分明 设计图纸要求 铅笔绘制 画面整洁 线条 字体清晰 符合工程制图要求 六 考核方法 根据实训成果 30 答辩表现 40 和平时表现 20 分别按优 良 中 及格 不及格五级记分评定 七 参考资料 单片机应用技术 C 语言版 王静霞 电子工业出版社 单片机应用技术 李秀忠 人民邮电出版社 单片机课程设计 蔡明文 华中科技大学出版社 指导老师 李萍 2014 年 5 月 3 单单片机原理与接口技片机原理与接口技术术 实训实训指指导书导书 课题一 0 999 计数器的设计 1 预备预备知知识识 数 数码码管的管的显显示方法示方法 1 数 数码码管的工作原理管的工作原理 数码管由 8 个发光二极管构成 通过不同的组 合可用来显示数字 0 9 字符 A F H L P U 及小数点 数码管显示器根据公共端的连接方式 可分为 共阴极数码管 将所有发光二极管的阴极连在一起 和共阳极数码管 所有阳极连在一起 以共阳极数码管为例 8 个发光二极管的阳极连接在一起 其共阳极接高电平 5V 其它 引脚接段驱动电路输出端 当某段为低电平时 该端所连接的字段导通并点亮 根据发光 段的不同组合显示数字或字符 共阳数码管每个段笔画是用低电平 0 点亮的 要求驱动功率很小 而共阴数码管段 笔画是用高电平 1 点亮的 要求驱动功率较大 通常每个段笔画要串一个数百欧姆的 降压电阻 2 数 数码码管的字形管的字形编码编码 要使数码管显示出相应的数字或字符 必须使段数据口输出相应的字形编码 共阴 极和共阳极数码管的字形编码各不相同 见下表 3 LED 数数码码管的静管的静态显态显示方式示方式 4 静态显示就是显示驱动电路具有输输出出锁锁存存功能 单片机要将所显示的数据送出去后 数码管始终显示该数据 不变 CPU 不再控制 LED 到下一次显示时 再传送一次新的显示 数据 静态显示的优点 显示的数据稳定 无闪烁 占用 CPU 时间少 并行接口电路中每一个数码管需要由一个 8 位输出接口控制 数码管的公共端按共阴或 共阳极分别接地或 VCC 静态显示的缺点 当显示位数较多时需要并行 I O 接口较多 2 功能 功能 功能功能 1 使用单片机外部中断实现 0 99 的加法计数 并采用两个共阴极 LED 组成 的显示屏将其显示出来 其中 P0 P1 口的 8 个引脚分别接到加法计数器的个位和十位 LED 数码管的 a g 及 dp 端 每按一次 K1 接到外部中断 0 进行加法计数 当加到 99 时 再按加数按钮无效 数据仍显示为 99 清零键接 P3 6 按下清零键实现计数清零 功能功能 2 在功能 1 的基础上 实现 0 99 的加减计数 硬件上增加一个按键 K2 接到 外部中断 1 进行减数 当减到 00 时 减数按钮无效 数据仍显示 00 功能功能 3 在功能 2 的基础上 实现 0 999 的加减计数 硬件上增加 P2 口接到口接到计计数器数器 的百位的百位显显示数示数码码管管输输出端出端 3 设计设计分析 功能一 分析 功能一 8 段 LED 数码管输出采用静态显示方式 硬件上将 AT89C51 的 P0 P1 口与共阴极 LED 数码管的 8 个引脚相连 软件上通过 Show Count On DSY 子程序可实现计数值 个位和十位的数据分离与独立显示 电路中接按键 K1 到外部中断 0 作为加数控制 硬件上按键输入时要并联一个 10K 欧的上拉电阻才能接至输入端 软件上要注意对数据的判断 当计数值已为最大值 99 时 则计数值不变 返回主程序 5 此外 单片机正常工作必须具备时钟电路和复位电路 其中时钟电路为单片机提供 其工作时所必须的时钟脉冲作为基本时序信号 复位电路可实现单片机上电时从初始状 态开始工作 p0 0 p0 1 p0 2 p0 3 p0 4 p0 5 p0 6 p0 0 p0 1 p0 2 p0 3 p0 4 p0 5 p0 6 p0 0 p0 1 p0 2 p0 3 p0 4 p0 5 p0 6 p1 0 p1 1 p1 2 p1 3 p1 4 p1 5 p1 6 p1 0 p1 1 p1 2 p1 3 p1 4 p1 5 p1 6 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 2 3 4 5 6 7 8 1 RP1 RESPACK 7 计数 清零 C1 22pF C2 22pF C3 10uF X1 12M R1 10k 图 1 电路仿真图 所用元件如下 共阴极数码管 7SEG COM CAT GRN 电容 CAP 路径下晶振 CRYSTAL 单片机 AT89C51电阻 RES 路径下按钮 BUTTON 5V 电源 Terminal Mode 中的 Power地 Terminal Mode 中的 Ground 6 开始 外部中断设置外部中断设置 显示十位 个位 计数值十位 个位分 离 清零键按下 计数值清零 Y N Int 0 加1子程序 加1 计数值为100 返回 Y 计数值赋值99 N 图 2 0 99 加法计数器程序流程 功能一 include define uchar unsigned char define uint unsigned int 0 9 的共阴极数字编码 最后一位为黑屏 uchar code DSY CODE 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x00 uchar Display Buffer 2 0 0 计数值分解后各位待显示计数值 uint Count 0 计数值 sbit Clear Key P3 6 清零键 void Show Count On DSY 子程序 在数子程序 在数码码管上管上显显示示计计数数值值 Display Buffer 1 Count 10 获取 2 个数位 Display Buffer 0 Count 10 if Display Buffer 1 0 十位为零时不显示 Display Buffer 1 0 x0a P0 DSY CODE Display Buffer 0 两位数码管独立显示 P1 DSY CODE Display Buffer 1 void main 主程序主程序 P0 0 xff P0 P1 口设为输出方式 P1 0 xff IT0 1 INT0 为下降沿触发方式 7 EA 1 EX0 1 允许总中断 允许外部中断 1 中断 while 1 if Clear Key 0 清零 Count 0 Show Count On DSY 持续刷新显示 void int 0 interrupt 0 外部中断外部中断0服服务务程序 中断号程序 中断号为为 interrupt 0 Count 加一计数 if Count 100 Count 99 如原计数值为 99 则不变 注 在功能 2 中 外部中断 1 服务程序的中断号为 interrupt 2 课题二课题二 闪烁灯的设计闪烁灯的设计 1 某单片机控制系统要求如下 功能功能 1 1 在正常情况下 8 个发光二极管常亮 2 按下 K1 时 第 1 个和第 8 个发光二极管闪烁 闪烁 5 次 3 按下 K2 时 8 个发光二极管变暗 4 发光二极管由 P0 口控制 要求 P0 输出低电平时驱动发光二极管亮 二极管接至 5V 电源时需串联一个 100 欧姆的电阻 功能 2 在功能 1 基础上 增加以下功能 按下 K3 时 8 个发光二极管闪烁 10 次 闪烁时间间 隔为 1s 功能 3 在功能 1 2 基础上 增加以下功能 按下 K4 时 8 个发光二极管轮流点亮 循 环 5 次 闪烁时间间隔为 1s 提示 功能 2 中 1S 时间间隔的实现可参考书本 P95 任务 7 中程序中的 delay1s 子 程序 此时注意主程序需要增加定时器 T1 工作方式 TMOD 值的设置 2 硬件 硬件设计设计 8 在 PROTEUS 中有四种不同颜色的发光二极管 为显示不同颜色可使用 4 种发光二极 管 由 P0 口内部结构可知 作为 I O 口使用时 需要加上拉需要加上拉电电阻 在此可采用排阻阻 在此可采用排阻 开关 K1 K2 和 K3 可接至 P1 口某 3 个未用的引脚上 单片机 AT89C51电阻 RES 路径下 开关 SWITCH 发光二极管 LED 排阻 RESPACK 8 3 程序程序设计设计 功能一的程序参考流程图如下图所示 开始 K1按下 P0 0 P0 7闪烁5次 N P0 P1口置为I O方式 0 xFF K2按下 8个二极管暗 Y Y 8个二极管亮 liang N 3 功能一的参考程序如下 功能一的参考程序如下 include define uchar unsigned char define uint unsigned int sbit Key 1 P1 0 定义位变量 Key 1 和 Key 2 sbit Key 2 P1 1 sbit P00 P0 0 定义位变量 P00 和 P07 sbit P07 P0 7 void delay unsigned char i 延时函数 无符号字符型变量 i 为形式参数 unsigned int j k 定义无符号字符型变量 j 和 k for k 0 k i k 双重 for 循环语句实现软件延时 for j 0 j 500 j void Key 1 Flash 按键 K1 的处理程序 uchar u 9 for u 0 u 10 u 闪烁 10 次 P00 P00 取反 P07 P07 delay 200 延时 void main 主程序 P0 0 x00 常态下 8 个发光二极管均亮 while 1 if Key 1 0 Key 1 Flash 若 K1 按下 则进行按键处理 else if Key 2 0 P0 0 xff 若 K2 按下 则进行按键处理 else P0 0 x00 无键按下 则常亮 4 仿真 仿真调试调试 1 源程序 源程序输输入 入 编辑编辑及及编译编译 调试运行成功后生成目标文件 XX HEX 2 程序 程序调试调试 在调试过程中打开工作寄存器窗口 特殊功能寄存器窗口 内部 RAM 窗口 观察程序运行过程中各相关窗口的单元值 调试时 先采用单步和断点的形式运行程序 迅速找出问题所在 程序通过后再全速运行 3 电电路仿真 路仿真 用 Proteus 软件绘制仿真电路 将软件生成的目标代码文件下载到 AT89CT51 中 运行仿真电路直至实现电路功能 课题三 交通灯控制系统的设计课题三 交通灯控制系统的设计 1 功能 设计一个十字路口交通灯控制系统 分为东西道和南北道 设东西道为 A 道 南北 道为 B 道 1 正常情况下轮流点亮交通灯 状态如表 4 8 所示 2 特殊情况下 A 道通行 3 有紧急车辆通过时 A B 道均为红灯 2 系统处理方案及器件选择 本系统采用 AT89C51 作为核心控制器件 红 绿 黄灯各四个作为交通指示等 处 理紧急车辆的中断开关两个 3 硬件设计 由于 A 道 B 道上的两个同色灯均可连在一起 可用 AT89C51 的 P1 0 P1 5 共六根 输出线控制各色交通灯的点亮与熄灭 要求低电平输出驱动交通灯点亮 10 P1 5 A 红红 P1 4 A 黄黄 P1 3 A 绿绿 P1 2 B 红红 P1 1 B 黄黄 P1 0 B 绿绿 P1 端数端数 据据 状状态说态说明明 110011F3状状态态 1 A 通行 通行 B 禁行禁行 110 1011状状态态 2 A 绿绿灯灯闪闪 B 禁行禁行 101011EB状状态态 3 A 警告 警告 B 禁行禁行 011110DE状状态态 4 A 禁行 禁行 B 通行通行 011110 1状状态态 5 A 禁行 禁行 B 绿绿灯灯闪闪 011101DD状状态态 6 A 禁行 禁行 B 警告警告 按按键键 S1 和和 S2 模模拟紧拟紧急情况和特殊情况的急情况和特殊情况的发发生 分生 分别别接到外部中断接到外部中断 0 P3 2 和外部 和外部 中断中断 1 P3 3 引脚 引脚 元器件清元器件清单见单见下表 下表 绿绿灯灯 LED GREEN 红红灯灯 LED RED 黄灯黄灯 LED YELLOW 电电阻 阻 RES 路径下路径下按按钮钮 BUTTON单单片机片机 AT89C51 5V 电电源 源 Terminal Mode 中的中的 Power 地 地 Terminal Mode 中的中的 Ground A green A yellow A red B green B yellow B red A green A yellow A red B green B yellow B red XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 D1 LED GREEN D3 LED YELLOW D4 LED YELLOW D5 LED RED D6 LED RED R1 220R R2 220R R3 220R R4 220R R5 220R R6 220R R7 220R R8 220R R9 220R D7 LED GREEN D8 LED GREEN D9 LED YELLOW D10 LED YELLOW D11 LED RED D12 LED RED R10 220R R11 220R R12 220R D2 LED GREEN R13 10k R14 10k A道道 B道道 紧紧急急情情况况 特特殊殊情情况况 4 软件设计 11 根据硬件设计原理图 画出主程序流程图 采用自上而下的设计方法进行程序设计 对紧急车辆 的处理 采用中断的方法 由中断处理程序处理 设置中断处理程序时 注意如何保护进入中断前的状态 信号灯 P 口 各寄存器状态等 使得 中断程序执行后能够回到交通灯中断前的状态 功能 交通灯控制程序 include unsigned char t0 t1 定义全局变量 用来保存延时时间循环次数 函数功能 用 T1 的方式 1 编制 0 5 秒延时程序 假定系统采用 12MHz 晶振 定 时器 1 工作方式 1 定时 50ms 再循环 10 次即可定时到 0 5 秒 void delay0 5s1 for t0 0 t0 0 x0a t0 采用全局变量 t0 作为循环控制变量 TH1 0 x3c 设置定时器初值 TL1 0 xb0 TR1 1 启动 T1 while TF1 查询计数是否溢出 即定时 50ms 时间到 TF1 1 TF1 0 50ms 定时时间到 将定时器溢出标志位 TF1 清零 函数功能 实现 0 5 秒 128 秒延时 延时时间为 0 5 秒 t void delay t1 unsigned char t for t1 0 t1 t t1 采用全局变量 t0 作为循环控制变量 delay0 5s1 函数 int 0 函数功能 外部中断 0 中断函数 紧急情况处理 当 CPU 响应外部中断 0 的中断请求时 自动执行该函数 实现两个方向红灯同时亮 10 秒 void int 0 interrupt 0 紧急情况中断 unsigned char i j k l m i P1 保护现场 暂存 P1 口 t0 t1 TH1 TH0 j t0 k t1 l TH1 m TH0 P1 0 xdb 两个方向都是红灯 delay t1 20 延时 10 秒 P1 i 恢复现场 恢复进入中断前 P1 口 t0 t1 TH1 TH0 t0 j t1 k TH1 l 12 TH0 m 函数 int 1 函数功能 外部中断 1 中断函数 特殊情况处理 当 CPU 响应外部中断 1 的中断请求时 自动执行该函数 实现 A 道放行 5 秒 void int 1 interrupt 2 特殊情况中断 unsigned char i j k l m EA 0 关中断 i P1 保护现场 暂存 P1 口 t0 t1 TH1 TH0 j t0 k t1 l TH1 m TH0 EA 1 开中断 P1 0 xf3 A 道放行 delay t1 10 延时 5 秒 EA 0 关中断 P1 i 恢复现场 恢复进入中断前 P1 口 t0 t1 TH1 TH0 t0 j t1 k TH1 l TH0 m EA 1 开中断 void main 主函数 unsigned char k TMOD 0 x10 T1 工作在方式 1 EA 1 开放总中断允许位 EX0 1 开外部中断 0 中断允许位 IT0 1 设置外部中断 0 为下降沿触发 EX1 1 开外部中断 1 中断允许位 IT1 1 设置外部中断 1 为下降沿触发 while 1 P1 0 xf3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿化树枝清运合同范本
- 直播主播签约合同范本
- 解除租赁果园合同范本
- 货物承包运输协议合同
- 物业提供拱门合同范本
- 礼仪经纪服务合同范本
- 阀门铸件订货合同范本
- 灵寿劳务外包协议合同
- 美容院法务合同协议书
- 网络门店运行合同范本
- T/CAQI 210-2021果蔬清洗装置
- 2025-2030中国富硒酵母行业营销策略与投资效益行业深度调研及投资前景预测研究报告
- 2023驾驶人数字化体检系统基本功能及技术要求
- 电气设备运行与检修-课件 实操课件 10kV柱上变压器的停送电操作
- 大学化学元素周期性试题及答案
- 江苏扬州大数据集团子公司招聘笔试题库2025
- 深圳协议二手车合同模板
- 酒厂车间员工管理制度
- DB21T 3722.7-2025高标准农田建设指南 第7部分:高标准农田工程施工质量评定规范
- 人教版四年级上册数学期中检测试卷附答案
- 广东工业大学《机械设计基础E》2023-2024学年第二学期期末试卷
评论
0/150
提交评论