找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4180|回复: 0
打印 上一主题 下一主题
收起左侧

分享几个51单片机练习任务题

[复制链接]
跳转到指定楼层
楼主
1.练习
(1)单片机发给电脑
  请在“练习.txt”文件里的代码基础上,填写相应的代码,使得单片机串口打开,并工作在方式1,波特率为4800。并利用查询方式不断发送一组字符串给电脑。
  电脑端使用串口调试助手软件“sscom33.exe”,设置在波特率4800,数据位8位的方式下,并打开串口。
  可以发现“sscom33.exe”会收到单片机发过来的字符串。

(2)电脑发送给单片机
  在练习1的基础上,设置不变,增加:打开接收功能,并打开中断开关。
  并编写串口中断响应函数,在中断函数内将接收到的字节通过P0口输出,P0口接8个LED灯。
  电脑端使用“sscom33.exe”,设置不变,勾选“HEX发送”,然后在“字符串输入框”输入“F0”,并点击发送。
  可以发现单片机收到十六进制的“F0”字节,会让高4个LED灯亮,低4个LED灯灭。

2.必做题
  使用两台单片机,两台单片机都可以同时收发,其中任何一台单片机的8个按键某个按下去,另一台单片机的8个LED灯相应位置的灯会亮起,松掉按键灯灭。
  注意两台单片机的连线需要三根:TXD,RXD和GND

3.选做题
  利用电脑发一个数字给单片机,单片机将其显示在数码管上。或电脑发送数据给单片机,单片机根据不同的内容,执行不同的工作(亮LED灯,或调节灯亮度,或发出声音)
  (注意:“sscom33.exe”勾选“HEX发送”后,将输入框里的内容当成十六进制发送,如果不勾选,则将输入框里的内容当字符串一个一个字符地发送)

#include<reg51.h>

unsigned char code msg[16] = "hello world!\n";

void UsartConfiguration();
void Delay10ms(unsigned int c);

void main()
{
    unsigned char i;
    UsartConfiguration();
    while(1)
    {
        for(i=0; i<16; i++)
        {
            //在这里使用查询发送方式将msg[16]的字符一个一个发送出去
            //put your code here!
        }
        Delay10ms(50);
    }
}
void UsartConfiguration()
{
    //在这里设置串口工作在方式1,波特率4800
    //设置过程:(1)设置串口工作方式SCON和PCON
    //          (2)设置T1工作方式TMOD,初值TH1/TL1,开启T1定时器
    //          (3)因为使用查询发送,不用开启中断
    //put your code here!
}

void Delay10ms(unsigned int c)
{
    unsigned char a, b;
    for (;c>0;c--)
        for (b=38;b>0;b--)
            for (a=130;a>0;a--);
}

0.png (47.53 KB, 下载次数: 48)

0.png

实验九.rar

813.75 KB, 下载次数: 6, 下载积分: 黑币 -5

单片机控制LCD

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表