X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
单片机
[原创] 【新版CH554评测DIY】求附送的USB转串口的原理图
ketose
2018-4-14 23:47
楼主
收到这个开发板有一段时间了,一直出差没机坐评测,今天终于出差回来,就先来做个简单的测试。既然是51的内核,其实是可以直接使用
这个头文件的。但是ch554做了很多扩展,多了很多的外围设备和很多的寄存器。为了方便使用官方定义好的头文件
,这里面已经定义好了很多扩展寄存器,拿 来直接用就可以了。
话不多说,从最简简单单的点灯开始。
先看LED的原理图部分:
原理图上两个LED分别使用P16和P17.
我们按传统的51编写代码,我们就可以用下面的代码来实现。
sbit P17 = P1^7;
void Delay_us(UINT16 n);
void Delay_ms(UINT16 n);
#define LED1ON P16=1
#define LED1OFF P16=0
#define LED2ON P17=1
#define LED2OFF P17=0
void main()
{
while(1)
{
LED1ON;
Delay_ms(1000);
LED2ON;
Delay_ms(1000);
LED1OFF;
Delay_ms(1000);
LED2OFF;
Delay_ms(1000);
}
}
把上面的代码编译后,烧写至单片机里。运行,两个LED开始工作,只是亮度明显比PWR D1这个LED的亮度要暗一些。
查看手册,把P1口设置成推挽输出模式,具有对称驱动能力,可以输出或者吸收较大电流。
改进代码如下:
#include "ch554.h"
sbit P16 = P1^6;
sbit P17 = P1^7;
void Init_Clock();
void Init_GPIO();
void Delay_us(UINT16 n);
void Delay_ms(UINT16 n);
#define LED1ON P16=1
#define LED1OFF P16=0
#define LED2ON P17=1
#define LED2OFF P17=0
void main()
{
Init_Clock();
Init_GPIO();
while(1)
{
LED1ON;
Delay_ms(1000);
LED2ON;
Delay_ms(1000);
LED1OFF;
Delay_ms(1000);
LED2OFF;
Delay_ms(1000);
}
}
/**
* [url=home.php?mod=space&uid=159083]@brief[/url] Initialization system clock to 24MHz.
* @param None
* @retval None
*/
void Init_Clock()
{
SAFE_MOD = 0x55;
SAFE_MOD = 0xAA;
CLOCK_CFG = CLOCK_CFG & ~ MASK_SYS_CK_SEL | 0x06;
}
/**
* @brief Initialization P1 Port.
* @param None
* @retval None
*/
void Init_GPIO()
{
//Set P1 port push pull mode.
P1_MOD_OC = 0;
//Set P1 port output
P1_DIR_PU = 0xFF;
}
/**
* @brief Microsecond delay.
* @param Delayed n microseconds
* @retval None
*/
void Delay_us(UINT16 n)
{
while(n)
{
++SAFE_MOD;
++SAFE_MOD;
++SAFE_MOD;
++SAFE_MOD;
++SAFE_MOD;
++SAFE_MOD;
++SAFE_MOD;
--n;
}
}
/**
* @brief Millisecond delay.
* @param Delay n Milliseconds
* @retval None
*/
void Delay_ms(UINT16 n)
{
while(n)
{
Delay_us(1000);
--n;
}
}
至些效果达到。
下面是一些问题:开发板附带了一个USB转串口工具,我使用JP1的Tx,Rx操作我的PN532开发板时,一直提示错,
后来使用逻辑分析仪查看Tx上的数据,抓到的数据显示frame error.
这个问题一直解决不了
@
沁恒USB单片机
,能不能把这个转换器的原理图发一份上来。
此内容由EEWORLD论坛网友
ketose
原创,如需转载或用于商业用途需征得作者同意并注明出处
点赞
回复评论 (1)
沙发
jinglixixi
不妨在台式机上用串口助手试一试,一端接USB的虚拟串口,一端接台式机自身的串口。
点赞
2018-4-16 13:44
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
EEWORLD大学堂----使用SimpleLink解决方案开发蓝牙低功耗应用2
请教个问题
数据采集系统选型问题
以太网PHY芯片LAN8720使用问题
从《圣经密码》想到的数列问题及python解法
为何TD技术最先进,实测表现却差强人意
WSProg用户手册
现在大四了,手上刚有块同学送的msp430的学习板,请教一下现在还有没有必要学一下?
线性调节器仍在提高性能和PCB密度
ISE安装出现问题 大家帮忙看看
求助DSP入门级学习方案
求助无线技术和RF的经典教材
请问在WinCE下怎样禁用和启用USB设备
DDR3初始化失败 校验失败
MTK手机开发板(含源代码)6225
求WinCE下USB摄像头驱动的源代码
今天上午10:30直播【Microchip安全解决方案|针对企业的Wi-Fi安全】
中小功率三极管判别又一法
基于DSP的触摸式MP3播放器的设计 VS1003B芯片
TI的板子到了
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复