久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機按鍵控制花式流水燈程序 Proteus仿真圖
[打印本頁]
作者:
林中白狼..
時間:
2025-1-7 19:02
標題:
51單片機按鍵控制花式流水燈程序 Proteus仿真圖
實現按鍵控制花式流水燈,僅供學習可用,一個完整的學習工程
1、HardWare文檔中存放著需要添加進去的硬件和初始化的代碼工程
2、HexFile文檔中存放著生成的hex文件
3、Project文檔中存放著啟動文件和工程文件
4、UserMain文檔中存放著main函數代碼
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif
(61.66 KB, 下載次數: 0)
下載附件
2025-1-9 04:24 上傳
單片機源程序如下:
#include "reg51.h"
#include "led.h"
#include "delay.h"
typedef unsigned char u8;
sbit KEY1=P2^0;
sbit KEY2=P2^1;
sbit KEY3=P2^2;
sbit KEY4=P2^3;
sbit KEY5=P2^4;
sbit KEY6=P2^5;
unsigned char flag = 0;
//串口初始化,設置波特率為9600,使用定時器1,晶振頻率11.0592Mhz
void UART_Init()
{
SCON=0X50; //設置為工作方式1
TMOD=0X20; //設置計數器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //計數器初始值設置,注意波特率是9600
TL1=0XF3;
ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計數器
}
void UART_Send_Data(u8 byte)
{
SBUF=byte;
while(!TI);//等待串口數據發送完畢
TI=0;//將發送中斷標志位清0,為下次發送數據做準備
}
void UART_SendString(unsigned char *str) //串口發送字符串函數
{
while(*str!='\0') //判斷字符串截止位則退出
{
UART_Send_Data(*str);
str++;
}
}
void main()
{
UART_Init();
Led_Init();
while(1)
{
//UART_Send_Data(0x01);
if(KEY1==0){
delay_ms(10);
if(KEY1==0){
UART_Send_Data(0x01);
flag=1;
}
}
if(KEY2==0){
delay_ms(10);
if(KEY2==0){
UART_Send_Data(0x02);
flag=2;
}
}
if(KEY3==0){
delay_ms(10);
if(KEY3==0){
UART_Send_Data(0x03);
flag=3;
}
}
if(KEY4==0){
delay_ms(10);
if(KEY4==0){
UART_Send_Data(0x04);
flag=4;
}
}
if(KEY5==0){
delay_ms(10);
if(KEY5==0){
UART_Send_Data(0x05);
flag=5;
}
}
if(KEY6==0){
delay_ms(10);
if(KEY6==0){
UART_Send_Data(0x06);
flag=0;
}
}
switch(flag)
{
case 0:{
LED0 = 1;
LED1 = 1;
LED2 = 1;
LED3 = 1;
LED4 = 1;
LED5 = 1;
LED6 = 1;
LED7 = 1;
}break;
case 1:{
LED0 = !LED0;
delay_ms(50);
LED2 = !LED2;
delay_ms(50);
LED4 = !LED4;
delay_ms(50);
LED6 = !LED6;
delay_ms(50);
}break;
case 2:{
LED1 = !LED1;
delay_ms(50);
LED3 = !LED3;
delay_ms(50);
LED5 = !LED5;
delay_ms(50);
LED7 = !LED7;
delay_ms(50);
}break;
case 3:{
LED1 = !LED1;
delay_ms(50);
LED2 = !LED2;
delay_ms(50);
LED3 = !LED3;
delay_ms(50);
}break;
case 4:{
LED4 = !LED4;
delay_ms(50);
LED5 = !LED5;
delay_ms(50);
LED6 = !LED6;
delay_ms(50);
}break;
case 5:{
LED0 = 0;
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
LED5 = 0;
LED6 = 0;
LED7 = 0;
delay_ms(100);
LED0 = 1;
LED1 = 1;
LED2 = 1;
LED3 = 1;
LED4 = 1;
LED5 = 1;
LED6 = 1;
LED7 = 1;
delay_ms(100);
}break;
}
}
}
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;//出去接收到的數據
RI = 0;//清除接收中斷標志位
if(receiveData == 0x01)
{
flag = 1;
}
else if(receiveData == 0x02)
{
flag = 2;
}
else if(receiveData == 0x03)
{
flag = 3;
}
else if(receiveData == 0x04)
{
flag = 4;
}
else if(receiveData == 0x05)
{
flag = 5;
}
else{flag = 0;}
//SBUF=receiveData;//將接收到的數據放入到發送寄存器
while(!TI); //等待發送數據完成
TI=0; //清除發送完成標志位
}
復制代碼
仿真程序:
01.7z
(59.39 KB, 下載次數: 0)
2025-1-9 04:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久国产a级 欧美日韩国产免费
|
久久69精品久久久久久久电影好
|
91国自产
|
久久精品色欧美aⅴ一区二区
|
午夜理伦三级理论三级在线观看
|
蜜桃av鲁一鲁一鲁一鲁
|
国产一区二区三区在线
|
av黄色在线观看
|
午夜ww
|
精品日韩一区
|
亚洲人成免费
|
91在线一区二区三区
|
av成人在线观看
|
日韩亚洲欧美一区
|
国产精品美女久久久久久久网站
|
日韩一区在线播放
|
国产在线一区二区三区
|
国产在线观看一区二区三区
|
亚洲天堂中文字幕
|
国产二区在线播放
|
日本网站在线看
|
久久精品99久久
|
精品国产乱码久久久久久图片
|
麻豆av一区二区三区久久
|
国产欧美精品在线观看
|
日韩精品中文字幕在线
|
日韩有码一区
|
欧美偷偷操
|
国产一在线观看
|
一级片在线观看
|
日本高清视频网站
|
国产精品久久久久永久免费观看
|
国产一区不卡在线观看
|
国产视频第一页
|
国产一级免费视频
|
在线精品一区二区三区
|
日本精品久久
|
日韩视频精品在线
|
在线观看日本网站
|
99热播精品
|
国产成人高清成人av片在线看
|