单片机测试程序文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实习步骤
本单片机最小系统是以AT89S51单片机为控制核心,由驱动芯片ZLG7289与16键的键盘矩阵实现对两个4位一体共阴数码管LED的驱动显示,由LCD1602实现液晶显示,再通过电平转换芯片MAX232并连接到232接口实现串口通信,系统还包含有蜂鸣器,USB及适配器供电接口,JTAG程序下载接口,总线扩展等。首先,用protel99se软件制作硬件电路原理图及绘制PCB板;其次,安装焊接单片机最小系统开发板及下载线,并且进行电路调试;再次,在Keil uVision2软件环境下调试单片机汇编程序或C语言程序,用单片机下载软件ISPLAY或STC-ISP V31实现程序下载,从而用编程实现最小系统的基本功能;最后,编写综合程序以实现系统功能的综合以及拓展功能,其中串口通信用到电脑自带的超级终端或AccessPort软件。
单片机最小系统板焊接
首先对照元件清单和电路图,检查器件是否完整,型号﹑规格﹑安装是否正确。然后将各器件根据焊接规则焊接到电路板上,其中对于器件的摆放方向和位置需十分注意。先焊发热器件电阻和较低的电容,再焊较大的器件,焊接JTAG 线,JTAG线里面的芯片电阻,电阻电容均为贴片封装,焊接时需小心谨慎,对于各条线引的焊接也需谨慎,按照其对应的顺序进行焊接,焊接结束后,自行组装。
检查已经焊好的电路板和JTAG下载线是否无误:⑴先用万用表检查电路板焊接是否都正确。⑵当检查没有短路,断路,虚焊,漏焊等错误后,给电路板供电,看二极管是否亮,是否有器件过热,有可能二极管或三极管会在焊接的过程中被烧坏,那样的话就要重新焊器件。⑶再用Keil软件给板子拷正确的程序,检查是否能按功能正常工作。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。
软件设计
在Keil软件环境下对照相关资料编写单片机最小系统开发板的有用程序,使设计好的程序编译无误,得到hex格式文件,用程序下载软件加载到单片机芯片中,实现仿真电路,在板上得出效果。设计工具:电脑,Keil软件,Isplay 软件,STC-ISP V31软件
蜂鸣器调试
主要是检验程序能否下载到芯片,蜂鸣器能正常工作,掌握程序的编译下载到芯片的方法。
⑴在Keil环境中用C语言编写简单是蜂鸣器程序或音乐播放程序。
⑵对Keil软件和程序下载软件进行相关配置设置。
⑶将编译产生的hex文件下载到芯片,检测其工作是否正常,若工作不正常,则从软件及硬件两方面进行检查。有用的报警声程序见附录4
串口通信调试
实现计算机与单片机之间相互通讯功能
⑴将编写的串口调试程序经过编译,下载到单片机。
⑵串口实现功能为在计算机上能显示单片机的输出。检测串口是否能正常工作,此阶段需用到串口软件及串口线。若不能正常工作,则需从软件和硬件两方面进行检查。
⑶正确功能为在电脑超级终端不停显示输出容,与预期相同,工作正常。
液晶显示调试
保证液晶屏LCD能正常工作,输出效果有所扩展。
⑴在编写程序前,认真阅读LCD液晶屏资料,掌握LCD1602及1602液晶模块数
据手册(中文)中的液晶的使用和编程方法,了解其工作时序,及各个指令及初始化。
⑵对照电路图中LCD连接情况,编写LCD1602移动显示程序,经编译下载至单片
机,检测输出,若无输出,则调整电位器,若仍无输出则从软件及硬件两方面进行检查,找出错误原因,直至液晶屏能正常工作。
⑶在程序编写时应时刻注意各个指令间的延时控制。以保证液晶屏呈现效果移动
循环显示,液晶屏工作正常。之后也可用LCD做数字钟,这将在综合程序里被用到,液晶移屏显示程序见附录6
数码管及键盘控制调试
保证数码管能正常显示,以及按键能控制数码管的显示.
⑴在编写程序前,应认真阅读LED和ZLG7289A资料,了解和掌握其工作时序,及各个指令及初始化,在程序编写时应时刻注意各个指令间的延时控制。
⑵对照电路图中ZLG7289模块的连接情况,编写程序,经过编译,然后下载到单片机,检测展现效果,是否与程序预期相同。
⑶实现效果逐个闪烁,逐个消隐,键盘控制改变数据并移动,与预期相同,工作状态正常。﹑再利用单片机部时钟中断,编写数码管时钟程序,使数码管能够实现计时功能,键盘能够控制时分秒。
系统综合功能设计
综合单片机开发板上的各个功能模块,以实现一个完整的系统功能:
⑴根据前面对各模块功能的理解和程序编写,结合各个模块实现一个整体系统,把各模块功能综合起来。
⑵设计一综合系统,使数码管实现数字钟且可右移﹑闪烁,液晶屏实现时间、日
期的显示且可移屏,键盘能够控制系统,蜂鸣器与键盘且可整点报时,可实现串口通信功能。
鸣器调试程序
本程序根据蜂鸣器与单片机P3.3口相连设计,可以验证单片机及下载功能的正确.
#include
#include
sbit buz = P3^3;
unsigned char flag;
void delayms(unsigned char ms)
/*延时子程序*/
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
/*主程序*/
main()
{
TMOD = 0x01;
flag = 0x00;
TH0 = 0x00;
TL0 = 0xff;
TR0 = 1;
IE = 0x82;
while(1)
{
flag++;
delayms(1);
}
}
/*中断控制*/
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq;
buz= ~buz;
}
串口通信调试程序(单片机到PC机)
此为串口通信程序,可在电脑上的超级终端显示相关语句,实现单片机与电脑的相互通信。遇到的问题:在进行单片机传信息到电脑终端时,可是利用宏文件,直接调用printf.但是在实际的运用中占用大量的空间资源,而且容易出现错误,让程序的工作不正常,因此我们改用字节的传送,利用串口一个字节一个字节的传送,这样就大大增加了程序的可读性。
#include
/* for the intended 8051 derivative*/ #include
#ifdef MONITOR51 /* Debugging with Monitor-51 needs*/ char code reserve [3] _at_ 0x23; /* space for serial interrupt if */ #endif /* Stop Exection with Serial Intr. is enabled */
/*------------------------------------------------
The main C function. Program execution starts
here after stack initialization.
------------------------------------------------*/
void main (void) {
/*------------------------------------------------
Setup the serial port for 1200 baud at 12MHz.
------------------------------------------------*/