单片机 对外部RAM的读写并进行LED显示课程设计.docx
- 文档编号:8304767
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:95.32KB
单片机 对外部RAM的读写并进行LED显示课程设计.docx
《单片机 对外部RAM的读写并进行LED显示课程设计.docx》由会员分享,可在线阅读,更多相关《单片机 对外部RAM的读写并进行LED显示课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
单片机对外部RAM的读写并进行LED显示课程设计
课程设计说明书
课程名称:
课程代码:
题目:
学生姓名:
学号:
=
年级/专业/班:
=
学院(直属系):
=
指导教师:
=
目录
1引言1
1.1任务与分析1
1.1.1主要任务1
1.1.2目的1
2单片机系统介绍1
3程序的主要功能2
3.1参数数据功能2
3.2参数显示功能2
3.3数据的写入功能2
3.4数据读出功能2
4程序运行平台3
5总体设计3
6端口定义说明3
7程序分析4
7.1端口设置4
7.2数码管位数的选择4
7.3数据存取5
7.4数据读取5
7.5数据显示5
7.6数据数值选择6
8Proteus仿真7
8结论8
参考文献9
摘要
数据存储器即随机存取器,简称RAM,用于存放可随时修改的数据信息。
对RAM可以进行读、写操作。
RAM为易失性存储器断电后所存信息立即消失。
按其工作方式,RAM又分为动态RAM和静态RAM。
动态RAM一般容量较大,但要定时刷新才能维持所存信息,使用略复杂。
单片机中使用较少。
静态RAM只要电源上电,所存信息就能可靠保存,不需要刷新。
扩展电路简单,单片机中使用较多。
MCS-51单片机基本型只有128字节的RAM,增强型有256字节的RAM。
应用系统需要更多的RAM时,可以片外扩展,可扩展的最大容量为64KB。
关键词:
单片机存取器RAM
1引言
1.1任务与目的
1.1.1主要任务
★利用89C51设计一单片机最小系统;
★设计对6116RAM的数据读写操作系统;
★在RAM中读出数据并显示在2位数码管上;
★实现Proteus仿真;
1.1.2目的
单片计算机即单片微型计算机。
(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
2单片机系统介绍
40个引脚按引脚功能大致可分为4个种类:
电源、时钟、控制和I/O引脚。
⒈电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
注:
用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。
但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。
⒉时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:
控制线共有4根,
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
MCS-51单片机内部定时器/计数器、中断系统简介
定时/计数器是单片机中重要的功能模块之一,在检测,控制和智能仪器等设备中经常用它来定时。
MCS-51系列中51子系列有2个16位的可编程定时/计数器:
T0和T1;每个定时计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。
T0有4种工作方式,T1有3种工作方式,T2有3种工作方式,可通过编程设定。
每个定时/计数器计数事件到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。
中断系统简介
MCS-51单片机提供5个硬件中断源:
2个外部中断源INT0(P3.2)和INT1(P3.3),2个定时/计数器T0和T1的溢出中断TF0和TF1;1个串行口发送TI和接收RI中断。
T0中断服务程序流程图如图11.3。
3程序的主要功能
3.1参数数据功能
设置和修改存入6116芯片的数据。
3.2参数显示功能
显示当前数据到2位数码管上。
3.3数据的写入功能
把当前数据写入6116芯片中。
3.4数据读出功能
把6116芯片中的数据读出。
4程序运行平台
Keil软件、Proteus7Professional
5总体设计
6端口定义说明
I/O端
程序中控件名
I/O端
程序中控件名
P1
LED显示
P2.6
read
P3.4
LED1
P3.1
add
P3.5
LED2
P3.2
choice
P2.4
lear
P3.3
sub
P2.5
write
7程序分析
7.1端口设置
程序如下:
##include
#include
#defineram6116XBYTE[0x1000]
sbitled1=P3^4;
sbitled2=P3^5;
sbitadd=P3^0;
sbitchoice=P3^1;
sbitsub=P3^2;
sbitzd=P3^3;
sbitwrite=P2^5;
sbitread=P2^6;
unsignedintnumber[2],i=1;
unsignedcharcodedispcode[]={0XC0,0XF9,0xA4,0xB0,0x99,0X92,0X82,0XF8,0X80,0X90,0XFF};
7.2数码管位数的选择
按下个、十位选择按钮,选择数码管的位数
程序如下:
voidnumberset()
{if(choice==0)
TR1=1;
if(i==1&&add==0)/设定为个位
TR1=1;/计数器1
if(i==1&&sub==0)
TR1=1;
if(i==2&&add==0)/设定为十位
TR1=1;
if(i==2&&s
7.3数据存取
将数据写入6116芯片中
程序如下:
voidcc()
{
inti=0;
i=number[0]*10+number[1];
ram6116=i;/将数据写入6116
}
7.4数据读取
从6116芯片中读出数据。
程序如下:
voidqz()
{
inti=0;
i=ram6116;/从6116中读出数据
number[0]=i/10;
number[1]=i%10;
}
7.5数据显示
将数据大小显示在2位数码管上。
程序如下:
voidmain(void)
{
read=write=add=sub=choice=1;
TMOD=0x10;//置定技术器T0为方式1
TL1=0XF0;//设定初值
TH1=0XD8;
EA=1;//开总中断
ET1=1;//开T1中断
while
(1)
{if(read==0)
qz();
if(write==0)
cc();
numberset();
P1=0xff;//p1口送初值
P1=dispcode[number[0]];led1=1;led2=0;timedely(5);
P1=0xff;
P1=dispcode[number[1]];led1=0;led2=1;timedely(5);
}
}
7.6数据数值选择
设置数据的大小值
程序如下:
voidtimer1()interrupt3//中断服务程序
{
TL1=0XF0;//重置定时器初值
TH1=0XD8;
count--;
if(count==0)
{count=25;
if(choice==0)
{i=i+1;
if(i==3)
i=0;
TR1=0;}
if(i==1&&add==0)
{number[0]=number[0]+1;
if(number[0]>9)
number[0]=0;
TR1=0;
}
if(i==1&&sub==0)
{number[0]=number[0]-1;
if(number[0]<1)
number[0]=9;
TR1=0;
}
if(i==1&&lear==0)
{number[0]=0;
number[1]=0;
TR1=0;
}
if(i==2&&add==0)
{number[1]=number[1]+1;
if(number[1]>9)
number[1]=0;
TR1=0;
}
if(i==2&&sub==0)
{number[1]=number[1]-1;
if(number[1]<1)
number[1]=9;
TR1=0;
}
if(i==2&&lear==0)
{number[0]=0;
number[1]=0;
TR1=0;
}
}
}
8Proteus仿真
系统硬件图
仿真图
8结论
这次课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。
在这期间,我得到了很多同学的帮助。
我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。
以前的汇编语言没学好,一开始的程序这块儿就要令我束手无策了。
后来请教我们班的一个同学,看他边做边给我讲解。
最后在计算机上调试成功,后来自己又从头到尾做了一遍,完成了本程序。
最后说明自己对这门课程的感受,课堂教学考虑到大多数同学的需求,主要强调“基本”—基本知识、基本理论、基本方法、基本技能。
而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。
参考文献
[1]黄惟公.单片机原理与应用技术:
西安电子科大出版社2007
[2]张毅刚,MC-51单片机应用设计(二版):
哈工大出版社2005
[3]李广第.单片机基础.北京:
北京航天航空大学出版社
[4杨文龙.单片微机原理及应用.西安电子科技出版社
[5]周航慈.单片机程序设计基础.北京:
北京航天航空大学出版社
[6]胡汉才.单片机原理及接口技术.北京:
清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 对外部RAM的读写并进行LED显示课程设计 外部 RAM 读写 进行 LED 显示 课程设计