单片机学生实验资料.doc
《单片机学生实验资料.doc》由会员分享,可在线阅读,更多相关《单片机学生实验资料.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机学生实验资料一、实验目的:(l)学习P1口的使用方法; 熟悉Proteus软件电路设计和Keil软件程序调试方法。(2)学习软件延时程序的编写。重点:延时程序,P1口结构二、实验顶备知识: (l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容: 模拟开关灯的Proteus仿真及C语言程序设计1、设计要求:监视开关K1(接在P3.0端口上),用发光二级管L1(接在单片机P1.0端口上)显示开关状态,如
2、果开关合上,L1亮,开关打开,L1熄灭。2、仿真电路原理图(预习内容)元器件选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振; CAP、CAP-ELEC:电容、电解电容; LED-GREEN:绿色发光二级管; SWITCH:开关。模拟开关灯的电路原理图3、程序设计内容 开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用if(K1= =1)或者if(K1= =0)指令来完成对开关状态的
3、检测。 输出控制当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二级管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二级管L1亮。(预习内容)模拟开关灯的程序流程图4、程序清单(预习内容) 广告灯(利用查表方式)的Protues仿真及程序设计1、设计要求:利用查表的方法,使端口P1作单一灯的变化;左移2次,右移2次,闪烁2次(延时的时间0.2 s)。2、仿真电路原理图(预习内容)元器件选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振;CAP、CAP-ELEC:电容、电解电容; LED-GREEN:绿色发光二级管。广告灯的电路
4、原理图3、程序设计内容 (预习内容)查表法是单片机程序设计中常用的一种方法,它多用于一些较复杂的控制场合,如判断键盘按键的键值、利用I/O口控制外部设备作一些预先设定好的复杂动作(本题是其简单的示意)、输出正余弦、三角、梯形或更复杂的波形,甚至可以利用查表法实现一些复杂的算法。C语言步骤如下: 定义一维数组TABLE (复杂情况也可以用二维数组,另外,为节省单片机的RAM资源,数组一般放在代码段中); 把控制码按顺序放入数组TABLE 中; 定义变量i,改变i的值,就可以取出数组中对应的控制码。 广告灯的程序流程图4、程序清单(预习内容)四、实验结果分析:(1)模拟开关实验结果: (2)广告灯
5、实验结果: 五、思考题:1、模拟开关灯实验:编程实现2个开关控制1个灯的亮、灭,并通过Protues仿真。答:仿真结果: 程序: 2、 简述P1口的特点和工作过程。P31指导教师批阅及成绩指导教师签名: 年 月 日实 验 报 告实验项目名称: 中断实验 同组人: 实验时间: 实验室: K2-407单片机室 指导教师: 胡蔷 一、实验目的:(l)学习外部中断0和1的应用。中断系统设置,中断允许IE、中断优先级IP、中断触发方式TCON的初始化。(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。重点:外部中断0和1的工作方式二、实验顶备知识: (l)AT89S51中断系统的设置,相关
6、SFR使用方法,外部中断触发方式的区别。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容 外部中断在不同触发方式下的Protues仿真及C语言程序设计。1、设计要求:分别采用外部中断0和1通过不同触发方式控制发光二极管的亮灭,编制相应程序并且仿真。2、仿真电路原理图(预习内容)元器件选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振; CAP、CAP-ELEC:电容、电解电容;SWITCH:开关SW1、SW2; LED-GREEN:绿色发光二级管; LED-YELLOW:黄色发光二级管。外部中断的电路原理图3、程序设计内容是低电平触发方式。所以在SW1不
7、断开的情况下,一直是低电平,LED1一直点亮;是边沿触发方式(下降沿),所以在SW2不断开的情况下,一直是低电平,由于没有电平变化,因此不能持续产生中断,LED2不会一直点亮。4、程序清单 (预习内容) 两位计数数码管的Protues仿真及C语言程序设计1、设计要求:采用外部中断0和1,控制两位数码管进行0099的计数,其中外部中断0控制进行加1计数,外部中断1控制进行减1计数。2、仿真电路原理图(预习内容)元器件选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振; CAP、CAP-ELEC:电容、电解电容;BUTTON:按钮K1和K2;7SEG-MPX2-CA:两位共阴极
8、数码管; 74LS244:8路数据缓冲器。两位计数数码管电路原理图3、程序设计内容(预习内容) 两位计数数码管的程序流程图首次运行时,LED的显示初始值为00,此时如果按进行减计数,仍然显示为00,按进行加计数,若加到99时,再按加计数,仍然显示为99,数值不为00时,按可进行减计数,数值不为99时,按可进行加计数。4、程序清单 (预习内容) 四、 实验结果分析:1、外部中断在不同触发方式下的Protues仿真结果及分析 (1)低电平触发 (2)下降沿触发结果分析:(1)开关SW1接到单片机的外部中断请求0(P3.2口),作为中断请求的输入信号,选择外部中断请求0为电平触发方式。当接通SW1时
9、,外部中断请求0响应并允许,红色发光二级管(LED-GREEN)亮并维持在低电平直到断开SW1,中断结束。应用了单片机的外部中断请求0功能。 (2)开关SW2接到单片机的外部中断请求1(P3.3口),作为中断请求的输入信号,选择外部中断请求1为跳沿触发方式。当接通SW2瞬间,外部中断请求1响应并允许,黄色发光二级管(LED-YELLOW)亮一下,由于是边沿触发,黄色发光二级管马上熄灭,中断结束。应用了单片机的外部中断请求1功能。2、两位计数数码管的Protues仿真及分析 加1 减1 加1到99并保持 减1到0后不变结果分析:先将0-9的字符存放到数组tab中,五、思考题:1、外部中断0和1的
10、中断入口地址: 、 。2、中断响应需要满足哪些条件?指导教师批阅及成绩指导教师签名: 年 月 日实 验 报 告实验项目名称: 定时器实验 同组人: 实验时间: 实验室: K2-407单片机室 指导教师: 胡蔷 一、实验目的:(l)学习定时控制的方法:软件延时、硬件延时。相关中断系统设置,定时器的初始化。(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。重点:定时器的初始化、工作方式二、实验顶备知识: (l)AT89S51定时计数器的4种工作方式,TMOD、TCON、THx、TLx的使用方法,GATE门控位的作用。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容
11、 利用定时器产生脉冲的Proteus仿真及C语言程序设计。1、设计要求:使用AT89C52,晶振频率f=12MHz,在P1.2引脚上输出一个脉冲信号,周期为2s,站空比为20%。2、仿真电路原理图(预习内容)元器件选取:(1)AT89C52:单片机(2)RES:电阻;(3)CRYSTAL:晶振;(4)CAP,CAP-ELEC:电容,电解电容。电路原理图3、程序设计内容计数器计数周期=机器周期=12/12MHz=1us 2s=2000000us,即需要计数200万次,其中高电平占40万次,低电平占160万次。即可以采取每次10ms定时,高电平定时40 次,低电平定时160次。10ms=10000
12、us,所以计数器初值为65536-10000=55536=oxD8F0。4、程序清单 (预习内容) 简易车辆里程表的Proteus仿真及C语言程序设计1、设计要求:假设某家摩托车厂生产的摩托车,车轮直径为43cm,那么,该车行走1km需要车轮运转740圈。在车体上找一个能够检测车轮转动的适当位置,安装一个磁敏感传感器或者光电传感器。在与磁敏感传感器位置相对的摩托车转动部件上,安装一块小磁铁。这样车轮转动时会形成磁敏感传感器与小磁铁之间的相对位移,从而产生一系列的电脉冲信号。将该信号作为单片机内部可编程计数器的计数脉冲信号,供单片机记数。请利用AT89C52中的定时器、计数器来模拟这个简易车辆里
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 学生 实验 资料
限制150内