工作报告之大学单片机实验报告.docx
- 文档编号:25476794
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:14
- 大小:19.95KB
工作报告之大学单片机实验报告.docx
《工作报告之大学单片机实验报告.docx》由会员分享,可在线阅读,更多相关《工作报告之大学单片机实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
工作报告之大学单片机实验报告
大学单片机实验报告
【篇一:
单片机实验报告】
单片机实验报告
姓名:
班级:
学号:
任课教师:
上课地点:
实验一流水灯实验
一、实验目的及要求
1、闪烁的led;
2、从左到右的流水灯;
3、8只led左右来回点亮;4、led模拟交通灯。
要求1:
led按设定的时间间隔闪烁
要求2:
接在p0口的8个led从左到右循环依次点亮,产生走马灯效果要求3:
程序利用循环移位函数_crol_和_cror_形成来回滚动的效果;
二、实验原理电路图1、
电路图2、
三、源程序
要求1:
#includereg51.h
#defineucharunsignedchar#defineuintunsignedintsbitled=p1^0;//延时
voiddelayms(uintx){uchari;while(x--){for(i=0;i120;i++);}}
//主程序voidmain(){while
(1){led=~led;delayms(150);}}
要求2:
#includereg51.h
#includeintrins.h//包含程序中的_cror_(p0,y)#defineucharunsignedchar#defineuintunsignedint
ucharled;
voiddelay(unsignedinti){uintj;uchark;for(j=i;j0;j--)for(k=125;k0;k--);}
voidmain()
{led=0x7f;//只亮第一个delay(1000);while
(1){p0=led;
delay(500);
led=_cror_(led,1);//p0逐步右移一位。
}}
要求3:
#includereg51.h
#includeintrins.h//包含程序中的_crol_(p0,y)
#defineucharunsignedchar#defineuintunsignedint
sbitled=p0^0;uchari;
voiddelay(unsignedinti){uintj;uchark;for(j=i;j0;j--)for(k=125;k0;k--);}
voidmain(){p0=0xfe;delay(1000);while
(1){
for(i=0;i8;i++){p0=led;
delay(500);
led=_crol_(led,1);}
for(i=0;i8;i++)
{p0=led;
delay(500);
led=_cror_(led,1);}
}}
//p0逐步左移一位。
//p0逐步右移一位
实验二独立键盘实验
一、实验目的
1、k1-k4按键状态显示;2、k1-k4控制led移位;3、单只数码管循环显示0~9;
4、k1-k4控制数码管移位显示。
要求1:
k1、k2按下时led点亮,松开时熄灭,k3、k4按下并释放时led点亮,
再次按下并释放时熄灭;
要求2:
按下k1时,p0口led上移一位;按下k2时,p0口led下移一位;按下k3时,p2口led上移一位;
按下k4时,p2口led下移一位;
要求3:
主程序中的循环语句反复将0~9的段码送至p0口,使数字0~9循环显示;要求4:
按下k1时加1计数并增加显示位,按下k2时减1计数并减少显示位,
按下k3时清零
二、实验原理
电路图1、电路图2、
电路图3、电路图4、
【篇二:
单片机实验报告】
单片机原理与应用
实验报告
学校:
合肥工业大学
姓名:
杨敏宇
学号:
20112597
班级:
计算机科学与技术11-4班
目录
第一章mc51单片机原理及应用软件实验
实验1:
系统认识实验---------------------4实验6:
数据排序实验(验证性)----------9
第二章mc51单片机原理及应用硬件实验
实验1:
广告灯实验----------------------12实验2:
p1口实验(验证性)-------------16实验16:
串口转并口实验----------------25
一.单片机原理实验的任务
单片机原理实验是单片机原理及应用课程的一部分,它的任务是:
1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑动手能力。
二.实验设备
单片机实验所使用的设备由计算机、单片机实验开发系统(,其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过rs232串行接口进行通信的。
单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位led数码管显示、a/d及d/a转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的mcs51单片机原理及应用课程实验都是在这套实验系统上完成的。
keil与proteus的联合使用:
keilc516.02的使用:
1.打开keil,新建一个程序文件(file--new),在上面输入要调试的程序,保存为*.asm格式;
2.新建一个工程(project--newproject),保存,在cpu选项了选择atmel--at89c51,点击确
定,在弹出的选项框中选择“否”。
3.在projectworkspace选框中,选择你新建的工程,右击,选择optionsfortargettarget
(你起的工程名),选择debug,选择proteusvsmmonitor51driver,点击确定.
4.在sourcegroup上右击,选择addfilestogroupsourcegroup(工程名),在文件类型
里选择allfiles(*.*),找到刚才保存的.asm文件.
5.调试程序:
选择编译连接程序,保证其全部正确.
第一章mc51单片机原理及应用软件实验
实验1:
系统认识实验
1.实验目的
(1)了解zy15mcu12bc2单片机实验开发装置的接线与安排。
掌握实验箱内拨位开关kf,kc的使用方法。
(2)通过实例程序的编辑、编译、链接及调试,熟悉keilc51软件的使用方法和基本操作。
(3)教育学生爱抚实验装置,养成良好的实验习惯。
2.试验设备
(1)zy15mcu12bc2单片机实验开发装置一台。
(2)pc系列微机及相关软件。
3.试验内容
(2)开启pc机及实验开发装置,启动keilc51软件进入uvision2集成开发环境。
(3)确认拨位开关kf的开关为a端,确认89c51处于仿真状态。
(4)在uvision2开发平台上建立并编辑示例程序:
计算n个数求和程序。
其中n个数分别放在片内ram区50h到55h单元中,n=6,求和的结果放在片内ram区03h(高位)和04h(低位)单元
【篇三:
单片机实验报告山东大学(6000字)】
第三单元proteus系统仿真实验
实验一基本并行口i/o口实验自我完成实验
1、实验要求
当按键sw1按下之后,d1-d8轮流点亮,点亮时间为100ms,当按键停下后,停止轮换,再次按下后继续轮换。
2、编程思路
①进行初始化工作,包括设置堆栈指针sp,将p2口所有位设置为1,使p2口所接发光二
极管全部熄灭。
将显示缓冲单元(设为20h单元)初始化为feh。
②从p1口读数据,查看p1.0位,如果p1.0位为0,则执行如下循环:
将显示缓冲单元
的值送给p2口,调用100ms延时程序,将显示缓冲单元的值循环左移1位,再送回显示缓
冲单元。
如果p1.0位不为0则不执行上述循环。
③重复上面的操作②
3、实验步骤
①根据上述实验内容,参考1.2.2,在proteus环境下建立图3.5所示原理图,并将其保存为basicio_self.dsn文件。
②根据
(2)和(3)编写控制源程序,将其保存为basicio_self.asm。
③将源程序添加到u1中,并构造(build)该程序。
④执行仿真过程观察d1-d8的指示,查看程序功能是否正确。
⑤修改延时程序延时参数,重新执行③和④。
4、源程序
org0000h
ajmpmain
org0030h
main:
movsp,#60h
movp2,#0ffh
mova,#0feh
mov20h,a;缓冲单元
loop:
jnbp1.0,loop1;;如果p1.0=0,跳转
sjmploop;否则循环不断检测
loop1:
;
movp2,20h;将缓冲单元内的值给p2口lcalldelay100ms;延时100msmova,20hrla;左移一位mov20h,a
jbp1.0,loop;如果p1.0=1,跳转到loop处
ljmploop1;否则循环
delay100ms:
movr7,#200;1us
dl:
movr6,#248;1us
djnzr6,$;248*2=496us
nop;1us
djnzr7,dl;2us
ret
;(496+1+1+2)*200+1=100.001ms
end
5、电路图
6、仿真结果
当按键sw1按下之后,d1-d8轮流点亮,点亮时间为100ms,当按键停下后,停止轮换,再次按下后继续轮换。
实验二扩展并行i/o口实验自我完成实验
1、实验要求
仿真实现交通信号灯控制功能。
控制顺序为:
①南北绿灯亮,同时东西红灯亮10s;
②南北黄灯亮,同时东西红灯亮2s;
③南北红灯亮,同时东西绿灯亮10s;
④东西黄灯亮,同时南北红灯亮2s;
⑤重复①~④。
2、编程思路
①进行初始化工作,包括设置堆栈指针sp,将两个373的输出口所有位均设置为1,使所有发光二极管全部熄灭。
②分析两个373的地址:
假定所有无关地址均定义为1,那么u4的锁存地址为:
#0fe00h,u5的锁存地址为:
#0fd00h。
③分析4个状态下两个373的输出数据值:
假定“南北绿灯亮,同时东西红灯亮”为状态1,即:
stat1;“南北黄灯亮,同时东西红灯亮”为状态2,即:
stat2;
“南北红灯亮,同时东西绿灯亮”为状态3,即:
stat3;
“东西黄灯亮,同时南北红灯亮”为状态4,即:
stat4。
3、实验步骤
①根据上述实验内容,参考1.2.2,在proteus环境下建立图3.7所示原理图,并将其保
存为expandio_self.dsn文件。
②根据
(2)和(3)编写控制源程序,将其保存为expandio_self.asm。
③将源程序添加到u1中,并构造(build)该程序。
④执行仿真过程观察各个方向的交通信号灯指示,查看程序功能是否正确。
4、源程序
org0000h
ajmpmain
org0030h
main:
movsp,#60h
mova,#0ffh
movdptr,#0fe00h
movx@dptr,a
movdptr,#0fd00h
movx@dptr,a
stat1:
mova,#0f3h
movdptr,#0fe00h
movx@dptr,a
mova,#0ch
movdptr,#0fd00h
movx@dptr,a
lcalldelay10s
stat2:
mova,#0c3h
movdptr,#0fe00h
movx@dptr,a
mova,#0fh
movdptr,#0fd00h
movx@dptr,a
lcalldelay2s
stat3:
mova,#0fch
movdptr,#0fe00h
movx@dptr,a
mova,#03h
movdptr,#0fd00h
movx@dptr,a
lcalldelay10s
stat4:
mova,#3ch
movdptr,#0fe00hmovx@dptr,amova,#0fh
movdptr,#0fd00hmovx@dptr,alcalldelay2sljmpstat1
delay2s:
movr7,#20dl2:
movr6,#200dl1:
movr5,#250djnzr5,$djnzr6,dl1djnzr7,dl2ret
delay10s:
movr7,#100dl3:
movr6,#200dl4:
movr5,#250djnzr5,$djnzr6,dl4djnzr7,dl3ret
end
5、电路图
6、实验结果
①南北绿灯亮,同时东西红灯亮10s;
②南北黄灯亮,同时东西红灯亮2s;
③南北红灯亮,同时东西绿灯亮10s;
④东西黄灯亮,同时南北红灯亮2s;
实验三静态led显示实验自我完成实验
1、实验要求
图中7seg2为十位显示数码管,7seg1为个位显示数码管,key_load为倒计时初值按钮,key_start为倒计时启动按钮。
要求实现的功能是:
当key_load按钮按下时加载倒计时初值(如:
10s),当按下key_start按钮时,开始倒计时,每过1s,计时器减1,直到减到“00”为止。
减到“00”时使p3.0引脚上的led按10hz频率进行闪烁,直到再次按下key_load按钮才重新加载初值,并熄灭led。
再次按下key_start按钮又一次开始倒计时,如此反复。
2、编程思路
①分析两个373的地址:
假定所有无关地址均定义为1,那么u2的锁存地址为:
#0fe00h,u3的锁存地址为:
#0fd00h。
②程序流程图:
3、实验步骤
①根据上述实验内容,参考1.2.2,在proteus环境下建立图3.9所示原理图,并将其保存为staticled_self.dsn文件。
②根据
(2)和(3)编写控制源程序,将其保存为staticled_self.asm。
③将源程序添加到u1中,并构造(build)该程序。
④执行仿真过程观察秒表程序功能是否正确。
4、源程序
org0000h
ajmpmain
org0030hmain:
movsp,#60h;堆栈初始化
movr0,#0
;各位
movr1,#1;十位
setbp3.0;关掉led1
clrf0
loop:
jbp1.1,loop2;如果p1.1=1,跳转到loop2,
loop1:
clrf0
mov30h,r0
mov31h,r1;装载初值
setbp3.0;关闭led1
lcalldisplay;显示
loop2:
jbp1.0,loop;如果p1.0=1,跳回loop,否则继续执行
loop3:
lcalldisplay;刷新显示
lcalldelay1s;延时1s
lcalladjust2;调整计时器寄存器
jbf0,loop4
ljmploop3
loop4:
clrp3.0;led闪烁程序lcalldelay100ms
setbp3.0
lcalldelay100ms
jbp1.1,loop4
ljmploop1
display:
;显示子程序mova,30h
movdptr,#table
movca,@a+dptr
movdptr,#d1add
movx@dptr,a
mova,31h
movdptr,#table
movca,@a+dptrmovdptr,#d10addmovx@dptr,a
ret
adjust2:
dec30h
mova,30h
cjnea,#-1,gotoret
mov30h,#9
dec31h
mova,31h
cjnea,#-1,gotoret
setbf0
ret
gotoret:
ret
delay1s:
movr7,#10dl2:
movr6,#200
dl1:
movr5,#250
djnzr5,$
djnzr6,dl1
djnzr7,dl2
ret
delay100ms:
movr7,#200dl:
movr6,#248
djnzr6,$
nop
djnzr7,dl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作报告 大学 单片机 实验 报告