白醋洗脸有什么效果| 外阴瘙痒是什么病| 口苦吃什么药最好| 重庆有什么烟| 心肌炎是什么病| 子宫肌瘤伴钙化是什么意思| 月经过后腰酸疼是什么原因| 湿气重喝什么茶好| 阑尾炎做什么检查| 宅心仁厚是什么意思| 机器灵砍菜刀是什么意思| 神经疼吃什么药| 念旧的人是什么样的人| 葛洲坝集团是什么级别| 航母舰长是什么级别| 常吃猪油有什么好处和坏处| 养猫的人容易得什么病| 清和是什么意思| 骨皮质是什么| 118代表什么意思| 林黛玉是什么病| 甲胎蛋白偏高是什么原因| 属鼠是什么命| 什么可以吃| 放屁多什么原因| 梦见猫死了是什么意思| le是什么| 总手是什么意思| 千里共婵娟什么意思| 肾结石都有什么症状| 晚上六点半是什么时辰| 履约是什么意思| 多吃蒜有什么好处和坏处| 嗳气是什么症状| 1985年牛五行属什么| 卵泡刺激素是什么意思| 什么什么不平| 束缚什么意思| 第六感是什么意思| 阴茎里面痒是什么原因| 性质是什么| 芥蒂是什么意思| 孕妇白蛋白偏低是什么意思| 橄榄绿是什么颜色| 李元霸为什么怕罗士信| 经常打嗝放屁是什么原因| 痂是什么意思| 莴笋炒什么好吃| 月经不调是什么原因造成的| 孕妇喝什么牛奶对胎儿好| 表面是什么意思| 脾肾两虚吃什么中成药| 穿什么衣服显白| 上热下寒吃什么中成药| 肝掌是什么原因引起的| b型钠尿肽是什么意思| covu是什么药| 喝水经常呛到是什么原因| 筋膜炎是什么症状| 看病人送什么花合适| 吃什么对心脏好改善供血不足| 2024什么年| 周瑜是一个什么样的人| 肾阴虚有什么症状表现| 唯心是什么意思| 房间消毒杀菌用什么好| 鱼香肉丝属于什么菜系| 觉是什么结构| 张国荣什么时候去世的| 孕妇血糖高可以吃什么水果| 半梦半醒是什么意思| 人为什么要喝水| 梦见已故老人是什么预兆| 褒义词是什么意思| 小猫起什么名字好听| 浮水是什么意思| 心机血缺血是什么症状| 金银花搭配什么泡水喝好| 女性下体长什么样| 属牛和什么属相相冲| 为什么一个月来两次月经| 余事勿取是什么意思| 外阴皮肤痒是什么原因| 婴儿放屁多是什么原因| kiv是什么车| 拔火罐有什么好处| 液化是什么意思| 鲤鱼爱吃什么食物| 股癣用什么药膏好得快| 为什么会长斑| 自我安慰是什么意思| 2月29号是什么星座| 梦见大黑蛇是什么预兆| 甲状腺结节看什么科| 就坡下驴什么意思| 髋关节在什么位置| 囊性结节是什么意思| 乳腺回声不均匀是什么意思| 做梦梦见离婚是什么意思| 什么球身上长毛| 风湿是什么原因造成的| 承上启下是什么意思| 经常打嗝是什么原因引起的| 女生为什么会痛经| 鼻甲肥大是什么原因| 肚子突然疼是什么原因| pr是什么工作| 小兔子吃什么食物| 卩是什么意思| 结肠炎吃什么药| 色调是什么意思| 什么工作好| 发什么什么大| 技校是什么学历| 什么样的土豆不能吃| 内膜厚是什么原因| 婆媳关系为什么难相处| 上眼皮突然肿了是什么原因| 重庆为什么这么热| 八字指的是什么| 打嗝是什么原因| 前庭神经炎吃什么药| 腹胀吃什么药最有效| triangle是什么意思| 珅是什么意思| 叉烧炒什么菜好吃| vd是什么| 乳房结节吃什么药| 郭靖属什么生肖| 翌字五行属什么| 侏儒症是缺乏什么元素| 为什么姓张的不用说免贵| 柴火饭是什么意思| 油脂是什么| 微凉是什么意思| 做梦梦到很多蛇是什么意思| 莆田医院是什么意思| 海水倒灌是什么意思| 脖子长痘是什么原因引起的| 道地是什么意思| 左胸上方隐痛什么原因| 甲亢是一种什么病严重吗| 哺乳期吃辣椒对宝宝有什么影响| 眼睛眼屎多是什么原因| 血小板低吃什么食物补得快| 扁桃体发炎吃什么食物| 玉兰油属于什么档次| 什么叫阵雨| 观音菩萨保佑什么| 深圳车牌摇号需要什么条件| 五点多是什么时辰| 刻板是什么意思| 城镇户口是什么意思| 防微杜渐什么意思| 10月28是什么星座| 什么是内分泌| 少将相当于什么级别| 乙肝两对半挂什么科| 大腿内侧肌肉叫什么| 中暑有什么症状| 不愁吃穿是什么生肖| 婴儿胎发什么时候剪最好| 11月20号是什么星座| 得罪是什么意思| 安全感是什么意思| 七宗罪分别是什么| 费力不讨好是什么生肖| 人中长痘痘什么原因| 四维是什么意思| 小儿疳积是什么症状| 梦到鬼是什么意思| 看近视眼挂什么科| 树叶什么| 花裙子配什么上衣好看| 读书的意义是什么| 苯甲酸钠是什么东西| 肺炎吃什么药效果好| 枸橼酸西地那非片有什么副作用| 背靠背是什么牌子| 语迟则人贵是什么意思| 吃什么水果可以通便| 什么的河流| 结甲是什么病| 什么叫hp感染| 良心是什么意思| 特勤是干什么的| 鞭炮笋学名叫什么| 周公吐哺天下归心是什么意思| 查心梗应该做什么检查| 探店是什么意思| 不着相是什么意思| 李亚男为什么选王祖蓝| 牙龈肿痛吃什么药| 蛋白粉吃多了有什么危害| 血糖高吃什么主食好| 2006年属什么生肖| 男人下巴有痣代表什么| 蒲公英什么时候播种| 人均可支配收入是什么意思| 企业背书是什么意思| 中性粒细胞低说明什么| 12月13日是什么日子| 脚酸臭是什么原因| 2017属什么| 邪教是什么| 心脏早搏吃什么药效果好| 什么字笔画最多| merrell是什么牌子| 香港五行属什么| 小便多吃什么药好| 铁线虫是什么| 小孩吃什么提高免疫力| 佐匹克隆是什么药| 带下病是什么病| 甘油三酯高是什么病| 亮丽是什么意思| 相敬如宾什么意思| 吃什么吐什么喝水都吐怎么办| 韩国是什么民族| 下体有异味是什么原因| 绿皮鸡蛋是什么品种鸡| 候场是什么意思| 亚临床甲减是什么意思| 尾插是什么| 感冒引起的咳嗽吃什么药| 花名册是什么意思| 洪七公什么生肖| 渗液是什么意思| 吃丝瓜有什么功效和作用| 卵泡生成素高是什么原因| 3月19是什么星座| 凯字五行属什么| 减肥不能吃什么水果| 同房出血是什么原因| 文武双全是什么生肖| 两个gg是什么牌子的包包| 弥是什么意思| 大什么什么针| 宝宝经常发烧是什么原因引起的| 头疼一般是什么原因引起的| 心脏病吃什么药| 甲状腺在什么位置图片| 初恋什么意思| 黄钻有什么用| 红茶用什么茶具泡好| 向日葵是什么季节| pbc是什么| 原发性高血压什么意思| 体检转氨酶高是什么原因| 什么是春天的什么| 高压高是什么原因引起的| 阴道痒是什么原因| 梦见自己拉粑粑是什么意思| 素饺子什么馅儿的好吃| 荔枝什么季节成熟| 路由器坏了有什么症状| 睡不着有什么好办法吗| 6月3号是什么星座| 汗味酸臭是什么原因| 下午5点到7点是什么时辰| 核素治疗是什么| 於是什么意思| 尿黄是什么原因引起的| 排卵期后面是什么期| 百度
专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

豆丁大小的模块化耳塞超方便 环境音量随心调节

作者:佚名   来源:本站原创   点击数:  更新时间:2025-08-08   【字体:
百度 短短三年内,究竟发生了什么?一个国家主席竟以烈性传染病患者的身份被秘密火化。

通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。
  测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。


//这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收
//和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的


#include <reg51.h>
#include <string.h>

#define INBUF_LEN 4 //数据长度

unsigned char inbuf1[INBUF_LEN];
unsigned char checksum,count3;
bit read_flag= 0 ;

void init_serialcomm( void )
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
// TI=1;
}

//向串口发送一个字符
void send_char_com( unsigned char ch)
{
SBUF=ch;
while (TI== 0 );
TI= 0 ;
}

//向串口发送一个字符串,strlen为该字符串长度
void send_string_com( unsigned char *str, unsigned int strlen)
{
unsigned int k= 0 ;
do
{
send_char_com(*(str + k));
k++;
} while (k < strlen);
}


//串口接收中断函数
void serial () interrupt 4 using 3
{
if (RI)
{
unsigned char ch;
RI = 0 ;
ch=SBUF;
if (ch> 127 )
{
count3= 0 ;
inbuf1[count3]=ch;
checksum= ch- 128 ;
}
else
{
count3++;
inbuf1[count3]=ch;
checksum ^= ch;
if ( (count3==(INBUF_LEN- 1 )) && (!checksum) )
{
read_flag= 1 ; //如果串口接收的数据达到INBUF_LEN个,且校验没错,
//就置位取数标志
}
}
}
}


main()
{
init_serialcomm(); //初始化串口
while ( 1 )
{
if (read_flag) //如果取数标志已置位,就将读到的数从串口发出
{
read_flag= 0 ; //取数标志清0
send_string_com(inbuf1,INBUF_LEN);
}
}

串行通信虽然有其自身优点:如适合长距离通信,有一定的纠错能力等,但并行通信在短距离(数米范围内)传输过程中的优点是显而易见的。首先串行通信时要设置串口数据,如:串口号(Com1、Com2或者其他串口)、波特率、数据位数、停止位、校验位等等。而且单片机与PC机的串口数据必须一一对等,否则不能传输。而并行传输时,无需上述过程。其次,PC机的串口电平值为+12V~-12V,单片机是TTL电平(0~+5V),两者必须要经过电平转换芯片进行电平间的转换。而进行并行传输时,由于双方都是TTL电平,所以PC的并口可以与单片机或其他芯片直接相连;另外,串行传输速度慢,每次只能传送一位,而并行每次可以传送8位,速度上的差异显而易见。

而对于单片机,串口(UART)是最常用的端口,尤其对于存在两个或多个串口的单片机来说,充分利用串口进行通信是非常重要的。


输出输入接口的扩展


单片机串口实现"并行"通信,其原理就是将PC机传过来的并行数据转换成串行数据,送入单片机的串口再由其进行相应处理。实质上就是一个数据串-并、并-串转换的过程。

PC的并口为一个标准的25针插座,包含一个八位二进制数据端口(地址为378H),即第2脚到第9脚;一个输入控制端口(地址为379H),即第15脚、13脚、12脚、10脚、11脚,其另外低三位无定义;一个输出控制口(地址为37AH),即第1脚、14脚、16脚、17脚,其另外高四位无定义。由此可见后面两个端口都不是完全的8位。

输出接口电路扩展

这里使用常用的移位寄存器74LS164与单片机的RXD口构成输出接口电路。

双列直插式74LS164引脚定义如图1所示。

其中:QA~QH为并行输出的数据,送入PC机并口378H端口(接收数据的8个数据位);单片机串口输出的数据从AB输入;CLR信号用于清除输出数据(通常用在移位完成时);内部数据移位依靠时钟CLK信号上升沿(由单片机TX提供)控制。

表1是该芯片工作的真值表。


输入接口电路扩展


使用常用的移位寄存器74LS165与单片机的RXD口构成输入接口电路。

双列直插式74LS165引脚定义如图2所示。

其中:A~H为并行输入的数据,接PC机并口378H端口(接收数据的8个数据位);单片机串口接收的数据(RXD端口)从QH输入;SH/LD信号用于重新装载数据(通常用在数据完全移出后);SER是用于填充数据移出后的空位的逻辑电平信号(逻辑"1"或"0");而数据是否移动由CLK INH和CLK联合控制;内部数据移位依靠时钟CLK信号(仍由单片机的TXD提供)上升沿控制。

表2是该芯片工作的真值表。

其他软硬件准备工作

输入输出控制端口的连接。将单片机的P3.4、P3.5口分别与PC并口的第15脚、第16脚相连。这样在进行数据通信时,两者的握手信号传输就解决了:当并口的第16脚置高电平时,用来通知单片机接收PC机已准备就绪的数据,单片机收到以后就可以进行相应控制,接收数据;当单片机接收完数据时,会置P3.4为高电平并被379H的第15脚接收,于是PC机准备发送下一个数据……单片机向PC机发送数据时,情况与此类似,由P3.4发送信号给PC机,而由P3.5接收PC机发送过来的信号。

软件方面,由于是用串口进行"并行"通信,因此就不能将串口的工作方式设置为方式0(移位寄存器输入/输出方式)以外的其他方式。还要注意此时串口的波特率固定为单片机外接晶振频率的1/12。串行数据通过RXD输入/输出,TXD用于发送控制输入输出数据移位的时钟脉冲。收发的数据为8位,低位在前。

设计实例

由于这一并行通信实现方法非常简单,所以对于有一定单片机编程经验的开发人员来说,只要硬件电路确定下来,软件方面的问题就非常容易。图3为电路原理图。

需要说明的是:1、单片机与PC机并口要共地;2、由于并行通信存在应答信号(本图中由单片机的P3.4、P3.5实现此功能),所以不会出现RXD端口数据混乱的情况。

小结

现在单片机的应用越来越广泛,单片机与PC之间的通信是一个非常重要的应用。如果单纯的从实现单片机与PC的并行通信的角度来说,该实现方法并不是最简单的。最简单的方法是将PC的并口对应引脚与单片机的P1口和P3口直接相连,然后软件上实现。本文的目的是充分利用单片机的串口资源与PC机进行通信。


 

关闭窗口

相关文章

儒雅什么意思 空腹是什么意思 jhs空调是什么牌子 大学校长是什么级别 过境签是什么意思
手脱皮用什么药 为什么一同房就有炎症 什么是腰间盘突出 sle是什么病的缩写 小孩咳嗽挂什么科
黄金豆是什么豆 什么是丹凤眼 两个人可以玩什么游戏 什么一什么什么成语 负荆请罪是什么意思
李逵属什么生肖 大便干吃什么药 惟妙惟肖是什么意思 排骨炖什么菜好吃 白羊座什么性格
狼吞虎咽是什么生肖hcv7jop9ns7r.cn lotus是什么车hcv9jop5ns5r.cn 为什么屎是黑色的weuuu.com 湿疹是什么样的图片hcv9jop1ns8r.cn 2017什么年hcv8jop7ns8r.cn
高血糖喝什么茶好hcv9jop1ns4r.cn 脑梗前有什么征兆hcv9jop6ns0r.cn 缺铁性贫血吃什么食物hcv7jop6ns2r.cn 血用什么可以洗掉travellingsim.com 北京大学什么专业最好hcv9jop4ns2r.cn
标准工资指什么hcv8jop9ns3r.cn 纯粹的人是什么性格hcv8jop2ns6r.cn 身体内热是什么原因hcv8jop9ns5r.cn 女孩学什么专业好就业hcv9jop2ns5r.cn 副词是什么意思hcv7jop5ns2r.cn
乌龟肠胃炎用什么药1949doufunao.com 颈椎曲度变直有什么症状hcv8jop2ns2r.cn 开黑什么意思hcv9jop8ns0r.cn 排卵期出血是什么原因造成的hcv9jop5ns4r.cn 骨质增生吃什么药好hcv8jop4ns2r.cn
百度