华南农业大学单片机实验报告书

合集下载

单片机实验5 带急救车的交通灯控制实验

单片机实验5  带急救车的交通灯控制实验

华南农业大学实验报告专业班次08电信1 组别200831120102 题目实验五带急救车交通灯控制实验姓名陈建泽日期2010.11.3一、实验目的1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

二、实验设备:STC89C52单片机实验板、串口下载线、USB连接线、电脑三、实验原理实验的电路原理图同图与实验1的相同,由原理图可分析出,当端口为低电平时,发光二极管亮,高电平时,发光二极管灭,考虑人眼的视觉暂留,调整发光二极管的延时时间。

使用发光二极管模拟交通灯,LED1到LED3作为东西路口的红、黄、绿灯,LED5到LED7作为南北路口的红、黄、绿灯。

增加允许急救车优先通过的要求。

当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。

本实验以单脉冲为中断申请,表示有急救车通过。

中断0的电路原理图如下图所示:外部中断电路原理图四、实验步骤1. 分析实验所用到的电路原理图,根据需要连接跳线帽。

2. 根据实验要求设LED1到LED3作为东西路口的红、黄、绿灯,LED5到LED7作为南北路口的红、黄、绿灯。

3. 主程序的亮灭规则依照实验1,中断程序的流程图在第五点给出。

一开始,程序按当有急救车通过时,按下中断按键(P3.2),进入中断子程序,4.根据流程图编写实验程序,并完成调试。

成绩:教师:日期:五、实验流程图带急救车交通灯流程图六、实验程序根据实验流程图,编写出一下实验程序,为了更精确延时,本实验采用定时器。

//*******************实验5 带急救车的交通灯控制实验**************;实验名称:带急救车的交通灯控制实验;功 能:当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,时间10S ;编 写 人:08电信1 陈建泽;编写时间:2010年11月3日//***********************程序代码如下*****************************ORG 0000HAJMP STARTORG 0003H ;外部中断0程序入口地址AJMP DINT0ORG 000BH ;定时器中断0程序入口地址 开始 两个红灯亮并延时3S 东西路口绿灯亮,南北路口红灯亮。

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

单片机实训报告

单片机实训报告

单片机实训报告一、实训目的本次单片机实训的目的在于通过实际操作和项目实践,深入理解单片机的工作原理和应用开发,提高自身的硬件设计能力、软件编程能力以及解决实际问题的能力。

同时,培养团队合作精神和创新思维,为今后从事相关领域的工作打下坚实的基础。

二、实训设备在本次实训中,我们使用了以下主要设备:1、单片机开发板:用于实验和项目的开发与调试。

2、计算机:安装相关的编程软件和开发工具。

3、示波器:用于观察电路中的信号波形。

4、万用表:用于测量电路中的电压、电流等参数。

三、实训内容1、单片机基础知识学习首先,我们对单片机的基本结构、工作原理、指令系统等进行了系统的学习。

了解了单片机的内部组成,包括中央处理器(CPU)、存储器、输入输出端口等。

通过学习指令系统,掌握了如何使用汇编语言或 C 语言对单片机进行编程控制。

2、硬件电路设计在硬件电路设计方面,我们学习了如何根据实际需求设计单片机的最小系统,包括电源电路、时钟电路、复位电路等。

同时,还掌握了如何扩展外部存储器、输入输出设备等。

通过实际绘制电路图和制作电路板,提高了我们的硬件设计能力和动手实践能力。

3、软件编程在软件编程方面,我们使用了汇编语言和 C 语言两种编程方式。

通过编写简单的程序,如点亮 LED 灯、控制数码管显示、实现按键输入等,逐渐熟悉了单片机的编程方法和技巧。

同时,还学习了如何使用中断、定时器、串口通信等功能,提高了程序的复杂程度和实用性。

4、项目实践在项目实践环节,我们分组完成了一个基于单片机的温度控制系统的设计与实现。

该系统通过温度传感器采集环境温度,经过单片机处理后,控制风扇的转速和加热装置的工作状态,从而实现对环境温度的自动控制。

在项目实践过程中,我们充分运用了所学的知识和技能,从系统方案设计、硬件电路搭建、软件编程调试到系统测试优化,每个环节都进行了精心的设计和认真的实施。

四、实训过程在实训开始阶段,我们首先进行了单片机基础知识的学习和实验。

单片机实习报告范文

单片机实习报告范文

单片机实习报告范文一、实习概况在本次单片机实习中,我所在的团队负责设计一款智能家居控制系统。

该系统通过使用单片机来实现各种家居设备的远程控制和自动化操作。

我的主要任务是参与系统的硬件设计和编程,并进行相关测试,以验证系统的可行性和稳定性。

二、实习内容和过程1.硬件设计在硬件设计阶段,我参与了系统整体架构的设计和分工,并负责部分模块的设计和选型。

首先,我们对系统进行了整体的划分,确定了各个模块的功能和连接方式。

然后,根据设计需求,我选择了适用的单片机型号,并进行了相应的外围电路设计。

在设计过程中,我也积极与团队成员进行讨论和交流,以确保各个模块的兼容性和稳定性。

2.编程实现在编程实现阶段,我主要负责单片机上的程序设计和优化。

首先,我根据系统需求和硬件设计的特点,制定了相应的代码结构和功能模块。

然后,我使用C语言来编写程序,并针对不同的模块进行了分层设计和开发。

在编写过程中,我充分利用了单片机的各种接口和功能,以实现各种控制操作和数据处理。

同时,我也积极进行代码的优化和调试,以提高系统的稳定性和响应速度。

3.测试和修正在系统开发完成后,我们进行了一系列测试和修正工作,以确保系统的稳定性和可靠性。

首先,我进行了模块级别的功能测试,用于验证每个模块是否正常工作,并且相互之间没有冲突和干扰。

然后,我们进行了整体系统级别的测试,以验证系统的功能完整性和可行性。

在测试过程中,我们积极收集用户的反馈和建议,并进行相应的修正和改进。

最终,我们成功实现了一个功能完善的智能家居控制系统。

三、实习成果和收获通过本次实习,我收获了以下几点经验和技能:1.硬件设计能力:通过参与硬件设计,我学会了如何选择合适的电路元件和设计电路图,以实现特定功能和要求。

2.编程实力提升:通过编写单片机程序,我提高了自己的编程能力,学会了如何利用单片机的资源和功能,实现多个模块的协同工作。

3.团队协作和沟通能力:在团队中,我与其他成员紧密合作,共同完成项目。

单片机实训报告范本(WORD档)11页word

单片机实训报告范本(WORD档)11页word

单片机实训报告题目:《单片机原理与应用》学院:电子信息工程学院专业:光电子技术学生姓名:学号:指导老师:日期: 2013年5月10日一、硬件系统:实验板的系统组成:1.8路跑马灯2.动态扫描共阳型数码管3.4x4矩阵键盘4.4路独立键盘5.蜂鸣器6.温度传感器DS18B207.I2C通信方式的EEPROM芯片24C02二、开发软件KEILC、下载软件:1、Keil C u Vision2使用说明(1)打开u Vision2(2)新建工程:菜单【Project】_>【New Project】选择工程存放路径,并输入工程文件名,然后点“保存”。

2、进入器件选择界面数列表框内选择“Atmel”_>”AT89s52”,然后点“确定”完成器件选择。

(1)编辑源程序:新建文件:菜单【File】_>【New…】。

然后输入代码存入硬盘。

C源文件存为.C后缀,汇编源文件存为.a或.src后缀,并存放在同一个工程文件夹下。

(2)加入源文件到工程中:在左边浮动窗口【file】选项卡里展开“Target 1”树,在“Source Group 1”上右键单击,弹出菜单,选【Add File to Group “Source Group 1”】,选择需要加入的源文件,点“Add”按钮加入,加入完成后按“Close”关闭。

(1)设置编译选项:先选中左边浮动窗口【File】选项卡里“Target 1”树节点,然后选菜单【Project】_>【Options for Target“Target 1”】。

(2)在弹出的“Options for Target “Target 1””对话框中选择【output】选项卡,勾选“Greate HEX File”,然后按“确定”完成设置。

(3)按“F7”开始编译,编译成功后会在工程文件夹内生成.hex目标文件生成的.hex文件就可以用来对AT89S52芯片进行编程和运行了。

单片机实习报告8篇

单片机实习报告8篇

单片机实习报告8篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、总结计划、心得体会、演讲致辞、策划方案、合同协议、条据文书、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work reports, summary plans, insights, speeches, planning plans, contract agreements, documentary evidence, teaching materials, complete essays, and other sample essays. If you would like to learn about different sample formats and writing methods, please pay attention!单片机实习报告8篇难忘的实习生活已经告一段落了,回顾这段时间的实习,知识和能力都得到了很大提高,让我们好好总结一下,写一份实习报告吧。

51单片机实验报告-华广

51单片机实验报告-华广

51单片机实验报告
姓名:
学号:
系别:电气工程学院
班级:输电线路工程2班
软件实验一求一组数据的最大(小)值
软件实验二二进制数转换为BCD数
软件实验三二进制数转换为ASCII码
第二部分硬件实验
硬件实验一并行口输入、输出实验
1.用P
2.0引脚(下图中P20)来驱动1只LED(下图中的D20),编写程序,使LED闪烁(要求LED亮500ms,灭500ms);
2.P2做输出口,接8只LED(如下图),编写程序,使LED循环点亮(流水灯);
3.P3.2和P3.3做输入口,分别接两个拨动开关到GND;P2.7~P2.4做输出口,接4只LED (参考下图),用来指示两个开关的闭合状态组合。

实现如下“真值表”:。

单片机实验3 数码管控制实验-动态显示

单片机实验3  数码管控制实验-动态显示
/**********实验二数码管控制实验-动态显示**************/
;实验名称:数码管动态显示
;功能:4位数码管循环显示“0123”“4567”“89AB”“CDEF”,间隔0.5S。
;编写人:陈建泽
;编写时间:2010年11月2日
/**********************程序代码************************/
D1MS: MOV R2,#250 ;250*(1+1+2)=1000us=1ms
L1:NOP
NOP
DJNZ R2,L1
RET
/*****************中断服务子程序*****************/
T0_INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
MOV A,R4
CJNE A,#16,L3
AJMP MAIN
L3:MOV R5,A
AJMP L1
DIS:MOV P2,R6;用A作为中间寄存器,因后面要循环显示
MOV A,R5
ACALL SQR ;查表
MOV P0,A
ACALL D1MS ;1ms
INC R5
MOV A,R6
RL A;指向下一位
MOV R6,A
RET;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳极字型码表0、1、2、3
DB 99H, 92H, 82H, 0F8H;共阳极字型码表4、5、6、7
DB 80H, 90H, 88H, 83H;共阳极字型码表8、9、A、B
DB 0C6H,0A1H,86H, 8EH;共阳极字型码表C、D、E、F
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章:实验实验一闪烁LED实验(2学时)一、实验目的1、学会使用Keil建立51单片机Project和编译程序;2、学会程序延时的方法;3、学会使用单片机I/O口实现输出。

二、实验内容通过软件延时,控制一位LED按设定的时间间隔闪烁。

三、实验过程与结果记录1、单片机开发试验仪相关部分原理图2、程序(自行编写,C语言与汇编均可)#include <reg52.h>sbit led=P1^0;unsigned int i,j;void main(){ while(1){led1=0;for(i=1000;i>0;i--)for(j=110;j>0;j--)led1=1;for(i=1000;i>0;i--)for(j=110;j>0;j--)}}四、思考题1、如何改变LED闪烁的时间间隔?通过延时函数,让CPU持续延时,使循环体内LED状态在延时的时间内保持不变。

2、如何实现更精确的闪烁时间间隔?用汇编可以精确延时,也可以用时钟中断,精确延时。

实验二移位LED实验(2学时)一、实验目的1、学会二进制移位操作和循环语句在单片机中的用法;2、认识CY位在汇编中如何参与移位。

二、实验内容1、1个LED从左到右循环依次点亮;2、1个LED左右来回循环依次点亮;3、花式流水灯,自定义样式点亮8个LED。

三、实验过程与结果记录1、单片机开发试验仪相关部分原理图,同实验一。

2、程序(自行编写,C语言与汇编均可)1):#include<reg52.h>#define uchar unsigned charuchar a;void delay(int time){int x,y;for(x=time;x>0;x--)for(y=110;y>0;y--);}void move(int x){ int i;if(x==1){a=0x01;}else if(x==2){a=0xaa;}else{a=0x80;}for(i=0;i<=7;i++){P0=a;delay(350);if(x==1){a=a<<1;}else if(x==2){a=a<<1;}else{a=a>>1;}}}void main(){int i;a=0x01;while(1){move(1);move(0);move(2);move(1);move(1);move(2);}}四、思考题1、比较RR,RL和RRC,RLC指令的异同。

2、LED共阳极接法与共阴极接法,输出I/O口时有什么不同?IO口输出对于不同情况,要取反。

实验三七段数码管实验(2学时)一、实验目的1、学习七段数码管静态显示阿拉伯数字;2、学习查表指令的使用。

二、实验内容采用静态显示的方法,编程实现单个七段数码管循环显示0~9,主程序中的循环语句反复将0~9的段码送至P0口,使数字0~9循环显示。

三、实验过程与结果记录1、单片机开发试验仪相关部分原理图,其中七段数码管采用共阳极接法。

2、程序(自行编写,C语言与汇编均可)#include<reg52.h>#define uchar unsigned charuchar a;uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;void delay(int time){int x,y;for(x=time;x>0;x--)for(y=110;y>0;y--);}void main(){P0=tab[6];while(1){P0=tab[0];for(a=0;a<=9;a++){P0=tab[a];delay(1000);}}}四、思考题1、数码管静态显示与动态显示有何异同?请写出各自适用范围。

静态显示就是一直都是那个输出,动态显示是在人眼不能分辨的情况下,快速变换输出。

使用的io口比较少的时候,用动态显示。

2、数码管的共阳极接法与共阴极接法,输出字表有什么不同?跟二极管类似,也是取反。

实验四按键实验(2学时)一、实验目的1、学习独立按键的使用;2、学习矩阵键盘的使用。

二、实验内容判断独立按键输入(8位),当按下按键后,一位数码管显示对应的键值;三、实验过程与结果记录1、单片机开发试验仪相关部分原理图,其中LED与数码管部分同前述实验,按键部分原理图如下:2、程序(自行编写,C语言与汇编均可)#include<reg51.h>#define uchar unsigned charuchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;//uchar code tab[]={0x90,0x80,0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0} ;sbit key0=P1^0;sbit key1=P1^1;sbit key2=P1^2;sbit key3=P1^3;sbit key4=P1^4;sbit key5=P1^5;sbit key6=P1^6;sbit key7=P1^7;int a,x,y;void delay(int z){for(x=z;x>0;x--)for(y=110;y>0;y--); }void main(){P0=tab[9];while(1){if(key1==0){delay(10);if(key1==0){P0=tab[1];}while(!key1);}if(key2==0){delay(10);if(key2==0){P0=tab[2];}while(!key2);}if(key3==0){delay(10);if(key3==0){P0=tab[3];}while(!key3);}if(key4==0){delay(10);if(key4==0){P0=tab[4];}while(!key4); }if(key5==0) {delay(10);if(key5==0){P0=tab[5];}while(!key5); }if(key6==0) {delay(10);if(key6==0){P0=tab[6];}while(!key6); }if(key7==0) {delay(10);if(key7==0){P0=tab[7];}while(!key7);}}}四、思考题1、为什么需要按键防抖?如何实现软件去抖?因为机械按键按下的瞬间,会在1和0之间抖动数次,不去抖,会多次输入,产生干扰。

先判断是否按下按键,再延时10ms,进入第二重判断,在判断里面进行按键响应的对应操作,延时直到按键松开,退出第一重判断实验五串口通信实验(2学时)一、实验目的1、学习单片机与PC之间的串口通信;二、实验内容1、通过一位独立按键,每按一次,数字(从0开始)加一发送到PC调试软件上显示。

三、实验过程与结果记录1、单片机开发试验仪相关部分原理图,其中按键部分同前述,串口部分通过下载程序的USB(CH340-USB to TTL)实现。

2、程序(自行编写,C语言与汇编均可)#include <reg52.h>#include <stdio.h>//11.0592Mhzsbit key=P2^7;void Uart_Init(){TH1 = 0xFD; //晶振11.0592mhz 波特率设为9600TL1 = TH1;TMOD |= 0x20; //定时器1方式2SCON = 0x50; //串口接收使能ES = 1; //串口中断使能TR1 = 1; //定时器1使能TI = 1; //发送中断标记位,必须设置}void delay_ms(unsigned int n){unsigned int i,j;for(i=0;i<n;i++)for(j=0;j<123;j++);}void main(){int i = 0;Uart_Init();delay_ms(10);while(1){if(key==0){delay_ms(10);if(key==0){while(!key);printf("num=%d\r\n",i);i++;}}}}四、思考题1、单片机串行口通信需要注意什么?从硬件电平,软件设置(波特率,停止位……)等方面描述。

相关文档
最新文档