导航:首页 > 操作系统 > 两位单片机

两位单片机

发布时间:2025-05-11 07:36:18

❶ 设计一个单片机编程,两位的简易秒表,记时单位60-50s,用两位的数码管

这是一个基于单片机的简易秒表设计,采用两位数码管显示,记时范围为60-50秒。程序的核心在于如何精确计时并在数码管上显示。程序中定义了一个全局变量sec来记录当前的秒数,并通过一个静态变量t来实现每毫秒计时的功能。

具体实现上,首先初始化定时器0,设置工作模式、溢出值,并开启中断和定时器。在主函数中,通过P0和P2口分别控制十位和个位数码管的显示。当定时器0中断时,通过更新TH0和TL0来重置定时器,同时更新t和sec的值。当t达到1000时,表示一秒钟已过,sec递增,若超过60秒则重置。

需要注意的是,此程序假设数码管为共阳极类型,即数码管的公共端接高电平,各位段码通过低电平控制。若使用共阴极数码管,则需将Ledchar数组中的值进行相应调整,具体可以通过查找相关资料获得。

在实际应用中,可以将P0和P2接上相应的数码管,根据需要调整电路连接。通过调整定时器的溢出值,还可以改变计时的精度和范围。此外,为了提高显示效果,还可以添加一些控制逻辑,如计时结束时的提示音或闪烁效果等。

这个简易秒表的设计简单直观,适合初学者理解和学习单片机编程的基本概念和技巧。通过这样的实践,可以更好地掌握数码管显示和定时器中断编程的方法。

❷ 求两位数码管显示一个倒数时间的单片机程序,比如显示从99到0

//两位数码管显示倒计数99~00,51单片机。
#include<reg52.h> // 倒计数
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar ,shi;
uint a1,a2;
sbit D1=P3^0; // 位选1 P1口段码输出
sbit D2=P3^1; // 位选2
sbit key=P3^7; // 启动/停止
bit y ;
void main()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
=0;
shi=0;
while(1)
{
if(key==0)
{
}
}
}
void timer0()interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
a1++;
y = ~y;
if(a1==100)
{
a1=0;
if(key==1) a2--;
if(a2>=100) a2=99;
}
D1 = 1; D2 = 1;
if(y==1)
{
P1=table[a2/10];
D1=0;
}
else
{
P1=table[a2%10];
D2=0;
}
}

❸ 利用单片机实现两位数码管显示功能。

DAT EQU 30H

SCANLED EQU 32H

FSDAT EQU 33H

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV SP,#5FH

MOV TMOD,#01H

MOV TH0,#0F4H

MOV TL0,#048H

MOV P2,#00H

MOV SCANLED,#0

MOV 30H,#5

MOV 31H,#0

MOV FSDAT,#50

SETB EA

SETB ET0

SETB TR0

LOOP:

JB P3.0,LOOP1

JNB P3.0,$

INC FSDAT

MOV A,FSDAT

CJNE A,#100,LOOP01

LOOP01:

JC LOOP02

MOV FSDAT,#99

LOOP02:

MOV A,FSDAT

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

SJMP LOOP

LOOP1:

JB P3.1,LOOP2

JNB P3.1,$

MOV A,FSDAT

JZ LOOP11

DEC FSDAT

LOOP11:

MOV A,FSDAT

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

SJMP LOOP

LOOP2:

JB P3.2,LOOP

JNB P3.2,$

MOV FSDAT,#50

MOV 30H,#5

MOV 31H,#0

SJMP LOOP

;--------------------

T0ISR:

PUSH ACC

CLR TR0

MOV TH0,#0F4H

MOV TL0,#48H

SETB TR0

MOV DPTR,#LEDTAB1

T000:

MOV R0,#DAT

MOV A,SCANLED

ADD A,R0

MOV R0,A

MOV A,SCANLED

JNZ T001

MOV P2,#02H

SJMP T0DIS

T001:

MOV P2,#01H

T0DIS:

MOV A,@R0

MOVC A,@A+DPTR

CPL A

MOV P0,A

INC SCANLED

MOV A,SCANLED

ANL A,#01H

MOV SCANLED,A

POP ACC

RETI

;--------------------

LEDTAB1:

DB 0C0H ;"0" 00H

DB 0F9H ;"1" 01H

DB 0A4H ;"2" 02H

DB 0B0H ;"3" 03H

DB 99H ;"4" 04H

DB 92H ;"5" 05H

DB 82H ;"6" 06H

DB 0F8H ;"7" 07H

DB 80H ;"8" 08H

DB 90H ;"9" 09H

DB 88H ;"A" 0AH

DB 83H ;"B" 0BH

DB 0C6H ;"C" 0CH

DB 0A1H ;"D" 0DH

DB 86H ;"E" 0EH

DB 8EH ;"F" 0FH

DB 0FFH ;" " 10H

;--------------------

❹ 51单片机怎么实现两位数的加减

51单片机
51单片机是对所有兼容Intel 8051指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

中文名
51单片机
外文名
mcu
定义
兼容Intel 8031系统的单片机统称
始祖
Intel公司始创的8004单片机
缺点
不具备自编程能力
快速
导航
功能

学习

仿真

区别
主要产品
*Intel(英特尔)的:80C31、80C51、87C51,80C32、80C52、87C52等;
*ATMEL(爱特梅尔)的:89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
*Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公司的许多产品;
STC(国产宏晶)单片机:89c51、89c52、89c516、90c516等众多品牌。

功能
·8位CPU·4kbytes程序存储器(ROM) (52为8K)

·128bytes的数据存储器(RAM) (52有256bytes的RAM)
·32条I/O口线·111条指令,大部分为单字节指令
·21个专用寄存器
·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
·一个全双工串行通信口
·外部数据存储器寻址空间为64kB
·外部程序存储器寻址空间为64kB
·逻辑操作位寻址功能·双列直插40PinDIP封装
·单一+5V电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。
学习
作为一个初学者,如何单片机入门?
实际上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。设备上,一般是建议购买一个仿真器,例如,的“双功能下载线”就具有良好的稳定性和较快的下载速度,上位机可扩展,可以下载更多的单片机及嵌入式芯片。通过实验,这样才可以进行实际的,全面的学习。日后在工作上,仿真器也大有用处。还有,一般光有仿真器是不行,还得有一个实际的电路,即学习板,如图,即为,单片机最小系统。

❺ 单片机两位数码管显示数字

#include<reg51.h>

#define uchar unsigned char;

uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f

uchar number,dat=29;

void t0isr() interrupt 1

case 0:P2=0x02;P0=distab[dat/10];

break;

case 1:P2=0x01;P0=distab[dat%10];

TMOD=0x01;

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

TR0=1;

ET0=1;

EA=1;

while(1);

}

分类

数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

以上内容参考:网络-数码管

❻ 单片机里的7SEG-MPX2-CC是什么

两位共阴七段数码管。
7SEG表示七段数码管,MPX2-表示是两位,CC是表示共阴。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

阅读全文

与两位单片机相关的资料

热点内容
c需要pdf 浏览:865
超级解压的美甲 浏览:72
安卓手机如何永久取消静音 浏览:722
appstore免密码支付怎么关闭 浏览:30
域控制器如何备份到另一服务器 浏览:306
腾讯云应用服务器可以做什么 浏览:507
二次元表格编程 浏览:20
plc编程器保停 浏览:963
如何降低服务器的内存占用率 浏览:868
阿里云服务器是个什么意思 浏览:817
国内最好的数控编程培训学校 浏览:13
222乘104列是算法 浏览:159
程序员沟通正确姿势 浏览:969
魔玩app怎么视频推广 浏览:960
程序员抽奖送礼 浏览:458
北京java程序员薪资 浏览:658
如何创建网络平台或者app 浏览:357
python随机数生成控制概率 浏览:237
压缩机并联运行 浏览:901
两位单片机 浏览:65