已知信号周期为400us,用单片机实现占空比周期为0.8的程序

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
单片机原理及应用作业答案
下载积分:1500
内容提示:单片机原理及应用作业答案
文档格式:DOC|
浏览次数:10|
上传日期: 00:23:48|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
单片机原理及应用作业答案
关注微信公众号编写一个PWM产生程序,使单片机产生一个周期为20ms,占空比可调的PWM信号,占空比通_百度知道
编写一个PWM产生程序,使单片机产生一个周期为20ms,占空比可调的PWM信号,占空比通
这个通过按键调占空比要怎么弄
我有更好的答案
根据 PWM 的数值,先编好输出程序。然后再调 PWM 的数值。
采纳率:64%
为您推荐:
其他类似问题
pwm信号的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。3被浏览5,785分享邀请回答0添加评论分享收藏感谢收起写回答拒绝访问 | www.renrendoc.com | 百度云加速
请打开cookies.
此网站 (www.renrendoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3eb387e8d7f34394-ua98).
重新安装浏览器,或使用别的浏览器HG1051 单片机实验指导目录第一章 概述................................................................................................................ 1 第二章 系统简介.......................................................................................................... 2 第三章............................................................................................................................ 4软件实验一 软件实验二 软件实验三 软件实验四 软件实验五 软件实验六 存储器块清零 ........................................................................................... 5 二进制到 BCD 转换................................................................................... 6 二进制到 ASCII 码转换 ............................................................................ 7 内存块移动 ................................................................................................. 8 程序跳转表 ................................................................................................. 9 数据排序 ................................................................................................... 10第四章.......................................................................................................................... 11第一节 基础实验................................................................................................................. 12 实验一 并口输入输出 ................................................................................................. 13 实验二 中断系统实验 ................................................................................................. 16 实验三 定时/记数器实验............................................................................................ 18 实验四 串行接口实验 ................................................................................................. 20 实验五 串并转换实验 ................................................................................................. 23 实验六 并串转换实验 ................................................................................................. 26 实验七 数码管静态显示 ............................................................................................. 29 实验八 数码管动态显示 ............................................................................................. 33 实验九 蜂鸣器报警实验 ............................................................................................. 35 第二节 硬件扩展与接口实验 ............................................................................................. 37 实验一 外扩 32K 的 RAM 读写实验 ......................................................................... 38 实验二 利用 8255 扩展 I/O 实验................................................................................ 41 实验三 利用 8155 扩展 I/O 实验................................................................................ 46 实验四 矩阵键盘接口实验 ......................................................................................... 51 实验五 点阵的显示及原理 ......................................................................................... 55 实验六 D/A 转换 DAC0832 的原理与应用............................................................... 59 实验七 A/D 转换 ADC0809 的原理与应用............................................................... 63 实验八 1602 液晶显示实验 ........................................................................................ 69 第三节 应用系统设计实验 ................................................................................................. 75 实验一 温度控制系统 ................................................................................................. 76 实验二 串行 E2PROM 操作系统 ............................................................................... 80 实验三 实时时钟 DS1302 的原理与应用 .................................................................... 86 实验四 点对点串行通信的原理与应用 ..................................................................... 89 实验五 红外收发系统 ................................................................................................. 92 实验六 图形液晶显示实验 ......................................................................................... 95 实验七 直流电机控制系统 ....................................................................................... 101 实验八 步进电机控制系统 ....................................................................................... 103 实验九 公交车报站系统 ........................................................................................... 106附录一ISP下载软件 .............................................................................................. 111 HG1051 单片机实验指导第一章概述为了更好的发展教育,提高学生的计算机应用能力和实际动手操作能力,更 好的适应现今市场所需人才的标准,根据本公司对社会的调研,现推出 HG1051 单片机综合实验系统。 本实验系统由实验仪、Keil C 编译软件(自配,请使用正版软件) 、开关电源 构成。本实验仪集成常用的单片机外围硬件,ISP 下载线,单片机实验板,编程 器功能于一身,提供强大的逻辑分析、波形输出和程序跟踪功能,可以让学生直 观地观察到单片机内部及外部电路工作的波形。 本实验仪可以方便灵活地构成各种实验方案,板上提供了基本的实验电路和 强大的芯片驱动电路, 大大减少了烦琐的连接线过程,只需要一条简单的指令即 可完成,使学生更多的掌握程序的编辑,板上也提供了 DIP40/28/24/20/16/14 插 孔和 CPU 的地址数据总线引出插孔,供学生自己扩展其他实验,培养实际动手 能力, 加强对实验电路的理解。 实验程序采用多种语言适应不同层次的学生的需 要。高级语言编写应用程序,是一种时代的需要,通过应用高级语言的编程和实 验。可使学生掌握高级语言的编程写法,为今后进入社会实践打下坚实的基础。 而汇编语言又能让学生了解单片机深层的原理。 各个学校可以根据自身的具体情况,选择相应的实验项目。如果需要进行实 验指导书以外的实验,本公司可以代编程序,并尽可能的提供各种技术支持。理念教学仪器仪表有限公司电话:023- 邮箱:jy.1 HG1051 单片机实验指导第二章 系统简介我司开发的 HG1051 单片机综合实验仪综合多年经验开发出的多功能 8051 单片机平 台 (兼容 AVR/PIC 单片机的部份烧写实验功能) 。 集成常用的单片机外围硬件, ISP 下载线, 单片机仿真器,单片机实验板,编程器功能于一身。配合本公司的近百个详细的汇编/C 语 言例子程序,可以让您在最短的时间内,全面的了解掌握单片机编程技术。特别适合于单片 机初学者,大中专及本科院校,单片机工程师,实验室选用。一 产品特点1、全开放的模块化设计:所有硬件资源对用户开放,在平台上可通过短路块独立 IC 芯 片,让实验者自行连接,具有自由拆散和组合的特点。所有实验项目均可采用译码法和线选 法来完成,搭配随心所欲,不会出现硬件束缚软件的情况。既可学习软件, 更可深入的了 解硬件。 该产品内置仿真器,只需要一根下载线就可以实现仿真,又可以把程序烧入单片 机来完成实验。 2、高品质的工艺:本机采用铝合金外箱,全贴片机器生产,工艺精美绝伦! 3、超强的电路资源配备: 实验内容设置丰富、合理,满足教学大纲要求,同时也可作 为学生毕业设计及普通研发之用,集成了基本上所有单片机应用中可能遇到的功能模块部 份,你再也不必要去找其他零件,即可轻松完成您所需要的开发任务。 4、 完美的例子程序:集合本公司多年的经验,本实验系统各实验项目大多取自于工业 控制系统的直接搬移或略微进行简单化而来, 具有很高的真实性, 每个模块都有完整的带中 文注释例子程序,原理图,接线方法,很多都可以直接拿来应用。快速提高您的硬件,软件 编程水平。因此能使学生从校园平稳的过度到社会。 5、所有端口全部采用防插反设计,均配有连接照片和中文注解,即便您是初学者,也 能轻松掌握。 6、配有 ISP 下载头。可选 232/USB 通信,CPU 控制编程,不受电脑配置及操作系统影 响,稳定性一流。可以作为一台独立的 ISP 下载线使用!同时在板上可以直接对 89S51/52 等等芯片编程,当作独立编程器使用。 7、开关电源供电,可根据使用环境自由选择,课堂演示方便。二 技术性能1、波输出指标 1) 时钟源频率输出范围:4KHz~900KHz 2) 频率输出准确度:≤±5% 3) 在 0~70℃ ,方波输出稳定度为:± 0.3% 4) 占空比均为 50% 2、具有过压保护功能,确保系统安全可靠。 3、整机采用热风整平工艺基板,全贴片机器生产,实验连接接口采用圆孔插座,整机 性能可靠。三 系统组成实验仪共由:开关电源供电接口、CPU 资源实验区、外部模块扩展区域、键盘阵列控 制实验模块、LED 电平显示电路、数码管显示模块、液晶显示及驱动模块、16*16 字符点阵2 HG1051 单片机实验指导显示区、蜂鸣器报警控制电路、存储器模块、A/D&D/A 转换模块、串/并&并/串转换模块、 显示电路线选控制模块、实时时钟管理模块、数字温度传感器模块、扩展电路模块、串口通 信模块、点对点通信模块、红外线遥控接收模块、步进电机、直流电机、逻辑笔、公交车报 站系统和单片机下载、编程模块等 26 个功能单元组成。 本实验系统实验分为两大部分,一部分软件实验,另一部分硬件实验。硬件实验部分提 供了丰富的硬件资源教学时可以根据需要自由设置其它实验,是目前市场上硬件资源最丰 富,实验内容最多,设置最灵活的单片机教学实验仪。四仪器配置: 1、HG1051 单片机技术实验主机箱(内置电源) 2、20M 双踪示波器(选配) 3、PC 机 五 产品规格 HG1051 单片机技术实验主机箱:442mm× 305mm× 148mm3 HG1051 单片机实验指导第三章软 件 实 验4 HG1051 单片机实验指导软件实验一一、 实验目的1、 掌握存储器读写方法存储器块清零2、 了解存储器的块操作方法二、 实验器材 1、 综合实验仪 2、 PC 机一台 一台三、实验内容及步骤指定存储器中某块的起始地址和长度,要求能将其内容清零。通过本实验,学生可 以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。如何将 存储器块的内容置成某固定值(例全填充为 0FFH)请同学们修改程序,完成此操作。 程序框图: 你 设置块起始设置块长度当前地址内容清零地址加 1 否 是否清除完是 结束四、参考程序: 见光盘。5 HG1051 单片机实验指导软件实验二 二进制到 BCD 转换一、 实验目的1、 转换算法2、 了解数值的各种表达方法 二、 实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验内容及步骤计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是 一种基本功。有兴趣的同学可以试试将 BCD 转换成二进制码。 程序框图: 给出要转换的二进制将该数除以 100,得百位数保存百位数将余数再除以 10,得十位数保存十位数余数为个位数,将其保存结束四、参考程序: 见光盘。6 HG1051 单片机实验指导软件实验三 二进制到 ASCII 码转换一、 实验目的1、 了解 BCD 值和 ASCII 值的区别 2、 如何将 BCD 值转换成 ASCII 值3、 了解如何查表进行数值转换及快速计算二、 实验器材 1、 综合实验仪 2、 PC 机一台 一台三、实验内容及步骤此实验主要让学生了解数值的 BCD 码和 ASCII 码的区别,利用查表功能可快速地 进行数值转换。进一步了解数值的各种表达方式。 程序框图: 给出要转换数 BCD 码取出 BCD 码高四位查表得到 ASCII 码保存高位 ASCII 码取出 BCD 码低四位查表得到 ASCII 码保存低位 ASCII结束四、参考程序: 见光盘。7 HG1051 单片机实验指导软件实验四 内存块移动一、 实验目的1、 了解内存的移动方法 2、 深对存储器读写的认识二、实验器材一台 一台1、 综合实验仪2、 PC 机 三、 实验内容及步骤内存块移动是计算机常用操作之一, 多用于大量的数据复制和图像操作。 本程序是 给出起始地址,用地址加一方法移动块,请思考给出结束地址,用地址减一方法移动块 的算法;另外,若源块地址和目标块地址有重叠,该如何避免。 程序框图: 设置块的源地址设置块的目标地址设置移动长度从源地址取数保存到目标地址中源地址加 1目标地址加 1否 是否移动完 是 结束四、参考程序: 见光盘。8 HG1051 单片机实验指导软件实验五 程序跳转表一、 实验目的1、 了解程序的多分支结构 2、 了解多分支结构程序的编程方法`二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验内容及步骤多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法, 查到子程序的地址,转到响应子程序。 程序框图:设置调用信号根据调用号查表得到 转地址跳转到相应程序段调用返回四、参考程序: 见光盘。9 HG1051 单片机实验指导软件实验六 数据排序一、 实验目的1、 了解数据排序的简单算法2、 了解数列的有序和无序概念 二、 实验器材1、 综合实验仪 2、 PC 机 一台 一台三、实验内容及步骤有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面 的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会 在数列的最后面。再进行下一轮的比较,找出第二大数据,直到全部数据有序。 程序框图: 设置数据区地址设置数据区长度清除交换标志当前地址取数 A地址加 1当前地址取数 B 是 A&=B? 否 设置交换标志 全部有序 是 交换 A,B 数位置 结束 否 数据比较完 是四、参考程序: 见光盘。10 HG1051 单片机实验指导第四章硬 件 实 验11 HG1051 单片机实验指导第一节基础实验12 HG1051 单片机实验指导实验一一、 实验目的并口输入输出1、 了解实验仪的端口设计 2、 掌握 8051 单片机并行 I/O 端口的原理及应用二、实验器材一台 一台1、 综合实验仪2、 PC 机(自配) 三、 实验原理本实验采用 MCU 最小系统 IC17 的 P0 口来控制流水灯,使 8 个 LED 呈现各种状 态。通过 P0 口点亮对应的 LED(D0~D7)具体实验电路如图 1-1 所示。IC1 7 1 2 3 4 5 6 7 8 13 12 15 14 31 19 18 9 17 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WRAT89 S5 2 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28RXD TXD ALE/P PSEN10 11 30 29MCU 最小系统 图 1-113 HG1051 单片机实验指导J 14 P1_ 7 P1_ 6 RES P1_ 5 1 3 5 7 9 2 4 6 8 10 VCC下载端口 图 1-2J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7单片机 P0 口 图 1-314 HG1051 单片机实验指导LED0LED_ D0D3 1LED RP33 VCC 5 10 R 8 7 6 5LED1LED_ D1D3 2LEDLED2LED_ D2D3 3LED1 2 3 4LED3LED_ D3D3 4LEDLED4LED_ D4D3 5LED RP44 VCC 5 10 R 8 7 6 5LED5LED_ D5D3 6LEDLED6LED_ D6D3 7LED1 2 3 4LED7LED_ D7D3 8LEDJ5 LED_ D0 LED_ D2 LED_ D4 LED_ D6 1 3 5 7 2 4 6 8 LED_ D1 LED_ D3 LED_ D5 LED_ D7LED 逻辑显示模块 图 1-4四、实验内容及步骤:1、 LED0~LED7 八个 LED 的阳极通过限流电阻接在电源(VCC)上,通过单片机 P0 口控制阴极来实现 LED 的亮和灭。 2、 用 8PIN 的数据线将 MCU 最小系统中 P0 口 (J15) 和 LED 逻辑显示模块端口 (J5) 连接好。 3、 按下相应模块的电源开关。 4、 编写程序,向 P0 口写入 55H 和 AAH。写入 55H 时,观察 LED(0―7)分别为: LED(1、3、5、7)亮,LED(0、2、4、6)灭。写入 AAH 时,观察观察 LED(0 ―7)分别为:LED(1、3、5、7)灭,LED(0、2、4、6)亮。 5、 通过下载线接到 J14 端口将程序下载到单片机 IC17 中。 6、 复位单片机观察 LED0―LED7 八个 LED 的效果。 7、 修改上面程序完成跑马灯显示效果。 8、 书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第一节 并口输入输出实验) 。15 HG1051 单片机实验指导实验二一、 实验目的中断系统实验1、 掌握中断程序的设计方法 2、 掌握 8051 外部中断源输入端(/INT0 和/INT1)的原理二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验原理本实验采用单片机的/INT0 和/INT1 接上查询式键盘。单片机使 LED 循环闪烁,每 当中断键盘按下, 则执行中断服务程序, 按下/INT1 键盘 LED 灯停止闪烁, 且 8 个 LED 灯全亮;按下/INT0 键盘 LED 灯停止闪烁,且 8 个 LED 灯的 LED(0―3)亮,LED(4 ―7)灭。具体实验电路如下图所示。KEY8KEY7KEY6KEY5KEY4KEY3KEY2KEY1S17S18 R33 4K7S19 R34 4K7 R35 4K7S20 R36 4K7S21S22 R37 4K7S23 R90 4K7S24 R91 4K7R92 4K7VCCJ 18 RXD INT0 T0 WR 1 3 5 7 2 4 6 8 TXD INT1 T1 RD16 HG1051 单片机实验指导四、实验内容及步骤1、 用实验仪内配置的 8pin 数据线将 MCU 最小系统 P0 口(J15)和 LED 逻辑指示模 块端口(J5)相连接;再用 1PIN 数据线分别将 MCU 最小系统的/INT0、/INT1 与 查询式键盘中 KEY1、 KEY2 相连。 2、 按下相应模块的电源开关。 3、 编写实验程序,通过 J14 下载到 MCU 最小系统 IC17 中。 4、 复位单片机观察 LED0―LED7 八个 LED 的效果, 再按下 KEY1 或 KEY2 观察 LED。 5、 书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第二节 中断系统实验) 。17 HG1051 单片机实验指导实验三一、 实验目的1、 掌握单片机定时器原理 2、 掌握单片机 I/O 的应用定时/记数器实验二、实验器材一台 一台 一台1、综合实验仪 2、PC 机(自配) 3、示波器三、实验原理本实验采用单片机 IC17, 采用晶振 12MHz, 要在 P1.0 上输出一个周期为 2ms 的方 波,方波的周期用 T0 确定,采用中断方法来实现,即在 T0 设置一个时间常数,使其 每隔 1ms 产生一次中断,CPU 响应中断后,在中断服务程序中对 P1.0 取反。IC1 7 1 2 3 4 5 6 7 8 13 12 15 14 31 19 18 9 17 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WRAT89 S5 2 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28RXD TXD ALE/P PSEN10 11 30 29MCU 最小系统18 HG1051 单片机实验指导四、实验内容及步骤1、 按下相应模块的电源开关。 2、 将编写好的实验程序, 通过 J14 下载到单片机 IC17 中, 晶振选择 12MHz((设置 KK2 跳线))。 3、 再用示波器观察 P1.0 口的波形。 4、 用计数器在 10ms 内计数综合实验仪上脉冲信号产生脉冲的个数。 5、 书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第三节 定时记数器实验) 。19 HG1051 单片机实验指导实验四一、 实验目的1、 掌握单片机串口通信原理 2、 掌握 MAX232 芯片工作原理 3、 掌握如何应用串口调试软件串行接口实验二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验原理在单片机系统设计中,经常需要使用串口进行外部通信,因此,串口通信部分是单 片机功能模块中极为重要的一部分。本实验采用单片机 IC17,通过 MAX232 与 PC 机 通信。单片机编写一段程序,在串口调试软件上发送数据,单片机接收后,再将数据返 回给串口调试软件,观察接受的数据与发送的数据是否一致。IC1 7 1 2 3 4 5 6 7 8 13 12 15 14 31 19 18 9 17 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WRAT89 S5 2 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28RXD TXD ALE/P PSEN10 11 30 29MCU 最小系统20 HG1051 单片机实验指导J 18 RXD INT0 T0 WR 1 3 5 7 2 4 6 8 TXD INT1 T1 RDMCU 最小系统VCC 16 C1 9 2 1 04 C2 0 6 1 04 TXD 2 32 _ TXD 11 10 12 9 15IC1 6 VCC V+ C1 + C1 C2 + VC2 T1IN T1OUT1 C2 1 3 4 C2 2 5 14 7 13 81 041 04 J C2 1 6 2 7 3 8 4 9 5 DB9RXD2 32 _ RXDT2IN T2OUT RIOUT R1 IN R2 OUT SGND RS23 2 R2 IN2 32 _ TXDled D7 6R9 9 5 60 R R1 00 5 60 R VCC2 32 _ RXDled D7 7串口通信21 HG1051 单片机实验指导四、实验内容及步骤1、 用实验仪配置的 1Pin 分别将 MCU 最小系统的 TXD、RXD 与串口通信模块的口 TXD、RXD 相连接。 2、 按下相应模块的电源开关。 3、 本实验采用 11.0592M 晶振(设置 KK2 跳线)、波特率 9600。学生可以根据需要选择 合适的晶振,产生不同的波特率。 4、 编写程序,将其下载到单片机 IC17 中,然后在串口调试软件上发送数据,单片机 接收后,再将数据返回串口调试软件,将编写好的程序下载到单片机 IC17 中。 5、 然后在串口调试软件上观察接受的数据与发送的数据是否一致 (串口调试软件见光 盘) 。 6、 书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第四节 串行接口实验) 。22 HG1051 单片机实验指导实验五一、 实验目的串并转换实验1、 掌握单片机串行口输出原理 2、 掌握 74HC164 工作原理 3、 掌握串并转换原理 4、 掌握单片机的 P1 口的 I/O 功能,输出串行数据二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验原理74HC164 是 8 位移位寄存器(串行输入,并行输出) 。当清除端(CLEAR)为低 电平时,输出端(QA-QH)为低电平。 串行数据输入端(A,B)可控制数据。当 A、 B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升 沿作用下决定 Q0 的状态。 引脚说明: ? CLK 时钟输入端,上升沿有效。 ? /CLR 同步清除输入端(低电平有效) 。 ? A,B 串行数据输入端 ? QA-QH 输出端。 其外部引脚图如图 5-1,真值表如图 5-2,时序图 5-3。引脚图 图 5-1真值表 图 5-223 HG1051 单片机实验指导时序图 图 5-3本次实验采用 MCU 最小系统 IC17 的 P1.0 作为 74HC164 的串行数据输入端,用 P1.1 作为时钟输入端通过编程将串行数据变换成并行数据送 LED 显示模块显示,观察 LED 显示效果与输入数据是否一致。本实验需要用到实验一并口输入输出。具体电路 图见图 5-4。IC1 0 Din _ 16 4 D_ IN 1 2 A B Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 3 4 5 6 10 11 12 13 1 64 _ D0 1 64 _ D1 1 64 _ D2 1 64 _ D3 1 64 _ D4 1 64 _ D5 1 64 _ D6 1 64 _ D7CLK_1 6 4 CLK VCC8 9CLK MR7 4HC1 6 424 HG1051 单片机实验指导J 12 1 64 _ D0 1 64 _ D2 1 64 _ D4 1 64 _ D6 1 3 5 7串并转换2 4 6 81 64 _ D1 1 64 _ D3 1 64 _ D5 1 64 _ D7四、实验内容及步骤1、 编写程序。单片机将 0x55 和 0xAA 数据通过编程把它们一位一位输出到 P1.0 口, 作为 74HC164 的串行数据,再通过 P1.1 控制 74HC164 的 CLK,模拟它的时钟,通 过上升沿将数据输出到 LED 显示模块。 2、 用实验仪配置的 1Pin 数据线分别将 MCU 最小系统 IC17 的 P1.0、P1.1 与串并模块 的 D_IN、CLK 相连接。 3、 用 8pin 数据线将串并模块 74HC164 数据输出口(J12)和 LED 逻辑指示模块端口 (J5)相连接。 4、 晶振任意选择。 5、 按下相应模块的电源开关。 6、 编写实验程序,通过 J14 下载到 MCU 最小系统 IC17 中。 7、 复位单片机观察实验效果,书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第五节 串并转换实验) 。25 HG1051 单片机实验指导实验六一、 实验目的1、 掌握 74HC165 工作原理 2、 掌握并串转换原理并串转换实验二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理74LS165 是 8 位移位寄存器(并行输入,互补串行输出) 。 当移位/置入控制端 (SH/LD)为低电平时,并行数据(A-H)被置入寄 存器,而时钟(CLK,CLK INH) 及串行数据(SER)无关。当 SH/LD 为高 电平时,并行置数功能被禁止。 CLK 和 CLK INH 在功能上是等价的,可以交换使用。当 CLK 和 CLK INH 有一 个为低电平并 且 SH/LD 为高电平时, 另一个时钟可以输入。 当 CLK 和 CLK INH 有一个为高电平时, 另一个时钟被禁止。 引脚说明: ? CLK,CLK INH 时钟输入端(上升沿有效) ? A-H 并行数据输入端 ? SER 串行数据输入端 ? QH 输出端 ? /QH 互补输出端 ? SH/LD 移位控制/置入控制(低电平有效) 其外部引脚图如图 6-1,真值表如图 6-2,时序图 6-3.图 6-1图 6-226 HG1051 单片机实验指导图 6-3 本次实验用逻辑开关模块的 SW (1―8) 来并行输入八位数据, MCU 最小系统 IC17 的 P1.0、P1.1 分别控制 74LS165 的 PL_165、CLK_165 控制端。P1.2 接 Dout_165 作为 74HC165 串行输出端,通过此 IO 口将数据串行送给单片机,单片机通过 P0 口再将数 据处理后,送 LED 逻辑指示模块显示,本实验需要用到实验一并口输入输出。具体实 验电路如下图所示。IC1 1 1 65 _ D0 1 65 _ D1 1 65 _ D2 1 65 _ D3 1 65 _ D4 1 65 _ D5 1 65 _ D6 1 65 _ D7 CLK 10 11 12 13 14 3 4 5 6 SER P0 P1 P2 P3 P4 P5 P6 P7 CLK1 CLK2 PL 7 4HC1 6 5J 13 1 65 _ D0 1 65 _ D2 1 65 _ D4 1 65 _ D6 1 3 5 7 2 4 6 8 1 65 _ D1 1 65 _ D3 1 65 _ D5 1 65 _ D7Q7 Q79 7D_ OUT2 15 PL 1并串转换27 HG1051 单片机实验指导SW1 J 30 SW1 SW3 SW5 SW7 1 3 5 7 2 4 6 8 SW2 SW4 SW6 SW8 SW1SW2SW3SW4SW5SW6SW7SW8SW2SW3SW4SW5SW6SW7SW8R8 3KR9 3KR1 0 3KR1 1 3KSW1SW2SW3SW4SW5SW6SW7SW8R1 2 3KR1 3 3KR1 4 3KR1 5 3KD2 6D2 5D2 4D2 3D2 7D2 8D2 9D3 0LEDLEDLEDLEDLEDLEDLEDLEDVCC逻辑开关四、实验内容及步骤1、 用实验仪配置的 1PIN 数据线分别将 MCU 最小系统 IC17 的 P1.0、P1.1、P1.2 与并 串转换模块的/PL 、CLK、D_out 相连接。 2、 用实验仪配置的 8PIN 数据线将并串转换模块中 J13 与八位逻辑开关 J30 相连接, 再用 8PIN 数据线将将 MCU 最小系统 P0 口(J15)和 LED 逻辑指示模块端口(J5) 相连接。 3、 晶振任意选择。 4、 按下相应模块的电源开关。 5、 按实验原理将编写好的程序下入 MCU 最小系统 IC17 中。 6、 复位单片机,改变八位逻辑开关的状态,观察 LED 逻辑指示的效果与开关状态是 否一致。 7、 书写实验报告。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第六节 并串转换实验) 。2 3 428 HG1051 单片机实验指导实验七一、 实验目的数码管静态显示1、 掌握数码管接口原理和控制原理 2、 掌握如何编写一位数码管的显示程序 3、 了解 74LS138 原理及应用二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验原理单片机驱动 LED 数码管有很多方法,按显示方法可以分为静态显示和动态显 示。 静态显示就是显示驱动电路具有输出锁存功能, 单片机将要显示的数据送出后 就不再控制 LED,直到下一次显示时再传送一次新的显示数据。只要当前显示的 数据没有变化,就无须理睬数码管显示器。静态显示的数据稳定,占用的 CPU 时 间少。静态显示中,每一个显示器读要占用单独的具有锁存功能 I/O 接口,该接口 用于笔划字型代码。 这样单片机只要把显示的字型代码发送到接口电路, 该字段就 可以显示发送的字型。要显示新的数据时,单片机再发送新的字型代码。 另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的 8 个笔画字段(a~g 和 dp)同名端连在一起,而每一个显示器的公共极性 COM 各自 独立的接受 I/O 线控制。 CPU 向字段输出端口输出字型码时, 所有显示器接收到相 同的字型码, 但究竟使用哪个显示器, 则取决于 COM 端而这一端是由 I/O 控制的, 由单片机决定何时显示哪一位。动态扫描用分时的方法轮流控制各个显示器的 COM 端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时 间极为短暂, 为由于人的视觉暂留现象及发光二极管的余辉效应, 给人的印象就是 一组稳定的显示数据。 静态显示和动态显示各有利弊, 静态显示虽然数据显示稳定, 占用很少的 CPU 时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多,如果显 示的位数比较多,硬件的开销、电源的功耗等问题将变的更加突出;动态显示需要 分时显示,需要 CPU 时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的 CPU 时间多,但使用的硬件少,可以大幅度地降低硬件成本和电源的功耗,还可 以节省线路板空间。 在一般较为简单的系统中为了,降低成本,动态显示方案具有一定的实用性, 也是目前单片机数码管显示中较为常用的一种显示方法。 本次实验将介绍静态扫描显示的方法,利用 MCU 最小系统 IC17 的一组 I/O 作为数据总线,直接将 7 段共阴数码管的段码送出即可。 注意: 一定要通过实验仪提供的 1PIN 数据线将 74LS138 的 A1=0, A2=0, A3=0 三端接地(GND) ,因为这样才能对一位数码管进行静态显示操作。 数码管字符段码如表 7-1。具体实验电路如图 7 所示。29 HG1051 单片机实验指导SD7 字型 0 1 2 3 4 5 6 7 A B C D E F dp 0 0 0 0 0 0 0 0 0 0 0 0 0 0SD6 g 0 0 1 1 1 1 1 0 1 1 0 1 1 1SD5 f 1 0 0 0 1 1 1 0 1 1 1 0 1 1SD4 e 1 0 1 0 0 0 1 0 1 1 1 1 1 1SD3 d 1 0 1 0 1 1 0 0 1 1 1 1 0SD2 c 1 1 0 1 1 1 1 1 1 1 0 1 0 0SD1 B 1 1 1 1 1 0 0 1 1 0 0 1 0 0表 7-1 SD0 a 1 0 1 1 0 1 1 1 1 0 1 0 1 1编码 共阴性 3F 06 5B 4F 66 6D 7D 07 77 7C 39 5E 79 71D7 8 a b c d e f g dp 1 2 3 4 5 6 7 8 DPY a a b c f b g d e e c d f dp g dp9D7 9 DPY a a b c f b g d e e c d f dp g dp101110101110Q1 CS5Q2 CS4Q3 CS3Q4 CS2Q5 CS11199119DPY a a b c f b g d e e c d f dp g dpa b c d e f g dp1 2 3 4 5 6 7 8DPY a a b c f b g d e e c d f dp g dpDPY a a b c f b g d e e c d f dp g dpDPY a a b c f b g d e e c d f dp g dpQ6 CS09 01 59 01 59 01 59 01 59 01 59 01 530 HG1051 单片机实验指导VCC 6 5 4 E3 E2 E1 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0IC6 7 9 10 11 12 13 14 15 7 4LS1 384 3 2 1RP85 6 CS5 7 CS4 8 CS3A2 A1 A03 2 1C B A4 3 2 11 01 RP95 CS2 6 CS1 7 CS0 81 01IC5 SD3 SD2 SD1 SD0 SD4 SD5 SD6 SD7 2 4 6 8 11 13 15 17 1 19 1 A1 1 A2 1 A3 1 A4 2 A1 2 A2 2 A3 2 A4 1G 2G 7 4HC2 4 4 1 Y1 1 Y2 1 Y3 1 Y4 2 Y1 2 Y2 2 Y3 2 Y4 18 16 14 12 9 7 5 3 4 3 2 1 1 2 3 4RP6 1 01 5 6 7 8 8 7 6 5 RP5 1 01 d c b a e f g dpJ4 a c e g SD0 SD2 SD4 SD6 1 3 5 7 2 4 6 8 SD1 SD3 SD5 SD7 b d f dp数码管显示注意: SD0、SD1、SD2、SD3、SD4、SD5、SD6、SD7 对应数码管 a b c d e f g dp31 HG1051 单片机实验指导四、实验内容及步骤1、 用实验仪提供的 1PIN 数据线将数码管显示模块 74LS138 的 A0,A1,A2 三端接地 (GND) ,便选择了右边第一位数码管。 2、 用实验仪提供的 8PIN 数据线将 MCU 最小系统中 P0 口(J5)与数码管显示模块 J4 相连接,作为数码管的数据输入端。 3、 按下相应模块的电源开关。 4、 编写一个程序使数码管显示 0―9,通过 J14 将程序下载到 MCU 最小系统 IC17 中。 5、 复位单片机 IC17,观察数码管显示的效果。 6、 改进上面的程序,实现多个字母显示(自设定显示内容) 。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第七节 数码管静态显示) 。32 HG1051 单片机实验指导实验八一、 实验目的数码管动态显示1、 掌握数码管动态显示原理 2、 掌握如何编写数码管的动态显示程序 3、 掌握 74LS138 原理及应用二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验说明动态显示就是逐位扫描轮流显示。在这种显示控制方法中,数码管分时工作, 每次只能有一位数码管显示, 由于人的视觉暂留, 所以从宏观上看起来仍是所有数 码管都在显示。图 8-1 为 6 位共阴型数码管。6 位数码管的段选线(a~dp)并联在 一起后由一个 I/O 口控制,各数码管的共阴公共端则分别由 74LS138 的/Q0~/Q5 控制。逐位轮流点亮各个数码管,每一位停留 1ms 在 10~20ms 之内再重复点亮, 这样,利用人的视觉暂留,好象 6 位 LED 数码管同时点亮了。 74LS138 是一种 3 位二进制代码的译码器。它有 3 个输入端:A0,A1 和 A2; 8 个输出端:/Q0~/Q7;3 个允许端:E3,E1 和 E2。内部由若干个反相器和与非 门组成。输入端 A0,A1,A2 的 8 种不同组合对应着/Q0~/Q7 的每一路输出,故 可选中 8 个电路芯片。即 A2A1A0 的 3 个端子依次为 000~111 时,输出端分别为 /Q0~/Q7。但/Q0~/Q7 能否输出,还要看允许输入端 E3,E1 和 E2 是否有效,只 有当 E3 为高电平,E1 和 E2 均为低电平时,输出才有效。 表 8-1 给出了 74LS138 的功能表。 表 8-1引脚图 8-1动态显示具体电路见上节所示:33 HG1051 单片机实验指导四、实验步骤1、 用实验仪提供的 1PIN 数据线将数码管显示模块 74LS138 的 A0,A1,A2 三端分别 与 MCU 最小系统的 P2.0、P2.1、P2.2 相连接,通过 A0,A1,A2 不同的组合可以 选择每一位数码管。 2、 用实验仪提供的 8PIN 数据线将 MCU 最小系统中 P0 口(J15)与数码管显示模块 J4 相连接,作为数码管的数据输入端。 3、 按下相应模块的电源开关。 4、 编写一个程序,使数码管依次显示 0~5 数字,通过 J14 将程序下载到 MCU 最小系 统 IC17 中。 5、 复位单片机 IC17,观察数码管显示的效果。 6、 减小延时时间,利用人的视觉暂留,好象 6 位数码管同时点亮了。 7、 书写实验报告。五、 参考程序: 见光盘 (…\参考程序\硬件实验程序\基础部分实验\第八节 数 码管动态显示) 。34 HG1051 单片机实验指导实验九一、 实验目的:蜂鸣器报警实验1、 掌握单片机的位操作。 2、 掌握单片机端口按键的识别技术。二、实验器材一台 一台1、 综合实验仪 2、 PC 机(自配)三、实验原理:用实验仪提供的 1PIN 数据线将蜂鸣报警模块的 SPEAKER 与 MCU 最小系统 的 P1.0 相连。MCU 最小系统 IC17 的 P1.0 经过三极管开关 Q10 控制蜂鸣器报警。 单片机 IC17 的 P1.1、P1.2 分别与查询式键盘 KEY1、KEY2 相连,通过读入键盘 的值,对蜂鸣器进行控制。例如:当键盘 KEY1 按下时,单片机对 P1.0 写“0” , 蜂鸣器则报警;当键盘 KEY2 按下时,P1.0 写“1” ,则停止报警。具体实验电路 如图 9-1 和图 9-2。VCC B1SPEAKER R1 37 1 0RBUZZR1 36 1 00 RQ1 0 9 01 5图 9-1J 16 P1. 0 P1. 2 P1. 4 P1. 6 1 3 5 7图 9-22 4 6 8P1. 1 P1. 3 P1. 5 P1. 735 HG1051 单片机实验指导四、实验内容及步骤:1、 用实验仪提供的 1PIN 数据线将蜂鸣报警模块的 /BUZZ 与 MCU 最小系统 IC17 的 P1.0 相连。 2、 用实验仪提供的 1PIN 数据线将查询式键盘模块的 KEY1、KEY2 分别与 MCU 最小 系统 IC17 的 P1.1、P1.2 相连。 3、 编写程序,通过读入键盘的值,对蜂鸣器进行控制。 4、 按下相应模块的电源开关。 5、 通过 J14 将程序下载到 MCU 最小系统 IC17 中。 6、 复位单片机 IC17,分别按下 KEY1 和 KEY2 观察效果。 7、 编写程序,实现长报警音和急促报警音调。五、 参考程序 : 见光盘( …\ 参考程序 \ 硬件实验程序 \ 基础部分实验 \ 第九节 蜂鸣器报警实验) 。36 HG1051 单片机实验指导第二节硬件扩展与接口实验37 HG1051 单片机实验指导实验一一、 实验目的外扩 32K 的 RAM 读写实验1、 掌握 62256 芯片结构及存储原理。 2、 掌握单片机并行口扩展 RAM 的方法。二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理MCS51 系列单片机的存储器包括: 1) 内部数据存储器(RAM) :8051/31 为 128 字节,8052/32 为 256 字节。 2) 内部程序存储器(ROM) :8051 4KB,8052 8KB。 3) 外部扩展程序存储器(ROM) :最大可扩展至 64KB(含内部 ROM) 。 4) 外部扩展数据存储器(RAM) :最大可扩展至 64KB(不含内部 ROM) 。 扩展 RAM 电路如下图所示:IC8 IC9 6 22 5 6 _D0 3 6 22 5 6 _D1 4 6 22 5 6 _D2 7 6 22 5 6 _D3 8 6 22 5 6 _D4 13 6 22 5 6 _D5 14 6 22 5 6 _D6 17 6 22 5 6 _D7 18 1 11 D0 D1 D2 D3 D4 D5 D6 D7 OE LE 7 4HC3 7 3 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19 10 9 8 7 6 5 4 3 6 22 5 6 _A8 25 6 22 5 6 _A9 24 6 22 5 6 _A1 20 1 6 22 5 6 _A1 21 3 6 22 5 6 _A1 2 2 6 22 5 6 _A1 23 6 6 22 5 6 _A1 4 1 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A1 0 A1 1 A1 2 A1 3 A1 46 22 5 6 D0 D1 D2 D3 D4 D5 D6 D7 11 12 13 15 16 17 18 19 6 22 5 6 _D0 6 22 5 6 _D1 6 22 5 6 _D2 6 22 5 6 _D3 6 22 5 6 _D4 6 22 5 6 _D5 6 22 5 6 _D6 6 22 5 6 _D7ALECS WE OE20 27 22CS WE OE38 HG1051 单片机实验指导J6 6 22 5 6 _A8 6 22 5 6 _A1 0 6 22 5 6 _A1 2 6 22 5 6 _A1 4 1 3 5 7 J7 6 22 5 6 _D0 6 22 5 6 _D2 6 22 5 6 _D4 6 22 5 6 _D6 1 3 5 7 2 4 6 8 6 22 5 6 _D1 6 22 5 6 _D3 6 22 5 6 _D5 6 22 5 6 _D7 2 4 6 8 6 22 5 6 _A9 6 22 5 6 _A1 1 6 22 5 6 _A1 3RAM 扩展模块J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 J 17 P2. 0 P2. 2 P2. 4 P2. 6 1 3 5 7 J 18 RXD INT0 T0 WR 1 3 5 7 2 4 6 8 TXD INT1 T1 RD 2 4 6 8 P2. 1 P2. 3 P2. 5 P2. 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 739 HG1051 单片机实验指导ALEALEMCU 最小系统四、实验内容及步骤1、 用实验仪提供的 1PIN 数据线将 RAM 扩展模块的/OE、 /WE、 ALE、 /CS 分别与 MCU 最小系统的/RD、/WR、ALE、GND 相连。 2、 用实验仪提供的 1PIN 数据线将 MCU 最小系统的 P1.0、P1.1、P1.2 分别与 LED 显 示模块的 LED0、LED1、LED2 相连。 3、 用实验仪提供的 8PIN 数据线将 RAM 模块的 J7、 J6 端口分别与 MCU 最小系统 IC17 的 J15(P0 口) 、J17(P2 口)端口相连。 4、 按下相应模块的电源开关。 5、 编写程序, 通过单片机对 62256 所有地址单元写 0x55, 然后再读出所有地址单元的 内容, 只要有一个存储单元内容正确 LED0 都亮, 一旦某个存储单元内容错误, LED1 灯亮、LED0 灯熄灭,根据结果可以判定 62256 芯片是好是坏。 6、 通过 J14 将程序下载到 MCU 最小系统 IC17 中。 7、 复位单片机 IC17,观察串口调试软件输出结果。 8、 书写实验报告。2五、 光盘上提供了测试程序和注释(…\参考程序\硬件实验程序\硬件扩展与 接口实验\第一节 外扩 32K 的 RAM 读写实验) 。40 HG1051 单片机实验指导实验二一、 实验目的利用 8255 扩展 I/O 实验1、 掌握 8255 芯片结构及编程方法 2、 掌握 8255 输入/输出实验方法 3、 掌握单片机并行口的扩展方法及编程方法 4、 掌握 74HC373 的原理及应用二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理8255A 是 Intel 公司生产的可编程并行输入/输出接口芯片,它有 3 个 8 位并行 I/O 口 PA、PB 和 PC 口,其中,PC 口又分为高 4 位口和低 4 位口,它们都可以通 过软件编程来改变 I/O 口的工作方式。8255 可以与 MCS-51 单片机直接接口。 8255A 的内部结构和引脚功能 内部结构 8255A 内容有 4 个分电路组成。它们是 A 口、B 口和 C 口,A 组和 B 组控制 器,数据总线缓冲器以及读写控制逻辑,如下图所示。41 HG1051 单片机实验指导(1)A 口、B 口和 C 口:A 口、B 口、C 口均为 8 位 I/O 数据口,但在结构上有 点差别。A 口由一个 8 位数据输出缓冲/锁存器和一个 8 位数据输入缓冲/锁存器组 成, B 口和 C 口各有一个 8 位数据输出缓冲/锁存器和一个 8 为输入缓冲锁存器 (无 输入数据锁存器,故 B 口不能在模式 2 下工作)组成。 在使用功能上,A 口、B 口和 C 口都可和外设相连,分别传送外设的输入/输 出数据或控制信息,但在模式 1 和模式 2 方式下,A 口和 B 口常用做数据口,传 送 I/O 数据。C 口为控制口,其高 4 位属于 A 口,传送 A 口上外设的控制/状态信 息,其低 4 位属于 B 口,传送 B 口所需的控制/状态信息。 (2)A 组和 B 组控制器:都由控制命令寄存器和控制逻辑组成。控制命令寄存 器接收 CPU 送来的控制字,用于决定 8255A 的工作模式;控制逻辑用于对 8255A 工作模式的控制。A 组控制电路用来控制 A 口和 C 口的上半部分(PC7~PC4), B组 控制电路用来控制 B 口和 C 口的下半部分(PC3~PC0)。 (3)数据总线缓冲器: 它是一个三态双向 8 位缓冲器。 用来传送 MCS-51 和 8255A 间的控制字、状态和数据。 (4)读写控制逻辑:它可以接收 MCS-51 送来的读写命令和选口地址,用于控 制对 8255A 的读写 2、引脚功能 8255SA 有 40 条引脚,采用双列直插式封装,引脚图如下图所示。(1) 数据总线 (8 条) : D7~D0 为数据总线, 用于传送 CPU 和 8255A 间的数据、 命令和状态字。 (2) 控制总线(6 条) ? RESET:复位线,高电平有效。 ? /CS:片选线,低电平有效。若/CS 为高电平,则本 8255A 不被选中;若 /CS 为低电平,则 8255A 检测到后处于工作状态。 ? /RD 和/WR: /RD 为读命令线, /WR 为写命令线, 皆为低电平有效。 若/RD 为高电平(/WR 必为低电平) ,则本片 8255A 处于写状态;若/RD 为低电 平(/WR 必为高电平) ,则所选 8255A 处于读状态。 ? A0 和 A1:地址输入线,用于选中 A 口、B 口,C 口和控制口的某一个工 作。 上述控制信号的组合可以实现 CPU 对 8255A 各端口的寻址。详见教科书。 (3) 并行 I/O 口线(24 条) :PA7~PA0 为双向 I/O 线,PA7 为最高位。用来传 送 I/O 数据,可以设定为输入或输出方式,也可以设定为输入/输出双向方式。 PB7~PB0 也为双向 I/O 线,PB7 为最高位,用于传送 I/O 数据,仅可设定为输入或42 HG1051 单片机实验指导输出方式。PC7~PC0 为双向数据/控制总线,PC7 为最高位,用于传送 I/O 数据或 控制/状态信号,可以设定为输入或输出方式,也可设定为控制/状态方式。 (4) 电源线(2 条) :Vcc 为+5V 电源线,允许±10%的变化;GND 为地线。 实验电路如下图所示。IC1 8 34 33 32 31 30 29 28 27 RD WR 5 36 9 8 35 6 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 RESET CS8 25 5 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10CS VCC+ C4 1 0u FR9 3 1KJ 19 D0 D2 D4 D6 1 3 5 7 J 21 PA0 PA2 PA4 PA6 1 3 5 7 2 4 6 8 PA1 PA3 PA5 PA7 PC0 PC2 PC4 PC6 2 4 6 8 D1 D3 D5 D7 PB0 PB2 PB4 PB6J 22 1 3 5 7 J 20 1 3 5 7 2 4 6 8 PC1 PC3 PC5 PC7 2 4 6 8 PB1 PB3 PB5 PB743 HG1051 单片机实验指导IC1 9 8 25 5 _ D0 3 8 25 5 _ D1 4 7 8 13 14 17 18 1 11 ALE D0 D1 D2 D3 D4 D5 D6 D7 OE LE 7 4HC3 7 3并口扩展模块―8255Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q72 8 25 5 _ A0 5 8 25 5 _ A1 6 9 12 15 16 19J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 J 17 P2. 0 P2. 2 P2. 4 P2. 6 1 3 5 7 2 4 6 8 P2. 1 P2. 3 P2. 5 P2. 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7 RXD INT0 T0 WRJ 18 1 3 5 7 2 4 6 8 TXD INT1 T1 RDALEMCU 最小系统44 HG1051 单片机实验指导四、实验内容及步骤1、 用实验仪提供的 1PIN 数据线将并口扩展模块(8255)的/RD、/WR、ALE、/CS 分 别与 MCU 最小系统 IC17 的/RD、/WR、ALE 相连,再用 1PIN 数据线将并口扩展 模块(8255)的/CS 与实验板的 GND 相连。 2、 用实验仪提供的 8PIN 数据线将并口扩展模块(8255)的 J19 端口(D0―D7)与 MCU 最小系统 IC17 的 J15 端口(P0―P7)相连接。 3、 用实验仪提供的 8PIN 数据线将并口扩展模块二的 J15 端口 (PA0―PA7) 与 LED 显 示模块 J21 端口相连。 4、 按下相应模块的电源开关。 5、 编写程序,通过 8255 的 PA 端口来控制流水灯。 6、 通过 J14 将程序下载到 MCU 最小系统 IC17 中。 7、 复位单片机 IC17,观察流水灯的效果。五、 光盘上提供了测试程序和注释(…\参考程序\硬件实验程序\硬件扩展与 接口实验\第二节 利用 8255 扩展 IO 实验) 。45 HG1051 单片机实验指导实验三一、 实验目的利用 8155 扩展 I/O 实验1、 掌握 8155 芯片结构及编程方法。 2、 掌握 8155 输入/输出实验方法。 3、 掌握单片机并行口的扩展方法及编程方法。二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理8155 是 Intel 公司研制的通用 I/O 接口芯片。MCS-51 和 8155 相连不仅可为外 设提供 2 个 8 位 I/O 端口(A 口和 B 口)和 1 个 6 位 I/O 端口(C 口) ,而且还可 为 CPU 提供 1 个 256B 的静态 RAM 存储器和 1 个 14 位定时器/计数器。因此它是 MCS-51 单片机系统最常用的外围接口芯片之一。 8155 的内部结构和引脚功能 (1)内部结构 8155 的内部结构框图如下图所示。它由 7 部分电路组成,即双向数据总线缓 冲器、地址锁存器、地址译码器和读写控制器、RAM 存储器、I/O 寄存器、命令 寄存器和状态寄存器以及定时器/计数器。(2)特性 ? 256 字节的 RAM ? 一组可编程的 6 位 I/O 口 ? 单一+5V 电源 ? 可编程 14 位二进制计时器/计数器 ? 完全静态工作 ? 多工式的地址及数据总线46 HG1051 单片机实验指导? 内部地址锁存 ? 40PIN DIP ? 两组可编程 8 位 I/O 口 (3)引脚图及引脚说明如下图所示。注意:8155 与 8156 唯一不同在与第 8 脚 8155=/CE 8156=CE 引脚说明: ? TIMER IN:计时/计数器脉冲输入端。 ? RESET:8155 内部复位信号输入端,在此间加一脉冲宽度大于 600ns 的正脉冲就 可使 8155 可靠地复位。复位时,A,B,C 口均预置为输入方式。 ? PC0~PC5:有两种功能:a、可被设置为一般目的输入/输出口,其输入或输出由 命令/状态寄存器决定;b、作为 PA 口、PB 口的信号引脚。 ? /TIMER OUT:计时/计数器输出端 ? /CE:芯片使能 ? IO/M:IO/Memory 选择线。当 IO/M=0 时,选中 8155 的片内 RAM,AD0~AD7 为 RAM 的地址,范围为 00~FFH;若 IO/M=1,则选中 8155 片内 3 个 I/O 端口以 及命令/状态寄存器和定时/计数器。AD0~AD7 为 I/O 端口地址,实际只有 A2~ AD0 这 3 位作为内部选择端口。 控制信号/CE=0,IO/M=1? ? ?/RD 和/WR:读写信号线,控制 8155 的读写操作,可以直接连单片机的/RD 和/WR 线。 ALE:地址锁存使能(下降沿使能) 。 PA0~PA7,PB0~PB7:为 8 位一般目的 I/O 口,输入或输出由命令/状态寄存器决 定。47 HG1051 单片机实验指导?? ?AD0~AD7:三态地址/数据线,为 CPU 低 8 为地址/数据总线。当 ALE 脉冲为下 降沿将地址锁存,此地址可作为 RAM 或 I/O 的选择地址,视 IO/M 的高低电平来 决定。而数据的写入或读出,依/WR 和/RD 的电位来决定。 VCC:+5V。 VSS:接地参考点。 8155 所有寄存器说明参考教材。 本实验为 PA 口做输出口控制,由 PA 口做流水灯花样显示。具体电路如下所 示。IC2 0 12 13 14 15 16 17 18 19 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD78 15 5 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 2 5CE RD WR IO/M ALE8 9 10 7 11CE RD WR IO/M ALETMR_OUT6TMROUTTMR_IN3TMRIN4RESETC3 2 0u FR4 1KVCC48 HG1051 单片机实验指导J 25 PA0 PA2 PA4 PA6 1 3 5 7 J 26 PB0 PB2 PB4 PB6 1 3 5 7 2 4 6 8 PB1 PB3 PB5 PB7 PC0 PC2 PC4 2 4 6 8 PA1 PA3 PA5 PA7 AD0 AD2 AD4 AD6J 23 1 3 5 7 J 24 1 3 5 7 2 4 6 8 PC1 PC3 PC5 2 4 6 8 AD1 AD3 AD5 AD7并口扩展模块―8155J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 J 17 P2. 0 P2. 2 P2. 4 P2. 6 1 3 5 7 2 4 6 8 P2. 1 P2. 3 P2. 5 P2. 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7 RXD INT0 T0 WRJ 18 1 3 5 7 2 4 6 8 TXD INT1 T1 RDALEMCU 最小系统49 HG1051 单片机实验指导LED0LED_ D0D3 1LED RP33 VCC 5 10 R 8 7 6 5LED1LED_ D1D3 2LEDLED2LED_ D2D3 3LED1 2 3 4LED3LED_ D3D3 4LEDLED4LED_ D4D3 5LED RP44 VCC 5 10 R 8 7 6 5LED5LED_ D5D3 6LEDLED6LED_ D6D3 7LED1 2 3 4LED7LED_ D7D3 8LEDJ5 LED_ D0 LED_ D2 LED_ D4 LED_ D6 1 3 5 7 2 4 6 8 LED_ D1 LED_ D3 LED_ D5 LED_ D7LED 逻辑显示模块四、实验内容及步骤1、 用实验仪提供的 1PIN 数据线将并口扩展模块(8155)的 RD、WR、IO/M、ALE 分别与 MCU 最小系统的 RD、WR、P2.0、ALE 相连,再用 1PIN 数据线将并口扩 展模块(8155)的 CE 与实验板的 GND 相连。 2、 用实验仪提供的 8PIN 数据线将并口扩展模块 (8155) 的 J23 端口与 MCU 最小系统 的 J15 端口(P0―P7)相连。再用 8PIN 数据线将并口扩展模块(8155)的 J25 端 口(PA0―PA7)与 LED 逻辑指示模块的 J5 端口相连。 3、 按下相应模块的电源开关。 4、 编写程序,通过 8155 的 PA 端口来控制流水灯。 5、 通过 J14 将程序下载到 MCU 最小系统 IC17 中。 6、 复位单片机 IC17,观察流水灯的效果。五、 光盘上提供了测试程序和注释(…\参考程序\硬件实验程序\硬件扩展与 接口实验\第三节 利用 8155 扩展 IO 实验) 。50 HG1051 单片机实验指导实验四一、 实验目的矩阵键盘接口实验1、 理解行列键盘扫描的原理及方法。 2、 掌握如何用单片机编程行列键盘。二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理键盘是一组按键的集合,它是最常用的单片机输入设备。键盘可以分为两类: 独立连接式和矩阵式。 独立连接式键盘是最简单的键盘电路, 每个独立地接入一根数据线。 平时所有 的数据输入线都被连接成高电平, 当任何一个键按下时, 与之相连的数据输入线将 被拉成低电平。要判断是否有键按下,只要用位处理指令即可。这种键盘的优点是 结构简单,使用方便,但随着键数的增多占用的 I/O 口线也增加。 矩阵式键盘,也即通常所讲的行列式键盘,由行线和列线组成,按键为于行、 列的交叉点上, 行、 列分别连接到按键开关的两端, 行线通过上拉电阻接到高电平。 无按键动作时,行线处于高电平状态;有按键按下时,交点的行线和列线接通,行 线电平状态将由与此行线相连的列线电平决定。 列线电平如果低, 则行线电平为低; 列线电平如果高, 则行线电平为高。 这一点是识别键盘按键是否被按下的关键所在。 由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在的行和列的电平,所 以必须将行、列线信号配合起来作适当的处理,才能确定闭合间所在的位置。矩阵 式键盘节省了好多的 I/O 口,适用于案件数量较多的场合。本例的 4×4 键盘即可 采用矩阵式键盘,如图 6-1。 +5V 列1 列2 列3 列4 行1 行2 行3 行4 10K×4图 6-1 通过行列键盘扫描的方法可获取键盘输入的键值,从而得知按下的是哪个按 键,具体过程如下。 1) 查询是否有键按下。单片机向行扫描口输出全为“0”的扫描码,然后从 列检测口检测信号,只要有一列信号不为“1” ,则表示有键按下,且不为 “1”的列即对应为按下的键所在的列。 2) 查询按下键所在的行、列位置。前面已经取得了按下键的列号,接下来要 确定键所在的行,这需要进行逐行扫描。单片机首先使第一行为“0” ,其 余各行为“1” ,接着进行列检测,若全为“1” ,表示不在第 1 行;然后使51 HG1051 单片机实验指导第 2 行为“0” ,其余各行为“1” ,再进行列检测,若为全“1” ,表示不在 第 2 行,否则在第 2 行;这样逐行检测,直到找到按下键所在的行。当各 行都扫描以后仍没有找到,则放弃扫描,认为是键的误动作。 3) 对得到的行号和列号译码,得到键值。对于 4×4 的行列式键盘,因为按 键的位置由行号和列号惟一确定, 且行列各 4 位, 所以用一个字节 (8 位) 来对键值编码是很适合的。 在键盘的扫描过程中应,注意以下问题: 3 4 当操作者按下或者松开按键时, 按键会产生机械抖动。 这种抖动经常发生在按 下或松开的瞬间,一般持续几到十几毫秒,抖动时间随按键的结构不同而不同。在 扫描键盘过程中,必须想办法消除按键抖动,否则会引起错误。 消除按键抖动可以用硬件电路来实现,例如,利用 R-S 触发器来锁定按键状 态,以消除抖动影响。也可以利用现成的专用消抖电路,如 MC14490 就是六路消 抖电路。较为简单的方法是用软件延时方法来消除按键的抖动,也就是说,一旦有 按键按下,就延时 20ms 以后再测按键的状态。这样就避开按键发生抖动的那一段 时间,使 CPU 能可靠地读按键状态。在编制键盘扫描程序时,只要发现按键状态 有变化,即无论是按下还是松开,程序都应延时 20ms 以后再进行其他操作。 在键盘扫描中, 应防止按一次键而有多个对应键值输入的情况。 这种情况的发 生是由于键扫描速度和键处理素的较快, 当某一个按下的键还未松开时, 键扫描程 序和键处理程序已执行了多遍。 这样, 由于程序执行和按键动作不同步而造成按一 次键有多个键值输入的错误状态。为避免发生这种情况,必须保证按一次键,CPU 只对该键作一次处理。为此,在键扫描程序中不仅要检测是否有按键按下,有按键 按下的情况,作一次键处理,而且在键处理完毕后,还应检测按下的键是否松开, 只有当按下的键松开以后,程序才往下执行。这样每按一个键,只作一个键处理, 使两者达到同步,消除按一次按键有多次键值输入的错误情况。 本次实验的具体电路如图 4-2 所示S1 VCC R2 5 1 0K R2 6 1 0K R2 7 1 0K R2 8 1 0K KEY S2 KEY S3 KEY S4 KEY S5 KEY S6 KEY S7 KEY S8 KEY S9 KEY S10 KEY S11 KEY S12 KEY S13 KEY S14 KEY S15 KEY S16 KEYH4 H3 H2 H1V1 V2 V3 V4 J 29H1 H3 V1 V31 3 5 72 4 6 8H2 H4 V2 V452 HG1051 单片机实验指导D7 8 a b c d e f g dp 1 2 3 4 5 6 7 8 DPY a a b c f b g d e e c d f dp g dp9D7 9 DPY a a b c f b g d e e c d f dp g dp101110101110Q1 CS5Q2 CS4Q3 CS3Q4 CS2Q5 CS11199119DPY a a b c f b g d e e c d f dp g dpa b c d e f g dp1 2 3 4 5 6 7 8DPY a a b c f b g d e e c d f dp g dpDPY a a b c f b g d e e c d f dp g dpDPY a a b c f b g d e e c d f dp g dpQ6 CS09 01 59 01 59 01 59 01 59 01 59 01 5VCC 6 5 4 E3 E2 E1 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0IC6 7 9 10 11 12 13 14 15 7 4LS1 384 3 2 1RP85 6 CS5 7 CS4 8 CS3A2 A1 A03 2 1C B A4 3 2 11 01 RP95 CS2 6 CS1 7 CS0 81 01IC5 SD3 SD2 SD1 SD0 SD4 SD5 SD6 SD7 2 4 6 8 11 13 15 17 1 19 1 A1 1 A2 1 A3 1 A4 2 A1 2 A2 2 A3 2 A4 1G 2G 7 4HC2 4 4 1 Y1 1 Y2 1 Y3 1 Y4 2 Y1 2 Y2 2 Y3 2 Y4 18 16 14 12 9 7 5 3 4 3 2 1 1 2 3 4RP6 1 01 5 6 7 8 8 7 6 5 RP5 1 01 d c b a e f g dp53 HG1051 单片机实验指导J4 a c e g SD0 SD2 SD4 SD6 1 3 5 7 2 4 6 8 SD1 SD3 SD5 SD7 b d f dp数码管显示J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7 P1. 0 P1. 2 P1. 4 P1. 6J 16 1 3 5 7 2 4 6 8 P1. 1 P1. 3 P1. 5 P1. 7MCU 最小系统四、实验内容及步骤1、 用实验仪配置的 8PIN 数据线将 MCU 最小系统的 P1 口(J16)与矩阵键盘(J29) 端口相连接。 2、 用实验仪提供的 1PIN 数据线将数码管显示模块 74LS138 的 A0,A1,A2 三端接地 (GND) ,便选择了右边第一位数码管。 3、 用实验仪提供的 8PIN 数据线将 MCU 最小系统中 P0 口(J15)与数码管显示模块 J4 相连接,作为数码管的数据输入端。 4、 按下相应模块的电源开关。 5、 编写程序,按下 1~16 个键分别在数码管上显示 0~9、A~F。 6、 书写实验报告。五、 参考程序: 见光盘(…\参考程序\硬件实验程序\硬件扩展与接口实验\第 四节 矩阵键盘接口实验) 。54 HG1051 单片机实验指导实验五一、 二、 实验目的点阵的显示及原理了解点阵显示的基本原理和实现方法。实验器材一台 一台3、 综合实验仪 4、 PC 机三、实验说明用高亮度 LED 发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频 动态图形。LED 显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、 运动场馆及各种室内/外显示场合得到广泛的应用。 所显示字符的点阵数据可以自行编写(即直接点阵画图) ,也可从标准字库(如 ASC16、HZ16)中提取。后者需要正确掌握字库的编码方法和字符定位的计算。 造字原理(以共阴的 16*16 点阵为例) :0 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 P0 P2123456789ABCDEF00 F0 00 00 FF 00 40 20 10 0F 14 24 44 04 04 04 00 03 00 00 3F 00 00 3F 21 21 21 3F 21 21 21 3F本次实验,通过 IC3 和 IC4(74HC244)控制点阵的行,IC2(74HC154)控制列进 行扫描, 用单片机 P0 口当普通 I/O 口使用输出点阵数据流。 单片机 P0 口输出上部分点 阵 8 位数据;单片机 P1 口输出下部分点阵 8 位数据;再通过 IC2(74HC154)逐列扫 描,便可显示文字和图形。本实验仍然是利用人的视觉暂留,好象点阵同时点亮。 具体电路如下图所示:55 4HG1051 单片机实验指导5133 14 016 1 15 16133 14 0 3 14 0HD0 9 HD1 14 HD2 8 HD3 12 HD4 1 HD5 7 HD6 2 HD7 59 14 8 12 1 7 2 5 D8 0HD0 9 HD1 14 HD2 8 HD3 12 HD4 1 HD5 7 HD6 2 HD7 59 14 8 12 1 7 2 5 D8 2133 14 016 1 15 1613HD8 9 HD91 4 HD1 08 HD11 12 HD1 21 HD1 37 HD1 42 HD1 559 14 8 12 1 7 2 5 D8 1HD8 9 HD91 4 HD1 08 HD11 12 HD1 21 HD1 37 HD1 42 HD1 559 14 8 12 1 7 2 5 D8 3IC3 DIAN_ A0 DIAN_ A1 DIAN_ A2 DIAN_ A3 DIAN_ A4 DIAN_ A5 DIAN_ A6 DIAN_ A7 2 4 6 8 11 13 15 17 1 19 1 A1 1 A2 1 A3 1 A4 2 A1 2 A2 2 A3 2 A4 1G 2G7 4HC2 4 4 1 Y1 1 Y2 1 Y3 1 Y4 2 Y1 2 Y2 2 Y3 2 Y4 18 16 14 12 9 7 5 3 HD0 HD1 HD2 HD3 HD4 HD5 HD6 HD7 DIAN_ A8 DIAN_ A9 DIAN_ A10 DIAN_ A11 2 4 6 8IC4 1 A1 1 A2 1 A3 1 A4 2 A1 2 A2 2 A3 2 A4 1G 2G16 1 15 16VD8 13 VD D1 90 V V D 1 1 3 VD12 4 10 VD13 VD14 6 11 VD15 15 16VD0 13 VD13VD2 VD3 40 1 VD4 VD5 6 11 VD6 15 VD7 1616 1 15 16VD8 1V 3 D9 VD 10 V D 11 3 VD12 4 10 VD13 VD14 6 11 VD15 15 16VD0 1V 3 D13VD2 D3 4V 1 0 D4 V VD5 6 1V 1 D6 1V 5 D7 167 4HC2 4 4 1 Y1 1 Y2 1 Y3 1 Y4 2 Y1 2 Y2 2 Y3 2 Y4 18 16 14 12 9 7 5 3 HD8 HD9 HD1 0 HD1 1 HD1 2 HD1 3 HD1 4 HD1 5DIAN_ A12 1 1 DIAN_ A13 1 3 DIAN_ A14 1 5 DIAN_ A15 1 7 1 1956 HG1051 单片机实验指导VD0 Q1 1 VD_ 0 VD_ 1 Q1 3VD1 Q1 5 VD_ 2VD2 Q1 7 VD_ 3VD3 Q1 9 VD_ 4VD4 Q2 1 VD_ 5VD59 01 59 01 59 01 59 01 59 01 59 01 5VD6 Q1 2 VD_ 6 VD_ 7 Q1 4VD7 Q1 6 VD_ 8VD8 Q1 8 VD_ 9VD9 Q2 0 VD_ 10VD1 0 Q2 2 VD_ 11VD1 19 01 59 01 59 01 59 01 59 01 59 01 53Q2 3 VD_ 12VD1 2 Q2 4 VD_ 13VD1 3 Q2 5 VD_ 14VD1 4 Q2 6 VD_ 154 5 VD19 01 59 01 59 01 59 01 5IC27 4HC1 5 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 VD_ 0 VD_ 1 VD_ 2 VD_ 3 VD_ 4 VD_ 5 VD_ 6 VD_ 7 VD_ 8 VD_ 9 VD_ 10 VD_ 11 VD_ 12 VD_ 13 VD_ 14 VD_ 15TitleA B C D23 22 21 20A B C D18 19G1 G2Size B Date: File: 35745 HG1051 单片机实验指导J2 DIAN_ A0 DIAN_ A2 DIAN_ A4 DIAN_ A6 1 3 5 7 J3 DIAN_ A8 DIAN_ A10 DIAN_ A12 DIAN_ A14 1 3 5 7 2 4 6 8 DIAN_ A9 DIAN_ A11 DIAN_ A13 DIAN_ A15 2 4 6 8 DIAN_ A1 DIAN_ A3 DIAN_ A5 DIAN_ A7点阵显示模块J 17 P2. 0 P2. 2 P2. 4 P2. 6 1 3 5 7 J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7 P1. 0 P1. 2 P1. 4 P1. 6 2 4 6 8 P2. 1 P2. 3 P2. 5 P2. 7 J 16 1 3 5 7 2 4 6 8 P1. 1 P1. 3 P1. 5 P1. 7MCU 最小系统四、实验步骤1、 用实验仪配置的 8PIN 数据线将 MCU 最小系统 IC17 的 P0 口(J15) 、P1 口(J16) 分别与点阵显示模块 J2、J3 端口相连接。 2、 用实验仪提供的 1PIN 数据线将点阵显示模块的 A,B,C,D 分别与 MCU 最小系 统 IC17 的 P2.0、P2.1、P2.2、P2.3 相连接。 3、 按下相应模块的电源开关。 4、 编写程序,使点阵循环显示“临”字,将程序下入 MCU 最小系统 IC17 中。 5、 观察点阵显示的效果,书写实验报告。五、 参考程序: 见光盘(…\参考程序\硬件实验程序\硬件扩展与接口实验\第 五节 点阵显示实验) 。58 HG1051 单片机实验指导实验六一、 实验目的D/A 转换 DAC0832 的原理与应用1、 熟悉 D/A 转换的原理及过程。 2、 熟悉 D/A 转换器件设计外围电路以及与单片机的接口电路。 3、 掌握如何编写控制 D/A 转换的接口程序。二、实验器材一台 一台 一台1、 综合实验仪 2、 PC 机 3、 示波器三、实验原理D/A 转换是一种将数字信号转换成连续模拟信号的操作, 它为单片机系统的数字信 号模拟环境的连续信号之间提供了一种接口。D/A 转换器的工作原理入图 13-1 所示。 + 数字输入 ( Dn … D0 ) 电压基准 ( Vref ) + - D/A 转换器 电源 -… …模拟输出图 13-1 由图 13-1 可以看出, D/A 转换器的输入有两种: 数字输入信号 (二进制或 BCD 码) 和基准电压 Vref 。D/A 转换器的输出是模拟信号,可以是电流,也可以是电压,多数 是电流。大多数 D/A 转换器是由电阻阵列和多个电流、电压开关构成。按数字输入值 切换开关,产生相应输出的电流和电压。一般而言,电流开关的切换误差小。因此, D/A 转换器多采用电流开关型电路。 电流开关型电路如果直接输出生成的电流, 则为电 流输出型 D/A 转换器,电流输出型 D/A 转换器很少直接利用电流输出,往往通过外接 转换电路进行电流――电压转换, 常用的转换方法是外接由运算放大器组成的电流―― 电压转换电路;如果采用内置运算放大器以低阻抗输出电压,则为电压输出型 D/A 转 换器,也有的电压 D/A 转换器是直接从电阻阵列输出电压的,这种器件仅用于高阻抗 负载,由于它没有输出放大器部分的延时,所以常用作高速 D/A 转换器。 D/A 转换器的数字输入是由数据线引入的, 而数据线上的数据是变动的, 为了保持 D/A 转换器输出的稳定,就必须在微处理器与转换器输入口之间增加锁存数据的功能。 一些新型的 D/A 转换器内部常带有数据锁存器和地址译码电路,有些包含双重甚至多 重的数据缓冲结构。这种类型的 D/A 转换器以高于 8 位(如 12 位)的居多,它们与 51 单片机的 P0 口相接较为合适,一般这时需要占用多根接口线。 D/A 转换器一般可分类如下: 根据输出是电流还是电压,可以分为电压输出型和电流输出型器件。59 HG1051 单片机实验指导根据输出端口是串口还是并口,可以分为串行输出和并行输出器件。 根据能否进行乘法运算, 可以分为乘算型和非乘算型器件。 D/A 转换器中有使用恒 定基准电压的, 也有在基准电压上加交流信号的, 后者由于可以得到数字输入和基准电 压输入相乘的结果,所以称为乘算型 D/A 转换器。乘算型 D/A 转换器不仅可以进行乘 法运算, 还可以作为输入信号数字化衰减的衰减器以及对输入信号进行调制的调制器使 用。 根据内部是否有锁存器,可以分为无锁存器型和带锁存器型器件。 具体选择何种 D/A 转换器件需要考虑器件本身的性能和应用的要求。下面列出选 择 D/A 转换器件的一些参考指标。 分辨率:指最小模拟输出量(对应数字量仅最低位为“1” )与最大模拟输出量(对 应数字量所有有效位为“1” )之比。 转换时间: 是将一个数字量转换为稳定模拟信号所需的时间, D/A 中常用转换时间 来描述其速度,而不是 A/D 中常用的转换速度,一般地,电流输出 D/A 转换时间较短, 电压输出 D/A 则较长。 线性度:考察输出的线性关系。 转换精度:相对实际物理量的误差。 本实验采用的是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯 片 DAC0832。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎, 其目前已经有很高的普及率。学习并使用 DAC0832 可是使我们了解 A/D 转换器的原 理,有助于我们单片机技术水平的提高。 DAC0832 具有以下特点: ? 8 位分辨率; ? 双通道 A/D 转换; ? 输入输出电平与 TTL/CMOS 相兼容; ? 单一电源供电(+5~15V) ; ? 电流稳定时间为 1us; ? 一般功耗仅为 20mW; ? 封装有双列直插、PICC 多种封装; 外部管脚图如图 6-2 所示。图 6-260 HG1051 单片机实验指导芯片接口说明: ? /CS:片选使能,低电平芯片使能。 ? ILE:数据锁存允许输入线,高电平有效。 ? /WR1:输入寄存器写选通输入线,负脉冲有效(脉冲宽度应大于 0.5us) 。 ? /XFER:传送控制输入线,低电平有效。 ? /WR2:DAC 寄存器写选通输入线,负脉冲有效(脉冲宽度应大于 0.5us) 。 ? Iout1:输出电流 1,当输入数据为全“1”时,Iout1 为最大。 ? Iout2:输出电流 2,当输入数据为全“1”时,Iout1 为最小。 Iout1 和 Iout2 两输出电流之和总为一常数。 ? Rfb:运算放大器反馈线,常接到运算放大器的输出端。 ? Vcc:芯片电源电压输入线,其值为+5~+15V。 ? Vref:基准电压输入线,其值为―10~+10V。 ? AGND:模拟地,为模拟信号和基准电源的参考地。 ? DGND:数字地,为工作电源地和数字逻辑地。通常,两条地线接在一起。 在本实验中,MCU 最小系统 IC17 的/WR、P0 口、P2.7 分别接 DAC0832 的写控制 端 (WR) 、 数据端 (D0~D7) 、 CS。 在对 DAC0832 操作前先置 P2.7 为 “0” , 即 DAC0832 的片选信号有效。具体电路图如下图所示。1017 1 D7 D6 D5 D4 D3 D2 D1 D0 13 14 15 16 4 5 6 73GNDCSGNDXfer CSWR1 WR2 ILE2 18 19WR -1 2 Vmsb DI7 DI6 DI5 DI4 DI3 DI2 DI1 ls b DI0Vref Rfb Io u t2 Io u t1 IC2 1 DAC08 3 2VCC 39 12 11IC2 2 A 1 2 LM3 24 OUT20V ccVCC VCCJ 27 D0 D2 D4 D6 1 3 5 7 2 4 6 8 D1 D3 D5 D7D/A 转换模块614118 HG1051 单片机实验指导J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 J 18 RXD INT0 T0 WR 1 3 5 7 2 4 6 8 TXD INT1 T1 RD 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7MCU 最小系统四、实验内容及步骤1、 用实验仪内配置的 8Pin 数据线将 D/A 转换模块 J27 口和 MCU 最小系统 IC17 的 P0 口 J15 相连接。 2、 用实验仪内配置的 1Pin 数据线将 D/A 转换模块 WR、 CS 分别与 MCU 最小系统 IC17 的/WR、P2.7 相连接。 3、 按下相应模块的电源开关。 4、 编写程序,实现锯齿波输出。 5、 通过示波器在 DA_OUT 孔观察波形。五、 参考程序: 见光盘(…\参考程序\硬件实验程序\硬件扩展与接口实验\第 六节 DA 转换 DAC0832 的原理与应用) 。62 HG1051 单片机实验指导实验七一、 实验目的A/D 转换 ADC0809 的原理与应用1、 熟悉 A/D 转换的原理及过程。 2、 熟悉 A/D 转换器件设计外围电路以及与单片机的接口电路。 3、 掌握如何编写控制 A/D 转换的接口程序。 4、 通过实验了解单片机如何进行数据采集。二、实验器材一台 一台 一个 一台1、 综合实验仪 2、 PC 机 3、 数字万用表 4、 直流电源三、实验原理A/D 转换是一种用来将连续的模拟信号转换成适合于数字处理的二进制数的操作。 A/D 转换器的工作原理入图 12-1 所示。 电源 - + 模拟输入 ( Vin ) 电压基准 ( Vref )…+ - A/D 转换器 数字输出 ( Dn ? D0 )图 12-1 A/D 转换器件的种类繁多,性能各异,选择 A/D 转换器件需要考虑器件本身的性 能和具体的应用要求。下面列出选择 A/D 转换器件的一些参考指标。 1、 A/D 转换器位数 A/D 转换器位数的确定, 应该从数据采集系统的静态精度和动态平滑性这两方面进 行考虑。 从静态精度方面来说, 要考虑输入信号的原始误差传递到输出所产生的误差, 它是 模拟信号数字化时产生误差的主要部分。量化误差与 A/D 转换器位数有关。一般把 8 位以下的 A/D 转换器称为低分辨率 A/D 转换器, 9―12 位的称为中分辨率 A/D 转换器, 13 位以上的称为高分辨率 A/D 转换器。10 位以下的 A/D 器件误差较大,11 位以上的 A/D 器件并不能对减小误差有太大贡献,但对器件本身的要求却过高。因此取 10 位或 11 位是合适的,加上符号位就是 11 位或 12 位。 对于测量或测控系统,模拟信号都是先经过测量装置再经过 A/D 转换器后才进行 处理的,也几就是说,总的误差是由测量误差和量化误差共同构成的。因此,A/D 转换 器的精度应与测量装置的精度相匹配。 一方面, 要求量化误差在总误差中所占的比重要 小;另一方面,必须根据目前测量装置的精度水平,选择合适的 A/D 转换器的位数。 2、 A/D 转换器的转换速率 A/D 转换器从启动转换到结束转换, 需要一定的转换时间。 转换时间的倒数就是转63 HG1051 单片机实验指导换速率,它是每秒钟完成的转换速率次数。 确定 A/D 转换器的转换速率时,应该考虑系统的采样速率。例如,对于一个转换 时间为 100us 的 A/D 转换器,它的转换速率为 10khz。模拟信号一个周期的波形若需 10 个采样点,那么根据采样定理,这样的 A/D 转换器最高也只能处理频率为 1khz 的模 拟信号。如此,通过减少转换时间可提高处理信号的频率。但是,对于一般 51 单片机 而言,很难做到减少转换时间,因为要在采样时间内完成 A/D 转换以外的工作(如读 数据,存储数据)已经比较困难了。 3、 采样/保持器 对于一般频率较高的模拟信号都要加采样/保持器。如果信号频率不高,A/D 转换 的时间短,即采用高速 A/D 器件时,可不使用采样/保持器。采集直流或者变化非常缓 慢的信号时,也可不使用采样,保持器。 4、 A/D 转换器量程 有些 A/D 器件提供了不同量程的引脚,只有正确使用,才能保证转换精度。比如 AD574A,它提供了两个模拟输入引脚,分别为 10V 和 20V,不同量程的输入电压可以 不同引脚输入。 5、 偏置极性 有些 A/D 器件提供了双极性偏置控制。当此引脚接地时,信号为单极性输入方式; 当此引脚接基准电压时,信号为双极性输入方式。 6、 满刻度误差 此指标指的是满度输出时对应的输入信号与理想输入信号值之差。 7、 线性度 线性度指的是实际 A/D 器件的转移函数与理想直线的最大偏移。 选择 A/D 芯片时,除了要参考上面的这些指标外,还需要综合考虑整个系统的其 他因素,比如系统的技术指标、成本、功耗等。 8、 A/D 转换器原理及性能指标 A/D 转换器是模拟信号源和计算机之间联系的桥梁, 它的任务是将连续变化的模拟 信号转换为离散的数字信号,以便计算机进行运算、储存控制和显示等。由于应用场合 和要求不同,因而需要采用不同的工作原理的 A/D 转换器,主要有逐次逼近式、双斜 积分式、电压-频率式、并行式等几种。常见的 ADC0809 和 AD574 等 A/D 转换器是逐 次逼近式,MC14433 和 CH7106 等 A/D 转换器是双斜积分式。前者转换速度快;后者 转换速度慢,但抗干扰能力强。这 2 类 A/D 在单片机测控系统中都获得了广泛的应用。 逐次逼近式 A/D 转换原理 逐次逼近式 A/D 转换器也称为“连续比较式 A/D 转换器” 。 这是一种采用对分搜 索原理来实现 A/D 转换的器件。它主要有 N 位寄存器、N 位 D/A 转换器、比较器、控 制逻辑以及输出锁存器等 5 部分组。 启动信号作用后,时钟信号在控制逻辑作用下,首先使寄存器的最高位 Dn-1,其 余位为‖0‖,N 位寄存器的数字量一方面作为输出用,另一方面经 D/A 转换器换成模拟 量 Vh 后送到比较器,在比较器中与被转换器的模拟量 Vx 进行比较,控制逻辑根据比 较器的输出进行判断。若 Vx&=Vh,则保留这一位;若 Vx&Vh,则使 Dn-1=0。Dn-1 位 比较完后,再对下一位 Dn-2 进行比较,使 Dn-2=1,与上一位 Dn-1 位一起送入 D/A 转 换器,转换后再进入比较器,与 Vx 比较……如此一位一位的继续下去,直到最后一位 D0 比较完毕为止。此时,DONE 发出信号表示转换结束。这样经过 N 次比较后,N 位 寄存器的数字量即为 Vx 所对应的数字量。64 HG1051 单片机实验指导双积分式 A/D 转换原理 双积分式 A/D 转换器是基于间接测量原理,将被测量电压值 Vx 转换成时间常数, 再测量时间常数而得到未知电压值的。它由电子开关、积分器、比较器、计数器和逻辑 控制门等部件组成。 所谓双积分,就是进行一次 A/D 转换器需要二次积分。转换时,控制门通过电子 开关把被测电压 Vx 加到积分器的输入端,在固定时间 t0 内对 Vx 相反的基准电压 Vref 上,进行反相积分,由于基准电压 Vref 恒定,所以积分输出将按 t0 期间积分的值以恒 定的斜率下降(称为“定值积分” )由比较器检测积分输出过“0”时,停止积分工作。 反相积分的时间 t1 与定值积分的初值(即定时积分的终值)成正比,故我们可以通过 测量反相积分时间 t1 计算出 Vx 即 Vx=t1/t0*Vref 反相积分时间 t1 由计数器对时钟脉冲计数得到。图给出了两种不同输入电压 (Vx&Vx)的积分情况。显然 Vx`值小,在 t0 定时积分时间积分器输出终值也小,而 下降斜率相同,故反相积分时间 T1 也小。 由于双积分法二次积分的时间较长,故 D/A 转换速度较慢,但精度可以作得比较 高;对周期变化的干扰信号为 0,抗干扰性能也较好。 A/D 转换器的性能指标 ADC(analog to digital converter)是 A/D 转换器的简称。ADC 的性能指标是正确 选用 ADC 芯片的基本依据,也是衡量 ADC 质量的关键。ADC 性能指标有很多,有些 指标定义和 DAC 相同,例如:分辨率、线性度、偏移量误差、温度系数、功耗等。 十六进制 F E D C B A 9 8 7 6 5 4 3 2 1 0 二进制 01 10 11 00 01 0000 与满刻度的比率 高四位字节 15/16 14/16 13/16 12/16 11/16 10/16 9/16 8/16 7/16 6/16 5/16 4/16 3/16 2/16 1/16 低四位字节 15/256 14/256 13/256 12/256 11/256 10/256 9/256 8/256 7/256 6/256 5/256 4/256 3/256 2/256 1/256 相对电压值 VREF=2.560V 高四位电压 4.800 4.480 4.160 3.840 3.520 3.200 2.880 2.560 2.240 1.920 1.600 1.280 0.960 0.640 0.320 0 低四位电压 0.300 0.280 0.260 0.240 0.220 0.200 0.180 0.160 0.140 0.120 0.100 0.080 0.060 0.040 0.020 0例:VIN=3V,由上表可知 2.880+0.120=3V 为 H 8 位 ADC 芯片 ADC0809 ADC0809 是 CMOS 工艺、采用逐次逼近法的 8 位 ADC。典型转换时间为 100us; 具有三态输出锁存器,可以直接和单片机的数据总线连接;输入输出与 TTL 兼容;具 有 8 路模拟开关,可直接连接 8 个模拟量,并用程序控制选择一个模拟量进行 A/D 转65 HG1051 单片机实验指导换。 ADC0809 采用双列直插式(DIP)封装,具有 28 条引脚,引脚排列和内部结构如 图所示。它由 8 路模拟开关、8 位 ADC、三态输出锁存器以及地址锁存译码器等组成。 各引脚功能如下: ? IN0~IN7:8 路模拟量输入端。 ? D0~D7:8 位数字量输出端。 ? ADDA、ADDB、ADDC:模拟输入通道地址选择线。ADDC、ADDB、ADDA 的 000~111 的 8 位编码对应 IN0~IN7 的 8 个通道。 ? ALE:地址锁存信号,由低到高的正跳变将通道地址锁存到地址锁存器。 ? START:A/D 转换启动信号,正脉冲有效,此信号要求保持 20ns 以上。其上 升沿将内部逐次逼近寄存器清“零” ,下降沿启动 A/D 转换。 ? EOC:转换结束信号。转换开始后(START 有效后的 1~8 个脉冲后) ,EOC 信号变为低电平,经 128 个脉冲后 A/D 转换后 A/D 转换结束,EOC 变为高电 平。该信号可作为 ADC 状态信号查询,也可用作中断请求信号。 ? OE:允许输出信号。 ? CLK: 时钟输入信号。 要求频率范围为 10KHz~1280KHz, 典型值为 640KHz。 ? Vref(+)和 Vref(-) :ADC 的基准电压电源线。一般 Vref(+)接+5V,Vref (-)接地。 ? VCC:+5V 电源线。 ? GND:接地端。66 HG1051 单片机实验指导ADC0809 的时序如图所示。工作过程为:首先,单片机输出 3 位地址到 ADDA、 ADDB、ADDC 地址输入端,并使 ALE=1 将地址锁存到地址寄存器中,此地址经译码 器选中 8 个模拟电压之一送到内部比较器。然后 CPU 输出启动信号到 START 端,使 ADC0809 自动启动转换。当 A/D 转换结束时,EOC 上跳为高电平,通知 CPU 其 A/D 转换结束,CPU 输出读取命令到 OE,使输出锁存器中的数据被读到 CPU 中。 具体电路图如下图所示:IC2 3 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 26 27 28 1 2 3 4 5 IN-0 IN-1 IN-2 IN-3 IN-4ADC08 0 9 msb 2 -1 2 -2 2 -3 2 -4 2 -5 2 -6 2 -7 ls b 2-8 EOC 21 20 19 18 8 15 14 17 7 25 24 23 2 2 ADC_ALE 9 ADC_OE 6 ADC_SC 10 CLOCK D7 D6 D5 D4 D3 D2 D1 D0 5 7 4HC0 4 D0 D2 D4 D6J 28 1 3 5 7 2 4 6 8 D1 D3 D5 D7IC2 5 C 6 INT0 IC2 4 2 5 6 9 12 15 16 19 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 OE LE 7 4HC3 7 3 3 ADC_D0 4 ADC_D1 7 ADC_D2 8 13 14 17 18 1 11IN-5 IN-6 IN-7 ALE ADD-A ADD-B ADD-C16 VCC 12ref(-) ref(+)ENABLE START CLOCKALEWR1 2IC2 6 A 3 ADC_ALE 1IC2 5 A 2 7 4HC0 4 ADC_SC7 4HC3 2 R/W IC2 6 B 6 RD 5 7 4HC3 3 34IC2 5 B 4 7 4HC0 4 ADC_OEA/D 转换模块67 HG1051 单片机实验指导J 15 P0. 0 P0. 2 P0. 4 P0. 6 1 3 5 7 J 18 RXD INT0 T0 WR 1 3 5 7 2 4 6 8 TXD INT1 T1 RD 2 4 6 8 P0. 1 P0. 3 P0. 5 P0. 7ALEMCU 最小系统四、实验内容及步骤1、 用实验仪内配置的 8Pin 数据线将 A/D 转换模块 J28 口和 MCU 最小系统 IC17 的 P0 口 J15 相连接。 2、 用实验仪内配置的 1Pin 数据线将 A/D 转换模块/WR、/RD、/INT0、R/W、ALE 分 别与 MCU 最小系统 IC17 的/WR、/RD、/INT0、P2.3、ALE 相连接。 3、 1PIN 数据线将时钟发生模块的输出孔与 A/D 转换模块 CLOCK 相连接,再用 1PIN 数据线将直流信号产生模块输出端与 A/D 转换模块 IN0 相连接。 4、 编写 A/D 转换程序,将转换的电压值在数码管上显示出来 (参考本章第一节实验八 的数码管动态显示,把数码管数据输入端换成单片机的 P1 口,A0,A1,A2 分别 接单片机最小系统二 RXD,TXD,/INT1) 。 5、 按下相应模块的电源开关。 6、 最后将程序下入单片机 IC17 中,改变直流信号产生模块的电位器,观察数码管的 显示变化,并用数字万用表测量是否一致。 7、 书写实验报告。五、 参考程序: 见光盘(…\参考程序\硬件实验程序\硬件扩展与接口实验\第 七节 AD 转换 ADC0809 的原理与应用) 。68 HG1051 单片机实验指导实验八一、 实验目的1602 液晶显示实验1、 熟悉液晶显示器的显示原理及控制原理。 2、 通过实验了解单片机如何进行数据输出。 3、 掌握液晶显示器的编程方法。二、实验器材一台 一台1、 综合实验仪 2、 PC 机三、实验原理单片机的数据主要显示方式有 3 种:发光二极管、数码管和液晶显示。液晶显示器 是通过液晶显示模块实现的。液晶显示模块(LCD Module)是一种将液晶显示器件、 连接件、集成电路、PCB 板、背光板、结构件装配在一起的组件。在单片机系统中使 用液晶显示模块作为输出器件具有以下优点: 显示质量高。 数字式接口。 体积小、重量轻。 功率消耗小。 根据显示方式和内容不同, 液晶显示模块可分为数显液晶模块、 点阵字符液晶模块 和点阵图形液晶模块 3 种。本次实验介绍一种常用的点阵字符液晶模块 1602。 1、外型尺寸 外型尺寸如图 7-1 所示。图 7-169 HG1051 单片机实验指导2、 主要技术参数显示内容: 芯片工作电压: 工作电流: 模块最佳工作电压: 字符尺寸: 16×2个字符 4.5~5.5V 2.0mA(5.0V) 5.0V 2.95×4.35(WXH)mm3、 接口信号说明编号 1 2 3 4 5 6 7 8 符号 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O 背光源正极 背光源负极液晶显示偏压信号数据/命令选择端(H/L) 读/写选择端(H/L) 使能信号 Data I/O Data I/O4、控制器及接口说明(HD77480 及兼容芯片)1) 基本操作时序 读状态:输入:RS=L,RW=H,E=H; 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=H; 读数据:输入:RS=H,RW=H,E=H; 写数据:输入:RS=H,RW=L,D0~D7=数据,E=H; 状态字说明 STA7 D7 STA6 D6 STA5 D5 STA4 D4 STA3 D3输出:D0~D7=状态字。 输出:无。 输出:D0~D7=数据。 输出:无。 STA1 D1 STA0 D02)STA2 D2STA0~6 STA7当前数据地址指针的数值 读写操作使

我要回帖

更多关于 单片机pwm占空比调速 的文章

 

随机推荐