《C语言单片机开发趣味入门》第一节

学生大本营没法帖视频地址,因此大家到这里看在线教学视频:http://www.rupeng.com/forum/thread-5854-1-1.html

板书:
这门课只是科普,不会讲太多,进一步的学习资料在后面会介绍。有对单片机开发感兴趣的,可以实际看看是不是真感兴趣,自己有没有能力学下来。想学单片机但是不知道怎么入门的,也可以听几节。如鹏网(http://www.rupeng.com)上的“嵌入式开发”学习板块。
1、学完这个课程能做的东西:
(1)流水灯
(2)数字时钟
2、准备开发环境:
(1)如鹏版Keil,下载地址,如鹏网(http://rupeng.com)首页,http://down1.rupeng.com/download/software/rupeng_keil_setup.rar,最好到首页下载,因为地址可能会变。
Keil是开发嵌入式程序的一个开发工具,可以在它里面写代码、编译、调试嵌入式程序。如鹏版Keil和标准Keil的区别在于帮大家内置了仿真外设,这样不用购买硬件、不用自己配置就能零难度上手单片机开发。
(2)新建工程,选择设备类型:Atmel→AT89C51
(3)新建一个c文件,然后添加到工程中,用起来很奇怪,注意添加的时候对话框不会自动关闭。
(4)c内容void main(){},什么都不做
(5)构建。调试。Keil中不像别的开发工具那样直接有“运行”的菜单,要先“开始/停止调试”,然后再“运行到”。单片机程序中的main是一遍遍的自动执行的(后面看印象更深),因此执行完毕也不会自动退出,因此必须首先停止运行,再“开始/停止调试”。暂时不讲怎么调试,只讲运行。
调试→运行→停止调试→停止运行。
(6)注意:Keil中“开始/停止调试”并不会自动“构建”,必须每次都手动构建。
如果仿真外设自己不出来,则需要手动帮他们显示出来。在只用8个LED的时候两个软件仿真器一样。


3、神灯开启
(1)点亮所有灯
#include <reg51.h>
P1=0x00;
P1是什么东西?看电路图P1就是P1口的地址。
P1.0、P1.1……表示8个引脚。
给每个引脚设置为0,也就是低电平,引脚对应灯就亮,设置为1,也就是高电平,引脚对应灯就灭。
每个引脚对应着给P1设置的每一位。
(2)一半亮一半不亮.第一个亮,其他的不亮。第一个不亮,其他的亮。
(3)一闪一闪亮晶晶
P1=0x00;
P1=0xff;
why?
并不是在执行P1=0x00;的时候所有灯才会亮,而是只要不重新给引脚设电平值,那么他会保持不变。
自定义sleep函数。别管为什么。在仿真器上sleep执行比较快,一秒只用0.1秒就过去了,仿真器无法完全模拟真实硬件。
  P1=0x00;
  sleep(10000);
  P1=0xff;
  sleep(10000);
为什么是124?晶振频率、时钟周期、机器周期
http://zhidao.baidu.com/question/119163121.html

1、什么是单片机。遥控器、测线器、电子玩具、电子温度计、电子血压计、MP3
C51,单片机开发用的C语言,阉割版的C语言。
很多C语言中的函数都不能用,更别提IO。printf的意义也发生了变化。都有哪些C库函数能用?C:/Keil/C51/INC
2、单片机开发需要哪些知识?需要做什么准备。
3、不花钱买硬件能学单片机吗?
4、这是设计这个电路板的人规定的,不是确定不变的。
5、和基于Linux、WinCE等有操作系统的嵌入式开发比起来,单片机的开发对电子学方面的要求更高,有的开发Linux嵌入式系统的不懂硬件也还行,但是做单片机开发的不懂硬件就很难办。

课下作业:实现前四个、后四个交替闪;奇数闪完了偶数闪;从两边往中间闪;逐步填满;
有能力的同学做一个灯的流水灯。
下节课内容:作业点评;灯的单独控制;读取键盘。

你可能感兴趣的:(c,嵌入式,语言,开发工具,WinCE,作业)