单片机故障排除篇--如何判定是硬件问题还是软件问题?
一段代码写完了,编译下载都ok。
但是没有看到想要的结果?怎么排错???
借一个别人正常的板子是一种方法,但是镜像提供了全仿真工具,试一下吧。
新建项目:
添加time.c到工程中!
添加复用数码管。
当然程序要做微微调整。
单片机课堂思考题-2000秒倒计时?
参考上例程序:
先分配管脚和端口
#include<8052.h> unsigned char smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x0f8,0x80,0x90};
unsigned char T0RH = 0;
unsigned char T0RL = 0;
unsigned int cnt;
int sec;
int sec_all=6666;
int count=0;
void LedScan(unsigned char pos,unsigned char dispcode);
void EXINT0() __interrupt 0;
void Timer0() __interrupt 1;
void EXINT1() __interrupt 2;
void ConfigTimer0(unsigned int);
void main()
{cnt = 0; sec = sec_all; ConfigTimer0(2); IT0=1; EX0=1;IT1=1; EX1=1;PX1=1; TR0=1; while(1){LedScan(0,smgduan[sec%10]); LedScan(1,smgduan[sec/10%10]); LedScan(2,smgduan[sec/100%10]); LedScan(3,smgduan[sec/1000]); if(count%2==0){TR0 = 1;}else{TR0 = 0;} }
}void EXINT0() __interrupt 0
{count++;
}
void EXINT1() __interrupt 2
{sec_all=0;
}void ConfigTimer0(unsigned int ms)
{unsigned long tmp; tmp = 11059200 / 12; tmp = (tmp * ms) / 1000; tmp = 65536 - tmp; tmp = tmp + 18; T0RH = (unsigned char)(tmp>>8); T0RL = (unsigned char)tmp;TMOD &= 0xF0; TMOD |= 0x01; TH0 = T0RH; TL0 = T0RL;ET0 = 1;
}void Timer0() __interrupt 1
{TH0 = T0RH; TL0 = T0RL;cnt++; if (cnt >= 5){cnt = 0;sec--; if (sec < 0) {sec = sec_all; }}
}void LedScan(unsigned char pos,unsigned char dispcode)
{unsigned char i;for(i=0;i<=pos;i++){ switch(pos) {case(0):P1_0=0;P1_1=1;P1_2=1;P1_3=1; break;case(1):P1_0=1;P1_1=0;P1_2=1;P1_3=1; break;case(2):P1_0=1;P1_1=1;P1_2=0;P1_3=1; break;case(3):P1_0=1;P1_1=1;P1_2=1;P1_3=0; break;}P0=dispcode; }
}
#include<8052.h> unsigned char smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x0f8,0x80,0x90};
unsigned char T0RH = 0;
unsigned char T0RL = 0;
unsigned int cnt;
int sec;
int sec_all=6666;
int count=0;
void LedScan(unsigned char pos,unsigned char dispcode);
void EXINT0() __interrupt 0;
void Timer0() __interrupt 1;
void EXINT1() __interrupt 2;
void ConfigTimer0(unsigned int);
void main()
{cnt = 0; sec = sec_all; ConfigTimer0(1); IT0=1; EX0=1;IT1=1; EX1=1;PX1=1; TR0=1; while(1){LedScan(0,smgduan[sec%10]); LedScan(1,smgduan[sec/10%10]); LedScan(2,smgduan[sec/100%10]); LedScan(3,smgduan[sec/1000]); if(count%2==0){TR0 = 1;}else{TR0 = 0;} }
}void EXINT0() __interrupt 0
{count++;
}
void EXINT1() __interrupt 2
{sec_all=0;
}void ConfigTimer0(unsigned int ms)
{unsigned long tmp; tmp = 11059200 / 12; tmp = (tmp * ms) / 1000; tmp = 65536 - tmp; tmp = tmp + 18; T0RH = (unsigned char)(tmp>>8); T0RL = (unsigned char)tmp;TMOD &= 0xF0; TMOD |= 0x01; TH0 = T0RH; TL0 = T0RL;ET0 = 1;
}void Timer0() __interrupt 1
{TH0 = T0RH; TL0 = T0RL;cnt++; if (cnt >= 2){cnt = 0;sec--; if (sec < 0) {sec = sec_all; }}
}void LedScan(unsigned char pos,unsigned char dispcode)
{unsigned char i;for(i=0;i<=pos;i++){ switch(pos) {case(0):P1_0=0;P1_1=1;P1_2=1;P1_3=1; break;case(1):P1_0=1;P1_1=0;P1_2=1;P1_3=1; break;case(2):P1_0=1;P1_1=1;P1_2=0;P1_3=1; break;case(3):P1_0=1;P1_1=1;P1_2=1;P1_3=0; break;}P0=dispcode; }
}
单片机故障排除篇--如何判定是硬件问题还是软件问题?相关推荐
- 三菱mr服务器如何显示脉冲数,MR-JE-200A参数设置三菱MR-JE-200A操作手册(故障排除篇) - 广州正凌...
类型:MR-C型. 符号10A适用电机型号:HC-PQ23. 电源电压:单相AC220V. 驱动器方面:伺服驱动器在发展了变频技术的前提下, 在驱动器内部的电流环, 速度环和位置环(变频器没有该环)都 ...
- r710服务器系统故障排除,DELL R710服务器安装windows sever2008 故障排除经历(一)硬件排错...
前些天导师说服务器操作系统版本太低,当时运过来的时候要装win7的,结果装了两天没装上,经销商只好装了个win2000sever了事.但是买的时候可是2011年啊,用个win2000的系统,这种硬件不 ...
- 三菱服务器报警je系列c01,MR-JE-70A手册三菱伺服放大器MR-JE-70A故障排除篇操作手册 - 广州凌控...
电缆长度:20m. 用于MR-J2S-700A(4)/CP/CL或更小. 编码器用于HC-KFS:HC-MFS:HC-UFS 3000r/min伺服电机. -H产品有很长的弯曲寿命三菱伺服放大器操作手 ...
- 三菱mr系列服务器故障代码a6,三菱MR-JE-40A操作手册MR-JE-40A故障排除篇手册 - 广州凌控...
三菱电机通用交流伺服放大器MELSERVO-J3系列. 额定输出:11.0kw. 接口类型:SSCNETⅢ光纤通讯型. 电源规格:三相AC200V. 通过采用运动控制器和伺服放大器之间最快高达0.44 ...
- WINDOWS故障排除篇-1
问题一:电脑使用着发现系统时间更改成2005或更久之前的日期,导致某些杀毒软件或其他程序不能正常使用. 处理:原因之一,可能是电脑的内置电源没有电了,需要更换电脑中的内置电源. 原因之二,可能是中了某 ...
- 关于单片机对三极管B值测量的硬件电路和软件思路分享
三极管的B值的侧量: 首先应该知道三极管的B值是怎么怎么测量 这是重点也是测量的终点. 在学习模拟电路时记得有一个三极管测量实验 ,首先调整静态工作电压使三极管导通之后通过测量Ice.Ibe之后产生的 ...
- [单片机框架][drivers层][cw2015/ADC] fuelgauge 硬件电量计和软件电量计(一)
接上一篇:[单片机框架][device层] fuelgauge 电量计 CW2015 是一款超紧凑.低成本.主机侧/电池组侧.无传感电阻器的电量计量系统 IC,适用于手持和便携式设备中的锂离子 (Li ...
- EMC测试仪器_电巢学堂:单片机系统EMC测试和故障排除
原标题:电巢学堂:单片机系统EMC测试和故障排除 对于从事单片机应用系统(软硬件)设计的工程技术人员来说,掌握一定的EMC测试技术是十分必要的. 一.关于EMC EMC:Electromagnetic ...
- vSphere 故障排除之网络篇
上一个话题讨论了vSphere故障排除的网络相关典型场景,本篇内容探讨一下存储相关的典型故障场景. 首先我们简单回顾一下vSphere所支持的常见的存储类型:DAS,NAS(NFS),SAN(iSCS ...
最新文章
- golang 第三方包的使用总结
- c语言printf()输出格式控制
- 7-1 最大子列和问题
- 计算机组成 指令扩展,计算机组成原理课程设计--指令扩展设计.doc
- java培训学费_北京Java培训班学费很贵吗,包含了哪些收费项目
- ffmpeg处理RTMP流媒体的命令 发送流媒体的命令(UDP,RTP,RTMP)
- php yaf框架扩展实践一——配置篇
- jquery版本之间的冲突
- XFTP6 要继续使用此程序,您必须应用最新的更新或使用新版本
- ZZULIOJ1011: 圆柱体表面积
- 计算机网络:小明在家打开一个网址过程细致版(DNS缓存、DNS查询、TCP/IP协议、ARP协议、HTML渲染)
- js 公共方法 数组对象求和
- Spring Admin 入门
- c语言报告对老师的致谢,论文对老师的致谢
- 查看iOS手机系统日志,在mac/window电脑上查看
- idea工具和激活码获取
- 【FinE】在险价值(VaR)计算
- 从 .NET 开发人员的角度理解 Excel 对象模型 (From MSDN)
- 计算机策略组无法打开怎么办,电脑打不开gpedit.msc组策略怎么办
- 车辆底盘自动集中润滑系统的研究分析