当前位置:首页 > 单片机 > 单片机
[导读]一、实验目的和要求  初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用方法。了解数码管输出的原理及编程方式。二、实验设备  单片机测控实验系统  STC-ISP程序下载工具  K

一、实验目的和要求

  初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用方法。了解数码管输出的原理及编程方式。


二、实验设备

  单片机测控实验系统

  STC-ISP程序下载工具

  Keil开发环境


三、实验内容

  使用MCS-51汇编语言编写程序,完成如下功能:

  1. 使用三个数码管显示十进制数值(001~999,可任意设置);

  2. 每隔1秒,该数值自动减一,直到归零;

  3. 归零后的下一秒,显示一个新的十进制数值(001~999,可任意设置);

  4. 每隔1秒,新数值继续自动减一,直到再次归零;

  5. 重新执行步骤1,循环往复。

  6. 当开关S1按下时,暂停计数;S1松开时,恢复计数。


四、实验步骤

1. 预习

  参考辅助材料,学习8031汇编语言以及实验原理。阅读七段数码显示器的电路图,重点理解右边的LED显示部分。

2. 简单程序录入和调试

  MCS51单片机汇编语言的基本格式比较简单,程序中可以使用通用寄存器或者内存单元进行计算。另外,单片机的程序没有退出到操作系统的概念,一般都是死循环程序。

  一个简单程序举例如下:  

ORG 0000H ;复位起始地址
LJMP START ;中间地址保留给中断向量表
ORG 0040H ;程序实际起始地址
START: ; 实际程序
MOV 40H, #0H

NEXT:

MOV A, 40H
INC A
MOV P0, A ;板上的P0口连接到8个LED,可以监视运行状态
MOV 40H, A
MOV R6, #0FFH
L2:MOV R7, #0FFH
L1:DJNZ R7, L1
DJNZ R2, L2 ;延迟一段时间
LJMP NEXT
END

  参考Keil使用指南,创建工程,设置工程参数,添加ASM文件,并录入上面的简单程序。确保无编译和链接错误。


3. 程序调试 

  使用Keil环境可以进行仿真调试。进入“调试”菜单,开始调试,可以单步运行,或者先设置断点然后连续运行;可以在调试过程中观察各个寄存器的值。还可以在sys区域观察到当前程序执行的时间。


4. 编写程序,完成功能

A、显示

  本开发平台有3个数码管,使用串行方式连接在一起,具体电路参见实验原理。要想输出一个字形码,就需要从高位到低位依次向移位寄存器输出8个比特。移位寄存器的数据线和时钟线分别接到单片机的P4.5和P4.4管脚,可以使用MCS-51里面的位操作指令进行输出。连续输出3个字形,24个bit之后,欲显示的字形将稳定地显示在数码管上,程序可以转而执行其他工作。

  七段字形的编码方式需要通过实验获得。这些编码作为程序中的常数,使用DB命令存放。在程序中,需要将数值转换为相应的字形编码,可以使用MOVC指令来完成。


B、时间

  本实验要求的按时间显示数值,直接通过软件延时来实现,也就是若干次空循环来完成,不需要使用单片机内部的定时器等硬件资源。由于在后面的实验中也要使用软件的延时子程序,因此这里预先做准备。
  本单片机使用12MHz主频的晶振,结合MCS51的体系结构和指令时序,可以计算每条指令的运行时间,也可以通过Keil环境的调试功能来检查程序片段的执行时间。当然,最后可以通过程序执行的总体运行结果来调整时间。希望同学能够通过这个过程,得出一段能够精确到1ms的子程序,重复调用1000次,从而达到定时1s的效果。从而完成实验要求2。

C、开关

  在本实验板上设置了两个开关S1和S2,分布接入到8031的P3.6和P3.7,开关按下时,输入0,松开时,输入1。利用这个开关完成实验要求3。

  五、实验原理

  本实验采用3个74HC164级联控制三个数码管的显示,具体实验原理如下图所示。其中使用单片机P4.5作为模拟串口数据,使用P4.4模拟串口时钟,CLR端接高电平。使用上一个74HC164的Q7作为下一个74HC164的输入端。

  P4 EQU 0C0H
  MOV P4.4, C
  SETB P4.4

  74HC164是高速CMOS 器件。74HC164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(A或B)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

  时钟 (CLK) 每次由低变高时,数据右移一位,输入到Q0,Q0 是两个数据输入端(A和B)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

  主复位(CLR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。


六、实验代码

ORG 0000H
LJMP START
ORG 0050H

START:

;初始化
P4 EQU 0C0H ;申明P4地址
P4SW EQU 0BBH ;申明P4SW地址
CLK EQU P4.4
DAT EQU P4.5
KEY EQU P3.6
MOV DPTR,#TAB
MOV P4SW,#70H ;STC单片机P4.4、P4.5、P4.6有第二功能定义,
;通过P4SW寄存器设置这三口的工作方式,当为1时,是通用I/O
;此处设置P4.4、P4.5、P4.6为通用I/O

AGAIN: ;死循环

;显示设置
MOV R6,#3 ;个位设置
MOV R5,#4 ;十位设置
MOV R4,#5 ;百位设置


LOOP:

;显示各位
MOV A,R6
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPLAY ;调用显示函数

MOV A,R5
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPLAY

MOV A,R4
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPALY

LCALL DELAY ;调用延迟函数

;按下key时的暂停操作
PAUSE:NOP
JNB KEY,PAUSE

;数字调整,减一操作
;个位调整
DEC R6 ;每次计数减一
CJNE R6,#0FFH,LOOP ;R6!=-1时跳转到LOOP,否则,顺序执行
MOV R6,#9

;十位调整
DEC R5
CJNE R5,#0FFH,LOOP
MOV R5,#9

;百位调整
DEC R4
CJNE R4,#0FFH,LOOP
;MOV R4,#9

LJMP AGAIN


;显示子程序
DISPLAY:
MOV R0,#8
COUNT:
CLR CLK ;P1.0输出低电平
RLC A ;将存放在A中欲显示的字符码右移一位(最低位存入C)
MOV DAT,C
SETB CLK ;P1.0输出高电平
DJNZ R0,COUNT ;R0减1不为0转到SLP 继续输出字形码
RET


;延时子程序
DELAY:
MOV R1,#0FFH
STOP:
MOV R2,#1FH
DEL:
MOV R3,#0FFH
DJNZ R3,$
DJNZ R2,DEL
DJNZ R1,STOP

RET

TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭