找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2430|回复: 0
打印 上一主题 下一主题
收起左侧

基于stm32制作柜台满意度调查器程序

[复制链接]
跳转到指定楼层
楼主
ID:236218 发表于 2017-9-27 22:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. #include "led.h"
  2. #include "key.h"
  3. #include "beep.h"
  4. #include "usart.h"
  5. #include "delay.h"
  6. #include "sys.h"
  7. #include "exti.h"
  8. #include "timer.h"

  9. u8 i=0;
  10. u16 k=0;
  11. u16 socket=0;
  12. u16 time5=0;

  13. int main(void)
  14. {
  15.         u16 j,len;
  16.         u8 a=0;
  17.         u16 times=0;
  18.         vu8 key=0;
  19.     KEY_Init();        //当前按键值
  20.         LED_Init();                //初始化LED端口
  21.         BEEP_Init();        //蜂鸣器初始化
  22.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断优先级分组,2位抢占2位子优先
  23.         USARTn_init(115200);        //串口1初始化
  24.         TIM3_INT_Init(9999,35999);
  25.         EXTIn_Init();        
  26.         delay_init();        //延时初始化
  27.                         
  28.         
  29.         while(1)
  30.         {
  31.                 if(USART_RX_STA&0x8000)//接收完成
  32.                 {
  33.                         printf("\r\n\r\n");
  34.                         len=USART_RX_STA&0x3fff;//取得接收字符长度
  35.                         for(j=0;j<len;j++)
  36.                         {
  37.                                 USART_SendData(USART1,USART_RX_BUF[j]);//通过串口1发送接收到的所有字符
  38.                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等等发送完成
  39.                         }
  40.                         printf("\r\n\r\n");
  41.                         key=USART_RX_BUF[0]-0x30;
  42.                         
  43.                         
  44.                         printf("\r\n 请您对本次服务进行评价:\r\n\r\n");
  45.                         printf("\r\n 1、★★★★★表示非常满意\r\n\r\n");
  46.                         printf("\r\n 2、★★★★表示满意\r\n\r\n");
  47.                         printf("\r\n 3、★★★表示一般\r\n\r\n");
  48.                         printf("\r\n 4、★★表示不满意\r\n\r\n");
  49.                         
  50.                
  51.         switch(key)               
  52.                         {
  53.                                 case 0:
  54.                                 {
  55.                          for(a=0;a<3;a++)
  56.                                    {
  57.                                  BEEP=1;
  58.                                  delay_ms(300);
  59.                                  BEEP=!BEEP;
  60.                                  delay_ms(200);
  61.                                     }
  62.                                 LED_Test();
  63.                             }
  64.                                 if(time5 ==0&&socket==0)
  65.                                         {
  66.                                         LED_Test1();
  67.                                         printf("\r\n您的评价为:\r\n\r\n");
  68.                                         printf("\r\n★★★★\r\n\r\n");
  69.                                     printf("\r\n谢谢您的点评!!!\r\n\r\n");
  70.                                         }
  71.                                         //break;
  72.                                 if(socket)            
  73.                                        
  74.                    {
  75.                                                 if(k==1)
  76.                                                         {
  77.                                                         //LED_Test();
  78.                                                         printf("\r\n您的评价为:\r\n\r\n");
  79.                                                         printf("\r\n★★★★★\r\n\r\n");
  80.                                                         printf("\r\n感谢您的五星好评,我们会继续努力的!!!\r\n\r\n");
  81.                                                         }
  82.                                                 if(k==2)
  83.                                                         {
  84.                                                         //LED_Test1();
  85.                                                         printf("\r\n您的评价为:\r\n\r\n");
  86.                                                         printf("\r\n★★★★\r\n\r\n");
  87.                                                         printf("\r\n感谢您de好评,我们会继续努力的!!!\r\n\r\n");
  88.                                                         }
  89.                                                 if(k==3)
  90.                                                         {
  91.                                                         //LED_Test2();
  92.                                                         printf("\r\n您的评价为:\r\n\r\n");
  93.                                                         printf("\r\n★★★\r\n\r\n");
  94.                                                         printf("\r\n感谢的点评,我们会继续努力的!!!\r\n\r\n");
  95.                                                         }
  96.                                                 if(k==4)
  97.                                                         {
  98.                                                         //LED_Test3();
  99.                                                         printf("\r\n您的评价为:\r\n\r\n");
  100.                                                         printf("\r\n★★\r\n\r\n");
  101.                                                         printf("\r\n感谢您的点评,我们会继续努力的!!!\r\n\r\n");
  102.                                                         }        
  103.                                                                
  104.                                         }
  105.                                         break;
  106.                                   }                       
  107.                                 USART_RX_STA=0;//清空接收缓冲
  108.                         }
  109.                 else
  110.                 {
  111.                         times++;
  112.                         if(times%500==0)
  113.                         {
  114.                                 
  115.                                 printf("\r\n请您对本次服务进行评价:\r\n\r\n");
  116.                                 printf("\r\n1、表示非常满意★★★★★\r\n\r\n");
  117.                                 printf("\r\n2、表示满意★★★★\r\n\r\n");
  118.                                 printf("\r\n3、表示一般★★★\r\n\r\n");
  119.                                 printf("\r\n4、表示不满意★★\r\n\r\n");
  120.                         }
  121.                         //if(times%50==0) LED1=!LED1;        //指示程序正在运行
  122.                         delay_ms(100);
  123.                 }
  124.         
  125.         }
  126. }
复制代码

下载(此代码年代久远,采用的老版本的库和老版本Keil编写的):
Keil代码.7z (28.49 KB, 下载次数: 18)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表