- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1 跑马灯实验
一、实验目的
初步学会Proteus ISIS和 uVision2单片机集成开发环境的使用;
初步掌握采用汇编语言与C语言开发单片机系统的程序结构;
掌握80C51单片机通用I/O口的使用;
掌握单片机内部定时/计数器的使用及编程方法以及中断处理程序的编写方法。
二、实验设备及器件
硬件:PC机,HNIST-1型单片机实验系统
软件:Proteus ISIS单片机仿真环境,uVision2单片机集成开发环境
三、实验内容
编写一段程序,采用P1口作为控制端口,使与P1口相接的四个发光二极管(D1、D2、D3、D4)按照一定的方式点亮。如点亮方式为:先点亮D1,延时一段时间,再顺序点亮D2……D4,然后又是D4……D1,同时只能有一个灯亮;然后每隔一段时间一次使相邻两个灯亮,三个灯亮,四个灯亮,最后闪烁三次,接着循环变化。
基于Proteus ISIS仿真环境完成上述功能的仿真。
基于uVision2单片机集成开发环境与硬件平台完成程序的脱机运行。
四、实验原理图
图3.1 跑马灯实验电路原理图
电路原理图如上图3.1所示,AT89S52的P1.0~P1.3控制4个发光二极管,发光二极管按照一定次序发光,相邻发光二极管的发光时间间隔可以通过定时器控制,还可以通过软件延时实现。
五、软件流程图与参考程序
主程序流程图如下:参考程序
#includereg52.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
uchar aa,num,speed,flag;
uchar code table[]={0x0e,0x0d,0x0b,0x07};
uchar code table1[]={0x0a,0x05,0x09,0x06};
uchar codetable2[]={0x0c,0x09,0x03,0x08,0x01,0x0e,0x0c,0x08,0x00};
void delay(uint z)//延时函数
{
uint x;
uchar y;
for(x=z;x0;x--)
for(y=200;y0;y--);
}
void init()//条件初始化函数
{ flag=0;
speed=10;//控制跑马灯流水速度
TMOD=0x01;//中断方式
TH0=(65535-50000)/256;
TL0=(65536-50000)%256;//初值
EA=1;//打开总中断
ET0=1;//打开外中断0
TR0=1;
}
void main()
{
init();//调用初始化函数
while(1)
{if(flag)
{delay(2000);//调用延时函数for(num=0;num4;num++)//从左至右间隔一个依次闪烁{P1=table[num];delay(2000);}for(num=3;num0;num--)//从左至右间隔一个依次闪烁{P1=table[num];delay(2000);}for(num=0;num4;num++)//从左至右间隔两个依次闪烁{P1=table1[num];delay(2000);}for(num=3;num0;num--)//从左至右间隔两个依次闪烁{P1=table1[num];delay(2000);}for(num=0;num6;num++)//两个,三个,四个跑马灯依次闪烁{P1=table2[num];delay(2000);}for(num=0;num5;num++)//闪烁5次{
P1=0xff;//全暗delay(2000);P1=0X00;//全亮delay(2000);}speed=speed-3;//变速if(speed==4){speed=10;}}
}
}
void timer0() interrupt 1//中断函数
{
TH0=(65535-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==speed)
{
aa=0;
flag=1;
}
}
六、实验思考题
请用汇编指令完成本实验内容,深刻理解汇编语言程序设计结构。
在本实验中,I/O口作为输出口使用,如果把I/O口的某些口线作为输入口使用时,如何获得输入引脚状态?请举例说明。
在画软件流图时,各种不同形式方框意义是否相同?请举例示之。
请简要叙述中断服务程序功能并画出其流程图。
在采用I/O口作为输出口时要考虑哪些因素?如果负载变化,如何设计单片机与负载之间的接口电路?实验2 交通灯实验
一、实验目的
进一步掌握Proteus ISIS和 uVision2单片机集成开发环
您可能关注的文档
- 华东石油《质学基础》2016年春学期在线作业(一).doc
- 华中农大微物学题库第八章微生物生态试题.doc
- 华东理工大精细化学品.doc
- 华中农业大教案(首页).doc
- 华中师大教技术学真题.doc
- 华中科技大接口技术模拟题3(带答案).doc
- 华中科技大文华学院城建学部 2.doc
- 华中科技大机械科学与工程学院参考书目.doc
- 华东石油《据采集系统》2016年春学期在线作业(一).doc
- 华为TD-CDMA中级(汇总)含答案待.doc
- 岸基供电系统 第4部分:工频电源.pdf
- 人教版八下英语Unit 5 What were you doing when the rainstorm came_测试卷.docx
- 热带作物品种区域试验技术规程 木薯.pdf
- 草原防火阻隔带建设技术规程.pdf
- 渔用气胀救生筏技术要求和试验方法-.pdf
- 浙江省杭州市2024-2025学年八年级下学期期中考试英语试卷(含答案).docx
- 重庆市渝北区六校联盟2024-2025学年九年级下学期期中教学大练兵语文试卷.docx
- 食品安全-花椒籽油 (2).pdf
- 2025年海博思创分析报告:储能集成“小巨人”,国内外业务进展可期.pdf
- 地理标志产品 宽城板栗.pdf
文档评论(0)