两个数码管循环显示00
- 格式:doc
- 大小:27.50 KB
- 文档页数:1
第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪由几个位组成最大寻址范围是多少答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义答: 0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断( TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器它们的地址是什么如何改变当前工作寄存器答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)3-7 指出指令中的50H或66H个代表什么解:① MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址② MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:① R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元;MOV R0, #20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少① MOV SP, #70H ② MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。
课程设计说明书课程名称:《单片机技术》设计题目:两位数码管显示设计学院:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2014年6 月13日课程设计任务书两位数码管显示摘要:两位数码管显示设计是基于AT89S52单片机的两位数码显示系统,通过AT89S52进行控制,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。
系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。
电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。
复位电路由电容与按键的并联来实现。
时钟通过外部12M的晶振来控制。
两位数码管显示由两个共阳极的三极管进行驱动。
将汇编语言编写的两位数码管动态显示程序写入单片机,使数码管相应段点亮,同时利用人眼的视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码管的动态显示。
关键词:AT89S52;两位数码管;7805;2W10;动态显示目录1.设计背景 (1)1.1单片机的应用背景 (1)1.2共阳极数码管的显示方法 (1)1.3共阳极数码管的驱动设计 (1)2.设计方案 (1)2.1方案一:共阳极数码管静态显示 (1)2.2方案二:共阳极数码管动态显示 (2)2.3数码管静态与动态显示的优缺点比较 (3)3.方案实施 (3)3.1电源电路设计 (3)3.2复位及震荡电路 (4)3.3单片机接口 (4)3.4软件设计 (4)3.5调试仿真 (6)4.结果与结论 (7)4.1设计结果 (7)4.2设计结论 (7)5.收获与致谢 (7)6.参考文献 (8)7.附件 (8)1.设计背景1.1单片机的应用背景在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,几乎很难找到哪个领域没有单片机的踪迹。
如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
EDA设计论文题目学院专业班级学生姓名指导教师2016年 1 月10 日目录摘要 (3)Abstract (4)第1章绪论 (5)1.1 概述 (5)1.2 设计的目的 (5)1.3 设计的基本内容 (1)第2章 EDA、Verilog HDL简介 (2)2.1 EDA技术 (2)2.1.1 EDA技术的概念 (2)2.1.2 EDA技术的特点 (2)2.1.3 EDA设计流程 (2)2.2 硬件描述语言(Verilog HDL) (7)2.2.1 Verilog HDL简介 (3)2.2.2 Verilog HDL语言的特点 (3)第3章两位数码管的动态显示电路的设计过程 (4)3.1 系统需求分析 (4)3.2 设计原理 (4)3.3 MAXII晶体管说明 (5)3.4 编写代码 (6)3.5 管脚分配 (8)第4章系统仿真 (9)结论 (10)参考文献 (11)附录 (12)致谢 (13)\摘要在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
在实际应用中,单片机的数码管显示,正确、高效应用数码管显示技术设计成功与否的一个关键问题之一。
本文介绍了通过学习版开设计两位数码管的显示十六进制数。
采用汇编进行编程,可以实现从00到FF的十六进制数的循环显示。
在Quartus Ⅱ软件平台上,完成了两位数码管的显示电路的设计。
采用Verilog HDL硬件描述语言描述两位数码管的显示电路,完成对电路的功能仿真。
关键词:两位数码管的显示 Quartus Ⅱ状态机循环AbstractIn the information age today, SCM technology is applied more and more widely, involved in all walks of life, but also penetrate into people's daily life, such as washing machines, air conditioners, refrigerators and other control system, you can with MCU. In order to let people very intuitive understanding of the relevant equipment current state, most of the time to the current time, temperature, and work procedures state through the digital tube display, which involves the MCU digital tube display technology. In practical application, the digital tube display of single chip microcomputer is generally used in dynamic display mode, and it is one of the key problems in the design of dynamic display technology with correct and high efficiency. This paper introduces the dynamic display of the two bit digital tube through the learning version of the sixteen digit number. Assembly for programming, can be achieved from 1 to F sixteen decimal number of automatic display. On Quartus II software platform, the design of dynamic display circuit of two bit digital tube is completed. The HDL Verilog hardware description language is used to describe the dynamic display circuit of two bit digital tube, and the function simulation of the circuit iscompleted.Keywords: Dynamic display of multi bit digital tube Quartus Ⅱ State machine Circulat第1章绪论1.1 概述数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
实验二七段数码管动态显示控制一、实验目的利用AT89S52和使用两位数码管显示器,循环显示两位数00-99。
其中P2.0和P2.1端口分别控制数码管的个位和十位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过驱动三极管给数码管相应的位供电,这时只要P3口送出数字的显示代码,数码管就能正常显示数字。
二、实验要求1、使用两位数码管显示器,循环显示两位数00-99;2、具有电源开关和指示灯,有复位键;3、数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。
字符的亮度及清晰度与每位点亮的停留时间和每位显示的时间内轮换导通次数有关。
三、实验电路四、实验器材AT89S52;动态扫描显示;共阳极数码管;电阻五、实验原理说明图1 AT89S52引脚图图2 共阳极七段数码管引脚图1AT89S52引脚图,说明如下:按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O 口、控制和复位等。
1.多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32根I/O线。
每根线可以单独用作输入或输出。
①P0端口,该口是一个8位漏极开路的双向I/O口。
在作为输出口时,每根引脚可以带动8个TTL输入负载。
当把“1”写入P0时,则它的引脚可用作高阻抗输入。
当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。
在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。
②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
课程设计说明书课程名称:单片机原理及应用设计题目:两位数码管显示设计院系:电子信息与电气工程系学生姓名:学号:专业班级:指导教师:2010年 5 月10 日课程设计任务书两位数码管显示设计摘要:两位数码管的显示设计主要有硬件部分和软件部分组成,硬件部分以单片机为核心,在其周围有电源电路、时钟电路、复位电路、驱动电路和显示电路组成。
软件部分用汇编语言编程,用keil软件编译、调试。
最后用proteus软件仿真,形成以单片机为枢纽,以程序为动力,使两位数码管循环显示00-99。
关键词:AT89C52 数码管 keil proteus 汇编语言动态显示目录1.设计背景 (1)1.1设计课题及目的 (1)1.2相关技术与应用领域 (1)2.设计方案 (2)2.1静态设计 (2)2.2动态显示 (2)2.3硬件电路设计方案 (2)3. 方案实施 (3)3.1方案论证 (3)3.2设计内容 (3)3.3硬件设计 (4)3.4软件设计 (6)4. 结果与结论 (7)4.1 结果 (7)4.2 结论 (7)5. 收获与致谢 (7)5.1 收获与致谢 (7)6. 参考文献 (8)7. 附件 (9)7.1仿真原理图 (9)7.2汇编程序 (10)7.3 LED的段码 (10)7.4元件清单 (11)1.设计背景1.1设计课题及目的本课题是以单片机为核心,通过动态扫面的方式,实现两位数码管的动态显示。
单片机即单片微型计算机,是集CPU,RAM,ROM,定时,计数,和多种接口于一体的微控制器,他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上,AT89C52单片机是各单片机中比较具有代表性的一种。
这次课程设计通过对他的学习,应用,从而达到学习,设计,开发软硬件的能力.1.2相关技术与应用领域单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器的CPU、随机存储器RAM、只读存储器ROM、多种输入输出口和中断系统、定时器∕计数器等功能集成到一个硅片上构成一个小而完善的计算机系统。
电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
《微机原理及接口技术》复习总结综合版——简答题第一篇:《微机原理及接口技术》复习总结综合版——简答题综合版—简答题欢迎使用KNKJ2012DXZY系统《微机原理及接口技术》学科复习综合版—简答题1、微型计算机由那些基本功能部件组成?微处理器、主存储器、系统总线、辅助存储器、输入/输出(I/O)接口和输入/输出设备2、什么是(计算机)总线?在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线3、微型计算机系统的基本组成?微型计算机,系统软件,应用软件,输入输出设备4、简述冯.诺依曼型计算机基本组成。
冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
5、什么是机器数?什么是机器数的真值?数在机器内的表示形式为机器数。
而机器数对应的数值称为机器数的真值。
6、8086与8088这两个微处理器在结构上有何相同点,有何主要区别?相同点:(1)内部均由EU、BIU两大部分组成,结构基本相同。
(2)用户编程使用的寄存器等功能部件均为16位。
(3)内部数据通路为16位。
区别 :(1)对外数据总线8086:16位,8088:8位。
(2)指令队列8086:6级,8088:4级。
7、8086CPU内部由哪两部分组成?各完成什么工作?在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。
8、简述8086内部分为EU和BIU两大功能的意义。
这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。
电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
51单片机秒表计时器目录摘要 (3)一、实训目的 (3)二、实训设备与器件 (3)(1)实验设备 (3)(2)实训器件 (3)三、实训步骤与要求 (4)(1)要求 (4)(2)方法 (4)(3)实训线路分析 (4)(4)软件设计 (4)(5)程序编制 (4)四、硬件系统设计 (4)五、软件系统设计 (5)六、系统调试 (9)七、实训总结与分析 (10)八、参考资料: (11)九、附录 (12)摘要:秒表是由单片机的P0口和P2口分别控制两个数码管,使数码管工作,循环显示从00—59。
同时,用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位,通常还使用石英晶体振荡器电路构成整个秒表的结构电路。
一、目的(1)利用单片机定时器中断和定时器计数方式实现秒定时。
(2)通过LED显示程序的调整,熟悉单片机与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
(4)进一步学习单片机开发系统的整个流程。
二、元件(1)实训设备:单片机开发系统、微机、万用表、电烙铁等。
(2)实训器件:名称数量7段数码管 2电阻10k 1电阻1k 8键盘开关 1电容10微法 1电容30皮法 2晶振12M 189C51 1万能板 1导线若干三、步骤(1)要求:利用实训电路板,以2位LED右边1位显示个位,左边1位显示十位,实现秒表计时显示。
以一个按键开关实现启动、停止、清零等功能。
(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器0方式1计数,实现00--59计数。
(3)实验线路分析:采用实训电路板,其原理图参见附录。
两个7段LED 数码管分别由单片机的P0口和P2口控制,使数码管显示从00—59的字样。
用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位。
题目1 开关检测器的制作 (2)题目2 节日彩灯控制器 (3)题目3 简单的左右循环流水灯的制作 (4)题目4 可控的左右循环流水灯的制作 (5)题目6 花样流水灯的制作 (7)题目7 扩展74LSTTL电路的开关检测器 (8)题目8 单一外中断的应用 (9)题目9 BCD译码的2位数码管扫描的数字显示 (10)题目10 LCD电子钟的制作 (11)题目11 LED数码管秒表的制作 (12)题目12 LCD显示的定时钟制作 (13)题目13 用定时器设计的门铃 (17)题目14 控制数码管循环显示单个数字 (18)题目15 十字路口交通灯控制器1 (19)题目16 十字路口交通灯控制器2 (21)题目17 基于DS18820的数字温度计设计 (24)题目18 8×8LED点阵屏模仿电梯运行的楼层显示 (26)题目19 控制P1口的8只LED每0.5s闪亮1次 (27)题目20 利用T1控制蜂鸣器发出1kHz的音频信号 (28)题目21 电话键盘及拨号的模拟 (29)题目22 8只数码管滚动显示单个数字 (31)题目23 甲机通过串口控制乙机LED闪烁 (32)题目24 双机间波特率可选的串行通信 (33)题目25 数码管显示4×4矩阵键盘的键号 (34)题目26 LCD电子广告屏 (35)题目27 单片机控制ADC0809的模数转换与显示 (36)题目1 开关检测器的制作一、设计要求AT89S51单片机的P1.4~P1.7接4个开关S0~S3,P1.0~P1.3接4个发光二极管LED0~LED3。
将P1.4~P1.7上的4个开关的状态反映在P1.0~P1.3引脚控制的4个发光二极管上。
每个开关的状态对应1个相应的发光二极管的状态,例如P1.4引脚上开关S0的状态,由P1.0脚上的LED0显示;P1.6引脚上开关S2的状态,由P1.2脚上的LED2显示。
凡是开关闭合的引脚,把对应的LED发光二极管点亮。
实验三定时器和中断实验一、实验目的1、学习51单片机内部定时器的使用方法。
2、掌握中断处理程序的方法。
3、掌握数码管与单片机的连接方法和简单显示编程方法。
4、学习和理解数码管动态扫描的工作原理。
二、实验内容1、使用定时器T0,定时1秒,控制P1口发光管循环点亮。
2、使用定时器T0,定时1秒,控制1个数码管循环显示数字0~9,每秒钟数字加一。
3、使用软件定时1秒,控制2个数码管循环显示秒数0~59,每秒钟数字加一。
4、使用定时器T0,定时1秒,控制2个数码管循环显示秒数0~59,每秒钟数字加一。
三、实验电路图四、实验说明1、数码管的基本概念(1)段码数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。
本次实验使用的是共阴数码管,公共端是1、6,公共端置0,则某段选线置1相应的段就亮。
公共端1控制左面的数码管;公共端6控制右面的数码管。
正面看数码管的引脚、段选线和数据线的对应关系为:图1 数码管封装图图2 数据线与数码管管脚连接关系段码是指在数码管显示某一数字或字符时,在数码管各段所对应的引脚上所加的高低电平按顺序排列所组成的一个数字,它与数码管的类型(共阴、共阳)(2)位码位码也叫位选,用于选中某一位数码管。
在实验图中要使第一个数码管显示数据,应在公共端1上加低电平,即使P2.7口为0,而公共端6上加高电平,即使P2.6口为1。
位码与段码一样和硬件连接有关。
(3)拉电流与灌电流单片机的I/O 口与其他电路连接时,I/O 电流的流向有两种情况:一种是当该I/O 口为高电平时,电流从单片机往外流,称作拉电流;另一种是该I/O 口为低电平时,电流往单片机内流,称为灌电流。
一般I/O 的灌电流负载能力远大于拉电流负载能力,对于一般的51 单片机而言,拉电流最大4mA,灌电流为20mA。
一般在数码管显示电路中采用灌电流方式(用共阳数码管),可以得到更高的亮度。
本实验电路中采用拉电流方式(用共阴数码管)。
两位数码管循环显示00~99的实验现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分,数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。
首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图:网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。
因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。
下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图:网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和 P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。
单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。
网友可以看到,共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码管更有利于批量生产,现在销售的试验板都是采用共阴数码管了。
以下是用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序a_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置temp equ 22h ;计数器数值存放内存位置star: mov temp,#0 ;初始化计数器,从0开始stlop: acall display;调用显示子程序inc temp;对计数器加1mov a,tempcjne a,#100,next ;判断计数器是否满100?mov temp,#0;满100就清零重新开始next: ljmp stlop;不满就循环执行;显示子程序display: mov a,temp ;将temp中的十六进制数转换成10进制mov b,#10 ;10进制/10=10进制div abmov b_bit,a ;十位在amov a_bit,b ;个位在bmov dptr,#numtab ;指定查表启始地址mov r0,#4dpl1: mov r1,#250 ;dplop: mov a,a_bit ;取个位数MOVC A,@A+DPTR ;查个位数的7段代码mov p0,a ;送出个位的7段代码clr p2.7 ;开个位显示acall d1ms ;显示162微秒setb p2.7;关闭个位显示,防止鬼影mov a,b_bit ;取十位数MOVC A,@A+DPTR ;查十位数的7段代码mov p0,a ;送出十位的7段代码clr p2.6 ;开十位显示acall d1ms ;显示162微秒setb p2.6;关闭十位显示,防止鬼影djnz r1,dplop ;循环执行250次djnz r0,dpl1 ;循环执行250X4=1000次ret;2+2X80=162微秒,延时按12MHZ计算D1MS: MOV R7,#80DJNZ R7,$RET;实验板上的7段数码管0~9数字的共阴显示代码numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH end;如果是共阳数码管的显示代码numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H 两位数码管显示00--99依次循环实验设备JS100A,JS200,JS300等仿真器,实验板都可直接实验。
单片机两位数码显示器,并根据端口的接线情况编写相应的程序,使其具有以下功能:
1.单片机系统具有双向循环显示功能,两位数码管采用十进制,最大显示
值是99,最小显示值是00,
2.按下S1后,数码管的数值自动增1;(00—99)
3.按下S2后,数码管的数值自动减1;(99—00)
4.按下S3时,数码管停止递增或递减,并显示当时的数值;
5.数码管数值自动增、减时间间隔T 0.5S<T<1S。
评定内容:
1.组装好单片机部分
2.组装好数码管部分
3.组装好电源部分
4.单片机及数码管能够工作
5.按键S1工作正常
6.按键S2工作正常
7.按键S3工作正常
8.数码管数字在改变时没有闪烁。
两个数码管循环显示00—99(P2口接数码管段码,P00接数码管个位阴极,P01接十位)KeilC程序:
#include<reg51.h>
sbit P0_0=P0^0; //个位数字
sbit P0_1=P0^1; //十位数字
void delay(int k); //Tab为数码管显示值,存入一个数组内
unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char i,shi,ge,num,count; //num为被显示的数字
void main()
{
P2=Tab[0];
P0_0=0;
P0_1=0;//显示00
num=0; //被显示的数置0
count=20;
while(1)
{
for(i=1;i<count;i++) //显示个位、十位count次后显示的数加1
{
shi=num/10; //取出十位数
ge=num%10; //取出个位数
P0_0=1;P0_1=1; //关闭显示
P2=Tab[shi]; //P2口送出十位数据显示代码
P0_0=0; //打开十位显示
delay(10); //延时
P0_0=1; //关闭显示
P2=Tab[ge]; //P2口送出个位数据显示代码
P0_1=0; //打开个位显示
delay(10); //延时
}
if(++num==100) //num自加1,然后判断是否等于100,等于则置0 num=0;
}
}
void delay(int k) //最简单的C延时程序
{
unsigned char i;
while(k--) //直至K减为0则跳出
{
for(i=250;i>0;i--);
}
}。