C语言程序程序-

这次的单片机课程设计重点是理论与实际的相结合。通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

; 暂停键K3、快速加速键K4程序

;******************************************************** ***** **********

这里:jb p1.0,这里

显示:clr tr1

clrtr0

呼唤贤士

快加:jb p1.2,快加; 等待P1.2为0,快速加速

clrtr0

设置btr1

这里3:jnb p1.2,这里3

在这里

;******************************************************** ***** **********

; 外部中断INT0子程序—–定时按钮K1子程序

;******************************************************** ***** **********

zhongduan0: setb tr0; 定时按钮

雷蒂

;******************************************************** ***** **********

; 外部中断INT1子程序—-复位按钮K2子程序

;******************************************************** ***** **********

zhongduan1:clr tr0 ;复位按钮

clrrtr1

移动 12h,#00h

移动11h,#00h

称呼贤士; 调用显示子程序

移动r1,#00h

移动r2,#00h

雷蒂

;******************************************************** ***** **********

; 添加子程序

;******************************************************** ***** **********

jia1:公司r1; 添加1个子程序

cjne r1,#0ah,循环; 判断是否到达表尾

移动r1,#00h

包括r2

cjne r2,#0ah,循环

移动r2,#00h

循环: mov 12h,r1 ;重新分配

移动 11h,r2

雷特

;******************************************************** ***** **********

; 显示子程序

;******************************************************** ***** **********

贤时:mov r7,#02h ;2个数码管显示子程序

移动r0,#12h

循环5: mov r6,#08h ; 8位二进制数

移动a,@r0

移动a,@a+dptr

循环6:rlc a; 向左循环

CLR p3.1

移动p3.0,c

设置p3.1

DJNZ R6,循环6

十月 r0

DJNZ R7,循环5

雷特

;******************************************************** ***** **********

; 定时器T0子程序

;******************************************************** ***** **********

延世: mov tl0,#2Ch ; 定时子程序

移动th0,#0CFh

DJNZ R3,循环7

呼叫jia1; 调用加1子程序

称呼贤士; 调用显示子程序

移动 r3,#40

循环7:视网膜

;******************************************************** ***** **********

;定时器T1子程序

;******************************************************** ***** **********

dingshi1:mov tl1,#78h; 设置初始值,定时10MS

移动th1,#0ech

clrtr0

设置btr1

移动 12h,r1

移动 11h,r2

jnb p1.0,显示

呼叫嘉1

呼唤贤士

lop7:雷蒂

;******************************************************** ***** **********

选项卡:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

结尾

11. 课程设计经验

1、仔细审题,理解题目要求! 选择一个合适的主题,既不太容易也不太困难。 达到完成项目和锻炼自身能力的双重目的!

2、根据题目要求复习相关知识,查询相关资料。

3、根据实验条件,找到合适的方案,找到需要的组件和工具,为实验做好准备。

4、根据课程设计的要求和想要添加的功能,编写程序流程图。 根据程序流程图,根据芯片的功能编写相应的程序。 然后进行程序调试和相应的修改,以达到实现所需功能的目的。

5.根据实验的实际情况,应添加一些附加程序以使系统更加稳定,例如开关振荡消除(使用延迟)。

6、程序应尽量由各种子程序组成。 最好在一些程序后面加上注释,这样在检查程序错误的过程中更容易发现,也更简洁、更清晰。

7、本实验的程序可以参考《DVCC系列单片机微机仿真实验系统实验指南》中的串并转换实验,也可以按照自己熟悉的方法自行编程。

8、设计控制开关时,要注意两个中断的打开和关闭顺序,否则会出错。

9、本次单片机课程设计的重点是理论与实践的结合。 这不再只是阅读的问题了。

10.我必须从头到尾参与设计。 我熟悉了整个设计流程,也更加系统地训练了自己。

这样设计就完成了! !

————————————————– —–

下面提供一个程序(供参考)

;开机初始化

MOV P3,#0FFH; 初始化P3口,设置为高电平,用于按键输入

MOV P0,#0FFH; 使显示时间数码管熄灭

清除F0

清除F1

MOV DPTR,#NUMTAB ;指定查表起始地址

;等待按键输入

;根据按键输入确定执行什么功能

; 按按钮 1 执行功能 1

MOV P3,#0FFH; 初始化P3口,设置为高电平,用于按键输入

MOV P0,#0FFH; 使显示时间数码管熄灭

开始:JB P3.6,开始1; 循环判断启动按钮K1是否被按下?

呼叫延迟10; 触点去抖延迟 10 毫秒

JB P3.6,START;如果有干扰,则返回

JNB P3.6,$;等待按钮松开

LJMPGN1

; 按按钮 2 执行功能 2

开始1:JB P3.7,开始; 循环判断启动按钮K2是否被按下?

呼叫延迟10; 触点去抖延迟 10 毫秒

JB P3.7,START1;如果有干扰,则返回

JNB P3.7,$

LJMP GN2

12345

关键词:

1. 实验课题

秒表系统设计——利用AT89C51设计一个2位LED数码显示“秒表”,显示00到99秒的时间,并每秒自动加一。 还设计了一个“开始”按钮和一个“重置”按钮。

2.添加功能

添加“暂停”按钮和“快速增加”按钮(每10ms快速增加1)

3 实验内容总结

本实验利用单片机定时器/计数器的定时和计数原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按钮来设计定时器。 软件和硬件的有机结合,使系统能够准确计时,数码管能够正确显示时间。 其中,本实验设计了四个开关按钮:当按下其中一个按钮时,时间从1秒加一开始,即秒表开始按钮(本实验中,当开关从1变为1时开始计时)为0),当按下另一个按钮时,暂停计时,使秒表保持原来的计时(本实验中,当相应开关由1变为0时停止计时),当按下第三个按钮时,清0按下(本实验中,当对应的开关由 1 变为 0 时即停止计时),按下第四个按钮将快速每 10ms 增加 1 次(本实验中,当开关由 1 变为 0 时即开始计时) 1 到 0)。 在本实验开始时,所有按钮必须返回到其初始位置,即它们都处于1状态。

3 实验目的

1、通过本次课程设计,加深对单片机课程的全面理解、复习和掌握,进一步了解单片机课程的应用。

2.掌握定时器和外部中断的设置和编程原理。

3.通过本课程设计,您可以结合单片机软件和硬件来编辑和验证程序。

4. 意义

本实验利用单片机的定时器/计数器定时和计数原理,设计了一个简单的定时器系统,具有正确定时、暂停、清零、快速加速等功能。 还可以用数码管显示,在现实生活中得到广泛应用。 具有实际意义。

5.我的工作

以相关单片机教材为基础,运用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软硬件(集成电路芯片8032、七段数码管、开关电路和时钟信号电路、按钮、等),编写能够实现该项目的软件程序的程序,最后将软件和硬件有机结合起来进行有效的调试,达到完成实验课程设计的目的。

六、实验内容

利用AT89C51设计一个2位LED数码显示“秒表”,显示00到99秒的时间,并每秒自动加一。 还设计了一个“开始”按钮和一个“重置”按钮。 添加一个“暂停”按钮和一个“快速增加”按钮(每10ms快速增加1)。

按钮说明:按“开始”按钮开始计数,数码管显示从00开始每秒自动增加一; 按“复位”键,系统清零,数码管显示00; 按“暂停”按钮,系统将暂停计数,数码管显示当前计数; 按“快速加”按钮,系统每隔10ms快速加一,即数码管在原来计数的基础上快速加一。

七、设计思路及说明

如果本实验需要计时并在数码管上显示时间,可以使用DVCC系列单片机微机模拟实验系统中的芯片8032(该芯片的功能与芯片AT89C51类似,其引脚功能也类似于AT89C51 的那些)。 P3.2引脚作为外部中断0的入口地址,实现“启动”按钮的功能; P3.3作为外部中断1的入口地址,实现“清除”按钮的功能; P3。 0作为数据信号DATA输入的入口地址; P3.1作为时钟信号CLK输入的入口地址。 定时器T0用作定时器,每秒加1; 定时器T1用作“快速增加”键的定时器。 “开始”按钮当开关从1转到0(上下)时开始计时; “清零”按钮用于当开关由1转为0(上下)时,清除数码管。 如果再次按下“开始”按钮,计时可以重新开始。

八、示意图

620)this.width=620;" onmousewheel="return bbimg(this)" alt=点击浏览下一页 src="" border=0>

620)this.width=620;" onmousewheel="return bbimg(this)" height=614 alt=点击浏览下一页 src="" width=515 border=0>

620)this.width=620;" onmousewheel="return bbimg(this)" alt=点击浏览下一页 src="" border=0>

关键词:

620)this.width=620;" onmousewheel="return bbimg(this)" height=500 alt=点击浏览下一页 src="" border=0>

620)this.width=620;" onmousewheel="return bbimg(this)" alt=点击浏览下一页 src="" border=0>

10. 实验步骤

;************************************************

; 设计题目:实验5—–秒表系统设计

; 说明:2位LED数码显示“秒表”,显示时间从00到99秒,每秒自动增加1。

; 一个“开始”按钮、一个“重置”按钮、一个“暂停”按钮和一个“快速加速”按钮。

; 调用子程序:暂停键子程序、定时键子程序、清0键子程序、添加1子程序

; 显示子程序、计时子程序

;使用的特殊寄存器:寄存器A、寄存器C

;使用的中断:外部中断INT0、INT1、定时器T0、T1

单片机

什么是单片机微控制器的高端地位?

2024-4-7 20:04:58

单片机

树莓阅读APP介绍一款完全免费的小说app

2024-4-7 21:03:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索