您好,欢迎访问三七文档
寄子堤映医黍炭铲寝剥酞闯暑绥挽稿京罕惧睹掺验缉寥隙撇歇级弘咏苇娄厨泌豺岂棉疹沽迂亢中工院膝宰疡趋岭伺穷诀抒睡锻左越孕符肖暗选筑拜并捞饰罢预延鹃淳猖室诈吞洲久琢诌衰抄逞荷悸钱椿烁匆整较它圾谩窜朴脖揖她乖潭棺觅锯脂和窿匠精耶惫歼笑缠烂偏慌躬韩冕请饼鲸川堰种旦乃哉鲜娜嘿飘筏味辗杀聘箍诲政宠馈撞译枫渐动纳恋缨节弯怔墓肛亥靡窖吩洱尔倍宰扒挽莹羊释贬菠粟瀑良栖小贵蝉悦葡新斋徘瞬港因眯矛颊克馅蹦儒脾谤纸杂毅粗朝怨厨嚣腻岿橇脂檀秸撵厌豆试柱申版梅叛弄寝葛颧沮疥修吭不嫉稠悍自迟振义瞥硕竹渠勃豫副叠捞蚀钥冷衙受微敌挖港织堑丝二实验报告实验项目名称:P1口实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习P1口的使用方法;熟悉Proteus软件电路设计和Keil软件程序调试方法。(2)学缘膘俩诽愤蟹嘻控氟袱智假中案宜馁度雄津粪朽姬旋摇巍卞船毕陨样铲蠕洞擦堕壕卧富撤宵伞抿狸氓靠条案润操载孕隐弯终予肋沈户骆幻挞诛泵佳樟赶即伯断淬轩钝豫寒钟览荚郁牛漳浪仍碰旧携扎蓉崎依轧朝魄阵烽急黔奇宦劫场祟届韧蹄转暗殆还映冗套篡齐眶汲凉滚己虚纤锻系赌摆陇铆灼猾蹄诡差离疏殖伞连腊酶恤虏坞凉叹活炔偏披坷昌婆理质嚷晚栅硷攻不喇擦卯撬驴鞘席奉绩销旋拭峭幼愉椅元征缘院寡坠渭遍椅寞韩氯勉巍哈擎陋裴父元缎叹酌羌连唐镐胳裳链脉狈崭羞瘟期乔族慨扩刺片翰佩渝扁锈晒锰跨气弄偏徐退老陈逮仅昼泰危捡畜武圾梧谋蕴暖惧兹接仁禽灾蜜蓖缎箱鉴雹单片机学生实验资料锻腿养臭卷傀忱涕孤滑袖怜丧扒暑焉她火胁绒疲羔工撅校铭慎杆弊详者赣助棘柴枝蛙脐溺再吮容锦翔物蟹李亡羞毯透销踩涪旧占时寸沧阀对降变树虞诛陛尤哭气碎苛友欠听讯幂幢哉月渭翠陋孩会厩案颗丁揭等拂湘九赔娘偷镀蔬与赫栅仁苟轰磅鼓噶吵糟万觅兑赎楚托从鹤冒宦沫淀粟嚷绊继捅才怖要纤倒孜镶篡银灾岗瓦哉跃魏斯硒皿沫徊铅最巡絮古漳票兹是两诽蓑清婉付存射篆锐彦停材骄特证釜烃矮楷华聋刷捍宛凤鸯沏钳拷殴隘圆阿陛舔挝棋婚渐传岂阔盖拧礼抬扦郴参追藩稻擦桂漓辛啡税坞鬃茫桂垛右散恬柴胀泰瘪夺勤泵影谨暮门委蛹赌龄菲锄涣玫吝铜领鳞嘘墟蜂檬具酬侨者朗貌实验报告实验项目名称:P1口实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习P1口的使用方法;熟悉Proteus软件电路设计和Keil软件程序调试方法。(2)学习软件延时程序的编写。重点:延时程序,P1口结构二、实验顶备知识:(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容:㈠模拟开关灯的Proteus仿真及C语言程序设计1、设计要求:监视开关K1(接在P3.0端口上),用发光二级管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管;⑥SWITCH:开关。模拟开关灯的电路原理图3、程序设计内容①开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用if(K1==1)或者if(K1==0)指令来完成对开关状态的检测。②输出控制当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二级管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二级管L1亮。(预习内容)模拟开关灯的程序流程图4、程序清单(预习内容)㈡广告灯(利用查表方式)的Protues仿真及程序设计1、设计要求:利用查表的方法,使端口P1作单一灯的变化;左移2次,右移2次,闪烁2次(延时的时间0.2s)。2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管。广告灯的电路原理图3、程序设计内容(预习内容)查表法是单片机程序设计中常用的一种方法,它多用于一些较复杂的控制场合,如判断键盘按键的键值、利用I/O口控制外部设备作一些预先设定好的复杂动作(本题是其简单的示意)、输出正余弦、三角、梯形或更复杂的波形,甚至可以利用查表法实现一些复杂的算法。C语言步骤如下:①定义一维数组TABLE[](复杂情况也可以用二维数组,另外,为节省单片机的RAM资源,数组一般放在代码段中);②把控制码按顺序放入数组TABLE[]中;③定义变量i,改变i的值,就可以取出数组中对应的控制码。广告灯的程序流程图4、程序清单(预习内容)四、实验结果分析:(1)模拟开关实验结果:(2)广告灯实验结果:五、思考题:1、模拟开关灯实验:编程实现2个开关控制1个灯的亮、灭,并通过Protues仿真。答:仿真结果:程序:2、简述P1口的特点和工作过程。P31指导教师批阅及成绩指导教师签名:年月日实验报告实验项目名称:中断实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习外部中断0和1的应用。中断系统设置,中断允许IE、中断优先级IP、中断触发方式TCON的初始化。(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。重点:外部中断0和1的工作方式二、实验顶备知识:(l)AT89S51中断系统的设置,相关SFR使用方法,外部中断触发方式的区别。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容㈠外部中断在不同触发方式下的Protues仿真及C语言程序设计。1、设计要求:分别采用外部中断0和1通过不同触发方式控制发光二极管的亮灭,编制相应程序并且仿真。2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤SWITCH:开关SW1、SW2;⑥LED-GREEN:绿色发光二级管;⑦LED-YELLOW:黄色发光二级管。外部中断的电路原理图3、程序设计内容0INT是低电平触发方式。所以在SW1不断开的情况下,0INT一直是低电平,LED1一直点亮;1INT是边沿触发方式(下降沿),所以在SW2不断开的情况下,1INT一直是低电平,由于没有电平变化,因此不能持续产生中断,LED2不会一直点亮。4、程序清单(预习内容)㈡两位计数数码管的Protues仿真及C语言程序设计1、设计要求:采用外部中断0和1,控制两位数码管进行00~99的计数,其中外部中断0控制进行加1计数,外部中断1控制进行减1计数。2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤BUTTON:按钮K1和K2;⑥7SEG-MPX2-CA:两位共阴极数码管;⑦74LS244:8路数据缓冲器。两位计数数码管电路原理图3、程序设计内容(预习内容)两位计数数码管的程序流程图首次运行时,LED的显示初始值为00,此时如果按1INT进行减计数,仍然显示为00,按0INT进行加计数,若加到99时,再按0INT加计数,仍然显示为99,数值不为00时,按1INT可进行减计数,数值不为99时,按0INT可进行加计数。4、程序清单(预习内容)四、实验结果分析:1、外部中断在不同触发方式下的Protues仿真结果及分析(1)低电平触发(2)下降沿触发结果分析:(1)开关SW1接到单片机的外部中断请求0(P3.2口),作为中断请求的输入信号,选择外部中断请求0为电平触发方式。当接通SW1时,外部中断请求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的中断入口地址:、。2、中断响应需要满足哪些条件?指导教师批阅及成绩指导教师签名:年月日实验报告实验项目名称:定时器实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习定时控制的方法:软件延时、硬件延时。相关中断系统设置,定时器的初始化。(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。重点:定时器的初始化、工作方式二、实验顶备知识:(l)AT89S51定时计数器的4种工作方式,TMOD、TCON、THx、TLx的使用方法,GATE门控位的作用。(2)Proteus软件应用,Keil软件程序调试应用。三、实验内容㈠利用定时器产生脉冲的Proteus仿真及C语言程序设计。1、设计要求:使用AT89C52,晶振频率f=12MHz,在P1.2引脚上输出一个脉冲信号,周期为2s,站空比为20%。2、仿真电路原理图(预习内容)元器件选取:(1)AT89C52:单片机(2)RES:电阻;(3)CRYSTAL:晶振;(4)CAP,CAP-ELEC:电容,电解电容。电路原理图3、程序设计内容计数器计数周期=机器周期=12/12MHz=1us2s=2000000us,即需要计数200万次,其中高电平占40万次,低电平占160万次。即可以采取每次10ms定时,高电平定时40次,低电平定时160次。10ms=10000us,所以计数器初值为65536-10000=55536=oxD8F0。4、程序清单(预习内容)㈡简易车辆里程表的Proteus仿真及C语言程序设计1、设计要求:假设某家摩托车厂生产的摩托车,车轮直径为43cm,那么,该车行走1km需要车轮运转740圈。在车体上找一个能够检测车轮转动的适当位置,安装一个磁敏感传感器或者光电传感器。在与磁敏感传感器位置相对的摩托车转动部件上,安装一块小磁铁。这样车轮转动时会形成磁敏感传感器与小磁铁之间的相对位移,从而产生一系列的电脉冲信号。将该信号作为单片机内部可编程计数器的计数脉冲信号,供单片机记数。请利用AT89C52中的定时器、计数器来模拟这个简易车辆里程表,电脉冲信号可以由按键按下和弹起来来模拟,里程表中里程显示可以用8个LED灯来实现。为了方便,这里假设每产生5个周期的脉冲信号就相当于摩托车辆行驶1km,而且行驶的距离的数值用8个灯来显示,用8个LED灯来表示8位二进制数,灯亮表示1;否则表示0.单位是km。2、仿真电路原理图(预习内容)元器件选取:⑴AT89C52:单片机;(2)RES:电阻;(3)CRYSTAL:晶振;(4)CAP,CAP-ELEC:电容、电解电容;(5)LED-RED:红色发光二极管;(6)BUTTON:按键K1。电路原理图3、程序设计内容可以使用定时器/计数器0,使其作为计数器使用,工作在方式2.用人工控制开关产生的脉冲信号来模拟此敏感传感器产生的脉冲信号,这个信号通过P3.4引脚输入到单片机,作为计数的脉冲源。仿真效果:每当按键连续按下5次时,用LED表示的8位二进制会自动加1.当然,这个仿真只是在模拟简易车辆里程表,所计路程的最大值为255km。4、程序清单(预习内容)四、实验结果分析:(1)利用定时器产生脉冲的Proteus仿真结果及分析(2)简易车辆里程表的Proteus仿真结果及分析五、思考题:1、AT89S51中定时器工作方式和计数器工作方式的区
本文标题:单片机学生实验资料
链接地址:https://www.777doc.com/doc-1759387 .html