- 172
- 0
- 约3.86千字
- 约 10页
- 2017-05-12 发布于河南
- 举报
单片机0~99计数器
目录
设计任务…………………………………………………… .3
00~~99手动计数器设计程序框图……………………………3
00~~99手动计数器的主程序…………………………………3
功能说明………………………………………………………6
原理图…………………………………………………………10
检测与调试……………………………………………………10
总结与体会…………………………………………………10
一、设计任务
(1)、功能及技术指标要求
利用AT89S51单片机来制作一个手动计数器。
(2)、设计内容
在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。
(3)、设计思路及关键技术
一个完整00~`99手动计数器想当于一个简单的单片机系统,该系统设置电路、单片机、显示电路等构成。单片机是集成IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。
二、00~~99手动计数器的设计程序框图
、
三、00~~99手动计数器的主程序
Count EQU 30H ; EQU ——标号赋值伪指令SP1 BIT P3.7
ORG 0
START: MOV Count,#00H
NEXT: MOV A,Count
MOV B,#10
DIV AB ; A除以B,商(存于)A余(下)B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
WT: JNB SP1,WT ;SP为0转移
WAIT: JB SP1,WAIT ;SP为1转移
LCALL DELY10MS
JB SP1,WAIT
INC Count ; Count加1
MOV A,Count
CJNE A,#100,NEXT ;累加器与立即数不等转移
LJMP START
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0---9
END
7. C语言源程序
#include AT89X51.H
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char Count;
?
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i0;i--)
for(j=248;j0;j--);
}
?
void main(void)
{
Count=0;
P0=table[Count/10];
P2=table[Count%10];
while(1)
{
if(P3_7==0)
{
delay10ms();
if(P3_7==0)
{
Count++;
if(Count==100)
{
Count=0;
}
P0=table[Count/10];
P2=table[Count%10];
while(P3_7==0);
}
}
}
}
四、功能说明
(1)芯片由UNTITLED—ISISPROFESSIONAL实验系统提供(AT89C51)
1.主要特性:
与MCS-51兼容
4K字节可编程闪烁存储器
您可能关注的文档
最近下载
- 高职单招文化考试语文试卷(答案) 完整版 .pdf VIP
- 2025年贵州省黔东南州中考英语试卷真题(含答案).docx
- 2025年八年级语文上册《钱塘湖春行》古诗鉴赏对比阅读训练含答案.docx VIP
- 精神病学第十六章 睡眠-觉醒障碍.pptx VIP
- 人教版六年级科学(上册)期末试卷及答案(完整).docx VIP
- 2025年天津市事业单位招聘考试(综合知识·计算机类)历年参考题库含答案详解(5卷).docx VIP
- 山东传媒职业学院单招《数学》题库试题【模拟题】附答案详解.docx VIP
- 外研版(2025)英语七年级下册全册教案.docx VIP
- 检修安全知识培训内容课件.pptx VIP
- Understanding visual metaphor the example of newspaper cartoons理解视觉隐喻:以报纸漫画为例.pdf VIP
原创力文档

文档评论(0)