99秒单片机马表设计
来源:互联网发布者:张七岁 关键词: 电子钟表 更新时间: 2021/11/15
1. 实验任务
(1. 开始时,显示“00”,第1次按下SP1后就开始计时。
(2. 第2次按SP1后,计时停止。
(3. 第3次按SP1后,计时归零。
2. 电路原理图
3. 系统板上硬件连线
(1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2. 把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
(3. 把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;
4. 程序框图
T0中断服务程序框图
5. 汇编源程序
TCNTA EQU 30H
TCNTB EQU 31H
SEC EQU 32H
KEYCNT EQU 33H
SP1 BIT P3.5
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START: MOV KEYCNT,#00H
MOV SEC,#00H
MOV A,SEC
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
MOV TMOD,#02H
SETB ET0
SETB EA
WT: JB SP1,WT
LCALL DELY10MS
JB SP1,WT
INC KEYCNT
MOV A,KEYCNT
CJNE A,#01H,KN1
SETB TR0
MOV TH0,#06H
MOV TL0,#06H
MOV TCNTA,#00H
MOV TCNTB,#00H
LJMP DKN
KN1: CJNE A,#02H,KN2
CLR TR0
LJMP DKN
KN2: CJNE A,#03H,DKN
MOV SEC,#00H
MOV A,SEC
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
MOV KEYCNT,#00H
DKN: JNB SP1,$
LJMP WT
DELY10MS:
MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
INT_T0:
INC TCNTA
MOV A,TCNTA
CJNE A,#100,NEXT
MOV TCNTA,#00H
INC TCNTB
MOV A,TCNTB
CJNE A,#4,NEXT
MOV TCNTB,#00H
INC SEC
MOV A,SEC
CJNE A,#100,DONE
MOV SEC,#00H
DONE: MOV A,SEC
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
NEXT: RETI
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
6. C语言源程序
#include
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00};
unsigned char second;
unsigned char keycnt;
unsigned int tcnt;
void main(void)
{
unsigned char i,j;
TMOD=0x02;
ET0=1;
EA=1;
second=0;
P0=dispcode[second/10];
P2=dispcode[second%10];
while(1)
{
if(P3_5==0)
{
for(i=20;i>0;i--)
for(j=248;j>0;j--);
if(P3_5==0)
{
keycnt++;
switch(keycnt)
{
case 1:
TH0=0x06;
TL0=0x06;
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
keycnt=0;
second=0;
P0=dispcode[second/10];
P2=dispcode[second%10];
break;
}
while(P3_5==0);
}
}
}
}
void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==400)
{
tcnt=0;
second++;
if(second==100)
{
second=0;
}
P0=dispcode[second/10];
P2=dispcode[second%10];
}
}
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- PCB封装库_99SE和DXP
来源:下载中心
- 嵌入式系统——从SoC芯片到系统(第2版)
来源:下载中心
- 电源小白到实战
来源:大学堂
- 射频放大器设计
来源:大学堂
- 电阻和电阻定律以及0欧电阻和上、下拉电阻的作用
来源:电路图
- 戴维宁定理:概念介绍及其求解过程
来源:电路图
推荐帖子 最新更新时间:2024-11-21 18:28
- 飞利浦推出DDR2存储模块用新型高速寄存器
- 飞利浦推出DDR2存储模块用新型高速寄存器 专为优化存储性能设计,含业界最快的寄存器 2009-01-19 目前,存储模块解决方案已经从速度较低的单数据率(SDR)演变为双数据率(DDR),日益增加的精确信号控制需求促进了寄存器的增长
- fighting模拟电子
- 这也叫RT-THREAD例程吗??????
- 大家都知道,操作系统是得去建立栈区的,有自己的任务,可是我今天看了一个例程如下: #include rtthread.h #include rtdevice.h #include board.h #include drv_lcd.h #include rttlogo.h
- ddllxxrr实时操作系统RTOS
- 英特尔Galileo开发板-工业级SBS板-交换个带屏的东西最好可以做程序开发(已出)
- * 小尺寸 * 超低功耗 * 兼容Arduino * X86软件兼容 * 长嵌入式生命周期 Dimension: 106.7mm x 72mm * 基于英特尔? Quark SoC X10xx 处理器 *
- kejoy淘e淘
- 【TI明星产品限时购】+轻车熟路参加活动,老汉又入了一块CC2640R2
- 赶上搞活动就买了LANUCHXL-CC2640R2,优惠的额度正好抵税了。小200大洋,展示 因为学习与项目需要,手里已积攒4块。 比较喜欢骚红,个人感觉TI的板子颜值比价高。 插上USB上电 打开手机端蓝牙调试助手,连接开发板,后观察数据 单击BT
- 54chenjq无线连接
- 基于nRF2401的无线传输系统的设计
- 应用nrf2401芯片和51系列单片机设计一套无线数据传输系统,请教高手 要电路图 急 急 急!!! 基于nRF2401的无线传输系统的设计 应用nrf2401芯片和51系列单片机设计一套无线数据传输系统 请教高手电路图的设计...... 回复:基于nRF2401的无线传输系
- ning1020单片机
- 视频信号处理
- 请问高手们如图所示的电路有什么用么? 视频信号经过后可直接进入MCU? 视频信号处理 人气好少啊,哪位大师帮忙解答下,感谢! 帖子沉了,有谁知道帮忙讲解下,不胜感激:) :handshake:handshake:handshake:handshake:handshake 第一次
- Gjinbiao电源技术
- A/D转换器中的队列是什么概念?
- 硬件开发流程及规范---硬件开发规范化管理
- 基于ADI SIGMADSP无线SOUND BAR解决方案(以无线的方式从智能手机、平板传送音乐)
- 数字滤波器滤除电子测量系统中工频及其谐波干扰的研究
- CCS中一些可能会遇见的错误
- 是上拉电阻设置的问题吗?
- 蓝牙4.0模块基础理论问答,,,,
- TM4出“新”EK-TM4C123GXL -Tiva Launchpad,以前的
- 7寸LCD屏的选择真纠结
- Matter 发布会精彩片段
- 最好的项目合作群:34048757连接技术和市场的最后一段距离
- temp6=(int)(Rain*10);这个语句有问题吗?
- 【R7F0C809】DIY第九篇--串口应用
- 分享一个STM32用USB虚拟串口的例程
- 图解测量电子电路设计 滤波器,模拟篇 远坂二册
- 平头哥RVB2601测评:OLED与LVGL移植介绍
- mv命令的问题
- 28335外扩RAM读写速度比较慢的问题
- tcp/ip协议概述
- Cyclone III FPGA开发板详细电路图
- AD5338 双路 10 位数模转换器的典型应用
- OP284FSZ-REEL7输出过载恢复运放测试电路典型应用
- LM324ADTBG 维恩桥振荡器运算放大器的典型应用
- MIKROE-3447、6DOF IMU 8 Click Board 适用于 ISM330DLC 3D 加速度计、具有工业应用数字输出的 3D 陀螺仪
- 【课程设计】集成功率放大电路测试板
- L9963评估/开发板:与外部用户MCU一起用于评估或开发目的
- 小四轴飞行器DIY
- LT3755IUD-1 降压模式 500mA LED 驱动器的典型应用电路,用于 20kHz PWM 调光
- 用于具有 USB/汽车电池充电器的移动微处理器系统的 LTC3589IUJ-2 集成电源 IC 的典型应用电路
- 使用 NXP Semiconductors 的 MPC860P 的参考设计