浦江一水 发表于 2024-12-14 22:30:53

初学51单片机的爱好者之入门佳配+擎天柱 (多项实验源码)

初学51单片机的爱好者之入门佳配+擎天柱(多项实验源码)

先得感叹一下,如今学习单片机技术,正是赶上了好时代,
遇上了“国芯论坛”这样的好平台,有官方慷慨宽容大度的免费赠送核心板,
真是51单片机爱好者的福音。
比如我是一个初学51单片机的爱好者,只要花费很少的银子(RMB19.9元),
就可在网上淘得这样一包搭配好的散件。
如图:


练练手,开开焊,用不了多少时间,就能焊成这般模样:


恰如商家资料所言,“焊接是一门美学,是艺术,希望您喜欢她!” 。
看着舒服,还真是一种别样的享受了。

再静下心来,浏览论坛,认真写写学习心得, 就能申请获得官方免费赠送的核心板,试问天下有此等好事吗?
你可以不信,但确实是实实在在的事实存在。
在此要再次感谢“国芯论坛”官方赠送的"擎天柱"核心板。
让这块名不经传的廉价学习板,增光添彩,强劲升级,如虎添翼:


别小瞧这块看似很普通的实验板,遇上"擎天柱",可以说是上佳搭配了。

这块学习板,原是为STC89C52而设计的,但却有一些与众不同之处:
在P30、P31引脚连接MAX232(串口TTL转RS232)芯片时增加了跳帽,这样可以使得P30、P31与DB9九针接口脱开;
同时,P30、P31引脚引出到左上方的四针排针接口,这样既可以实现TTL电平的串口仿真调试,也可以实现一根USB线仿真调试。
Type-A接口可为实验板供电,也可以串接两只22欧电阻(或直接),连接到P30、P31,即可用两头Type-A的USB线来供电和调试。
这些小小的设计变化,彷佛是早就在那里等待着你AI8051U(DIP40)这样的芯片的到来。


如今遇上“擎天柱”,又有新的特点:
因为“擎天柱”核心板,将P30、P31保留给自身作USB供电调试用。而将P50、P51转接到了原P30、P31处,
这样,扩展启用了单片机UART3的功能,给学习实验带来了更多的方便。
尤其是让喜欢使用printf语句利用串口调试的朋友们,会感觉到极大的方便。


初学51单片机的同学,对这样一款价廉物美、搭配“擎天柱”的学习板,你心动吗?


浦江一水 发表于 2024-12-14 22:32:31

按照惯例,应该是先来一个“跑马灯”例程的,但是这次,有一个例外......

本实验为驱动控制彩屏显示,
大凡传统的STC89C52学习开发板,都会设计一个LCD1602的排母接口,引出8位数据口和三个控制IO口,以及支持背光控制端。
恰好现在市面流行的一些小尺寸彩屏,都遵循这样的排列:
GND VCC SCL SDA RST DC CS BLK
所采用的TFT彩色显示屏为 1.8寸 ST7735驱动,分辨率为128*160,8针引脚也是上述排列。

恰好利用,将屏反序插入LCD1602的排母中,即:屏第1脚对应排母第16脚,屏第2脚对应排母第15脚,依次类推...
与事先设想的一致,顺利驱动。如图:






本实验内容有二:
一是展示对彩屏的控制显示,包括中西文显示,简单线、色块绘图,如上图;
二是实现串口通讯,启用核心板UART3串口(P50、P51),开发板的DB9针接口,经过一个RS232转USB的通讯线,接上位PC机,实现PC机与单片机的通讯,
上位机向单片机发送的字符串,单片机将原路返回给上位机。可用ISP软件或普通串口调试助手操作观察。



实验体会:
1, “擎天柱”核心板,用一根USB数据线,供电和下载调试,极为方便;
2,制作成仿真芯片,选USB模式,下载与调试,十分顺利;


主程序:(为了确保串口通讯正常,下载时主频设为22.1184MHz)

//===========================================================
// OLED 1.8" 彩色显示屏 160*128 实验程序
// 驱动: ST7735S
// 基于: AI8051U @ 先悦实验板编程
// 整理:编程: 浦晓明(浦江一水) For 国芯论坛 2024-12-14
//===========================================================
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "AI8051U.h"
#include "AI8051U_SYS.h"
#include "LCD_7735.H"
#include "PIC.H"
#include "UART3.H"


//全局变量说明
char S;                //显示缓存



void Delay1ms(void)        //@22.1184MHz
{ unsigned char data i, j;
_nop_();_nop_();
i = 22;        j = 128;
do
{ while (--j);
} while (--i);
}
void Delayms(unsigned int count)
{ unsigned int i;
for(i=0;i<count;i++)      
Delay1ms();            
}
//主程序入口
void main(void)
{ unsigned char i;
unsigned int wait=0;
SYS_Init();      //系统初始化
LCD_Init();      //显示屏初始化
UART3_Init(0);//串口3通讯初始化(@22.1184MHz 波特率115200)
EA = 1;             //开总中断
PrintString3("AI8051U UART3 Test Programme!\r\n"); //UART3发送一个字符串
while(1)
{ //for(i=0;i<16;i++)LCD_CLS(i);            //基本16色清屏测试
    LCD_CLS(1);                                       //蓝色清屏
    LCD_H24(20,4,"**单片机**",12,1);         //24点阵中西文混合显示字符串
    LCD_A24(38,30,"Ai8051U",15,1,7);          //显示12*24西文字符串
    LCD_H16(28,60,"Ai8051U单片机",10,1);   //16点阵中西文混合显示字符串
    LCD_A08(47,80,"A08_Ai8051U",15,1,11); //显示6*8西文字符串
    LCD_A12(36,99,"A12_Ai8051U",14,1,11); //显示8*12西文字符串
    Delayms(2000);
    LCD_CLS(0);
    LCD_A16(0,0,"LCDST7735_PIC&BMP",14,0,17);
    LCD_LineH(0,18,160,12);          //画水平线
    LCD_BMP(12,40,64,64,P_SET);//彩色图标显示
    LCD_BMP(84,40,64,64,P_ZER);
    LCD_Line(0,125,160,125,11);    //画两点一线
    Delayms(2000);
    LCD_CLS(0);
    LCD_A16(0,0,"ST7735S_32_COLOR",13,0,16);
    for(i=0;i<16;i++)LCD_Box(i*10,20,10,50,7,7,i);                               //显示彩色条(色号0..15)
    for(i=0;i<16;i++)LCD_Box(i*10,70,10,50,7,7,(unsigned char)(i+16)); //显示彩色条(色号16..31)
    Delayms(2000);                      //延时2s
    PrintString3("UART3 OK!\r\n"); //UART3发送一个字符串(运行指示)
}
}



工程文件包:供有兴趣的初学单片机的同学坛友参考。



浦江一水 发表于 2024-12-15 08:27:02

感谢 DebugLab 版主的鲜花鼓励。
感谢 神农鼎管理员的鲜花鼓励。


wlhet 发表于 2024-12-15 08:48:21

这文笔 可以的

78117197 发表于 2024-12-16 06:56:46

666

lgnstar 发表于 2024-12-16 08:14:54

<p>感谢楼主分享 <img alt="qiang" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/qiang.gif" title="qiang" /></p>

zhaoye818 发表于 2024-12-16 08:56:23

<p>必须点赞<img alt="qiang" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/qiang.gif" title="qiang" /></p>

xxkj2010 发表于 2024-12-16 09:10:25

<p>很不错的!</p>

lzts 发表于 2024-12-16 09:38:40

感谢楼主分享

jun_1234 发表于 2024-12-16 10:55:32

哇塞,这个板子设计的好好看,请问这个一套总成本大概是多少啊?
页: [1] 2 3 4
查看完整版本: 初学51单片机的爱好者之入门佳配+擎天柱 (多项实验源码)