《单片机原理及应用》实验指导书王晓荣 罗益民 王鑫国南京工业大学自动化学院2005-04-17目 录实验一 存储器块赋值(验证性实验) 1实验二 数据排序(验证性实验) 3实验三 P1口输出实验(验证性实验) 4实验四 外部中断实验(验证性实验) 6实验五 计数器实验(验证性实验) 8实验六 74LS377输出数据实验(验证性实验) 9实验七 键盘显示实验(验证性实验) 11实验八 计算器实验(综合性实验) 149实验一 存储器块赋值(验证性实验)一.实验目的1. 熟悉RAM的读写方法2. 熟悉循环结构程序的编写3. 熟悉编程环境和程序的调试二.实验内容将内部RAM30H-40H的所有单元内容全部赋值为33H,并将这些单元的内容传递到片外RAM的0040H-0050H单元中三.实验仪器计算机、WAVE6000编程环境、Keil编程环境四. 注意事项1. 使用WAVE6000编程环境在新建文件前,先关闭原有项目2. 程序编写要求格式规范,可读性好五. 实验线路及原理在编程环境中,可以通过软件仿真,观察程单片机运行情况六. 实验步骤1. 新建文件,并在该文件中按实验要求编写程序。
2. 按要求进行仿真器设置3. 编译文件,检查语法错误4. 利用多种执行方法和观察各种窗口调试程序,直至程序满意为止七. 思考1. 在WAVE6000环境中,项目和文件的区别是?如何新建项目?2. 如何全速运行、单步运行、跟踪运行程序?3. 如何观察程序代码窗口?实验二 数据排序(验证性实验)一.实验目的1. 了解数据排序的简单算法2. 进一步熟悉编程环境和调试方法3. 熟悉汇编程序设计二.实验内容将内部RAM3AH-40H中的随机数按从小到大的顺序排列三.实验仪器计算机、WAVE6000编程环境、Keil编程环境四. 注意事项1. 使用WAVE6000编程环境在新建文件前,先关闭原有项目2. 程序编写要求格式规范,可读性好五. 实验线路及原理在编程环境中,可以通过软件仿真,观察程单片机运行情况六. 实验步骤1. 新建文件,并在该文件中按实验要求编写程序2. 按要求进行仿真器设置3. 编译文件,检查语法错误4. 利用多种执行方法和观察各种窗口调试程序,直至程序满意为止七. 思考1. 编程实现BCD码到ASCII码的转换选做)2. 熟悉Keil编程环境选做)实验三 P1口输出实验(验证性实验)一.实验目的1. 熟悉P1 口的功能。
2. 熟悉延时子程序或定时中断程序的编写和使用3. 初步熟悉单片机软硬件设计方法二.实验内容P1口做输出口,P1.0引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭(亮0.2s、灭0.8s)三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线2. 实验过程中,在进行接插线操作时,必须先关闭电源五. 实验线路及原理实验箱中带有8051的仿真器,因此用户需按要求进行仿真器设置实验箱中单片机并口的各个引脚已经引出相应插孔,请同学自行查找实验箱上的LED,其电路图如下:六. 实验步骤1. 打开WAVE6000软件编写程序,并进行仿真器设置2. 将实验箱中单片机的某个并口引脚接发光二极管3. 编译调试程序七. 思考1. 实现走马灯程序选做)2. 实现简单的时钟功能选做)实验四 外部中断实验(验证性实验)一.实验目的1. 熟悉外部中断的硬件电路2. 熟悉外部中断的软件设计二.实验内容利用实验箱上的单脉冲按键和发光二极管实现:每当单脉冲按键按下时(产生一个脉冲),发光二极管亮灭变化三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线。
2. 实验过程中,在进行接插线操作时,必须先关闭电源五. 实验线路及原理单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键产生一个单脉冲板上有单脉冲的输出信号插孔,分别为正脉冲和负脉冲其电路图如下:六. 实验步骤1. 打开WAVE6000软件编写程序,并进行仿真器设置2. 将实验箱中单片机的两个并口引脚分别接发光二极管和单脉冲按键3. 编译调试程序七. 思考1. 利用外部中断和8个发光二极管给走马灯程序增加运行和停止功能选做)2. 利用外部中断和8个发光二极管实现计数功能选做)实验五 计数器实验(验证性实验)一.实验目的1. 熟悉计数器的使用方法2. 熟悉计数器的硬件电路连接3. 熟悉计数器的软件设计二.实验内容利用计数器实现:每当单脉冲按键按下10次时,发光二极管亮灭变化三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线2. 实验过程中,在进行接插线操作时,必须先关闭电源五. 实验线路及原理参考以前电路六. 实验步骤1. 打开WAVE6000软件编写程序,并进行仿真器设置。
2. 将实验箱中单片机的两个并口引脚分别接发光二极管和单脉冲按键3. 编译调试程序七. 思考1. 改变计数器的工作状态(状态1或状态2),并修改程序实现同样功能选做)2. 利用计数器实现外部中断功能选做)实验六 74LS377输出数据实验(验证性实验)一.实验目的1. 熟悉单片机简单I/O口扩展的硬件电路2. 熟悉单片机简单I/O口扩展的程序设计二.实验内容将一片74LS377放入实验箱上的通用插座,并将该芯片的输入口同P0口相连,输出口通过读写外部RAM的方式将数据写到该片将数据线上的数据通过8个LED显示出来扩展一片74LS377并通过该芯片将数据写到8个发光二极管上三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线2. 实验过程中,在进行接插线操作时,必须先关闭电源五. 实验线路及原理实验箱中有1个40芯通用电路插座,每个插座的全部引脚都被引出到相应的插孔,40 芯通用插座可兼容28芯、24芯、16芯和14芯插座利用这个插座,可对双列直插式的各种微机芯片进行实验实验箱中有一个74LS138译码器,其接法如下:P2.7——E3,P2.6——C,P2.5——B,P2.4——A。
六. 实验步骤1. 将一片74LS377放入实验箱上的通用插座2. 将该芯片的输入口同P0口相联,输出口同8个发光二极管相联其余引脚的连接参考课本P178可以利用实验箱上的138译码器输出引脚)3. 打开WAVE6000软件编写程序,并进行仿真器设置4. 编译调试程序编译调试程序七. 思考1. 如果将发送显示数据的地址定为0xcccc,请问硬件该如何连接实验七 键盘显示实验(验证性实验)一.实验目的1. 熟悉键盘和显示器的硬件电路2. 熟悉键盘和显示器的程序设计3. 掌握键盘扫描和LED八段码显示器的工作原理二.实验内容利用实验箱提供的键盘扫描电路和显示电路,当键盘中某个键按下时,将该按键的键码通过两个LED显示器显示出来提示:实验程序可分成三个模块:①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元②显示模块:将显示单元的内容在显示器上动态显示③主程序:调用键输入模块和显示模块三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线2. 实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理实验箱的LED显示电路和键盘电路如图1所示显示控制的位码由74HC374输出,经MC1413反向驱动后,做LED的位选通信号位选通信号也可作为键盘列扫描码,键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按下,以及按下的是什么键如果没有键按下,由于上拉电阻的作用,经245读回的值为高,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪个键被按下LED显示的段码由另一个74HC374输出图1 键盘和LED显示电路键盘和LED显示的地址译码如图2所示做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上图2 键盘和LED显示的地址译码电路六. 实验步骤1. 打开WAVE6000软件编写程序,并进行仿真器设置2. 完成硬件连接3. 编译调试程序七. 思考1. 在实验箱上实现当键盘中某个键按下时,将该按键所代表的功能通过1个LED显示器显示出来选做)2. 在实验箱上实现电子时钟功能选做)3. 在实验箱上实现带调时功能的电子时钟。
选做)实验八 计算器实验(综合性实验)一.实验目的1. 熟悉单片机的硬件电路2. 熟悉按键扫描、显示子程序设计3. 熟悉LED显示器界面编写方法4. 熟悉基于单片机C语言的通用的按键等待法结构程序设计二.实验内容利用实验箱提供的键盘扫描电路和显示电路,做一个简单的计算器(实现加法功能即可)要求:系统稳定并能可靠运行;需带有清零键、退格键;按键错误有报警提示三.实验仪器计算机、WAVE6000编程环境、Keil编程环境、LAP2000伟福实验箱四. 注意事项1. 安装实验箱时,先接串口线,后接电源线2. 实验过程中,在进行接插线操作时,必须先关闭电源五. 实验线路及原理参考以前电路六. 实验步骤1. 打开WAVE6000软件编写程序,并进行仿真器设置2. 完成硬件连接3. 编译调试程序七. 思考1. 编写一个小游戏程序(游戏规则自定),要求在实验箱上能可靠运行。