单片机实验报告含仿真.docx_第1页
单片机实验报告含仿真.docx_第2页
单片机实验报告含仿真.docx_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用课程实验报告专业: 班级: 姓名: 学号:实验一、keilC51及proteus软件的使用一、实验目的:1、掌握keil和proteus软件的基本操作2、通过具体实例掌握keil和proteus软件的使用。二、实验原理: keil使用步骤,proteus使用步骤三、程序:四、实验结果分析:五、总结:学会了使用keil和proteus软件,掌握了利用keil和proteus软件进行仿真的步骤。实验二、并行输入/输出接口实验一、实验目的:1、 进一步熟悉keil仿真软件、proteus仿真软件的使用。2、 了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。3、 掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。二、实验原理:MCS 51单 片 机 的 串 行 口 在 实 际 使 用 中 通 常 用 于 三 种 情 况 : 利 用 方 式 0 扩 展 并 行 i/0 接 口 : 利 用 方 式 1 实 现 点 对 点 的 双 机 通 信 ; 利 用 方 式 2 或 方 式 3 实 现 多 机 通 信 。 利 用 方 式 0 扩 展 并 行 i/0 接 口 MCS 5 1 单 片 机 的 串 行 口 在 方 式 0 时 , 若 外 接 一 个 串 入 并 出 的 移 位 寄 存 器 , 就 可 以 扩 展 并 行 输 出 口 ; 若 外 接 一 个 并 入 串 出 的 移 位 寄 存 器 , 就 可 以 扩 展 并 行 输 入 口 。三、程序:#includereg51.hsbit P1_0=P10;void main() unsigned char i; unsigned int j;SCON=0x00;i=0x01;for(;) P1_0=0; SBUF=I; while(!TI) i P1_0=1;TI=0;for(j=0;j=254;j+);i=i*2;if(i=0x00) i=0x01; 四、实验结果分析:五、总结:进一步熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会了构建简单的流水灯电路。掌握了C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。实验三、定时器/计数器实验(1)查询方式产生500us的方波一、实验目的:1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;2、了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理;3、掌握查询方式处理定时/计数的工作过程,4、掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。二、实验原理:通 常 利 用 定 时 / 计 数 器 来 产 生 周 期 性 的 波 形 。 利 用 定 时 / 计 数 器 产 生 周 期 性 波 形 的 基 本 思 想 是 : 利 用 定 时 / 计 数 器 产 生 周 期 性 的 定 时 , 定 时 时 间 到 则 对 输 出 端 进 行 相 应 的 处 理 。 例 如 产 生 周 期 性 的 方 波 只 需 定 时 时 间 到 对 输 出 端 取 反 一 次 即 可 。 不 同 的 方 式 定 时 的 最 大 值 不 同 , 如 定 时 的 时 间 很 短 , 则 选 择 方 式 2 。 方 式 2 形 成 周 期 性 的 定 时 不 需 重 置 初 值; 如 定 时 比 较 长 , 则 选 择 方 式 0 或 方 式 1 ; 如 时 间 很 长 , 则 一 个 定 时 / 计 数 器 不 够 用 , 这 时 可 用 两 个 定 时 / 计 数 器 或 一 个 定 时 / 计 数 器 加 软 件 计 数 的 方 法 。三、程序:#include reg51.hsbit P1_0=P10;void main()TMOD=0x02;TH0=0x06;TL0=0x06;TR0=1;for(;)if(TF0)TF0=0;P1_0=!P1_0;四、实验结果分析:五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;了解51单片机中定时、计数的概念,熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了查询方式处理定时/计数的工作过程,掌握了定时/计数器在C51中的设置与程序的书写格式以及使用方法。实验四、定时器/计数器实验(2)中断方式产生500us的方波一、实验目的:1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;2、进一步熟悉51单片机内部定时/计数器的结构与工作原理;3、掌握中断方式处理定时/计数的工作过程。二、实验原理从 P 1.0 输 出 周 期 为 500 us 的 方 波 , 只 需 P 1.0 每 250 us 取 反 后一次 即 可 。当系统时钟为 12MHz 时 , 定 时 / 计 数 器 TO 工 作 于 方 式 2 时 , 最 大 的 定 时 时间 为 256 us , 满 足 250us 的 定 时 要 求 , 方 式 控 制 字 应 没 定 为 000000 1 0B ( 02H ) 。 系 统 时钟 为12Mhz , 定 时 250us, 计 数 值N 为 250 , 初 值 X = 256 -250 =6 , 则 THO = TLO =06 H 。:三、程序:#include reg51.hsbit P1_0=P10;void main()TMOD=0x02;TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);void time0_int(void) interrupt 1P1_0=!P1_0;四、实验结果分析:五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;进一步熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了中断方式处理定时/计数的工作过程。实验五:串行接口实验(1)工作方式0扩展并行IO口一、实验目的:1, 掌握串行口工作方式0的程序设计;2、熟悉51单片机串口的结构和工作原理3、掌握串口工作方式0的工作特点。二、实验原理: MCS 51单 片 机 的 串 行 口 在 实 际 使 用 中 通 常 用 于 三 种 情 况 : 利 用 方 式 0 扩 展 并 行 i/0 接 口 : 利 用 方 式 1 实 现 点 对 点 的 双 机 通 信 ; 利 用 方 式 2 或 方 式 3 实 现 多 机 通 信 。 利 用 方 式 0 扩 展 并 行 i/0 接 口 MCS 5 1 单 片 机 的 串 行 口 在 方 式 0 时 , 若 外 接 一 个 串 入 并 出 的 移 位 寄 存 器 , 就 可 以 扩 展 并 行 输 出 口 ; 若 外 接 一 个 并 入 串 出 的 移 位 寄 存 器 , 就 可 以 扩 展 并 行 输 入 口 。 三、程序:#includereg51.hsbit P1_0=P10;void main() unsigned char i; unsigned int j;SCON=0x00;i=0x01;for(;) P1_0=0; SBUF=I; while(!TI) i P1_0=1;TI=0;for(j=0;j=254;j+);i=i*2;if(i=0x00) i=0x01; 四、实验结果分析:五、总结:掌握了串行口工作方式0的程序设计;熟悉了51单片机串口的结构和工作原理。掌握了串口工作方式0的工作特点。实验六:串行接口实验(2)双机通信一、实验目的:1、掌握串行口工作方式1的程序设计;2、进一步掌握51单片机串口的结构和工作原理3、掌握串口工作方式1的工作特点。二、实验原理:甲 、 乙 两 机 处 理 过 程 一 样 , 程 序 相 同 。 方 式 选 择 方 式 1 : 即 8 位 异 步 通 信 方 式 , 波 特 率 为 1200bps , 既 要 发 送 , 也 要 接 收 , 所 以 串 口 控 制 字 为 50H 。 由 于 选 择 的 是 方 式 1, 波 特 率 由 定 时 / 计 数 器 TI 的 溢 出 率 和 电 源 控 制 寄 存 器 PCON 中 的 SMOD 位 决 定 , 则 需 对 定 时 / 计 数 器 Tl 初 始 化 。 设 振 荡 频 率 为 12MHz , 取 SMOD=0, 波 特 率 为1200bps , 定 时 / 计 数 器 T1选 择 为 方 式 2 , 则 初 值 如 下 初 值 = 256 一 foscx2SMOD ( 12 波 特 率 32 ) = E6H 根 据 要 求 , 定 时 / 计 数 器 T1的 方 式 控 制 字 为 20H 。 发 送 过 程 采 用 查 询 方 式 , 在 主 程 序 中 读 取 PI 口 的 开 关 状 态 , 通 过 串 口 发 送 ; 接 收 过 程 采 用 中 断 方 式 , 接 收 的 内 容 送 P2 口 , 通 过 P2 口 的 发 光 二 极 管 显 示 。 三、程序:#include reg51.hvoid main()unsigned char i;SP=0x60;SCON=0X50;TMOD=0x20;TL1=0xe6;TH1=0xe6;TR1=1;EA=1;ES=1;while(1)P1=0XFF;i=P1;SBUF=i;while(TI=0);TI=0;void funins(void) interrupt 4EA=0;RI=0;P2=SBUF;EA=1;四、实验结果分析:五、总结:掌握了串行口工作方式1的程序设计;进一步掌握了51单片机串口的结构和工作原理,掌握了串口工作方式1的工作特点。实验七:中断系统实验(1)交通灯模拟控制一、实验目的1、掌握单片机外部中断的原理及过程。2、掌握单片机外部中断程序的设计方法。3、掌握单片机外部中断时中断方式的选择方法。二、实验原理:交 通 灯 正 常 运 行 时 , 可 分 为 4 个 状 态 : 状 态 1 , 东 西 方 向 绿 灯 , 南 北 方 向 红 灯 20 秒 , 状 态 编 码 “ 00100001 ” ; 状 态 2 , 东 西 方 向 黄 灯 , 南 北 方 向 红 灯 3 秒 , 状 态 编 码 “ 01000001 ” ; 状 态 3 , 南 北 方 向 绿 灯 , 东 西 方 向 红 灯 20 秒 , 状 态 编 码 “ 00010010 ” 状 态 4 , 南 北 方 向 黄 灯 , 东 西 方 向 红 灯 3 秒 , 状 态 编 码 “ 0001m00 ” 。 东 西 发 生 异 常 时 , 东 西 通 行 , 南 北 禁 止 , 东 西 方 向 绿 灯 闪 , 南 北 方 向 红 灯 闪 60 秒 ; 南 北 发 生 异 常 时 , 南 北 通 行 , 东 西 禁 止 , 南 北 方 向 绿 灯 闪 , 东 西 方 向 红 灯 闪 60 秒 。 主 程 序 中 实 现 交 通 灯 正 常 运 行 过 程 , 两 种 异 常 用 外 中 断 0 和 外 中 断 1 管 理 , 外 接 开 关 模 拟 异 常 发 生 , 在 中 断 服 务 程 序 中 实 现 异 常 处 理 , 在 主 程 序 中 开 放 外 中 断 0 和 外 中 断 1 , 设 置 为 边 沿 触 发 方 式 。 时 间 单 位 采 用 500ms 信 号 , 由 定 时 计 数 器 0 定 时 50ms , 循 环 10 次 产 生 , 定 时 计 数 器 0 采 用 查 询 方 式 , 主 程 序 中 设 定 定 时 计 数 器 0 的 工 作 方 式 : 方 式 1 。三、程序:#include reg51.hvoid delay500ms(unsigned char k);void main(void)SP=0x60;TMOD=0x01;IE=0x85;TCON=0x05;while(1)P1=0x21;delay500ms(40);P1=0x41;delay500ms(6);P1=0x12;delay500ms(40);P1=0x14;delay500ms(6);void int_0(void) interrupt 0unsigned char i1,i2;i1=P1;for(i2=0;i260;i2+)P1=0x21;delay500ms(1);P1=0x00;delay500ms(1);P1=i1;void int_1(void) interrupt 2unsigned char j1,j2;j1=P1;for(j2=0;j260;j2+)P1=0x12;delay500ms(1);P1=0x00;delay500ms(1);P1=j1;void delay500ms(unsigned char m)unsigned char k1,k2;TH0=0x3C;TL0=0xB0;TR0=1;for(k1=0;k1m;k1+)for(k2=0;k210;k2+)while(!TF0);TF0=0;TH0=0x3C;TL0=0xB0;四、实验结果分析:五、总结:掌握了单片机外部中断的原理及过程。掌握了单片机外部中断程序的设计方法。掌握了单片机外部中断时中断方式的选择方法。实验八:中断系统实验(2)工业监控系统的设计一、实验目的:1、进一步掌握外部中断技术的基本使用方法。2、进一步熟悉中断处理程序的编程方法。二、实验原理:在 单 片 机 监 控 系 统 中 , 信 号 的 监 控 用 外 部 中 断 来 实 现 , 51 单 片 机 外 部 中 断 只 有 两 个 , 而 监 控 信 号 通 常 有 多 个 , 这 里 就 涉 及 到 多 个 中 断 源 的 处 理 , 处 理 时 往 往 通 过 中 断 加 查 询 的 方 法 来 实 现 。 连 接 时 , 一 方 面 把 多 路 监 控 信 号 中 断 源 通 过 “ 线 与 ” 接 于 5 1 单 片 机 外 部 中 断 引 脚 上 , 另 一 方 面 , 每 一 个 中 断 源 再 连 接 到 一 根 并 口 线 上 。这 里 用 4 个 开 关 (BUTTON) 模 拟 4 路 监 控 信 号 , 通 过 4 输 入 的 与 门 ( AND 一 4 ) 连 接 到 INTO 引 脚 上 , 监 控 信 号 正 常 情 况 为 高 电平 , 发 生 超 限 变 为 低 电 平 。 4 路 监 控 信 号 又 分 别 与 P2 口 的 低 4 位 并 口 线 相 连 。 在 该 电 路 中 , 无 论 哪 个 中 断 源 提 出 请 求 , 系 统 都 会 响 应 TO 中 断 。 响 应 后 , 进 入 中 断 服 务 程 序 , 在 中 断 服 务 程 序 中 通 过 对 并 口 线 的 逐 一 检 测 来 确 定 是 哪 一 个 中 断 源 提 出 了 中 断 请 求 , 进 一 步 转 到 对 应 的 中 断 服 务 程 序 入 口 位 置 执 行 对 应 的 处 理 程 序 。 三、程序:#include reg51.h#include intrins.h#define uchar unsigned charsbit P10=P10;sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P23=P23;void delay()uchar i,j;for(i=0;i250;i+)for(j=0;j250;j+)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();void int0() interrupt 0if(P20=0)P10=0;if(P21=0)P11=0;if(P22=0)P12=0;if(P23=0)P13=0;delay();delay();void main(void)IT0=1;EA=1;EX0=1;while(1)P1=0xff;P2=0xff;四、实验结果分析:实验九:简单的I/O扩展实验一、实验目的:1、掌握单片机系统中扩展简单I/ O口的基本方法。2、掌握扩展I/O口的编程方法。二、实验原理:74LS373 的 数 据 锁 存 控 制 端 LE 是由8051 单 片 机 的 片 外 数 据 存 储 器 写 信 号 WR 和 P2.7 通 过 或 非 门 ( NOR ) 后 相 连 的 , 输 出 允 许 端 OE 直 接 接 地 , 输 入 端 有 数 据 来 时 直 接 通 过 输 出 端 输 出 。 当 执 行 向 片 外 数 据 存 储 器 的 写 指 令 时 , 指 令 中 片 外 数 据 存 储 器 的 地 址 使 P2.7 为 低 电 平 , 则 数 据 锁 存 控 制 端 LE 有 效 , 数 据 总 线 上 的 数 据 就 送 到 74LS373 的 输出 端 74LS244 的 控 制 端 10E 和 20E 连 在 一 起 , 与 8051 单 片 机 的 片 外 数 据 存 储 器 读 信 号RD和 P2.7 通 过 或 门 ( OR ) 后 相 连 , 当 执 行 从 片 外 数 据 存 储 器 读 的 指 令 时 , 指 令 中 片 外 数据储 器 的 地 址 使 P2.7 为 低 电 平 , 则 控 制 端 10E 和 20E 有 效 , 74LS244 的 输 入 端 的 数 据通过 输出端送 到 数 据 总 线 , 然 后 传 送 到 8051 单 片 机 的 内 部 。 这 里 , 扩 展 的 简 单 i/O 口访问时 只 需 地 址 线 最 高 位 P2.7 为 低 电 平 即 可 , 其 余 地 址 没 有 用 , 可 取 为 低 电 平 , 因 此 对 应 的片 外 据 在 储 器 地 址 为 7FFFH。三、程序:#include reg51.h#include absacc.h#define uchar unsigned charvoid main(void)uchar i;while(1)i=XBYTE0x7fff;XBYTE0x7fff=i;四、实验结果分析:五、总结:掌握了单片机系统中扩展简单I/ O口的基本方法。掌握了扩展I/O口的编程方法。实验十:可编程I/O口的扩展实验一、实验目的:1、熟悉8255A的结构和功能;2、熟悉8255A的几种工作方式;3、掌握8255A与单片机的接口;4、掌握8255A的编程方法。二、实验原理: 8255A 的 数 据 线 与 51 单 片 机 的 数 据 总 线 相 连 , 读 / 写 信 号 线 对 应 相 连 , 地 址 线 AO 、 Al 与 51 单 片 机 的 地 址 总 线 的 AO 和 Al 相 连 , 片 选 信 号 线 CS与 51 单 片 机 的 P2.7 相 连 。 8255A 的 A 口 、 B 口 、 C 口 和 控 制 口 的 地 址 分 别 是 7F00H 、 7F01H 、 7F02H 和 7F03H ( 高 8 位 地 址 线 未 用 的 取 1 , 低 8 位 地 址 线 未 用 的 取 0 ) , 8255A 扩 展 的 并 行 接 口 B 口 接 8 个 开 关 (DIPSWC_8) 输 入 , A 口 接 8 个 发 光 二 极 管 (LED-BARGRAPH-RED) 输 出 。 三、程序:#include reg51.h#include absacc.h#define uchar unsigned charvoid main(void)uchar i;XBYTE0x7f03=0x82;while(1)i=XBYTE0x7f01;XBYTE0x7f00=i;四、实验结果分析:五、总结:熟悉了8255A的结构和功能;熟悉了8255A的几种工作方式;掌握了8255A与单片机的接口;掌握了8255A的编程方法。实验十一:LED显示器与51单片机的接口实验一、实验目的:1、掌握LED显示器的基本结构与原理2、掌握LED数码管的静态显示和动态显示3、掌握LED显示器与单片机的接口的编程特点二、实验原理:8255A 扩 展 并 行 1/0 接 口 接 8 位 共 阴 极 数 码 管 (7SEG-MPX8-CC-BLUE) , 采 用 动 态 显 示 方 式 , 8 位 数 码 管 的 段 选 线 (AH) 与 8255A 的 A 口 相 连 , 8 位 数 码 管 的 公 共 端 (18 ) 与 8255A 的 B 囗 相 连 。 也 即 8255A 的 B 口 输 出 位 选 码 选 择 要 显 示 的 数 码 管 , 8255A 的 A 口 输 出 字 段 码 使 数 码 管 显 示 相 应 的 字 符 , 8255A 的 A 口 和 B 口 都 工 作 于 方 式 0 输 出 。 A 口 、 B 口 、 c 口 和 控 制 口 的 地 址 分 别 为 7F00H 、 7F01H 、 7F02H 和 7F03H ( 高 8 位 地 址 线 未 用 的 取 1 , 低 8 位 地 址 线 未 用 的 取 0 ) 。 三、程序:#include reg51.h#include absacc.h#define uchar unsigned char#define uchar unsigned intvoid delay(uint);void display(void);uchar disbuffer8=0,1,2,3,4,5,6,7;void main(void)XBYTE0x7f03=0x80;while(1)display();void delay(uint i)uint j;for(j=0;ji;j+)void display(void)uchar codevalue16=0x3f,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论