stc单片机stc12c5a60s2时钟周期输出运用,主要用在什么地方。谢谢

随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
毕业设计(论文)-基于STC89C52单片机的电子时钟设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口STC51单片机实例之16液晶12864的使用-电子产品世界论坛
STC51单片机实例之16液晶12864的使用
/********************************************************************
: 串行12864显示.c
这个器件是选配器件,价格是50元一片。带字库,可以显示汉字。
该程序实现了12864以串行的方式进行通信。
串行显示比并行显示速度慢。
***********************************************************************/
#include &reg52.h&
#include &intrins.h&
#define uchar unsigned char
#define uint
unsigned int
sbit CS=P2^5;
//片选信号
sbit SID=P2^6;
//数据信号
sbit SCLK=P2^7;
//时钟信号
sbit RST=P2^2;
//复位信号
sbit CH = P2^4;
//并行、串行选择信号
/********************************************************************
* 名称 : delay()
* 功能 : 延时,延时时间为 100us * t。这是通过软件延时,有一定误差。
* 输入 : t
* 输出 : 无
***********************************************************************/
void delay(unsigned int t)
unsigned int i,j;
for(i=0; i&t;
for(j=0; j&10; j++);
/********************************************************************
* 名称 : sendbyte()
* 功能 : 按照液晶的串口通信协议,发送数据
* 输入 : zdata
* 输出 : 无
***********************************************************************/
void sendbyte(unsigned char zdata)
for(i=0; i&8; i++)
if((zdata && i) & 0x80)
/********************************************************************
* 名称 : write_com()
* 功能 : 写串口指令
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void write_com(unsigned char cmdcode)
sendbyte(0xf8);
sendbyte(cmdcode & 0xf0);
sendbyte((cmdcode && 4) & 0xf0);
/********************************************************************
* 名称 : write_data()
* 功能 : 写串口指令
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void write_data(unsigned char Dispdata)
sendbyte(0xfa);
sendbyte(Dispdata & 0xf0);
sendbyte((Dispdata && 4) & 0xf0);
/********************************************************************
* 名称 : lcdinit()
* 功能 : 初始化函数
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void lcdinit()
delay(100);
delay(20000);
write_com(0x30);
delay(50);
write_com(0x0c);
delay(50);
/********************************************************************
* 名称 : hzkdis()
* 功能 : 显示字符串
* 输入 : *s
* 输出 : 无
***********************************************************************/
void hzkdis(unsigned char code *s)
while(*s & 0)
write_data(*s);
delay(50);
/********************************************************************
* 名称 : Test()
* 功能 : 显示子函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Test()
write_com(0x03);
delay(50);
write_com(0x81);
write_com(0x91);
hzkdis("电子产品世界");
write_com(0x89);
write_com(0x98);
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Main()
lcdinit();
delay(10);
delay(5000);
/********************************************************************
: 12864液晶显示
该器件是选配器件,价格是50元。如果您想显示汉字,也可以用我们的彩屏。
该程序实现了对12864液晶的控制。
首先显示图片,然后显示 汉字。
***********************************************************************/
#include &reg52.h&
#include &string.h&
#define uchar unsigned char
#define uint
unsigned int
uchar code IC_DAT[];
uchar code pic1[];
uchar code pic2[];
uchar code pic3[];
sbit WRD = P2^6;
sbit PSB = P2^2;
sbit RES = P2^4;
void TransferData(char data1,bit DI);
void display(void);
void display_grapic(void);
void delayms(uint n);
void DisplayLine(uchar line1,uchar line2);
void DisplayGraphic(uchar code *adder);
void delay(uint m);
void lcd_mesg(uchar code *adder1);
uchar code IC_DAT[]={
电子产品世界
uchar code IC_DAT2[]={
白日依山尽,
欲穷千里目,
黄河入海流。
更上一层楼。
void initinal(void)
//LCD字库初始化程序
delay(40);
//大于40MS的延时程序
//设置为8BIT并口工作模式
//复位置高
delay(10);
TransferData(0x30,0);
//Extended Function Set :8BIT设置,RE=0: basic instruction set, G=0 :graphic display OFF
delay(100);
//大于100uS的延时程序
TransferData(0x30,0);
//Function Set
delay(37);
////大于37uS的延时程序
TransferData(0x08,0);
//Display on Control
delay(100);
//大于100uS的延时程序
TransferData(0x10,0);
//Cursor Display Control光标设置
delay(100);
//大于100uS的延时程序
TransferData(0x0C,0);
//Display Control,D=1,显示开
delay(100);
//大于100uS的延时程序
TransferData(0x01,0);
//Display Clear
delay(10);
//大于10mS的延时程序
TransferData(0x06,0);
//Enry Mode Set,光标从右向左加1位移动
delay(100);
//大于100uS的延时程序
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
initina2(void)
//LCD显示图片(扩展)初始化程序
delay(40);
//大于40MS的延时程序
//设置为8BIT并口工作模式
//复位置高
delay(10);
TransferData(0x36,0);
//Extended Function Set RE=1: extended instruction
delay(100);
//大于100uS的延时程序
TransferData(0x36,0);
//Extended Function Set:RE=1: extended instruction set
delay(37);
////大于37uS的延时程序
TransferData(0x3E,0);
//EXFUNCTION(DL=8BITS,RE=1,G=1)
delay(100);
//大于100uS的延时程序
TransferData(0x01,0);
//CLEAR SCREEN
delay(100);
//大于100uS的延时程序
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
main(void)
initina2();
//调用LCD显示图片(扩展)初始化程序
DisplayGraphic(pic2);
//显示图片2
delayms(200);
initinal();
//调用LCD字库初始化程序
delay(100);
//大于100uS的延时程序
lcd_mesg(IC_DAT);
//显示中文汉字1
delayms(240);
delayms(240);
initinal();
//调用LCD字库初始化程序
delay(100);
//大于100uS的延时程序
lcd_mesg(IC_DAT2);
//显示中文汉字2
delayms(240);
delayms(240);
initinal();
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
lcd_mesg(unsigned char code *adder1)
TransferData(0x80,0);
//Set Graphic Display RAM Address
delay(100);
for(i=0;i&32;i++)
TransferData(*adder1,1);
TransferData(0x90,0);
//Set Graphic Display RAM Address
delay(100);
for(i=32;i&64;i++)
TransferData(*adder1,1);
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
TransferData(char data1,bit DI)
//传送数据或者命令,当DI=0是,传送命令,当DI=1,传送数据.
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
delayms(unsigned int n)
//延时10×n毫秒程序
unsigned int i,j;
for(i=0;i&n;i++)
for(j=0;j&2000;j++);
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
delay(unsigned int m)
//延时程序
unsigned int i,j;
for(i=0;i&m;i++)
for(j=0;j&10;j++);
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void DisplayGraphic(unsigned char code *adder)
//*******显示上半屏内容设置
for(i=0;i&32;i++)
TransferData((0x80 + i),0); //SET
垂直地址 VERTICAL ADD
TransferData(0x80,0);
水平地址 HORIZONTAL ADD
for(j=0;j&16;j++)
TransferData(*adder,1);
//*******显示下半屏内容设置
for(i=0;i&32;i++)
TransferData((0x80 + i),0); //SET 垂直地址 VERTICAL ADD
TransferData(0x88,0);
//SET 水平地址 HORIZONTAL ADD
for(j=0;j&16;j++)
TransferData(*adder,1);
unsigned char code pic2[]=
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xE6,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x07,0x82,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x1E,0x02,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x78,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x01,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x78,0x00,0x00,0x00,0x07,0x80,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x1E,0x00,0x00,0x00,0x1E,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x07,0x80,0x00,0x00,0x78,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x02,0x01,0xE0,0x00,0x01,0xE0,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x06,0x00,0x78,0x1F,0x07,0x80,0x01,0xF1,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0E,0x00,0x1E,0x3F,0x9E,0x00,0x03,0xF9,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0E,0x00,0x07,0xB3,0x78,0x00,0x0F,0xF9,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x80,0x01,0xFF,0xE0,0x00,0x79,0x98,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xE0,0x00,0x7F,0x80,0x00,0xE0,0xD8,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0xF8,0x00,0x0C,0x00,0x07,0xE0,0xF8,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0E,0x7E,0x00,0x0C,0x00,0x1F,0xF0,0xF8,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0E,0x1F,0x80,0x0C,0x00,0x7E,0x70,0xDC,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x07,0xE0,0x0C,0x01,0xE3,0x70,0x5C,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x81,0xF8,0x0C,0x07,0x83,0x70,0x5F,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0D,0xE0,0x7E,0x0C,0x1F,0xC1,0xF0,0x5F,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x78,0x3F,0x8C,0x7F,0xC1,0xB8,0x47,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x1E,0x0F,0xED,0xEC,0xE1,0xB8,0xC7,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0x83,0xFF,0xC6,0xE1,0xB9,0xC7,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0xE0,0xFF,0xE7,0xE1,0xBF,0x07,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0xF8,0x3F,0xE7,0xE1,0xBF,0x07,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0x9E,0x0C,0xE6,0xE1,0x8F,0x07,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0x87,0x8C,0xE6,0xE3,0x8F,0x83,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x0F,0x81,0xED,0xE6,0xE7,0x0F,0x83,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x07,0x00,0x7F,0xE6,0xFE,0x0F,0x83,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x00,0x00,0x1E,0x76,0xFE,0x0F,0x83,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x72,0x1E,0x0F,0x83,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7E,0x1A,0x0F,0x83,0x40,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7C,0x1A,0x0F,0x83,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x78,0x1A,0x0F,0x83,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1A,0x07,0x83,0xC0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1E,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0x00,0x00,0x00,0x00,0x10,0x00,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x1F,0x00,0x00,0x00,0x00,0xFF,0x08,0x20,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x1F,0x00,0x00,0x00,0x00,0x28,0x05,0xFC,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x0C,0x00,0x00,0x00,0x00,0x48,0x00,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0xFF,0x08,0x88,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x08,0x05,0xFC,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x4A,0x00,0xA8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x89,0x04,0xA8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x01,0x08,0x88,0xA8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x10,0xAA,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x01,0x2E,
蛮不错的学习了
撸主,贴点画圆的代码,造福一下
这个真没有,有机会去挖掘一个看看吧,现在很少用51了
印象中 可以将发送指令与数据之间的delay(1)延时去掉
可以将源码打包上传一份么?
直接编译运行的呀,这不就是源码吗
这种帖子太好了,也不用花积分去下载,一目了然,谢谢
本身也没什么技术含量,为方便大家使用,没必要设置一层障碍。
匿名不能发帖!请先 [
Copyright (C) 《电子产品世界》杂志社 版权所有如何设定STC15F104E单片机内部时钟频率?_百度知道
如何设定STC15F104E单片机内部时钟频率?
烧写程序后单片机使用“外部晶振/时钟”,就选择“外部晶振/时钟”,那么下载程序时:①若单片机之前是使用“外部晶振/时钟”,则本次烧写单片机必须接有外部晶振或者外部时钟。②若单片机之前是使用“内部RC时钟”,则本次烧写可以不用接外部晶振或者外部时钟,
不过烧写完后,单片机启动运行还是要接有外部晶振或者外部时钟。烧写程序后单片机使用“内部RC时钟”,就选择“内部RC时钟”,那么下载程序时:①若单片机之前是使用“外部晶振/时钟”,则本次烧写单片机必须接有外部晶振或者外部时钟,
不过烧写完后,单片机启动运行就不要接外部晶振或者外部时钟了。②若单片机之前是使用“内部RC时钟”,则本次烧写不用接外部晶振或者外部时钟。
其他类似问题
为您推荐:
stc单片机的内部时钟频率与外设的晶振的大小有关系,改变晶振的频率就改变了内部时钟频率
下载stc-isp(V6.24),找到stc这一型号单片机,里面有选项的。
可以在STC-ISP中设置如下图:除了上面的设置之外,还可以设置CLK_DIV寄存器对时钟分频:此系列单片机是单时钟周期或双时钟周期,所以比普通51单片机快6到12倍,在程序中若用到计时器、延时函数时需要注意。
时钟频率的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
我是大学的一名学生,学的是医学专业,我会整理医学类儿科资料
 下载此文档
正在努力加载中...
大工秋《单片机原理及应用》大作业单片机电子时钟设计杨建军.
下载积分:3000
内容提示:大工秋《单片机原理及应用》大作业单片机电子时钟设计杨建军.
文档格式:DOC|
浏览次数:3|
上传日期: 06:20:36|
文档星级:
该用户还上传了这些文档
大工秋《单片机原理及应用》大作业单片机电子时钟设计
官方公共微信}

我要回帖

更多关于 stc89c51时钟频率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信