《单片机实验报告--数码管、串口----数码管显自己学号、单片机和电脑串口通信.docx》由会员分享,可在线阅读,更多相关《单片机实验报告--数码管、串口----数码管显自己学号、单片机和电脑串口通信.docx(13页珍藏版)》请在第壹文秘上搜索。
1、单片机实验报告数码管、串口一一数码管显自己学号、单片机和电脑串口通信一.数码管在学习板上用数码管来显示数字。在单片机中下载数码管程序如下:/*此程序可以实现,数码管显示0123的状态,用户可以自己根据前边的试验程序,自行编写按下某个按键时,数码管显示某个数字*/ttincludettdefineucharunsignedcharsbitP2_0=P20;sbitP2_l=P21;sbitP2_2=P22;sbitP2_3=P23;ucharcodetable=0xc0,0xf9,0xa4,OxbO,0x99,0x92,0x82,0xf8,0x80,0x90;voiddelay(uchari)(
2、ucharj,k;for(j=i;j0;j-)for(k=125;k0;k-);voiddisplay()P0=table0;P2_0=0;delay(5);P2_0=1;PO=tablel;P2_l=O;delay;P2_l=1;P0=table2;P2_2=O;delay(5);P2_2=1;delay(5);P2_3=1;)*演示主程序*/voidmain(void)(unsignedinta;while(1)(for(a=100;a0;a-)display();!)学习板上会显示0123四个数字。如图所示10Iam w w .叵下J-a非里 -J (agE ,., j0Q %1jJ!S
3、r NC9相Dh而前i而Q4碰 融9鸵mssc000000,更改程序,使其显示为自己的学号。本人的学号后四位为0248.修改程序如下:includettdefineucharunsignedcharsbitP2_0=P20;sbitP2_l=P21;sbitP2_2=P22;sbitP2_3=P23;ucharcodetable=0xc0,0xf9,0xa4,OxbO,0x99,0x92,0x82,0xf8,0x80,0x90;voiddelay(uchari)(ucharj,k;for(j=i;j0;j)for(k=125;k0;k-);)voiddisplay()(P0=table0;P2
4、0=0:delay(5);P2_0=1;P0=table2;P2_l=O;delay(5);P2二1;PO=table5;P2_2=O;delay(5);P2_2=1;PO=tableO;P2_3=O;delay(5);P2_3=1;*演示主程序*/voidmain(void)unsignedinta;whilefor(a=100;a0;a-)display();!)I学习板上会显示自己的学号后四位0250.本实验完成。二.串口通信串口通信,与电脑通信,用串口助手软件实验。在单片机中下载串口通信程序:ORG0000HAJMPMAINORG0023HAJMPRECEIVE;跳转到接收中断入口OR
5、G0030HMAIN:MOVTMOD,#20H;T1工作方式2MOVTHl,ttOFDH;波特率9600MOVSCON,#50H;传口工作方式1,允许中断接受;打开总中断SETBEASETB ESSETB TRlAJMP $;打开串口中断;打开定时器1RECEIVE:CLRRIMOVA,SBUF;串口接收数据MOVRO,AMOVSBUF,A;将接收的数据再传送给计算机JNBTI,$;整体功能是:把收到的数据发回计算机的同时显示在单片机的数码管上CLRTIMOVA,RO;本人实验:ANLA,#OFH;程序上没有问题,回传数据仿真成功,数码管显示仿真不成功,何因?实物验证还有其他问题,还得找原因M
6、OVDPTR,#TAB;查表显示MOVCA,A+DPTRMOVPO,AMOV P2, #0FEH;送LED显示,目前显示程序还有问题SUpll: sl.ct MCU Tyyo 选择单片机型号MCV TypSTC89CRCAP Memory Range-0000 - IFFFStp2步骤2: Open Fil. /打开文件位件范困内未用区域填00) 起始地址O(EX)校验和IoIOOOl F4FH2打开文件前着0缓冲16IF打开文件前百。缓冲Step3步料:Sdect, COIl Port, Max BaUdz选择串行口,M CCM5三O最高波特车: 清尝限提高最低波特率或使最高豉特率:最低波特
7、窣:2400 zJStep4步歌4.设置本框和右下方选项中的选项DoUbIQSPSd /双倍速C 6T/双倍速6 12T/单倍速振荡放大器熠梦:1/2 CainG full的in如雷低功耗,16MHl以下振荡若增益可选l2 gan下次冷启动PL0/P1.1 C与下载无关厂等于0/0才可下教,快速启动内部扩展AUX-RAMC禁止访问 3允许访问G虽烈推荐)下次下熨用户应用程序时将数据Flash区一并脩余r YES C? MOStp5步舞:DwnloW下载 先点下教按典型哄电复便渔罩Download/下教 Re-DOWnIOad/重复下破打开程序文件打开EEIlK:用文件清接收缓冲区3十六遏制显示
8、 字符格式显示I程序文件|_no_串口助手I工程文件I 搀收/键盘发送缓冲区多学符事发送区 发送 4:6三T10jT12每欠下教前重.钻调久已打开在缓冲区的文件,方便调试使用当目标代码发生变化后自动调入文件,并立艘送下载命令单。存品发送区:FG 十六进制发送再发送缓冲区发送字符/数据C字符格式发送自动发送周期MOO麦秒自法FrOPttm OK / 下或 OKVerify OK / W OK erase: 00:00PrOgr丽 timeJ下鬟呵间:00:01Hncrypt OW已力喳打开/关闭用口下教后打开串口撒如+数1发送计数:I关诩田口 I 清空计数ICOMCOttS二J波特率9600:J
9、校验位N3数据瓯三1停止位臼;成功计数降CleMl请关注V”. STCMCU C的 济占,及时升收缩主窗体I使用说明IRETITAB:DBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H,80H,90H共阳字码表09END在STC中的串口助手可以看到串口与电脑的通信,本人学号后两位为50,输入50,输出也为50如图。STC-ISP.exe玄绢&方刘玷:www.STCMCU.sm技术/13922805190(平)V4.83修改程序使输出结果加一,程序如下,ORG0000HAJMPMAINORG0023HAJMPRECEIVE;跳转到接收中断入口ORG0030HMAIN:M
10、OVTMOD,#20H;T1工作方式2MOVTHl,SOFDH;波特率9600MOVSCON,#50H;传口工作方式1,允许中断接受SETBEA;打开总中断SETBES;打开串口中断SETBTRl;打开定时器1AJMP$RECEIVE:CLRRIMOVA,SBUFINCA;串口接收数据MOVRO,AMOVSBUF,A;将接收的数据再传送给计算机JNBTI,$;整体功能是:把收到的数据发回计算机的同时显示在单片机的数码管上CLRTIMOV A, RO;本人实验:ANLA,#OFH;程序上没有问题,回传数据仿真成功,数码管显示仿真不成功,何因?实物验证还有其他问题,还得找原因MOVDPTR,#TAB;查表显示MOVCA,A+DPTRMOVPO,AMOVP2,#0FEH;送LED显示,目前显示程序还有问题RETITAB:DBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8H,80H,90H共阳字码表09END在STC中输入本人学号后两位50,输出51实验完成