焊了半天发现没SOP的9014,其他的还是先不要焊了,要不后面焊9014就不好焊了,先看看我的半成品
再去补点元件,争取下次一次搞定,好在电源部分、流水灯部分、数码管这些都可以用了,找其他元件前可以写点小程序测试了
等其他元件前先写个流水灯测试下供电、复位、流水灯是否正常
#include <AT89X51.H>
void delay(unsigned int n){
unsigned int i,j;
for(i=0;i<250*n;i++)
for(j=0;j<600;j++);
}
void main(){
unsigned int i,dat;
while(1){
dat=0x1;
for(i=0;i<8;i++){
P1=~dat;
delay(1);
dat<<=1;
}
dat=0x80;
for(i=0;i<8;i++){
P1=~dat;
delay(1);
dat>>=1;
}
}
}
测试结果为LED2-LED9顺序点亮,LED9-LED2顺序点亮,说明板子测试部分正常![]()
写了个数码管测试程序,测试下数码管部分是否正常,说明见程序注释,就不再说明了
#include <AT89X51.H>
unsigned char NumTab[25]={0,0,0,0,0,0,0,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0,0,0,0,0,0,0,0};
void delay(unsigned int n) {
int i,j;
for(i=0;i<n;i++)
for(j=0;j<60;j++);
}
void main() {
unsigned int i,j,k;
while(1){
/*数码管流水灯*/
P2=0x0;
for(i=0;i<8;i++){
P0=0x7F; //点亮"8"
delay(1000);
P0=0x80; //点亮"."
delay(1000);
P2++;
}
/*整屏闪烁5次*/
for(i=0;i<5;i++){
P0=0xFF; //亮灯
for(j=0;j<25;j++){
for(k=0;k<8;k++){
delay(5);
P2=k;
}
}
P0=0x0; //灭灯
for(j=0;j<25;j++){
for(k=0;k<8;k++){
delay(5);
P2=k;
}
}
}
/*数字滚屏*/
for(i=0;i<18;i++){ //滚动格数
for(j=0;j<25;j++){
for(k=0;k<8;k++){
P0=NumTab[i+k];
P2=k;
delay(5);
}
}
}
}
}
回复
| 有奖活动 | |
|---|---|
| 这个春节你犒赏自己什么了?分享你的故事,有奖征集 | |
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】SWT 模块使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】32位linux内核内存映射896的理解被打赏¥14元 | |
| AG32VH407开发板例程体系的构成与使用方法被打赏¥20元 | |
| 【S32K3XX】SEMA42 模块使用被打赏¥26元 | |
| 【S32K3XX】XRDC 功能使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】8051使用keil编译的程序移动心得被打赏¥21元 | |
| 【S32K3XX】HSE 密钥管理被打赏¥17元 | |
| 【S32K3XX】Standby RAM的初始化流程被打赏¥18元 | |
| Gravity:中英文语音合成模块V2.0及其串口控制被打赏¥24元 | |
| 全彩色度变化图的绘制被打赏¥27元 | |







我要赚赏金
