《嵌入式系统原理与应用 :流水灯实验.docx》由会员分享,可在线阅读,更多相关《嵌入式系统原理与应用 :流水灯实验.docx(5页珍藏版)》请在三一办公上搜索。
1、实验二实验目的1、学习单片机I/O 口结构特点及相关寄存器的使用方法2、掌握一个简单具体的单片机项目的开发流程3、了解Proteus ISIS软件及使用方法实验环境Keil uVision2 + Proteus7.8 + PC 机一台实验内容1、打开ISIS 7 Professional,参照实验电路绘制仿真电路原理图2、编程实现:(1)从VD1VD32主次点亮每个LED,然后熄灭。每个LED亮灯时间约200ms(2)点亮VD32,200ms后点亮VD31.最后点亮VD1,直到灯全部被点亮(3)在全部灯亮的情况下,从VD1VD32逐次熄灭LED,熄灭VD1,延时200ms,然后熄灭VD2,延时
2、200ms,.熄灭VD32,全部灯被熄灭(4)重复上述过程实验电路vCCvCCRPlJ1f ,严MW P1Q,jg.叩仲.vpig|jFtW.CK-al斗F 边8.CKTZXT3ampuLlipira_ irrarpin P-rpg.nro j=VD6 哄pn B 哄fm l9 HRE .VPN pil PJraar, P5L 扣W 哄g ;北象船;3口 ,扣ms;vcc|MD* FIT 富案r宴霉 哧 P37 工MD24优:匚:RP2 fE.w M 茶4 F:P4,eg颅 f-里M M F1 戏vms:5 EJ1.WF3 3;,|jlLl_P0i_目*= = w-=J *11 RC3 EE.
3、riB 京 嚣仲 扣口厘; .P03.-XO p; FETP.i.O-.J-012|-U|1330 EJk v-lj-vETP.i.O-.JEf富裟告晶皿 :xr.xiranre VD14 . %0 ./03机W . E皿.皿MD1 强 Pii?|PW7 =VD32#include unsigned char code tab1 = (0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff);/左 移单 个点亮unsigned char code tab2 = (0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff);/右
4、移逐个点亮unsigned char code tab3 = (0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,0x00);/左 移逐 个熄灭void Delay()unsigned char i,j;for(i=0;i255;i+)for(j=0;j255;j+);void main()unsigned char i;while(1)程序及主要模块流程图左移单个点亮,VD1-VD2-for(i=0;i9;i+)P1=tab1i;/单个点亮 D1D8 , 0xfe=111111100xfd=11111101Delay();for(i=0;i9;i+)P0=tab
5、1i;/单个点亮 D9D16 , 0xfe=111111100xfd=11111101Delay();for(i=0;i9;i+)P3=tab1i;/单个点亮 D17D24Delay();for(i=0;i9;i+)P2=tab1i;/单个点亮 D25D32Delay();/右移逐个点亮,最后全亮,VD32VD31for(i=0;i8;i+)P2=tab2i;/逐个点亮 D32D25 ,0x7f=01111111Delay();for(i=0;i8;i+)P3=tab2i;/逐个点亮 D24D17Delay();for(i=0;i8;i+)P0=tab2i;/逐个点亮 D16D9Delay()
6、;for(i=0;i8;i+)P1=tab2i;/逐个点亮 D8D1Delay();/左移逐个熄灭,for(i=0;i8;i+)P1=tab3i;/逐个熄灭 D1D8, 0x01=00000001 0x03=00000011 Delay();for(i=0;i8;i+)P0=tab3i;/逐个熄灭 D9D16Delay();for(i=0;i8;i+)P3=tab3i;/逐个熄灭 D17D24Delay();for(i=0;i8;i+)P2=tab3i;/逐个熄灭 D25D32实验数据或结果心得体会通过本次实验对keil软件以及proteus软件有了初步的认识, 设计控制灯泡开关的实验对这两个软件进行了简单的应用。学 习单片机I/O 口结构特点及相关寄存器的使用方法,掌握一个 简单具体的单片机项目的开发流程,进一步了解了 Proteus ISIS软件及使用方法。评语及成绩