16位单片机实验程序讲解Word下载.docx

上传人:b****4 文档编号:17552562 上传时间:2022-12-07 格式:DOCX 页数:71 大小:41.89KB
下载 相关 举报
16位单片机实验程序讲解Word下载.docx_第1页
第1页 / 共71页
16位单片机实验程序讲解Word下载.docx_第2页
第2页 / 共71页
16位单片机实验程序讲解Word下载.docx_第3页
第3页 / 共71页
16位单片机实验程序讲解Word下载.docx_第4页
第4页 / 共71页
16位单片机实验程序讲解Word下载.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

16位单片机实验程序讲解Word下载.docx

《16位单片机实验程序讲解Word下载.docx》由会员分享,可在线阅读,更多相关《16位单片机实验程序讲解Word下载.docx(71页珍藏版)》请在冰豆网上搜索。

16位单片机实验程序讲解Word下载.docx

//文件来源:

《61板实验教程》"

实验一发光二极管单向循环点亮“

//硬件连接:

IOA低8位接至SEG接口控制LED的导通

//IOB6连至DIG7通过ULN2003A控制8个LED的共阴极电平状态。

//IDE环境:

SUNPLUSu'

nSPTMIDE1.8.0

//涉及的库:

//组成文件:

//main.c

//日期:

2004/8/16

#defineP_IOA_Data(volatileunsignedint*)0x7000

#defineP_IOA_Buffer(volatileunsignedint*)0x7001

#defineP_IOA_Dir(volatileunsignedint*)0x7002

#defineP_IOA_Attrib(volatileunsignedint*)0x7003

#defineP_IOB_Data(volatileunsignedint*)0x7005

#defineP_IOB_Buffer(volatileunsignedint*)0x7006

#defineP_IOB_Dir(volatileunsignedint*)0x7007

#defineP_IOB_Attrib(volatileunsignedint*)0x7008

#defineP_Watchdog_Clear(volatileunsignedint*)0x7012

//=============================================================

//函数名称:

Delay()

//日期:

实现延时

//语法格式:

voidDelay(void);

//入口参数:

//出口参数:

//注意事项:

仅为用户模型

//=============================================================

voidDelay()

{//延时子程序

unsignedinti;

for(i=0;

i<

32768;

i++){

*P_Watchdog_Clear=0x0001;

//清WatchDog

}

}

intmain()

发光二极管单向循环点亮

voidmain(void);

//入口参数:

intmain()

{

intLedControl=0x0001;

*P_IOA_Dir=0x00ff;

//设置A口低8位为同向低输出

*P_IOA_Attrib=0x00ff;

*P_IOA_Data=0x0000;

*P_IOB_Dir=0x0040;

//设置B6口为高电平输出,保证LED共阴极接地

*P_IOB_Attrib=0x0040;

*P_IOB_Data=0x0040;

while

(1)

{

*P_IOA_Data=LedControl;

//送数据到A口

LedControl=LedControl<

<

1;

if(LedControl>

0x00FF)

LedControl=0x0001;

Delay();

}

//main.c结束

2、用C实现发光二极管双向循环点亮

led2_C.scs

用C实现发光二极管双向循环点亮

实验二发光二极管双向循环点亮“

voiddelay();

发光二极管双向循环点亮

intLedDir=0x0000;

if(LedDir==1)//反向右移循环

{

LedControl=LedControl>

>

if(LedControl==0x0000)//反向循环完毕

LedDir=0x0000;

LedControl=0x0001;

}

else

{//正向左移循环

if(LedControl==0x0100)//正向循环完毕

LedDir=0x0001;

}

//=============================================================

3、用C实现按键点亮发光二极管

led3_C.scs

用C实现按键点亮发光二极管

实验三按键点亮发光二极管“

//IOA高8位连接到LED键盘模组的1*8KEY接口管脚上,读取相应按键值

//1*8key中ROW1与DGND相连,IOB6连至DIG7通过ULN2003A控制8个LED的共阴极电平状态

externunsignedGetKey(void);

按键点亮发光二极管

unsignedKey=0x0000;

//设置A口低8位为同向低输出,高8位为同向上拉输入

*P_IOA_Data=0xff00;

Key=GetKey();

//取键值

Key=Key>

8;

//取LED显示初值

*P_IOA_Data=Key;

4、用C实现键控发光二极管循环点亮

led4_C.scs

用C实现键控发光二极管循环点亮

实验四键控发光二极管循环点亮“

键控发光二极管循环点亮

intLedControl=0x0000;

//设置A口高8位为同向高输入

*P_IOA_Data=0xFF00;

while

(1)

{

if(Key!

=0)//重新按键

LedControl=Key;

*P_IOA_Data=LedControl;

//LED循环显示

if(LedControl==0x100)//保证输出数据在有效范围以内

5、控制所有数码管循环显示0-9十个数字

//======================================================

//SunnnorthTechnologyCo.Andshallnotbedistributed,reproduced,

//ordisclosedinwholeinpartwithou

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1