2023年单片机课程设计报告

发布 2022-10-04 10:44:28 阅读 5840

中南民族大学。

计算机科学学院。

单片机课程设计报告。

课程。设计题目。

年级专业 09自动化

学号。学生姓名。

指导教师。2023年 12 月 11 日。

课程设计量化评分标准。

指导老师评语:

设计题目: 中断控制的节日彩灯控制器。

一、 要求。

用单片机的中断功能控制节日彩灯,要求至少有四种显示方式。

二、 分析。

从题目知,要运用到单片机的中断功能,中断控制,顾名思义,在单片机进入中断后要执行相应的操作从而实现控制的功能;节日彩灯,其实就是流水灯,只要输出不同的流水灯,便可以达到题目要求。

三、 设计。

1、硬件设计(包括设计方案及说明、完整的硬件连接图等)

1).方案及说明。

根据实验室现有资源,实验台只引出p1口作为扩展i/o用,故将实验台上的彩灯接至扩展接口p1上,当作彩灯,模拟现实中的彩灯系统。

2).硬件连接图。

p1接口。中断电路、指示电路。

2、软件编程(包括流程图、完整的汇编源程序及其注释)

1.主程序流程图2.中断函数流程图。

汇编程序清单:

org 0000h

ajmp main上电转向主函数。

org 0003h外部中断0入口地址。

ajmp key_select转向中断函数。

org 0030h主函数。

main:主函数。

setb ex0允许外部中断。

setb it0选择边沿触发。

setb ea开外部中断。

setcount:

mov r1,#0给模式变量赋初值。

while1:

j0: cjne r1,#0,j1 ;判断是否为模式0,不是则转移判断是否为模式1

lcall main0是则调用模式0函数。

j1: cjne r1,#1,j2 ;判断是否为模式1,不是则转移判断是否为模式2

lcall main1是则调用模式1函数。

j2: cjne r1,#2,j3 ;判断是否为模式2,不是则转移判断是否为模式3

lcall main2是则调用模式2函数。

j3: cjne r1,#3,j4 ;判断是否为模式3,不是则转移判断是否为模式4

lcall main3是则调用模式3函数。

j4: cjne r1,#4,j5 ;判断是否为模式4,不是则转移判断是否为模式5

lcall main4是则调用模式4函数。

j5: cjne r1,#5,while1 ;判断是否为模式5,不是则转移判断是否为模式1

sjmp setcount ;是则对计数寄存器r1重新赋初值。

花样一。main0:

mov p1,#0ffh

mov p3,#0f7h ;初始化io口。

lcall delay

d0_1:mov a,#0ffh

light0_p1:;依次点亮p1

rl aanl a,#0feh累加器的值和1111 1110与运算,即最低位=0

mov p1,ap1口显示。

lcall delay延时。

jz return1判断累加器a内容是否为零,否则往下运行。

sjmp light0_p1

return1:

ret花样二。

main1:

mov p1,#0ffh

mov p3,#0e7h

lcall delay初始化io

d1_021:

mov a,#0ffh;0001 0010

light1_p012:;p1口依次点亮。

rl aanl a,#0feh累加器的值和1111 1110与运算,即最低位=0

mov p1,a

lcall delay

jz down1_p012 ;判断累加器a内容是否为零,否则往下运行。

sjmp light1_p012

down1_p012:;p1依次熄灭。

rr a累加器a右移一位。

orl a,#80h累加器的值和1000 0000或运算,即最高位=1

mov p1,ap1口显示。

lcall delay

cjne a,#0ffh,down1_p012

ret花样三。

main2:

mov p1,#0ffh ;p1口显示。

mov p3,#0c7h

lcall delay初始化io

d2_1_1:

mov a,#7fh

mov r0,#8初始化。

down2_1:;p1口单个流水灯。

mov p1,a

lcall delay

rr adjnz r0,down2_1

d2_2_2:

mov a,#7fh

mov p1,#0ffh ;关闭p1口。

mov r0,#

ret花样四。

main3:

mov p1,#0ffh

mov p3,#87h

lcall delay初始化io

d3_01:

mov a,#0ffh

light3_p01:;p1口同时依次点亮。

rl aanl a,#0feh

mov p1,ap1口显示。

lcall delay

jz d3_02判断累加器a内容是否为零,否则往下运行。

sjmp light3_p01

d3_02:

mov r2,#5装入连续闪动的次数。

light3_p02:

mov p1,#0p1口全亮。

lcall delay延时。

mov p1,#0ffh ;p1全灭。

lcall delay延时。

djnz r2,light3_p02 ;判断r2内内容是否为零,否则跳转

ret花样五。

main4:

mov p1,#0ffh

mov p3,#07hp1同时熄灭

lcall delay ;延时。

mov p1,#

lcall delay ;p1同时点亮。

ret 延时函数。

delay:

mov r6,#

delay2:

mov r7,#

djnz r7,$

djnz r6,delay2

retkey_select:

inc r1

retiend

3、调试说明。

首先用keil软件新建一个工程,将**输入并编译生成单片可执行的hex文件。其次,用stc-isp烧录软件,将hex文件烧录入单片机中。最后按硬件接线图将硬件电路接好,注意将实验台上的外部中断0跳线夹接上,以便接受外部中断请求。

准备工作做好后,接通主板电源,单片机会自动从第一种显示方式开始显示,按下外部中断请求,看彩灯显示方式是否发生变化,否则检查硬件电路是否按要求接好,重新连接后重新进行调试。

4、设计结果及错误分析。

本程序实现的功能是,通过外部中断按键,控制多种节日彩灯之间的变换。本设计功设计了五种彩灯显示模式:1-依次点亮、2-依次点亮依次熄灭、3-单个流水灯、4-依次点亮同时闪灭、5-同时点亮同时熄灭。

通过实际电路的调试,本设计符合课程设计要求。

调试过程中,按原理图接线后**程序,发现有一个灯保持为亮状态,第一次判断为单片机i/o口已损坏,但是换用其他单片机还出现同样的问题,故猜测是硬件电路问题,通过观察实验板,发现是实验板上的跳线夹未移除,移除跳线夹后,电路显示正常,符合程序设计要求,彩灯效果明显,完全达到设计结果。

四、 总结。

本次课程设计的编程设计涉及单片机的中断控制操作,在完成设计过程中让我对单片的中断操作有了进一步的了解,同时也对单片机中断执行过程有了更深的认识,不仅如此,我还掌握了一些汇编语言的编程技巧。除此之外,本次设计过程虽然简单,但是硬件调试方面还存在一些问题,通过自己的观察和动手改正,顺利完成了课程设计要求,这在一定程度上锻炼了自己的动手实践操作能力。

虽然,本设计综合成本较低,编程简单,操作方便,硬件经济,但在实际生活中却有着举足轻重的作用,由于硬件经济,故可大量制作,因其操作方法简单,故可以在生活中推广应用,其编程的轻便性,这可以根据不同用户的不同需求,设计出各种各样的彩灯显示方案。

单片机课程设计报告

单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....

单片机课程设计报告

韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...

单片机课程设计报告

南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...