最新keil-c51单片机实验指导.5.4.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新keil-c51单片机实验指导.5.4.doc》由会员分享,可在线阅读,更多相关《最新keil-c51单片机实验指导.5.4.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateKeil-C51单片机实验指导2015.5.4大学生就业前技术培训(大纲)Keil C51实验项目Keil C51实验项目1一、单片机的IO编程2实验1 IO开关量输入实验2实验2 IO输出驱动继电器(或光电隔离器)实验3实验3 IO输入/输出-半导体温度传感器DS18B20实验4二、单片机的中断系统5实验 1 外部中断-脉冲计数实验5实验 2 外部中断-故障报警实验
2、6三、单片机的定时器/计数器7实验1 计数器实验7实验2 秒时钟发生器实验9四、单片机的串口特点和编程10实验1 PC机串口通讯实验10实验2 RS485通讯实验12五、存储器13实验1 RAM存储器读写实验13六、PWM发生器14实验1 PWM发生器(模拟)实验14实验2 蜂鸣器实验15七、WDG看门狗16实验1 外扩WDG(MAX705)实验16实验2 WDG(内部)实验17八、SPI总线18实验1 SPI(模拟)实验-TLC2543 AD转换实验18实验2 SPI(模拟)实验-TLV5616 DA转换实验19九、 I2C总线20实验1 I2C(模拟)实验-IC卡(AT24C01)读写实验
3、20十、综合实验22实验1 HD7279LED数码管显示实验22实验2 HD7279键盘实验22实验3 电机转速实验23十一、 步进电机实验25实验1 步进电机正反转实验25十二、 TFT液晶显示实验25实验1 TFT液晶显示彩色条纹实验25十三、16X16LED点阵显示汉字实验26实验1 16X16LED点阵显示汉字实验26-一、单片机的IO编程实验1 IO开关量输入实验目的:学习单片机读取IO引脚状态的的方法。内容:编程读取IO引脚状态。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状
4、态。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将试验箱上的的IO1- IO8分别连接到SWITCH的8个拨码开关的K1-K8的输出端子K1-K8上,连接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_INPUT下的工程文件IO_INPUT.Uv2编译程序,上电,在程序注释处设置断点,进入调试状态,打开窗口Peripherals-IO-Port-P0,改变开关状态,运行程序到断点处,观察窗口的数值与开关的对应关系。实验2 IO输出驱动继电器(或光电隔离器)实验目的:学习IO输出控制方法。内容:通过单片机的IO引脚驱动
5、继电器(或光电隔离器)动作。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:首先要把相关的引脚设置在IO的输出状态,然后写一个循环,依次输出高低电平。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的IO1、IO2分别连接到RELAY的输入R_IN和PHOTO的输入P_IN上,R_OUT和P_OUT分别连接到发光二极管LAMP的输入孔L1和L2上。连接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_OUTPUT下的工程文件IO_OUTPUT.Uv2编译程序,上电,进入调试状态,打开
6、窗口Peripherals-IO-Port-P0,单步运行程序,观察窗口的数值变化。4、全速运行程序,观察继电器的发光二极管的亮灭变化,同时确定继电器动作(或光电隔离器导通)与IO输出电平的关系。实验3 IO输入/输出-半导体温度传感器DS18B20实验目的:学习IO引脚编程实现交替输入、输出的方法。内容:通过单片机的IO引脚与半导体温度传感器实现单线通讯。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:根据18B20的资料(见备注),将IO引脚设置在输出状态,分别模拟出不同的命令时序,例如复位、读寄存器等;再改变IO引脚的为输入状态,接收传感器输出的数据。步骤
7、:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的IO1连接到TEMP SENSOR DS18B20的DQ。 3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_INOUTPUT下的工程文件IO_INOUTPUT.Uv2编译程序,上电,进入调试状态,按照程序注释说明设置断点,全速运行程序到断点处,观察寄存器R7中的数据,用手摸住传感器DS18B20芯片,再运行到断点处,比较R7的变化。4、备注: DSl8B20数字温度计提供9位(二进制)温度读数指示,器件的温度信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机C
8、PU到DSl8B20仅需一条线(和地线),DSl8B20的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以存放在同一条单线总线上,这允许在许多不同的地方放置温度敏感器件。DSl8B20的测量范围从-55到+125增量值为0.5可在l s(典型值)内把温度变换成数字。二、单片机的中断系统实验 1 外部中断-脉冲计数实验目的:学习单片机的外部中断使用方法。内容:对外部中断计数显示。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:首先第一步设置单片机的IO为输入状态,第二步设置引脚的中断触发
9、方式,一般设置为边沿触发,第三步,设置外部中断的优先级,第四步,编写中断服务程序,包括中断入口跳转等,第五步,设置中断使能,允许外部引脚触发中断。第六步,设置死循环,主程序结束,交给中断服务程序完成计数。步骤: 1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的INT0连接到单脉冲输出孔P-,连接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_INT1下的工程文件EXT_INT1.Uv2,编译程序,上电,进入调试状态,按照程序注释说明设置断点,全速运行程序,每按下一次单脉冲开关Paulse,程序运行到断点处一次,观察
10、寄存器R1的变化。课堂思考题:(1)编写程序(同时接好硬件电路),采用外部中断INT1及低电平触发方式,使8只二极管从左向右依次循环点亮,中断结束后返回,二极管全灭。实验 2 外部中断-故障报警实验目的:学习单片机的外部中断使用方法。内容:利用外部中断和IO口,改变二极管和蜂鸣器状态,模拟故障报警。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:首先编写初始化程序,设置单片机IO状态,设置中断触发方式,一般设置为边沿触发,设置外部中断的优先级;第二步,编写主程序,调用初始化程序,对IO口状态写无限循环,使发光二极管处于稳定发光,蜂鸣器无发声状态,第三步,编写中断
11、服务子程序,使二极管闪烁发光,蜂鸣器断续鸣叫,模拟故障报警;第四步,编写延时子程序,控制二极管闪烁和蜂鸣器鸣叫的间隔时间。步骤: 1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的INT0连接到单脉冲输出孔P-,同时将MCU的IO0、IO1分别与发光二极管L1、蜂鸣器BUZZER孔相连,连接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_INT2下的工程文件EXT_INT2.Uv2,编译程序,上电,进入调试状态,按照程序注释说明,全速运行程序,发光二极管处于稳定发光状态,蜂鸣器无声音,每按下一次单脉冲开关Paulse
12、,观察二极管L1和蜂鸣器的变化。课堂思考题:(1)编写程序(同时接好硬件电路),采用外部中断INT0、跳变触发方式,将8支二极管分为2组,使L1、L3、L5、L7与L2、L4、L6、L8交替亮灭闪烁,中断结束后返回,8支二极管全亮。(2)编写程序(同时接好硬件电路),采用外部中断INT0、跳变触发方式,实现5次中断请求后,进入中断服务子程序, 使L1亮灭闪烁,蜂鸣器断续发声,中断结束后返回,二极管发亮。三、单片机的定时器/计数器实验1 计数器实验目的:学习单片机的定时/计数器的计数功能使用方法。内容:对外部单脉冲信号进行计数,计数10个后产生计数中断。设备:EL-EMCU-I试验箱、EXP-8
13、9S51/52/53 CPU板。编程:使用定时/计数器的计数功能,将外部时钟信号加在计数器的计数时钟输入引脚上,当计数10次后,计数器溢出,触发标志位,编程控制分频输出引脚电平翻转,产生分频后的时钟信号。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的IO1和T0分别连接到发光二极管L1的输入L1上和单脉冲输出孔P-,连接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹COUNTER下的工程文件COUNTER.Uv2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。4、上电全速运行程序,
14、按下5次单脉冲按键后发光二极管点亮,再按5次后发光二极管熄灭,如此重复。 实验2 秒时钟发生器实验目的:学习单片机的定时/计数器的定时功能使用方法。内容:产生频率为0.5Hz的时钟输出。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:使用定时/计数器的定时功能,时钟源采用系统时钟,根据时钟源的频率配置初值寄存器,使能定时器中断,在中断服务程序中翻转一个IO引脚输出,产生0.5Hz的时钟输出。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用导线将MCU的IO1连接到发光二极管L1的输入L1上,连接好仿真器。3、实验箱上电,在PC
15、机上打开Keil C环境,打开实验程序文件夹TIMER_SECOND下的工程文件TIMER_SECOND.Uv2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。4、全速运行程序,观察发光二极管的亮灭情况。5、备注:现在的单片机系统时钟较高,难于产生1秒的定时中断,所以,可以设置定时时间为50毫秒,在中断服务程序中设置程序计数,当累加到1秒后,控制输出IO引脚电平翻转,驱动发光二极管。四、单片机的串口特点和编程实验1 PC机串口通讯实验目的:学习单片机串口的使用方法。内容:与PC机实现通讯。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
16、编程:第一步,配置串口工作在8位,波特率可变异步通讯工作方式,波特率由定时器1确定,同时使能其中断并清除其中断标志位;第二步,配置定时器1,工作在8位自动重装入模式,根据波特率计算其初值。第三步,编写串口中断服务程序,只处理接收中断,对发送中断只清除标志,不做其他处理。第四步,设置死循环,交由中断服务程序处理。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:用附带的直连串口线连接试验箱的DB9和计算机的串口,接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹RS232下的工程文件RS232.Uv2,编译程序,上电,进入调试状态,单步
17、运行程序观察每条语句执行后相关寄存器的变化,全速运行程序,拔掉开发板上的串口线,强制关闭RS232工程,然后将串口线连接到实验箱上的的串口上。4、实验箱上MCU部分的TXD、RXD连接到RS232的TXD和RXD上,并将开发板上的跳线帽JP2短接在下侧。4、打开PC机的超级终端,设置波特率9600、数据位8、无流控、无校验等信息,PC机全速运行实验程序,在超级终端里输入可显示字符,观察超级终端的显示,断开连接的串口线,再输入字符,观察显示有什么不同。5、备注:在串口中断服务程序中,要清除中断标志位。在发送数据前,要检测发送状态位在发送结束状态。实验2 RS485通讯实验目的:学习单片机串口的使
18、用方法以及RS485通讯。内容:使用Max485芯片进行电平转换,实现差分方式通讯。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。AT89S51/52/53芯片两个(需2套)步骤:1、将两个实验箱的CPU板正确安放在CPU接口插座上,跳线帽JP2端都跳在下侧。2、连线:发送设备:(1)用导线将MCU的TXD、RXD、IO1、INT0分别连接到RS485的TXD、RXD、E485和单脉冲输出P-孔。(3)用两根导线顺序连接两个实验箱的UR1差分接口(上、下分别对接)。接收设备: (1)用导线将MCU的TXD、RXD分别连接到RS485的TXD、RXD;(2)用导线将M
19、CU的SDA连接到RS485的E485;(3)用导线将MCU的IO1-IO8分别连到LAMP的L1-L8;(4)用两根导线顺序连接两个实验箱的UR1差分接口(A、B分别对接)。3、分别连接好仿真器,试验箱上电,在PC机上打开Keil C环境,打开试验程序文件夹RS485下的RS485_TX里的工程,编译程序,将程序下载到“发送设备”的CPU板中。再打开RS485下的RS485_RX里的工程,编译程序,将程序下载到“接收设备”的CPU板中。4、同时给两个实验箱上电。按下发送设备上的单脉冲按键。观察“接收设备”实验箱上的LED灯变化。再结合程序分析为什么。5、备注:在该RS485的通讯中,关键是设
20、置RS485的E485端的状态,从而决定是接收回来数据还是发送出去数据。五、存储器实验1 RAM存储器读写实验目的:学习存储器数据读写方法。内容:将内部RAM中的一段数据复制到另一RAM空间。设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。编程:首先设置源的首地址和目的首地址,再设置数据块的长度,设置一个变量,先从源读取一个字节,再写入到目的地址中,如此循环,直至到数据块的长度。步骤:1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。2、连线:接好仿真器。3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹RAM下的工程文件RAM.Uv2
21、,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。4、按照注释设置断点,打开变量观察窗口,全速运行实验程序到断点处,观察2个数组内容的变化。5、备注:在汇编中,对内部存储器的操作使用指令MOV,外部存储器的操作使用MOVX和MOVC,其他相同。6、Keil C环境下观察变量的方法:在地址框填写: C:0000 查看 CODE 区 D:0000 查看 DATA 区 I:0000 查看 IDATA 区 X:0000 查看 XDATA 区六、PWM发生器实验1 PWM发生器(模拟)实验目的:学习利用定时器和IO产生PWM的方法。内容:产生占空比变化的PWM波形输出。设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 keil c51 单片机 实验 指导 5.4
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内