手动0099计数器.docx
- 文档编号:9629657
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:10
- 大小:95.35KB
手动0099计数器.docx
《手动0099计数器.docx》由会员分享,可在线阅读,更多相关《手动0099计数器.docx(10页珍藏版)》请在冰豆网上搜索。
手动0099计数器
微机控制与应用课程设计报告书
题目:
手动00~~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手动计数器的主程序
CountEQU30H;EQU——标号赋值伪指令
SP1BITP3.7
ORG0
START:
MOVCount,#00H
NEXT:
MOVA,Count
MOVB,#10
DIVAB;A除以B,商(存于)A余(下)B
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,B
MOVCA,@A+DPTR
MOVP2,A
WT:
JNBSP1,WT;SP为0转移
WAIT:
JBSP1,WAIT;SP为1转移
LCALLDELY10MS
JBSP1,WAIT
INCCount;Count加1
MOVA,Count
CJNEA,#100,NEXT;累加器与立即数不等转移
LJMPSTART
DELY10MS:
MOVR6,#20
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0---9
END
7.C语言源程序
#include
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsignedcharCount;
voiddelay10ms(void)
{
unsignedchari,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
voidmain(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字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz—24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内震荡器和时钟电路
2.管脚说明:
①电源引脚
Vcc(40脚):
典型值+5V。
Vss(20脚):
接低电平。
②外部晶振
XTAL1、XTAL2分别与晶振两端相连接。
③输入输出口引脚:
P0口:
I/O双向口。
作输入口时,应先软件置“1”。
P1口:
I/O双向口。
作输入口时,应先软件置“1”。
P2口:
I/O双向口。
作输入口时,应先软件置“1”。
P3口:
I/O双向口。
作输入口时,应先软件置“1”。
④控制引脚:
RST、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。
RST(9脚):
复位信号输入端(高电平有效)。
ALE/-PROG(30脚):
地址锁存信号输出端。
第二功能:
编程脉冲输入。
-PSEN(29脚):
外部程序存储器读选通信号。
-EA/Vpp(31脚):
外部程序存储器使能端。
第二功能:
编程电压输入端(+21V)。
AT89C51单片机的P口特点:
P0口:
是一个8位漏极开路输出型双向I/O端口。
作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,
在访问期间将激活内部的上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向I/O端口。
P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O端口。
P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行MOVX@DPTR)
时,P2口送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
P3口:
P3口是一个带有内部上拉电阻的8位双向I/O端口。
P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
(2)排阻的作用
所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。
其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
它在排阻上一般用一个色点标出来。
排阻一般应用在数字电路上,比如:
作为某个并行口的上拉或者下拉电阻用。
使用排阻比用若干只固定电阻更方便。
排阻有a型和b型的区别。
a型排阻的引脚总是奇数的。
它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。
B型排阻的引脚总是偶数的。
它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。
排阻的阻值读法如下:
“103”表示:
10kΩ,“510”表示:
51Ω。
以此类推常用于显示数码管。
以上是所用芯片图及排阻。
五、原理图
六、检测与调试
1、软件调试:
软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
七、总结与体会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手动 0099 计数器
![提示](https://static.bdocx.com/images/bang_tan.gif)