标题: 利用单片机、定时器、串行口、1个按键和3位数码管,构建单片机和电脑通讯系统 [打印本页]

作者: 终焉    时间: 2021-1-5 18:14
标题: 利用单片机、定时器、串行口、1个按键和3位数码管,构建单片机和电脑通讯系统
本帖最后由 终焉 于 2021-1-5 18:37 编辑

利用单片机、定时器、串行口、1个按键和3位数码管,构建单片机和电脑通讯系统,要求:
1)每1秒数码管显示值加1,数码管显示方式不限,共阴共阳不限;
2)按下按键,将当前显示值在虚拟终端上显示;
3)从电脑键盘输入新显示值,单片机接收到后,从此值基础上进行显示值的累进(如当前数码管显示5,按下电脑键盘8,则显示更新为从8显示)。

输入234然后回车完成输入操作。
输出是通过按钮(外部中断0下降沿触发实现的)
定时可能不准,串行口是晶振为11.0592MHz,一开始写定时部分程序是用的12MHz计算的,需要自己把那部分的TH0和TL0的值改一下
我设置了删除操作,就懒的设置输入超过999会有警报或者锁定前三位之类的操作
有需要其他相关操作的可以在代码79行(定时器T0中断程序部分修改)比如改成
    if(second>=999)
    {
//        TR0=0;
        second=0;
        TR0=1;
    }
超过999就直接从0开始计时

还设置了只有数字输入有效,字母或者其他的是字符输入不反应
当计时超过999,我这边设置的是关闭定时器T0,显示0。(修改办法同上)


F3]_ILK`A7}E0)AE_F18NRL.png (54.03 KB, 下载次数: 81)

仿真图

仿真图

A09.zip

123.42 KB, 下载次数: 8, 下载积分: 黑币 -5

程序和仿真






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1