但是如果选择E1的话,这里应该
选择E1。
而如果选择了COM11,那不就说明使用的是串口通讯了吗?
我的理解是,开发板上的仿真芯片起到了U转串的功能,查看最后的设置结果:
可以看到通讯方式为UART,波特率为115200。
可是我们从原理图可以看到:
J6到J9的2口是RXD6和TXD6还有GND,当连接的是2—3的时候,是串口,而连接1-2的时候却是使用了使用tool0引脚,这种方式是否为串口还有待于商榷了!
调试3:LCD显示
好了,有了3.3V电源,我就可以使用其它元器件了!
下面我来实现LCD的现实,我选用的NOKIA5110显示屏。
引脚定义:
#define SCLK P5_bit.no2
#define SDIN P5_bit.no3
#define DC P5_bit.no4
#define CE P5_bit.no5
#define RST P1_bit.no7
#define LOW FALSE
#define HIGH (!LOW)
关键代码:
主函数中:
NOKIA_5110_init();
lcdUpdateLine(2,"anananjjj:");
NOKIA_5110_write_chinese_string(0,0,12,6,0,0);
NOKIA_5110_write_chinese_string(0,3,12,7,6,0);
其中:
NOKIA 5110驱动函数为:
NOKIA_5110.zip
实物图:
电压转化很成功哦!LCD屏正常显示!嘿嘿!!
调试4:蜂鸣器驱动
利用废弃的板子焊接了个蜂鸣器:
关键代码:
#define BEEP P0_bit.no5
#define BEEPON TRUE
#define BEEPOFF FALSE
主函数中:
BEEP=BEEPOFF;//关闭蜂鸣器
循环执行:
while (1)
{
while(1)
{
if (TM00_flag == TRUE)
{ // new time tick ?
TM00_flag = FALSE; // clear flag
if((tick_100us % PERIOD_50mS) == 0x00u )
{
BEEP=BEEPOFF;//关闭蜂鸣器
break;
}
}
}
while(1)
{
if (TM00_flag == TRUE)
{ // new time tick ?
TM00_flag = FALSE; // clear flag
//蜂鸣器驱动
if((tick_100us % PERIOD_500US) == 0x00u )
{
BEEP=~BEEP;
}
if((tick_100us % PERIOD_50mS) == 0x00u )
{
break;
}
}
}
}
}
视频:
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |