导航:首页 > 操作系统 > 斐多课堂单片机好吗

斐多课堂单片机好吗

发布时间:2023-10-30 21:36:26

① 关于单片机液晶屏LCD12864的程序

/*****************************************************************

*程序名称:带汉字库的12864液晶显示模块驱动

*程序功能:显示字符 、汉字和图片

*开发工具:Kile

* MCU型号:AT89S52-24PU

*时钟频率:11.0592MHZ

*程序作者:yuan

*版权说明:yuan

*****************************************************************/
#include<reg52.h>
#include "lcd.h"
#include "util.h"

sbit E=P1^5;//脉冲使能
sbit RW=P1^6;//读写选择
sbit RS=P1^7;//数据命令选择
sbit rst=P3^6;//12864复位

// 延时ms函数:

// 12864检查状态函数:
void Check12864State(void)
{

P0=0xff;
E=0;//读状态前三控制线的状态
RS=0;
RW=1;
E=1;//拉高,读状态
while((P0&0x80)==0x80);//等待空闲
E=0;//写命令后三控制线的状态
RS=1;
RW=0;

}

// 12864写命令函数:
void Write12864Command( unsigned char com)
{

Check12864State();//检查状态
P0=com;//赋值
E=0;//写命令前三控制线的状态
RS=0;
RW=0;
E=1;//拉高,写命令
E=0;//写命令后三控制线的状态
RS=1;
RW=1;

}

//12864写数据函数:
void Write12864Data( unsigned char dat)
{

Check12864State();//检查状态
P0=dat;//赋值
E=0;//写数据前三控制线的状态
RS=1;
RW=0;
E=1;//拉高,写数据
E=0;//写数据后三控制线的状态
RS=0;
RW=1;

}

//在指定的位置显示字符串(汉字和ASCII码字符)函数:
void LCD12864DisplayString( unsigned char y,unsigned char x, unsigned char *pstr)
//y-行数值0-3,x-列数值0-7,pstr-字符串指针
//12864可以显示32个汉字(四行每行8个),一个地址对应一个汉字
//可以显示64个ASCII码字符(四行每行16个),一个地址对应两个字符
//为了实现自动换行功能,这个函数比较繁琐
{

unsigned char row,n=0;
Write12864Command(0x30);//基本指令
Write12864Command(0x06);//地址计数器自动加以,光标右移
switch(y)//根据行号选择行地址
{

case 0:row=0x80;break;//第一行首地址
case 1:row=0x90;break;//第二行首地址
case 2:row=0x88;break;//第三行首地址
case 3:row=0x98;break;//第四行首地址
default:;

}

Write12864Command(row+x);//写地址
while(*pstr!='\0')
{

Write12864Data(*pstr);//写字符
pstr++;
n++;//计数
if((n+x*2)==16)//如果一行写完 ,继续写第二行
{
if(y==0) Write12864Command(0x90);//写下一行地址
else if(y==1) Write12864Command(0x88);//写下一行地址
else if(y==2) Write12864Command(0x98);//写下一行地址
else ;

}
else if((n+x*2)==32)//如果第二行写完 ,继续写第三行
{

if(y==0) Write12864Command(0x88);//写下一行地址
else if(y==1) Write12864Command(0x98);//写下一行地址
else ;
}

else if((n+x*2)==48)//如果第三行写完 ,继续写第四行
{
if(y==0) Write12864Command(0x98);//写下一行地址
else ;
}
else ;
}

}

//图片模式清屏函数:
void Clear12864Screen()
{

unsigned char i,j;
Write12864Command(0x34);//功能设定:8位控制方式,使用扩充指令
Write12864Command(0x36);//使用扩充指令,绘图显示控制
for(i=0;i<32;i++)

//ST7920可控制256*32点阵(32行256列),而12864液晶实际的行地址只有0-31行,

//12864液晶的32-63行的行是0-31行地址从第128列划分一半出来的,所以分为上下两半屏,

//也就是说第0行和第32行同属一行,行地址相同;第1行和第33行同属一行,以此类推

{

Write12864Command(0x80|i);//写行地址(垂直地址)
Write12864Command(0x80);//写列地址(水平地址)
for(j=0;j<32;j++)
Write12864Data(0x00);//清屏

}

}

//在任意位置显示任意大小的图片函数:

void LCD12864DisplayPictrue(unsigned char y,unsigned char x,

unsigned char px,unsigned char py, unsigned char *pp)

//y-起始行(数值0-63),x-起始列(16位宽,数值0-7),

//px-图片宽度,py-图片高度,pp-指针指向图片数组

//因为上下屏的地址不连续,要在任意位置显示完整的图像,处理起来比较繁琐

{

unsigned char i,j,k;
Clear12864Screen();//清屏
if(y<32)//如果起始行在上半屏
{

k=32-y;//算出上半屏的行数
for(i=0;i<k;i++,y++)//上半屏行数
{
Write12864Command(0x80|y);//写行地址(垂直地址)
Write12864Command(0x80|x);//写列地址(水平地址)
for(j=0;j<px/8;j++)
Write12864Data(pp[i*px/8+j]);//写图片数据

}

y=0;//下半屏起始行,接上半屏继续写数据
for(;i<py;i++,y++)//下半屏剩下的行数
{

Write12864Command(0x80|y);//写行地址(垂直地址)
Write12864Command(0x80|(8+x));//写列地址(水平地址)
for(j=0;j<px/8;j++)
Write12864Data(pp[i*px/8+j]);//写图片数据

}

}

else //如果起始行在下半屏

{

for(i=0;i<py;i++,y++)//行数
{
Write12864Command(0x80|(y-32));//写行地址(垂直地址)
Write12864Command(0x80|(8+x));//写列地址(水平地址)
for(j=0;j<px/8;j++)
Write12864Data(pp[i*px/8+j]);//写图片数据

}

}

}

void Clear12864Text()
{
Write12864Command(0x34);//清屏
DelayMs(5);
Write12864Command(0x30);//清屏
DelayMs(5);
Write12864Command(0x01);//清屏
DelayMs(5);
}

//12864初始化函数:
void Initialize12864()
{

rst=0;//复位12864
DelayMs(30);
rst=1;
DelayMs(20);
Write12864Command(0x30);//功能设定:8位控制方式,使用基本指令
Write12864Command(0x08);//显示关
Write12864Command(0x01);//清屏
Write12864Command(0x06);//地址计数器加一、光标右移
Write12864Command(0x0c);//显示开

}

带字库的驱动

② 单片机实训心得

通过为期一周的单片机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们贺厅以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正!

首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识

到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。特别是protues软件的功能是我们了解了当今开发系统的新方向,简直太不可思议啦!

单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是费城必要的。如:LED显示器、键盘和显示器的应用和原理。

在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开

始平台的完善与成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。这对我以后的工作一定咐拍旦会有帮助的。在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发平台都有了一厅的了解,这是一笔不错的收获。

通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出来的结果都有各自的独到之处

。在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。

在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的

甜意,几天的实训使自己的思维逻辑也有了小小的进步。

2.结束了两周的电视机实训,我们又迎来了单片机课程设计实训,真是让我们受益匪浅啊?学到了很多东西,不管怎么样,先感谢学校给我的这么多机会.真正的学到了东西.为期一周的单片衡扰机课程设计让我们受益匪浅.此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程能力.对于我们应用电子技术的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还算顺利,下面的报警部分就花费了相当长的时间,还有加上报警时的音乐也是我们到图书馆里查阅资料由汇编转化成C语言得来的.本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想象中的那么得心应手,理解流程是有思维的前提.单片机是我们上学期开设的课程,所以很多专业知识也都忘记了.不过经过我们一步步的努力,花费的时间与精力终于没有白费,效果渐渐地出现了.其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,终于一步步地达到效果了.

我们将各个部分的程序编好后怎么都连不起来,出不了预期的效果.对于硬件在编程过程中PCB板的接触又是一个头疼的问题,在进行编译的时候,数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所以也花费了好多时间在PCB板的重新焊接上.对于软件我们在时钟完成后就对其加入了报警系统,可加了之后发现程序乱了,以前的时钟也不可以控制了.经过反复研究,发现接地接错了位置,导致了用来报警的红灯跟绿灯根本不亮,然后就将 接地线重新焊接了一下,功夫不负有心人,红灯亮了,配合编好的程序,用纸板挡住了发射管与接收管之间的信号传输,数码显示管出现闪烁的效果,并且没信号的时候绿灯亮,有信号的时候红灯就亮了,这个现象让我们喜出望外.经过修改时钟程序和报警系统都被使用上了,可更大的难题就是如何让它报警?这困扰了我们,数码显示管上终于有了闪烁的效果,可报警声还没加的上去.老师的要求是除了蜂鸣器上的报警声再加一段音乐.翻阅了图书馆里的书籍,查出来的音乐程序都是用汇编编的,要将此程序放到主程序中就必须将汇编程序改编成C语言程序.这再次困扰了我们,虽然以前也学过汇编跟C之间的互换,可都是简单的,从没涉及到这么复杂的程序过,改编很是有压力,经过研究,我们将汇编程序舍弃了,到网上下载了一段音乐程序,是C语言编的.要让音乐在我们的红外报警系统中唱出来可不是什么简单的事情,虽然找到了音乐程序,但要让音乐程序跟我们的主程序融合在一起得花费点心思了.

最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解.虽然最后结果是出来了,可这与老师的精心指导是分不开的,她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的.

总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅!

③ 简论单片机课程中单片机实验教学探究

简论单片机课程中单片机实验教学探究


论文摘要:单片机的开发与应用、学习将造就一批计算机智能化控制的工程师、科学家。一些中等院校也相继开设了单片机课程设计及相关的课程。在单片机及接口技术课程的教学过程中,实验教学是重要的组成部分。针对单片机课程的教学改革,不断加强单片机课程实验环节,改革教学方法,虚拟仿真实验在单片机教学中的应用,实践表明,该方法有利于激发学生的学习兴趣,培养学生的工程素养和创新能力,提高了教学效果。

论文关键词:单片机;教学;仿真实验

“单片机原理”是一门理论性、逻辑性、实践性很强的学科,是电类专业一门非常重要的专业基础课,把微机接口部分、汇编语言部分、通信技术部分的知识点等综合在一起,属于逻辑性、工程性、技术性、实践性很强的一门专业基础课。该课程作为电类专业最重要的核心课程之一,它是电类专业高素质技能型人才所需全部自动控制类知识结构的载体,占据着非常重要的位置。
然而,传统的单片机教学一般注重课程本身的体系结构和前后的逻辑联系,均以学科体系为出发点,忽略了“可学性”,致使学生学得吃力,老师教得辛苦,教学效果却没有显现出来。

一、研究背景及意义

目前,全国将单片机列入单独的比赛项目,在考查中注重学生的能力培养,学生的技能素养教育成为重中之重,加之社会需求高技能人才,许多学校为了适应社会的发展和市场需求在不同的专业开设了单片机课程,然而单片机课程是一门实践性很强的课程,要想在教学过程中取得很好的效果,就必须要求学生在学习过程中多动手实践,但有的学校教学设备有限,怎样解决这个问题。仿真实验课可以让学生在单片机工作室里做中学,真正玩转单片机,也同时解决了学生学起来枯燥,老师教起来吃力的尴尬局面。
目前单片机教学中存在诸多问题。如单片机课程理论为主,实验教学多是进行验证性实验。单片机实验室存在场地和时间限制,学生除了课上,很难有机会接触到所需要的设备,如仿真器、实验板等,个人配备成本太高,个体无法承担。而且实验箱只能验证试验的基本作用和意义,就无从谈起学生动手能力的训练和提升。单片机在当今社会中的应用速度发展迅速,然而单片机教材陈旧,实验设备很容易落后、老化等问题,必然会带来耗资等问题。由此可见,构建成本低廉的单片机仿真实验系统对于单片机教学意义重大。它不仅可以降低实验设备投资,而且能培提高学生的工程素质,养学生的创新精神。在单片机控制系统的设计开发过程中,我们不单要突出设备的自动化程度及智能性,另一方面也要重视控制系统的工作稳定性,否则就无法体现控制系统的优越性。
由于单片机控制系统应用系统的工作环境往往是比较恶劣和复杂的,其应用的可靠性、安全性就成为一个非常突出的问题。单片机控制系统应用必须长期稳定、可靠地运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大的损失。
影响单片机控制系统应用的可靠、安全运行的主要因素是来自系统内部和外部的各种电气干扰,以及系统结果设计、元器件选择、安装、制造工艺和外部环境条件等。这些因素对控制系统造成的干扰后果主要表现在下述几个方面。(1)数据采集误差加大。(2)控制状态失灵。(3)数据受干扰发生变化。(4)程序运行失常。
由于受到干扰后计数器的值是随机的,因而导致程序混乱。通常的情况是程序将执行一系列毫无意义的指令,最后进入“死循环”,这将使输出严重混乱或系统失灵。
随着单片机及其接口技术的飞速发展,目前面对职业教育存在的突出问题:质量能力与规模能力不相适应,教学信息化程度低,古老的填鸭式课堂教学模式仍应用普遍,“双师型”教师队伍建设机制缺乏完善性,科学管理水平和改革创新能力就提到了日程,管理制度不健全,学校基本办学规范不健全,科学的职业教育评价标准和评价机制达不到标准,学生成长的“通道”不畅通。
从新的教学要求来看,这类课程仅在课堂上讲授基本原理是不够的,必须在教学中加强实践环节,开出一定数量的高质量的配套实验课活独立的实验课程,让学生有足够的实验机会。那么对于单片机实验教学环境建设就相应提出了高要求。怎样解决这个问题,单片机仿真实验应运而生。

二、“单片机仿真实验”初探

伴随着计算机技术的飞速发展,在各个领域都出现了各种仿真系统,为各种实际系统的开发提供了准确可靠的保证,同时为很多学校、企业等节约了大量的人力和物力。在电子信息技术领域也同样出现了大量的仿真工具,如课堂上用到的各种EDA工具;模数混合仿真的Protel、Multisim等常见的电子应用仿真软件,数字系统设计的Fundation、Maxplus II、Expert等。
所谓“仿真”,就是通过开发工具真实地模拟用户系统的运行环境,使用户能够在透明和可控的条件下观察系统运行过程中的状态和结果,仿真实际上也是一种软件和硬件的综合调试手段,它能提高应用系统开发的效率。
用通俗的话来描述“单片机仿真实验”就是在一块虚拟电路板上按照真实电路的设计构想放置一些虚拟的元器件,并模拟实际烧ROM的过程链接上程序代码,“接通”电路观察效果,如果不理想的话可以反复修改电路或程序代码,直至符合设计要求为止。
仿真实验的好处是显而易见的。在没有仿真实验的年代,每架构一个真实的电路都需要费时费力费钱,稍有不慎还有可能前功尽弃,再加上单片机中的ROM芯片是有擦写次数的,而一段程序可能需要修改擦写多次,无形中减少了ROM芯片的使用寿命。仿真实验是在计算机上进行的(可能会费点儿电),以上问题都不存在,而且就现在的仿真软件来说,仿真出来的电路效果与真实电路一模一样,毫不夸张地说,只要仿真是成功的,就可以直接下工厂的流水线生产了。



三、单片机仿真实验效果

新课程的核心理念是:“关注每位学生的进步与发展,使每位学生在课堂上都能积极主动地参与交流、参与探索、参与汇报,都能动起来,使每位学生都能进入最近发展区,都能有所收获,具有成功感。”为使这一核心理念能得到有效落实,经过近一段时间的教学实践,逐渐发现单片机仿真实验是一种较为有效的教学手段。不仅解决了学生的只学不练的矛盾,也缓解了部分学校的设备建设压力。

④ 单片机的学习方法

从刚开始接触单片机,到现在已经有3年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):在网上找学习资料,在网上看了很多。印像最深的要数王云老师的云龙51单片机视频教程,因为这个教程从基础到复杂的编程慢慢深入,边讲边写代码,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,这时对51单片机也就没有感到陌生了。通过视频让我知道了该怎样学习单片机,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言比汇编更好理解。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,买了一款51单片机开发板,然后就开始了我的学习之旅,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。围绕单片机的LED灯进行控制,通过控制LED灯的亮、灭,熟悉了51单片机的内部的各种资源,这样就能使我在很短的时间内,将51单片机内部的各个功能部件全部都使用到了。
第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有LCD1602控制,串口的控制等。
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。

⑤ 请问有没有和multisim差不多的软件

multisim仿真和软件免费下载

链接:https://pan..com/s/1m-WJf0GOte6qKKBdA8g2gw

提取码:y34d

Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级贺漏余的模拟/数字禅滚电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,搜没具有丰富的仿真分析能力。

⑥ 单片机学习网站推荐

想学单片机,现在专门的电子论坛基本都有单片机板块,并且是按照单片机类型细分的,里面的资料都是很多的。学习来非常方便。推荐好的单片机学习网站有:凡亿课程,21IC,elecfans等。其中从零基础入门、最全面的视频教程则是凡亿教育的凡亿课堂。 网络里面也有详细介绍。

⑦ 单片机的原理

看书加实验加慢慢培养感情!
1)找一本入门的书,比如高校教材,耐心的啃至少2遍。重点搞清楚啥是寄存器,单板机的内部结构是啥样的。就是前面最枯燥,最看不懂的那几章。后面的汇编语言倒在其次。不过如果你有耐心把后面的汇编语言也看个半懂不懂的话,会对你很有帮助,那些汇编其实是可以帮助你理解的!
2)找本C语言的书,比如清华的那个好好的啃两遍。辅助一些实验比如在计算机上用TC写写万年历啊等等小程序,不用特别复杂的旨在学会语句也语法的使用。
3)当你完成了以上艰辛的枯燥的时时刻刻不断的让利想撞墙的两个步骤以后。可以恭喜你,你开始开始入门了。
4)找本单片机编程的书,简单熟悉一个编译环境,比如KEIL,IAR等等都可以。这个阶段会比较轻松。
5)现在我们可以开始做实验了,利用编译器的模拟编程环境,试着写写程序,或者调试一下别人写的程序,记住这个阶段并不是说你就在写单片机的程序,这个阶段主要的目的还是让你熟悉编译环境,还有就是要把你写的代码由神鬼不识变到基本能用。
6)最后,你就说要花点血本找个实验板开始实际操作了,实验板你可以在学校借或者直接买个SST之类的带串口仿真功能的MCU上网找个实验板的图纸自己回来焊(成本估计在50元以内)。如果你有足够的经济支持可以去买一个小型的实验板,这个在淘宝上面有卖价格大概在300以内。再或者你如果有搞这方面工作的朋友找他们要一个仿真头也是一个不错的选择。
7)当以上的工作你都完成了以后,你就可以连上你的MCU开始实际操作,和实际的实验了。当你可以在MCU里面自己写一个万年历加温度计加LED显示程序以后,恭喜你,你已经迈入了初级水平了。后面的路就要自己慢慢走了。
完成以上7步预计那些已经打通奇经八脉的人需要2月有余,如果是一个努力地菜鸟的话需要4--6个月!

阅读全文

与斐多课堂单片机好吗相关的资料

热点内容
压缩比115 浏览:558
pdf怎么抠图 浏览:864
霍妮pdf 浏览:808
反编译VMP 浏览:46
hello编译器 浏览:771
apk程序加密 浏览:595
如何给app重命名 浏览:603
怎么幽默调侃程序员 浏览:285
忘记密码解压视频 浏览:911
运城机场春运加密 浏览:287
安卓手机如何关闭app后台 浏览:154
安卓数字密码忘记怎么破解 浏览:252
pythonzmq模式 浏览:181
linux运行php网站 浏览:865
实验室无油压缩机 浏览:805
哪里可以免费看动画app 浏览:53
文本加密咋解 浏览:486
tomcat做服务器怎么设置 浏览:252
非对称加密会增大网络包吗 浏览:703
为什么不能编译c 浏览:262