海南师大物理与电子工程学院电子信息科学与技术专业《单片机应用技术》实验指导2019年4月目录实验一单片机仿真与开发系统认识 (1)实验二汇编语言简单编程实验 (3)实验三C51语言简单编程实验 (4)实验四并口实验 (5)实验五定时/计数器实验 (7)实验六单片机中断实验 (9)实验七串口实验 (11)实验八A/D、D/A实验 (13)附录一开发板布局图 (15)附录二开发板各部分电路原理图 (16)实验一单片机仿真与开发系统认识[实验类型] 验证性实验[实验目的]1、掌握51单片机开发软件Keil 的用法;2、掌握单片机硬件仿真软件Proteus的基本用法;3、了解实验所用开发板的电路原理,熟练掌握其基本使用方法。
[实验内容&要求]1、准备工作文件夹在D盘建立一个实验一工作文件夹,文件夹名字自定(英文)。
以下所有步骤建立的文件都存放在这个文件夹内。
2、Keil软件的使用首先打开KEIL软件,然后依次练习汇编程序和C程序的建立和编译。
(1)汇编语言程序练习:1>建立一个项目(建立一个项目文件夹,存在第1步所建立的文件夹内)2>输入课本P127页[例6-1]中的汇编程序(不过把P1和P0口所接器件换一下,即P0口接8个发光二极管,P1口接8个开关),在Keil C中输入,以.asm 做扩展名,保存到项目文件夹内。
3>在项目中添加该文件,编译生成.hex文件。
(2)C语言程序练习:1>再建另外一个项目(也在工作文件夹内另建一个项目文件夹);2>输入课本P127页[例6-1]中的C程序(同样注意把P1和P0换一下),保存、加入项目并生成.hex文件。
3、Proteus软件的使用(1)打开Proteus软件,参考课本P127页[例6-1]的要求建立硬件仿真图,注意把P1和P0所接器件换一下。
仿真文件名自定,保存在第1步所建立的文件夹内。
(2)在Proteus设置单片机属性为使用前面所生成的.hex文件,进行仿真测试。
4、实验开发板的使用(1)认真研读本学期所用实验开发板(普中HC6800EM3 V2.2单片机开发板)的使用说明及电路原理图。
(实验前须预习)(2)安装开发板驱动软件:CH340驱动程序。
(如已装过,略过本步骤)(3)连接开发板和电脑,打开开发板电源,运行开发板专用烧录下载程序“PZISP自动下载软件”,设置正确的参数,将前面所生成的.hex文件下载到开发板单片机上。
(4)接线:P1口接开关,P0口接led灯。
具体是开发板上的JP10接J12,JP8接JP5,如下图所示:(5)测试结果:逐个按下独立按键K1~K8,测试发光二极管D11~D18(开发板上的“流水灯”)是否逐个发光。
5、结束实验●测试如不通过请认真查找原因,重新实验。
●仿真和开发板均测试通过,则请老师检查。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
[实验类型] 设计性实验[实验目的]1、掌握汇编语言程序的基本格式和编写方法;2、进一步熟悉开发仿真软件KEIL和Proteus;3、进一步熟悉实验开发板上独立按键和流水灯的用法。
[实验内容&要求]1、程序设计实验前须编写好汇编语言程序,程序功能:实现方向可控的跑马灯。
编程要求:用八个LED发光二极管实现跑马灯(即:8个灯依次轮流发光,每次只亮一个灯),系统启动后,跑马灯右向流转,按下K1键,则反向流转,再按则再反向……。
接线方法:流水灯接P0口,按键K1可自选P1~P3任一引脚。
2、上机实验(1)在KEIL中编好程序,编译时如有错误,则反复修改至正确,最终编译生成HEX文件。
(2)在Proteus中进行仿真,如无法通过则分析查找原因并改正。
(3)仿真通过则把HEX文件下载到开发板上的单片机中,接好线路,进行测试,检查结果是否正确。
(注:由于K1键是机械按键,存在机械按键抖动问题,即按下该键一次可能会相当于连按几次,因此不一定按一下即反转,多按几次才出现反转也是正确的。
)3、结束实验●仿真和开发板均测试通过后,则请老师检查实验结果。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
[实验类型] 设计性实验[实验目的]1、掌握C51语言程序的基本格式和编写方法;2、继续熟悉51单片机开发与仿真软硬件系统;3、掌握用静态数码管显示数码的方法。
[实验内容&要求]1、程序设计实验前编写好C51语言程序,程序功能:用静态数码管实现按键数字显示。
编程要求:用P0接静态数码管,P1~P3任选其中一组接口接K1~K8独立按键,如果K1键被按下,则静态数码管显示数字“1”,如果K2键被按下,则数码管显示“2”,……,K8键被按下时,显示“8”。
接线方法:P0接JP3,P1~P3任选其中一组接口接K1~K8。
2、上机实验(1)在KEIL中编辑好程序,生成HEX文件。
(2)在Proteus中进行仿真。
(3)仿真通过则把HEX文件下载到开发板上的单片机中,连好线路,进行测试,检查结果是否正确,有错则修改至正确。
(注:开发板上静态数码管接口为JP3,在开发板右上角处。
)3、结束实验●仿真和开发板均测试通过后,则请老师检查实验结果。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
实验四并口实验[实验类型] 设计性实验[实验目的]1、掌握用并口控制液晶显示屏LCD 1602显示字符的方法;2、进一步建立可编程控制的概念,加深对单片机应用的理解。
[实验内容&要求]1、程序设计编程,功能要求:在LCD1602上显示自己的名字。
有以下三种情况,各人根据自己的能力,选择一个完成,尽量实现较高级要求。
●基本要求:显示英文字母(拼音)名字●中级要求:显示汉字名字●高级要求:轮流显示英文字母名字和汉字名字,不断循环,显示切换时间间隔约2秒。
2、上机实验(1)将LCD 1602显示屏模块插入开发板LCD1602接口(J1602,紧挨数码管)。
注意不要插反方向,拨插过程中注意动作柔和,用力均衡,注意保护器件,不要弄弯或折断引脚。
如图所示:插入接口后,LCD与单片机之间主要引脚的连接如下:RS ——P2.6RW ——P2.5E ——P2.7D0~D7——P0调节接口旁边的RJ6(1602)电位器旋钮可以调节LCD亮度。
(2)在KEIL中编辑好程序,生成HEX文件。
(3)在Proteus中进行仿真。
(4)将HEX文件下载到开发板上测试。
如果字迹暗淡,可调节RJ6(1602)电位器。
3、结束实验●仿真和开发板均测试通过后,则请老师检查实验结果。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
实验五定时/计数器实验[实验类型] 设计性实验[实验目的]1、掌握51单片机内T0和T1定时器的编程控制方法;2、用定时器驱动开发板上的蜂鸣器发出指定频率的声音。
[实验内容&要求]1、程序设计编写程序,要求如下:程序运行后,单片机控制蜂鸣器播放一句曲子(15秒钟左右,太长太短均不合格),要求每位同学播放不同的曲子。
如果有播放完全相同曲子的,只认可第1个同学的工作。
开发板上蜂鸣器接口为J8,可接单片机P0~P3任意一根引脚。
[附]采用方式1时,当晶振为11.05962MHz时,C调各音符频率与定时器定时初值对照表(仅供参考):2、上机实验(1)接好蜂鸣器与单片机。
例如:假设使用P1.5脚控制蜂鸣器的话,可按下图接线:(2)在KEIL中编辑好程序,生成HEX文件。
(3)在Proteus中进行仿真。
(4)将HEX文件下载到开发板上运行。
3、结束实验●仿真和开发板均测试通过后,则请老师检查实验结果。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
实验六单片机中断实验[实验类型] 设计性实验[实验目的]1、掌握中断服务子程序的基本编写方法;2、掌握使用多位数码管动态显示数码的方法。
[实验内容&要求]1、程序设计程序要求:利用P3.2脚或P3.3脚的第二功能(外部中断输入),设计一个计数显示程序,当按下P3.2脚或P3.3脚所接的按键时,动态数码管显示该键已被按下的次数(显示为十进制数,保证能显示至少2位数以上,即显示计数要能超过10)。
要用中断技术方法编程,不直接检测按键是否按下。
动态数码管的位选可使用开发板上的74LS138译码器实现,也可直接用8个引脚编程实现。
2、上机实验(1)在KEIL中编辑好程序,生成HEX文件。
(2)接好线路,将HEX文件下载到开发板上运行。
用译码器进行位选的线路接法可参考下图(不包括按键接法,按键自己接独立按键即可):也可以不用码器,不用译码器进行位选的线路接法可参考下图(不包括按键接法,按键自己接独立按键即可):3、结束实验●在开发板上测试通过后,请老师检查实验结果。
●老师检查通过后,按实验前原样收拾好开发板,将所有线材、元件等等整理好,检查是否有缺失,并装回开发板塑料盒子中,再将开发板装入纸盒并归还。
●按要求完成实验报告。
实验七串口实验[实验类型] 设计性实验[实验目的]1、掌握单片机串口编程基本方法;2、掌握8*8双色点阵显示屏的使用方法。
[实验内容&要求]1、程序设计实验程序要求:编写一个程序,让单片机通过串口接收一个十进制数字(1~9中的一个),并将其显示在点阵屏上。
没收到数字时,不显示任何内容;每次收到数字时,在点阵屏上显示该数字约两秒钟,然后消隐。
串口接收的字符由电脑发出(可以自编程序,也可以用串口工具软件发出)。
波特率请设置为1200 bps,点阵屏显示颜色自选。
注:开发机上单片机统一使用12MHz晶振。
使用串口工作方式1和方式3时,请自行计算1200波特率下应采用的T1计数器初值。
显示屏上1~9的数2、上机实验(1)在KEIL中编辑好程序,生成HEX文件。
(2)接好线路,将HEX文件下载到开发板上。
(3)从电脑上向串口发出一个字符。
可用串口小工具实现,该工具请从群共享中下载,下载解压后直接运行SSCOM32软件。
如下图所示:注意按照实际情况选择正确的参数关闭/打开串口按钮注意:使用这个串口工具后,如果要重新下载HEX程序改写单片机,应该先点击这个工具中的“关闭串口”按钮,否则会占用串口,造成程序下载烧录不成功;程序下载完成后,则重新点击“打开串口”按钮,即可恢复正常使用串口。