单片机应用技术课程实验报告
关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。
第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。
比方:小灯得点亮就没有用到中断可以先不用看。
如此可以防止知识过多记不住的苦恼。
关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。
第三:程序不要只是看别人得,一定要本人写过才是本人的。
开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。
明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。
当你本人能写出来的时候说明你真明白了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运转时不能实现理想的现象。
这时有人就晕了不知该如何办,然后就去征询别人。
当别人找出征询题出在哪里时就会恍然大悟。
事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。
本人一定要掌握处理征询的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个特别有用。
通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。
单片机原理及应用实验报告

《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验1 计数显示器一、实验目的熟悉51单片机的基本输入输出应用,掌握Proteus模块的原理图绘图方法及单片机系统仿真运行方法二、实验原理由共阴极数码管LED1和LED2、P0口、P2口,上拉电阻RP1及Vcc组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路,该电路在编程软件的配合下,可实现计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。
三、实验内容(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能(2)学会选择元件、画导线、修改属性等基本操作(3)学会可执行文件加载及程序仿真运行方法(4)验证计数显示器的功能四、实验要求提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结1.实验原理图2.仿真运行截图3.实验小结通过这次实验让我认识了kell和proteus软件的基本功能,学会了用kell编写程序用proteus仿真运行。
在这次实验中同时也遇到了很多问题。
比如因为第一次使用这两个软件对界面还不太熟悉,浪费了很多的时间也产生了很多错误,但之后与同学们的交流过程中,慢慢的对这两个软件有了更深入的了解,在后期仿真的时候才能得心应手的处理问题。
这个计数显示器的实验让我进一步了解了单片机与数码管的魅力,看到了电子元件的神奇之处,只要按动按键就能让数码管的数字逐次加一,这大大激发了我的学习单片机兴趣,这次实验也会成为我以后学习单片机的奠基石,因为它打开了我认识单片机的大门,让我认识到了单片机的魅力,并让我沉浸其中。
实验2 指示灯开关控制器一、实验目的学习51单片机I/O口基本输入输出功能,掌握汇编语言的编程与调试方法。
二、实验原理输入电路由外接在P1口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。
单片机应用实训报告

单片机应用实训报告
在单片机应用实训中,我们主要学习了单片机的基本原理、应用及实际操作技能。
通过本次实训,我对单片机的应用有了更加深入的了解,并且在实际操作中积累了丰富的经验。
首先,我们学习了单片机的基本原理,包括单片机的结构、工作原理、指令系统等。
通过理论学习,我对单片机的内部结构和工作原理有了清晰的认识,这为后续的实际操作打下了坚实的基础。
其次,我们进行了单片机应用的实际操作。
在实训课程中,我们学习了单片机的编程语言和开发工具,并通过实际操作掌握了单片机的编程技能。
我们还学习了单片机与外围器件的连接方法,以及单片机在各种实际应用中的具体操作步骤。
通过反复练习,我逐渐掌握了单片机的应用技能,并且在实训项目中取得了不错的成绩。
最后,我们进行了单片机应用实训项目的设计与实施。
在实训项目中,我们需要根据实际需求设计单片机应用系统,并进行实际的硬件连接和软件编程。
通过实训项目,我对单片机应用的整体流程有了更加清晰的认识,也提高了自己的动手能力和解决问题的能力。
通过本次单片机应用实训,我不仅学到了专业知识,还培养了动手能力和团队合作精神。
在未来的学习和工作中,我将继续努力,不断提升自己的技能,为实际应用做出更大的贡献。
总的来说,单片机应用实训是一次非常有意义的学习经历,我通过这次实训不仅学到了专业知识,还提高了自己的动手能力和解决问题的能力。
我相信这些经验和技能在未来的学习和工作中会给我带来很大的帮助。
希望能够在以后的学习和工作中不断提升自己,为实际应用做出更大的贡献。
单片机应用技术课程实验报告

四、实验代码
图2-1单片机的直接控制
图2-2单片机及74LS138的间接控制
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
[4]高卫东,辛友顺,韩彦征.51单片机原理与实践[M].北京:北京航空航天大学出版社,2009.01
2、运行程序,验证译码的正确性。
二、实验原理图
本次跑马灯实验是通过两种方式实现的,一种是STC89C52单片机的直接控制,一种是通过74LS138译码器的间接控制。图2-1为单片机的直接控制原理图,图2-2为单片机及74LS138的控制原理图
图2-1单片机的直接控制原理图
图2-2单片机及74LS138的间接控制原理图
PA=0x37;
delay(100);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
五、调试与总结
1、调试
(1)焊接时注意各个器件的引脚处,注意区分led灯的阴阳极,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
一、实验内容
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能。
2、熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
单片机课程报告 从P1.0到P1.7依次点亮八个LED灯

实验报告内容:一、设计功能描述,指明基本要求及提高要求的实现内容;二、实验材料清单(包括:软件工具名称、仪器设备名称、元器件等);三、实验实施过程描述,要点包括:(1)设计功能描述;(2)描述原理图设计思路,并画出电路图;(3)描述程序设计思路,并画出程序流程图;(4)写出源程序及其必要注释;(5)片内RAM的地址及I/O端口分配表;(6)子程序列表(名称、功能描述、出入口);(7)调试结果描述;(8)出现问题及其学习情境1一实验目的:点亮LED灯二实验任务:从P1.0到P1.7依次点亮八个LED灯三实验材料及器件四设计功能描述利用单片机的P1口,依次循环点亮1个灯,使人们感觉到亮灯的位置在依次顺序移动,可产生一种动态显示的效果。
四实验原理图五程序设计思路及程序流程图要依次点亮八盏灯,根据点亮的位置及从哪一个开始点亮,向P1口传递如下数据11111110(FEH)——点亮P1.0连接的LED, MOV P1,#0FEH 11111101(FDH)——点亮P1.1连接的LED, MOV P1,#0FDH ……….01111111(7FH)——点亮P1.7连接的LED, MOV P1,#07FH 分析如上数据可以发现,他们它们后面穿送的数据依次是前面数据左移一位的结果,因此我们可以利用循环程序来实现这个功能,程序流程图如下所示六实验源程序org 0000hstart: mov r2,#08h ;设置循环次数mov a,#0feh ;送显示模式字next: mov p1,a ;点亮连接P1.0的发光二极管acall delayrr a ;左移一位,改变显示模式字djnz r2,next ;循环次数减1不为0,继续点亮下面一个LEDsjmp start ;重复上述过程delay: mov r3,#0efhdel2: mov r4,#0ffhdel1: nopdjnz r4,del1djnz r3,del2retend七子程序列表(名称、功能描述、出入口);delay: mov r3,#0efhdel2: mov r4,#0ffhdel1: nopdjnz r4,del1djnz r3,del2ret该程序为典型的双重循环的延时子程序,他通过子程序入口delay: mov r3,#0efh进入程序,当程序运行至djnz r4,del1时进入第一重循环,当第一重循环结束时,进入djnz r3,del2第二重循环,最后经过ret退出子程序七调试结果描述程序下载成功后,LED灯从左到右来回一个一个亮灭亮灭八出现问题及其解决办法前面把送显示模式写成07fh,后面载入系统板的时候才发现原来十六进制排列方法为P1.7-P1.0,要写成0feh然后依次循环左移,才能实现led从左到右的流水。
单片机应用技术实验报告
实验一流水灯控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成流水LED灯控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。
二、实验设备PC微机;Windows操作系统;KeilC51软件及proteus7.8集成环境。
三、实验步骤1.Proteus下电路设计程序要求设计一个单片机控制流水灯程序,采用延时程序完成8个LED灯点亮效果(可自行设计效果,程序仅供参考)。
首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。
2.C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。
然后在工程下新建文本文件,保存为*.c 的源文件,将*.c文件添加到工程中,并配置好输出。
根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。
如编译未通过,则再次根据编译错误提示对源程序进行修改。
3.在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。
4.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。
四、程序设计源程序(在KeilC中进行编译)/* 名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//延时voidDelay(unsignedintt){while(--t);}voidmain()//主程序{uchari;P0=0x01;while(1){for(i=0;i<7;i++){P0=_crol_(P0,1);//P0的值向左循环移动Delay(20000);}for(i=0;i<7;i++){P0=_cror_(P0,1);//P0的值向右循环移动Delay(20000);}}}五、实验总结XXXXXXXXXXX实验二按键控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成按键控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。
单片机原理与应用实验报告
单片机原理实验报告实验一计数显示[目的]熟悉Proteus仿真软件,掌握单片机原理图的绘制方法【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何使用ISIS模块,学习设置图纸、选择元件、画线、修改属性等基本操作(3)了解如何加载可执行文件和运行程序仿真(4)了解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制[实验步骤](1)观察Proteus软件的基本结构,如菜单、工具栏、对话框等。
(2)Proteus中绘制电路原理图,并根据表A.1将组件添加到编辑环境中(3)在Proteus中,观察仿真结果,检查电路图绘制的正确性【实验示意图】【实验源程序】#include <reg51.h>位 P3_7=P3^7;无符号字符 x1=0;x2=0 ;无符号字符数=0;无符号字符 idata buf[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};无效延迟(int时间){整数 k,j;for(;time<0;time--)for(k=200;k>0;k--)for(j=500;j<0;j--);}无效初始化(){P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);}无效的主要(){在里面();而(1){x1=计数/10;x2=计数%10;P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);如果(P3_7==0)// {延迟(10);而(!P3_7);如果(计数==99)计数=0;别的计数=计数+1;}}}[实验结果]阐明计数器的作用是按下K1后,数码管LED1和LED2会显示按键的按下次数, LED1代表一位, LED2代表十位。
当计数器达到99时,再次按下K1键,显示值再次从0开始。
实验2指示灯开关控制器[目的]学习如何编程和调试汇编语言【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何用汇编语言编程(3)ISIS 模块中输入、编译和调试汇编程序(4)了解MCU程序控制原理,实现指示灯/开关控制器的预期功能[实验步骤]( 1 ) 在ISIS中画出电路原理图, 并在编辑环境中添加相应的元器件 .( 2 )在ISIS中编写汇编语言程序( 3 ) 利用ISIS 的汇编调试功能检查程序的语法和逻辑错误( 4 )观察仿真结果,检查程序和电路的正确性【实验示意图】【实验源程序】#include <reg51.h> 无效延迟(int时间){整数 k,j;for(;time<0;time--) {for(k=100;k<0;j--) for(j=500;j<0;j--); }}无效初始化(){P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);}无效的主要(){在里面();P1=0x00;延迟(20);P1=0xff;延迟(20);而(1){P1=P2 ;}}[实验结果]阐明点击运行,8个LED 一起闪烁3次。
单片机技术及应用和电工基础实习报告
单片机技术及应用和电工基础实习报告
一、前言
单片机和电工基础是电子信息类专业的重要基础课程。
本实习旨在通过实践操作加深对单片机技术及应用和电工基础理论知识的理解,培养学生动手能力和解决实际问题的能力。
二、单片机技术及应用实习内容
1. 认识单片机最小系统及其编程环境
2. 单片机输入输出口编程
3. 定时器/计数器编程
4. 串行通讯编程
5. 设计并调试一个小型系统
三、电工基础实习内容
1. 认识基本电气元件
2. 串联和并联电路的实验测量
3. 电桥电路的实验测量
4. 单相交流电路的实验测量
5. 三相电路实验测量
四、实习总结
通过本次实习,我们掌握了单片机系统的组成、编程方法、编程技巧等基础知识,并动手设计调试了一个小型控制系统。
同时,我们也加深了对电路原理、测量方法等电工基础知识的理解。
实习过程锻炼了
我们的动手能力和独立思考解决问题的能力,为将来从事相关工作打下了坚实基础。
五、附录
1. 单片机小型系统代码
2. 电路实验数据及分析。
单片机实训实验报告
一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验内容
单片机最小系统实验:
1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。
2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
存储单元数据传输实验
1、熟悉C语言编程。
2、进行存储单元数据传输实验,编写程序。
[4]高卫东,辛友顺,韩彦征.51单片机原理与实践[M].北京:北京航空航天大学出版社,2009.01
delay(1000);//延时
for(i=3;i>0;i--)//黄灯闪烁三次
{
PA=0x2e;
delay(100);
PA=0x3e;
delay(100);
}
PA=0x33;//东西红灯,南北绿灯
delay(1000);
for(i=3;i>0;i--)//黄灯闪烁三次
{
PA=0x35;
delay(100);
参考文献
[1]余锡存,曹国华.单片机原理及接口技术(第二版)[M].西安:西安电子科技大学出版社,2010.06
[2]周荷琴,吴秀清.微型计算机原理与接口技术(第四版)[M].合肥:中国科学技术大学出版社,2010.06
[3]彭伟.单片机C语言程序设计实训——基于8051+Proteus仿真[M].北京:电子工业大学出版社,2009.06
2、运行程序,验证译码的正确性。
二、实验原理图
本次跑马灯实验是通过两种方式实现的,一种是STC89C52单片机的直接控制,一种是通过74LS138译码器的间接控制。图2-1为单片机的直接控制原理图,图2-2为单片机及74LS138的控制原理图
图2-1单片机的直接控制原理图
图2-2单片机及74LS138的间接控制原理图
(2)在编写延时程序时尤其当延时常数太大时仿真时程序易错,所以使用定时器定时中断的方法,然后对定时计数以次延时。
2、总结
通过本次课程设计较系统地掌握有关单片机控制的设计思想和设计方法,主要对AT89C5的结构、功能、内部资源等了解并对其进行测试和加以应用的知识得到学习。这个设计的一些内容是在网上找的,自己做了一些的改动,在上网找资料的同时也学到了许多东西,找到了很多学习单片机的网站,里面的内容都比较适合我们初学者去学,有些网站还专门介绍这种单片机的类型、用法、功能等等。其实我们平时不懂就应该自己去学习去弄明白,通过这个课程设计,使我发现,原来小小的一片单片机有这么强大的功能,能应用于各种领域。都是觉得很神奇,人类都的聪明啊。我应该在自己以后的学习中,不仅要有刻苦努力,要有钻研精神,还要有创新,对自己感兴趣的一定要用心去学。
实验二跑马灯实验及74HC138译码器
一、实验内容
跑马灯实验:
1、熟悉集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、照接线图编写程序,使用P1口控制8个led指示灯,循环点亮,瞬间只有一个灯亮。
3、观察实验结果,验证程序是否正确。
74HC138译码器实验:
1、设计74HC138接口电路,编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
PA=0x37;
delay(100);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
五、调试与总结
1、调试
(1)焊接时注意各个器件的引脚处,注意区分led灯的阴阳极,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
sbit A1=P2^1;//定义8255地址端口引脚A1
sbit dat=P0;//定义数据口D0~D7
void delay(uint z);
void main()
{
uint i=0;
control=0x80;//方式控制字,ABC口都工作于方式0,基本输入输出
PA=0xff;
while(1)
{
PA=0x1e;//东西绿灯,南北红灯
(2)编写程序相对简单,只是简单的初始定义、循环和延时。
2、总结
跑马灯实验是基础性实验,它也是一个很经典的实验,当我们把这个板子焊好进行烧代码的时候,发现led灯全部都有微弱的亮,经检查我们考虑有可能是led灯管压降的问题。最后,我们有换了代码,发现跑马灯有了预期的效果,循环点亮了。
实验三8255控制交通灯实验
一、实验内容
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能。
2、熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、设计8255接口电路,编写程序:使用8255的PA1..3、PA4..7控制LED指示灯,实现交通灯功能。
3、运行程序,验证译码的正确性。
二、基本介绍
一个基本的MCS-51单片机通常包括:中央处理器、ROM、RAM、定时/计数器和I/O口等各功能部件,各个功能由内部的总线连接起来,从而实现数据通信。单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成,单片机最小系统板的结构框图如图1-1所示:
sbit AA=P1^0;
sbit BB=P1^1;
sbit CC=P1^2;
main()
{ uint a;
uint i=10,j=2;
while(1)
{
a=8;
while(a--)
{
P1=a;
while(j--);
}
}
}
五、调试与总结
1、调试
(1)焊接时注意各个器件的引脚处,注意led灯的阴阳极,在焊接时要注意led灯的共阴和共阳连接。每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的地方。
《单片机应用技术课程实验设计报告》
一、实验目的
1.熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
3.能够利用MCS51单片机进行一些简单的设计。
二、实验要求
1.熟悉51单片机的结构及编程方法
2.按照程序流程图编写出程序
三、实验安排
我是一人一组,选择了三个实验,即:实验一、构建单片机最小系统和实验环境熟悉;实验二、跑马灯实验及74HC138译码器;实验三、8255控制交通灯实验。下面是每个实验的具体步骤:
{
uchar t;
while(x--)
{
for(t=0;t<120;t++);
}
}
void main()
{
P1=0xFE;
while(1)
{
P1=_crol_(P1,1);
DelayMS(150);
}
}
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
图1-1单片机最小系统板结构框图
三、单片机最小系统板的原理图
单片机最小系统板的原理图如图1-2所示:
图1-2单片机最小系统板的原理图
四、单片机最小系统板实物图
单片机最小系统板实物图如图1-3所示:
图1-3单片机CS51单片机的一个基本工作结构,单片机最小系统最简单就是包含一个振荡电路和一个复位电路,我们组的最小系统是我们在淘宝网上花了43元(板子34元、STC89C52单片机5元、下载线4元)买的,我们的最小系统板在原有的基础之上加了一些基础性实验,像流水灯实验、数码管显示实验等。这次实验让我们对单片机最小系统有了一个系统的认识,对于我们以后的实验有很大的帮助。
三、程序流程图
四、实验代码
图2-1单片机的直接控制
图2-2单片机及74LS138的间接控制
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
摘要
单片机应用技术课程为一门理论与实践相结合的课程,本课程安排的实验旨在培养学生软硬件开发能力,用编程语言及硬件设备实现串、并行通讯、计数/定时、A/D、D/A等硬件接口的功能,进一步加深对常用硬件芯片的了解和应用,以及学习用单片机解决实际问题。实验要求学生利用编程语言及硬件设备实现单片机的方案设计、程序编写、硬件连接、调试,从中体会具体硬件接口的应用技巧,进一步理解硬件接口芯片,逐步掌握单片机系统的开发和应用方法。
4、连接线路验证8255的功能,熟悉它的使用方法。
二、实验原理图
原理图通过STC89C52单片机与可编程并行I/O接口芯片来实现交通灯的功能,图3-1为交通灯原理图:
图3-1 8255控制交通灯实验原理图
三、实验流程图
四、实验代码
源程序代码:
#include<reg52.h>
#include<absacc.h>//绝对地址处理头文件,包含XBYTE,用XBYTE来定义扩展的I/O端口和外部RAM单元地址
#define uint unsigned int
#define uchar unsigned char
#define control XBYTE[0xffff]//定义控制字寄存器端口
#define PA XBYTE[0xfcff]//定义端口PA
sbit A0=P2^0;//定义8255地址端口引脚A0