单片机入门
让初学者学会单片机入门
丁小未
热爱游戏开发,热爱Coding!
展开
-
产生波形实验(DA转换)
/*DA转换实验 例如产生锯齿波*/#include unsigned char xdata ad_cs0 _at_ 0xc000;unsigned char xdata ad_cs1 _at_ 0xc001 ;unsigned char xdata key_seg _at_ 0xd004;unsigned char xdata key_bit原创 2013-07-29 14:38:51 · 6057 阅读 · 2 评论 -
电压表实验(AD转换)
/*电压表 精确到小数点后面三位*//*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/#includetypedef unsigned char uchar;xdata uchar LED_CS _at_ 0x9000;xdata uchar LED_OUTSEG _at_ 0x9004;xdata uchar LED_OUTBIT _at_ 0原创 2013-07-29 14:38:11 · 3573 阅读 · 0 评论 -
按键数码管显示实验
要求:能够实现本单片机按下键盘,能够在数码管上显示键盘值。连线:将片选CS0链接到KEY/LED CS。#define LEDLen 6xdata unsigned char OUTBIT _at_ 0x8002; // 位控制口xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口xdata unsigned c原创 2013-07-29 14:37:24 · 3541 阅读 · 0 评论 -
改进后的跑马灯程序
要求:在原来跑马灯的基础上,增加时间中断和外部中断来实现跑马灯的顺序。#include#include sbit P32 = P3^2;unsigned char flag=0; //设置标志位(0/1) 1为左移unsigned char LED;unsigned char count=0;void delayms(unsigned char ms)原创 2013-07-29 14:36:28 · 2160 阅读 · 0 评论 -
按键盘数码管流动显示实验
要求:按下键盘,六个数码管流动显示按下的值。连线:将片选CS0接到key_LED_CS上#include #define LEDLen 6xdata unsigned char OUTBIT _at_ 0x8002; // 位控制口xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口xdata un原创 2013-07-29 14:35:34 · 2202 阅读 · 0 评论 -
产生几种不同的波形
要求:利用DA转化产生几种不同的波形,例如三角波,锯齿波等等#include #define uchar unsigned char#define uint unsigned int#define juchi 0#define fangbo 1#define sanjiao 2#define zhengxian 3uchar xdata DA_CS _a原创 2013-07-29 14:34:38 · 2441 阅读 · 0 评论 -
利用外部中断和时间中断计数0-999显示在数码管上(考题)
#includetypedef unsigned char uchar;xdata uchar LED_CS _at_ 0x9000;xdata uchar LED_OUTSEG _at_ 0x9004;xdata uchar LED_OUTBIT _at_ 0x9002;sbit P10=P1^0;uchar n=0;unsigned int Count=0;co原创 2013-07-29 14:33:34 · 7043 阅读 · 0 评论 -
温度计(LCD显示)
/* * 123.c * * Created on: 2013-6-3 * Author: Administrator */#include#include #define uchar unsigned char#define uint unsigned inttypedef bit BOOL;sbit DQ = P3 ^ 7;转载 2013-07-29 14:32:48 · 2055 阅读 · 1 评论 -
基于单片机的生日快乐歌
#include #define uchar unsigned char #define uint unsigned int sbit BEEP=P3^7; //生日快乐歌的音符频率表,不同频率由不同的延时来决定uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,10原创 2013-07-29 14:31:25 · 8469 阅读 · 0 评论 -
基于单片机的电子密码锁的实现
要求:用单片机实现一个电子密码锁的功能,一开始设置密码,设置从0-f,任意多少位密码(只要不超过十位),设置成功,蜂鸣器响一下;接着是验证密码,如果输入错误三次,则暂停一段时间,不允许使用,如果输入成功(F键确认),则密码解锁,步进电机转动,如果按下E键,则停止转动。连线:P0键盘,P2倒着接数码管,P3.0接蜂鸣器,P1接步进电机/******************原创 2013-07-29 14:30:35 · 5076 阅读 · 1 评论 -
数码管流动显示(自己的单片机)
/*********************************************************************************** 标题: 试验数码管上显示数字( 单片机直接实现位选 共阴极) **原创 2013-07-29 14:25:59 · 2264 阅读 · 0 评论 -
按键数码管数值前移
#include typedef unsigned char uchar; typedef unsigned int uint;void delay(unsigned int i); //函数声名char DelayCNT;//定义变量 sbit P10=P1^0;uint Count=0;uchar n=0; uchar Key_Value;//获取键盘码ui原创 2013-07-29 14:23:19 · 2195 阅读 · 0 评论