目次
1. keil5ソフトウェアを使用してソースファイルを作成します
1.新しいプロジェクトファイルを作成します
注意 ここでSTM32チップを選択します
2.次のコードを入力して、プロジェクトファイルに追加します
#include "reg52.h"
sbit hr=P1^0;
sbit hy=P1^1;
sbit hg=P1^2;
sbit sr=P1^3;
sbit sy=P1^4;
sbit sg=P1^5;
sbit h1=P2^0;
sbit h2=P2^1;
sbit s1=P2^2;
sbit s2=P2^3;
int count=0;
int time=0;
int num[10]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(int t)
{
int x,y;
for(x=0;x<t;x++)
{
for(y=0;y<100;y++);
}
}
void main()
{
P1=0xff;
hg=0;
sr=0;
P2=0x00;
TMOD=0x01;
TL0=0x3C;
TH0=0xB0;
ET0=1;
EA=1;
TR0=1;
while(1)
{
if(time<30)//ºáÂÌ Êúºì
{
h1=1;P0=num[((30-time)/10)];delay(10);h1=0;
h2=1;P0=num[((30-time)%10)];delay(10);h2=0;
s1=1;P0=num[((33-time)/10)];delay(10);s1=0;
s2=1;P0=num[((33-time)%10)];delay(10);s2=0;
}
else if(time<33)//ºá»Æ Êúºì
{
h1=1;P0=num[((33-time)/10)];delay(10);h1=0;
h2=1;P0=num[((33-time)%10)];delay(10);h2=0;
s1=1;P0=num[((33-time)/10)];delay(10);s1=0;
s2=1;P0=num[((33-time)%10)];delay(10);s2=0;
}
else if(time<63)//ºáºì ÊúÂÌ
{
h1=1;P0=num[((66-time)/10)];delay(10);h1=0;
h2=1;P0=num[((66-time)%10)];delay(10);h2=0;
s1=1;P0=num[((63-time)/10)];delay(10);s1=0;
s2=1;P0=num[((63-time)%10)];delay(10);s2=0;
}
else if(time<66)//ºáºì Êú»Æ
{
h1=1;P0=num[((66-time)/10)];delay(10);h1=0;
h2=1;P0=num[((66-time)%10)];delay(10);h2=0;
s1=1;P0=num[((66-time)/10)];delay(10);s1=0;
s2=1;P0=num[((66-time)%10)];delay(10);s2=0;
}
}
}
void timer() interrupt 1
{
TH0=0x3C;
TL0=0xB0;
count=count+1;
if(count==20)
{
count=0;
time=time+1;
//led
if(time==30)
{
P1=0xff;hy=0;sr=0;
}
else if(time==33)
{
P1=0xff;hr=0;sg=0;
}
else if(time==63)
{
P1=0xff;hr=0;sy=0;
}
else if(time==66)
{
time=0;
P1=0xff;hg=0;sr=0;
}
}
}
3.最後にコンパイルして.hexファイルを生成します
これまでのところ、すべてのソフトウェアの準備が完了しています
2.ハードウェアシミュレーションにProtues8.9を使用します
1.回路図設計を確立します
2.必要なデバイスを選択します
3.回路図を設計します
注意 選択したチップモデルはSTM32F103R6です。
4.チップをクリックします
生成された.hexファイルを選択し、チップに入れて
実行すると、結果が表示
されます。コードで設定された時間間隔が短すぎるため、LEDは速く点灯しますが、最終的には成功しました。