MDK-5.10安装
1.双击mdk_510.exe,进行安装。这里我们将其安装到D盘,MDK5.10文件夹下,需要设置安装路径。 2.点击"I agree …“和"Next”。 3.选择软件安装路径。 4.填写注册信息。 5.等待安装。 6.软件安装完成之后会自动弹出一个keil的网页和pack Installer窗口。 7.stm32 pack安装在解压缩后的文件夹中双击依次打开以下pack,并完成安装。
1.以管理员身份运行的Keil uVision5。 2.点击:File,License Management,调出注册管理界面。 3.关闭杀毒软件。 4.运行光盘MDK5目录下的keygen.exe,设置Target为ARM。 5.拷贝MDK License Management 界面里面的CID号
6.将CID号粘贴到keygen.exe里面CID栏,点击:Generate,即可获得注册码。 7.拷贝注册码到License Management里面,点击Add LIC即可完成注册。
(1)建立一个工程1.打开Keil uVision5,找到File,然后点击New uVision Project (2)选择需要使用的stm32芯片
(3)对Run-Time Environment进行设置,设置完成后,点击OK,这样一个工程就建立完成
1.原理图:放置芯片和元件,之后开始放置元件,画总线,放置电源,连接元件
2.程序
(1)建立项目,首先打开Keil uVision,点击Project,找到New uVision Project
(2)选择项目需要使用的芯片
(3)代码
///************************* s1:Äϱ± ºì ¶«Î÷ ÂÌ s2:Äϱ± ºì ¶«Î÷ »Æ s3:Äϱ± ÂÌ ¶«Î÷ ºì s4:Äϱ± »Æ ¶«Î÷ ºì *************************/ #include<reg52.h> typedef unsigned char uchar; typedef unsigned int uint; #define count 50000 #define TH_0 (65536-count)/256 #define TL_0 (65536-count)%256 sbit ew_led_r=P3^0; sbit ew_led_y=P3^1; sbit ew_led_g=P3^2; sbit ns_led_r=P3^3; sbit ns_led_y=P3^4; sbit ns_led_g=P3^5; sbit bit_0=P2^0; sbit bit_1=P2^1; uchar code duanxuan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar sec=30; uchar flag=1; void delay(uint iii) { while(iii--); } void display() { if(flag==1||flag==2)//״̬1ºÍ״̬2£¬¶«Î÷±ÈÄϱ±ÉÙ2Ãë { bit_0=0;bit_1=1; P0=duanxuan[sec%10]; delay(100);P0=0x00; if(sec>2) { P1=duanxuan[(sec-2)%10]; delay(200);P1=0x00; } else { P1=duanxuan[sec%10]; delay(200);P1=0x00; } bit_0=1;bit_1=0; P0=duanxuan[sec/10]; delay(100);P0=0x00; if(sec>2) { P1=duanxuan[(sec-2)/10]; delay(200);P1=0x00; } else { P1=duanxuan[sec/10]; delay(200);P1=0x00; } } else //״̬3ºÍ״̬4£¬Äϱ±±È¶«Î÷ÉÙ2Ãë { bit_0=0;bit_1=1; P1=duanxuan[sec%10]; delay(100);P1=0x00; if(sec>2) { P0=duanxuan[(sec-2)%10]; delay(200);P0=0x00; } else { P0=duanxuan[sec%10]; delay(200);P0=0x00; } bit_0=1;bit_1=0; P1=duanxuan[sec/10]; delay(100);P1=0x00; if(sec>2) { P0=duanxuan[(sec-2)/10]; delay(200);P0=0x00; } else { P0=duanxuan[sec/10]; delay(200);P0=0x00; } } } void timer_init() { TMOD=0x01; EA=1;ET0=1;TR0=1; TH0=TH_0;TL0=TL_0; } void led_display() { if(flag==1) //s1 { ew_led_r=0; ew_led_g=1; ew_led_y=1; ns_led_r=1; ns_led_g=0; ns_led_y=1; } else if(flag==2) //s2 { ew_led_r=0; ew_led_g=1; ew_led_y=1; ns_led_r=1; ns_led_g=1; ns_led_y=0; } else if(flag==3) //s3 { ew_led_r=1; ew_led_g=0; ew_led_y=1; ns_led_r=0; ns_led_g=1; ns_led_y=1; } else if(flag==4) //s4 { ew_led_r=1; ew_led_g=1; ew_led_y=0; ns_led_r=0; ns_led_g=1; ns_led_y=1; } else { flag=1;//Ò»¹²Ëĸö״̬ } } void main() { timer_init(); while(1) { display(); led_display(); } } void timer0() interrupt 1 { static uchar jjj=0; TH0=TH_0;TL0=TL_0; if(++jjj==20) { jjj=0; sec--; if(sec==0) { sec=30; flag++;//s3 } if(sec-2==0) { flag++;//s2 s4 } } }(4)建立文件 (5)编译结果 (6)设置工程
3.仿真结果
