片机实验讲义完成_第1页
片机实验讲义完成_第2页
片机实验讲义完成_第3页
片机实验讲义完成_第4页
片机实验讲义完成_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 邯 郸 学 院讲 稿20102011学年 第二学期分院(系、部):信息工程学院教 研 室:电子工程系课 程 名 称:单片机授 课 班 级: 计算机科学与技术2008级本科班主 讲 教 师:王旭辉职 称: 副教授使 用 教 材:单片机原理与接口技术制 作 系 统:WORD 2003邯郸学院制2 / 20 实验一 数码转换及运算类实验实验目的:1、掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解;2、掌握使用运算类指令编程及调试方法;3、掌握PROTEUS仿真软件的使用方法;4、掌握Keil软件的使用方法。实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:1

2、、将累加器A中的8位二进制转换成3位BCD码格式的十进制数。其中,百位数的BCD码放在31H单元中,十位和个位数放在32H单元中。2、将累加器A中存放的两个BCD码拆开,求它们的乘积,并把乘积以压缩的BCD码形式送回A中。3、将存放在30H、31H的4位压缩BCD码与存放在40H、41H中的4位压缩BCD码进行相加,结果存放在30H、31H中。实验步骤:1、在PROTEUS中建立单片机的最小系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的单片机中;5、打开数据存储器RAM、特殊功能寄存器SFR窗口;6、

3、单步运行程序,观察相应寄存器的内容是否按要求变化,如变化内容不正确,返回到Keil软件中重新修改程序,直到正确为止。思考题1、什么是BCD码?什么是BCD码的压缩存放和非压缩存放方式?2、在建立单片机的最小系统过程中,EA引脚的连接应注意什么?实验二 中断系统实验实验目的:1、掌握单片机中断的原理及使用方法。2、掌握中断服务程序的编写方法。实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:利用P3.2和P3.3的第二功能,外接按键,可产生外部中断请求信号的特点,建立具有两个中断级别的中断系统,允许中断嵌套。设置P3.2引脚的中断(INT0)为高级中断,连接的按键为K0;P

4、3.3引脚的中断(INT1)为低级中断,连接的按键为K1。利用一个数码显示管来观察中断运行情况。主程序功能为数码显示管循环显示0-9、A-F,当有中断产生时数码显示管显示0-9一遍后结束中断,高级中断可以打断低级中断服务程序的运行,而低级中断不能打断高级中断服务程序的运行。实验步骤:1、在PROTEUS中建立单片机的两级中断系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的单片机中;5、系统运行观察数码显示管显示情况是否符合要求,有误说明主程序设计出错,返回Keil修改主程序,直到正确为止。6、按下K1键

5、观察数码显示管显示情况是否符合要求,有误说明中断服务程序设计出错,返回Keil修改中断服务程序,直到正确为止。7、当在运行低级中断服务程序时,按下K0键,观察是否能引起高级中断,有误说明中断服务程序设计出错,返回Keil修改中断服务程序,直到正确为止。思考题:1、堆栈应建立在什么存储器中,其地址范围为何?2、什么是断点保护?什么是现场保护?怎么实现的?实验三 定时器/计数器实验实验目的:1、掌握定时器/计数器的定时方法;2、掌握定时器/计数器的中断方法。实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:利用单片机的定时器和外部中断设计一个六位秒表,六位秒表时间显示采用八位

6、的共阳极数码显示管,用两位显示小时,两位显示分钟,两位显示秒,时、分、秒之间用“-”隔开,六位秒表数码显示管初值显示为零。单片机定时时间设置为50ms,通过20次定时中断完成1秒的定时。在单片机的P3.2引脚上连接一个按键K0作为外部中断请求信号的输入端。当K0第一次按下,秒表开始计时;K0第二次按下,秒表停止计时;K0第三次按下,秒表时间归零;K0第四次按下实现功能与K0第一次按下相同,功能依次循环实现。外部中断的优先级应高于定时中断的优先级。本实验内容是一个综合性实验,实验之前学生需要掌握外部中断的实现、多位数码显示管的动态显示方法、采用多次中断获得较长时间的延时等硬件设计和软件编程能力。

7、实验步骤:1、在PROTEUS中建立一个六位秒表系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的单片机中;5、系统运行观察数码显示管初值显示各位是否为零,有误说明主程序设计出错,返回Keil修改程序,直到正确为止。6、第一次按下K0键观察数码显示管显示情况是否符合要求,当第二次按下K0键时,观察数码显示管是否停止计时,当第三次按下K0键时,数码显示管是否归零,如上述功能有误说明程序设计出错,返回Keil修改程序,直到正确为止。思考题:1、什么是数码显示管的静态显示和动态显示?2、秒表的计时启动和停止是怎

8、么实现的?实验四 LCD1602液晶显示实验实验目的:1、掌握LCD1602液晶显示器的显示原理; 2、掌握LCD1602液晶显示器与单片机的连接方法和编程技术。实验仪器:电脑、单片机实验箱、Keil C 、Proteus实验原理:LCD1602液晶显示器与单片机的连接有两种方式,一种是利用单片机的通用IO准双向口与单片机进行连接,如P1口用作数据和指令的传送与LCD1602液晶显示器的D0D7连接,P2口的三个引脚分别与LCD1602液晶显示器的RS、RW、E相连接;另一种是把LCD1602液晶显示器看做单片机外部扩展的数据存储单元,则单片机与LCD1602液晶显示器连接是通过P0口,地址总

9、线中传送的是RS、RW、E需要的控制信号,数据总线上传送的是数据和指令信息。采用不同的连接方式编程方法是不一样的。学生可自选其中一种连接方式进行实验。用AT89C51单片机控制LCD液晶显示器显示两行内容,第一行是实验者的手机号码,第二行是实验者的电子邮箱;用AT89C51单片机控制LCD液晶显示器滚动显示上述两行内容。实验步骤:1、在PROTEUS中建立一个LCD1602显示系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的单片机中;5、系统运行观察LCD液晶显示器显示是否正确,有误说明主程序设计出错,

10、返回Keil修改程序,直到正确为止。思考题:1、用LCD液晶显示器代替数码显示管作为秒表的显示部件,如何实现?2、LCD液晶显示器有动态显示和静态显示吗?实验五 串行通讯接口实验实验目的:1、了解单片机串行通信协议知识;2、单片机串行通信原理;3、掌握单片机串行通讯工作方式。实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:利用单片机的全双工异步串行通信功能实现双机通讯。其中一块单片机(甲)的P1口连接8个按键,另一块单片机(乙)的P1口连接一个数码显示管,一块单片机(甲)的TxD(RxD)与另一块单片机的RxD(TxD)对应相连。当其中的一个按键按下时,数码显示管显示相

11、应的序号。编写程序时需要建立两个PROJECT,产生两个可执行文件,分别下载到对应的单片机中。实验步骤:1、在PROTEUS中建立一个双机通信系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的相应单片机中;5、系统运行观察数码显示管显示是否正确,有误说明主程序设计出错,返回Keil修改程序,直到正确为止。思考题:1、如何实现单片机与PC机的通信?2、如何实现多机通信?实验六 I2C总线实验实验目的:1、了解AT24C02内部结构;2、了解具有I2C总线接口的器件与单片机的连接方法;3、了解I2C总线协议;

12、4、掌握24C02 的读写操作过程;5、掌握AT24C02与单片机的连接方法和编程方法。实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:24C02是2K 字节的串行EEPROM,内部含有256个8位字节,该器件通过总线操作,并有专门的写保护功能。串行 EEPROM 简称 I2C 总线式串行器件。串行器件不仅占用很少的资源和I/O 线,而且体积大大缩小,同时具有工作电源宽、抗干扰能力强、功耗低、数据不易丢失和支持在线编程等特点。I2C 总线是一种用于IC器件之间连接的二线制总线。它通过 SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据

13、地址识别每个器件:不管是单片机、存储器、LCD 驱动器还是键盘接口。我们通过一个实验来了解 24C02 的读写操作过程:该实验功能是单片机复位一次,自动从 24C02 中读取数据,然后加1,最终数码管中的数据就是开机的次数,具有一定的实用意义。 实验步骤:1、在PROTEUS中建立一个双机通信系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.hex可执行文件;4、将可执行文件下载到PROTEUS的相应单片机中;5、系统运行观察数码显示管显示是否正确,有误说明主程序设计出错,返回Keil修改程序,直到正确为止。思考题:实验七 A/D 、D/A转换实验实验目的:1

14、、了解ADC0808转换原理知识;2、了解DAC0832转换原理知识知识准备;3、掌握ADC0808在AT89C51单片机中的使用方法;4、掌握DAC0832在AT89C51单片机中的使用方法.实验仪器:电脑、单片机实验箱、Keil C 、Proteus 实验原理:1、实验用的ADC0809属逐次逼近AD转换器,是八位AD转换器。每采集一次一般需100s,AD转换结束后会自动产生EOC信号。本程序是用查询方式读入AD转换结果。实验系统具有8路A/ D通道(模拟量输入端为IN0、IN1IN7),地址分别为FF80 FF87H,状态口地址FF91H, FF91H的D0位输入的是EOC信号,D0=0

15、表示未转换完,D0=1表示转换完毕,可以读入转换好的数据了。实现转换的过程是:先向某一路通道写入任意数从而启动转换,然后从FF91H读入EOC状态进行判断,若转换完成,则读入数据即可。2、D/A转换是把数字量转换成模拟量的变换,实现转换的过程是:先将要转换的数字量写入FF90H口(用MOVX指令),然后将正跳变控制信号经FF91H口送出(用MOVX指令),使0832缓冲器打开,开始D/A转换。要产生锯齿波、三角波、方波、梯形波、正弦波。实验步骤:1、在PROTEUS中分别建立A/D电压采集系统和D/A波形发生系统;2、画出程序流程图;3、在keil中编写编写代码,进行编译、调试,无误后产生.h

16、ex可执行文件;4、将可执行文件下载到PROTEUS的相应单片机中;5、(A/D)系统运行观察数码显示管显示是否正确,有误说明主程序设计出错,返回Keil修改程序,直到正确为止。6、(D/A)系统观察模拟示波器显示是否正确,有误说明主程序设计出错,返回Keil修改程序,直到正确为止。思考题:1、试述A/D转换器的种类及特点?2、DAC0832与89C51单片机连接时有哪些控制信号?其作用是什么?实验八 步进电机驱动实验实验目的:1、了解步进电机正转、反转、变速原理;2、掌握单片机系统对步进电机的控制方法。实验仪器:电脑、单片机实验箱、Keil C、Proteus 实验原理:步进电机可以通过给相应磁极加以脉冲,来对旋转角度和转动速度进行高精度的控制。采用单片机来进行步进电机的控制,接口电路简单,控制灵活,因此有比较广泛的应用。实验采用的步进电机为四相6线制混合型步进电机,电源12VDC。通过单片机口线按顺序给A、B、C、D绕相组施加有序的脉冲直流,就可以控制电机的转动,从而完成了数字角度的转换。转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。4相8拍工作方式:正转绕组的通电顺序为AABBBCCCDDDAA;反转绕组的通电顺序为A

温馨提示

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

评论

0/150

提交评论